503 Service Temporarily Unavailable

Instruct Search Engines to come back to site after you finish working on it

Hopefully you aren’t doing anything that could slow the response time for the page google is trying to reach, and if google gets a 404 Not Found error or a 500 Error than your pagerank for that page could cease to exist!

What if you could conveniently tell Googlebot and other bots that you are working on the page but you would like them to come back in, oh, say an hour? I know what I did when I found out this was possible.. I found out how to do it and now I’m sharing with you.

Google Webmaster Central Blog

All About Googlebot

If my site is down for maintenance, how can I tell Googlebot to come back later rather than to index the «down for maintenance» page?

You should configure your server to return a status of (network unavailable) rather than 200 (successful). That lets Googlebot know to try the pages again later.

How to use this SEO knowledge

We will use a bit of mod_rewrite code in a .htaccess file to send google and other search engine bots the 503 Service Temporarily Unavailable header, and we will also send a Retry-After: 3600 header to instruct the bots when they should re-check our page in 3600 seconds, (1 hour) to see if the page available

Читайте также:  Css min width span

Retry-After Header

The Retry-After response-header field can be used with a 503 (Service Unavailable) response to indicate how long the service is expected to be unavailable to the requesting client. This field MAY also be used with any 3xx (Redirection) response to indicate the minimum time the user-agent is asked wait before issuing the redirected request. The value of this field can be either an HTTP-date or an integer number of seconds (in decimal) after the time of the response.

Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds )

Two examples of using Retry-After :

Retry-After: Fri, 31 Dec 1999 23:59:59 GMT Retry-After: 120

In the latter example, the delay is 2 minutes.

Send only to Google Bots

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

Send everyone except the developer a

Where REMOTE_HOST below is the developer’s IP address.

Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond % !^1.1.1.1 RewriteCond % !^/cgi-bin/error/503.php [NC] RewriteRule .* /cgi-bin/error/503.php

Send BOTS a ; humans to error page.

Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond % ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC] RewriteCond % !^/cgi-bin/error/503.php [NC] RewriteRule .* /cgi-bin/error/503.php RewriteCond % !^1.1.1.1 RewriteCond % !^/cgi-bin/error/404.php [NC] RewriteRule .* /under-development-explain.html [R=302,L]

What’s a Service Temporarily Unavailable Header?

Service Temporarily Unavailable The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.

503 script code

503 Header with PHP

If you are using a CGI version of PHP than the Status header below is required in addition to the HTTP/1.1 header, otherwise if you are using mod_php than you do not need the Status header.

    

Service Temporarily Unavailable

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

503 Header with 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 "nnn"; print "n

Service Temporarily Unavailable

n

The server is temporarily unable to service yourn"; print "request due to maintenance downtime or capacitynproblems. Please try again later.

n";

What are URL unreachable errors?

Google encountered an error when trying to access this URL. We may have encountered a DNS error or timeout, for instance. Your server may have been down or busy when we tried to access the page. Possible URL unreachable errors include:

  1. 5xx error
  2. 503 Network Unavailable
  3. DNS issue
  4. robots.txt file unreachable
  5. Network unreachable

Источник

Спасительный код ответа 503

Каждому из владельцев сайтов периодически приходится проводить какие-то технические работы по настройке, профилактике и обновлению своих сайтов, и блоггеры – не исключение, движок WordPress’а меняется довольно часто. Однако, казалось бы, такое простое действие, хранит в себе скрытую угрозу. Какую же? Представьте, что вы, ничего не подозревая, копируете обновленные файлы или переносите что-то куда-то и в этот момент ваш сайт вздумал посетить его величество бот. И что он может получить? Как минимум 404 File Not Found ошибку, как максимум 500 Internal Server Error. В ответ на такое «неуважение» бот может «обидеться» и занести страницу в «черный список», что в конечном итоге может привести к потери ее позиции в результатах поиска, а в случае, если этот бот Google, то и потери pagerank’а. Не очень хорошая перспектива, не так ли?

А что, если взять и каким-нибудь способом сообщить поисковому роботу, что сайт в данный момент немного не работоспособен и «попросить» бота зайти попозже? И к счастью такой способ есть!

Вот, что говорится на блоге Google Webmaster Central:

Если мой сайт находится на техническом обслуживании, как я могу сообщить Googl’у о том, что ему следует зайти на сайт позже, чтобы проиндексировать страницу, которая в данный момент недоступна?

Вы должны скофигурировать свой веб-сервер так, чтобы он обрабатывал ошибку 503 Service Temporarily Unavailable, т.е. возвращал код 503 вместо обычного 200. Это даст понять Googlebot’у, что сервер в принципе рабочий и он может зайти на страницу позже.

Для настройки сервера можно воспользоваться , чтобы отдать Googlebot’у и/или другим ботам заголовок 503 Service Temporarily Unavailable или создать некоторый программный код. В дополнение необходимо передать заголовок Retry-After для указания временного интервала, по истечении которого, роботу стоит посетить страницу.

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

Сервер в данный момент недоступен для обработки запроса вследствие перегрузки или технических работ на нем. Подразумевается, что это временное явление, которое завершится через определенное время. Время может быть указано посредствоv заголовка Retry-After . Если заголовок Retry-After не указан, то клиент вынужден будет рассматривать ответ сервера как ошибку 500 Internal Server Error.

Что такое Retry-After

Заголовок ответа Retry-After может использоваться совместно с ответом a 503 Service Temporarily Unavailable, чтобы указать как долго запрашиваемый сервис будет недоступен для клиента. Этот заголовок может быть использован с любым 3xx (Redirect) ответом для указания минимального времени, которое клиенту необходимо будет подождать прежде, чем выполнить перенаправление. Значение этого параметра может задаваться как в формате HTTP-даты или же как целое количество секунд.

Retry-After: Fri, 31 Dec 1999 23:59:59 GMT Retry-After: 120

Отсылаем 503 ошибку только Googlebot’у

В файл вносим следующие строки:

Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond % ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC] # or RewriteCond % ^.*google.* [NC] RewriteRule .* /503.php 

Отсылаем 503 ошибку роботам, а людям страницу об ошибке

Options +FollowSymLinks RewriteEngine On RewriteBase / RewriteCond % ^.*(Googlebot|Googlebot|Mediapartners|Adsbot|Feedfetcher)-?(Google|Image)? [NC] RewriteCond % !^/503\.php [NC] RewriteRule .* /503.php RewriteCond % !^XXX\.XXX\.XXX\.XXX RewriteCond % !^/404\.php [NC] RewriteRule .* /under-development-explain.html [R=302,L]

Ниже приведен пример, как реализовать обработку ошибки 503 с помощью языка программирования (в данном случае 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:'); ?>    

Сайт временно недоступен

Сайт временно недоступен в связи с техническими работами, проводимыми на сервере. Пожалуйста посетите наш сайт позже.

Надеюсь, теперь ваши блоги станут немного защищенные.

Источник

Оцените статью