有時,所有站點的停機時間都很明顯。時間間隔也會有所不同,有時甚至太短而無法引起注意。但是,在某些情況下,為了通過可能的更改使其充分發(fā)揮作用,必須將其維護超過預(yù)期的時間。當(dāng)涉及到訪問者,也就是人類和搜索引擎機器人時,他們應(yīng)該知道已經(jīng)發(fā)生的停止的極限。
一般來說,大多數(shù)人如果在嘗試幾次后發(fā)現(xiàn)網(wǎng)站無法打開,就再也不會回來了。對于 Google bot 或任何其他 bot,當(dāng)它注意到大量文件丟失并且沒有任何顯示時,它會停止對其進行排名。這是因為它對它的下落或它是否會被修改回來也變得一無所知。
如何處理網(wǎng)站停機?
讓每個人都簡要了解您網(wǎng)站的狀況是一種合乎邏輯的方法。此外,重要的是不要丟失圖像。以下是一些網(wǎng)站所有者常犯的錯誤:
1.在 URL 上顯示一條消息——讓訪問者知道該頁面暫時不可用,幾天后會回來,這是一個很好的技巧,但它沒有承認(rèn)搜索引擎,因為開發(fā)人員沒有完成后臺編碼。搜索引擎認(rèn)為該網(wǎng)頁(包含用簡單的英語或另一種母語解釋問題的一個語句)是永久性的,如果每個存在的網(wǎng)頁都重定向到一個頁面,則認(rèn)為它不存在文件。
2.從服務(wù)器中刪除所有文件——如果沒有找到請求的頁面并顯示錯誤 404,則給人的印象是搜索引擎無法真正找出正在發(fā)生的事情。人們認(rèn)為該網(wǎng)頁不存在,對于機器人也是如此,由于同樣的原因,它將從索引中刪除。這是最壞的情況。
HTTP 狀態(tài)代碼確定托管網(wǎng)站的服務(wù)器的狀態(tài)。例如,如果請求成功,則為 200,如果要重定向的位置已永久更改,則為 301,302 讓搜索引擎知道它是臨時的,等等。
通知搜索引擎網(wǎng)站停機是暫時的
我們需要通過HTTP 狀態(tài)碼 503 Service Unavailable告訴搜索引擎機器人服務(wù)器暫時不可用。開發(fā)者首先需要創(chuàng)建一個名為 503.php 的文件(可能是記事本或類似的文件),編寫幾行代碼,并將其保存在服務(wù)器的根目錄中。代碼必須如下編寫:
<?php
標(biāo)頭(“HTTP/1.1 503 服務(wù)暫時不可用”);
標(biāo)頭(“狀態(tài):503 服務(wù)暫時不可用”);
標(biāo)頭(“重試后:7200”);
正如你所看到的,前兩行清楚地說明了當(dāng)前狀態(tài),最后一行告訴機器人什么時候應(yīng)該再次訪問它以找到它準(zhǔn)備好了。它可以根據(jù)特定日期或說明秒的數(shù)字提供,在上述情況下為 7200。秒可以用這樣的東西代替 - 格林威治標(biāo)準(zhǔn)時間 2012 年 1 月 6 日星期一 13:00:00 - 并將其放在“?Retry-After:?”之后。確保您提供的時間符合 GMT/UTC。
我們創(chuàng)建的消息是不夠的,因為訪問者(包括搜索引擎)需要重定向到此頁面才能看到此消息。在 Apache 或 Linux 服務(wù)器中,可以使用 .htaccess 文件解決此問題。此文件一般用于 301 重定向,但也可用于 302 重定向。在這種特殊情況下,我們需要 302,而不是 301。 在 .htaccess 文件中寫入以下幾行并將其保存在服務(wù)器的根目錄中:
選項 +FollowSymLinks
重寫引擎開啟
重寫基數(shù) /
RewriteCond %{REMOTE_ADDR} !^00\.00\.00\.00
RewriteCond %{REQUEST_URI} !^503.php [NC]
RewritwRule .* /503.php [R,L]
默認(rèn)情況下,最后一行中的“R”是 302 重定向。如果我們要指示 301 重定向,那么它應(yīng)該是[R=301,L]。該文件允許我們訪問該站點并為其他人顯示 503 消息。
如何告訴最終用戶該網(wǎng)站只是暫時關(guān)閉?
我們需要對 503.php 文件再做一些添加。在?>之后添加以下幾行–
<!DOCTYPE html>
<html>
<頭>
<title>網(wǎng)站暫時不可用</title>
</頭>
<身體>
<h1>由于服務(wù)器維護,網(wǎng)站暫時不可用</h1>
<p>我們預(yù)計該網(wǎng)站將在 1 小時內(nèi)重新上線</p>
</正文>
</html>
這就是如何處理網(wǎng)站停機并讓最終用戶和搜索引擎機器人雙方了解網(wǎng)站維護期間的情況的方法。