Как заставить поисковики возвращаться на сайт, после того как он был недоступен

Как заставить поисковики возвращаться на сайт, после того как он был недоступен

Как вы думаете, что делает Googlebot и другие поисковые боты, если в момент, когда они пытаются проиндексировать ваш сайт, вы приостановили его работу, например, для технических работ?
Надеюсь, что вы не делаете с сайтом ничего такого, что может привести к большой задержке ответа, в то время, когда google пытается проиндексировать ваши страницы, так как, если google получит ошибку 404 Not Found или 500 - pagerank вашей страницы может прекратить свое существование.
Как можно уведомить Googlebot и другие поисковые ботам, что сейчас вы работаете над страницей и хотели бы, чтобы боты посетили сайт/страницу позже, например через 1 час? Я вам покажу, как это сделать.
503 Service Unavaliable
Google Webmaster Central Blog, All About Googlebot
Если мой сайт временно приостановлен, как мне сказать Googlebot, чтобы он вернулся позже для индексации страницы над которой я работаю?
Вам следует настроить ваш сервер так, чтобы он возвращал статус 503 (network unavailable/сеть недоступна) вместо 200 (Ok). Это заставит Googlebot попытаться проиндексировать вашу страницу позже.

Как использовать эти SEO знания

Чтобы отправлять google и другим поисковым ботам заголовок 503 Service Temporarily Unavailable мы будем использовать код mod_rewrite в файле .htaccess. Также мы будет отправлять заголовок Retry-After: 3600, который сообщит ботам, что им необходимо проверить страницу вновь через 3600 секунд (1 час), когда она будет уже доступна.

Заголовок Retry-After

Ссылки: Retry-After, 503 Service Unavailable
Заголовок Retry-After может быть использован с 503 ответом сервера (Сервис недоступен) для указания периода времени, в течении которого сервис будет не в состоянии отвечать на клиентские запросы. Этот заголовок также может быть использован вместе с любым 3хх (Redirection) ответом для указания минимального периода времени, по истечении которого клиент должен сделать redirect запрос. Значением этого заголовка может быть либо HTTP дата, либо целое число в секундах.
Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds )
Вот два примера использования:
Retry-After: Fri, 31 Dec 1999 23:59:59 GMT
Retry-After: 120
В последнем примере задержка равна 2 минутам.

Отправка 503 ответа только для GoogleBot

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)
-?(Google|Image)? [NC]
# or RewriteCond %{HTTP_USER_AGENT} ^.*google.* [NC]
RewriteRule .* /cgi-bin/error/503.php

Отправка 503 ответа всем кроме разработчика

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REMOTE_HOST} !^1.1.1.1
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503.php [NC]
RewriteRule .* /cgi-bin/error/503.php

Отправка поисковым ботам 503 ответа, а посетителям страницы с информацией о причинах простоя

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)
-?(Google|Image)? [NC]
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/503.php [NC]
RewriteRule .* /cgi-bin/error/503.php

RewriteCond %{REMOTE_HOST} !^1.1.1.1
RewriteCond %{REQUEST_URI} !^/cgi-bin/error/404.php [NC]
RewriteRule .* /under-development-explain.html [R=302,L]

Что такое 503 Service Temporarily Unavailable?


503 Service Temporarily Unavailable
В данный момент сервер не может обработать запрос из-за временной перегрузки или из-за приостановки своей работы. Подразумевается, что это временное состояние, которое изменится через некоторое время. Продолжительность этой задержки может быть указана в заголовке Retry-After. Если заголовок Retry-After не предоставлен, тогда клиенту необходимо обработать этот ответ как 500.

Код скрипта для выдачи 503 ответа

PHP
Если вы используете CGI версию PHP, тогда вам необходимо отправлять заголовок Status дополнительно к HTTP/1.1, а если вы используете mod_php, тогда Status отправлять не надо.
<?php
ob_start();
header(‘HTTP/1.1 503 Service Temporarily Unavailable’);
header(‘Status: 503 Service Temporarily Unavailable’);
header(‘Retry-After: 3600′);
header(‘X-Powered-By:’);
?><!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>
Perl CGI
#!/usr/local/bin/perl

print "Status: 503 Service Temporarily Unavailablen";
print "Content-Type: text/html; charset=UTF-8;n";
print "Retry-After: 3600rnrn";


print "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">n<html><head>n
<title>503 Service Temporarily Unavailable</title>n";
print "</head><body>n
<h1>Service Temporarily Unavailable</h1>n<p>The server is temporarily unable
to service yourn";
print "request due to maintenance downtime or capacityn
problems. Please try again later.</p>n</body></html>";

Что такое ошибки "недостижимые URL"?

Недостижимые URL
Google устанавливает такую ошибку, когда не может получить доступ к странице. Такими ошибками считаются, например, ошибки DNS или превышение таймаута. Ваш сервер может быть недоступен или занят, когда мы пытаемся получить страницу. Вот список причин ошибок недоступности URL:
  • 5xx ошибки
  • 503 Network Unavailable
  • DNS проблемы
  • Недостижим файл robots.txt
  • Сеть недоступна


Источник: www.apachedev.ru/





Если вы хотите разместить свою статью или новость - присылайте ее по адресу .