Содержимое
Ошибка 503 или приходите завтра …
Представители поисковой системы Гугл в своем блоге написали как правильно сообщить роботу о временной неработоспособности сайта.
Зачем это
И так, зачем вообще роботам сообщать о том, что сайт временно не работает? Представим такую ситуацию — на сервере по каким либо причинам временно перестала работать база данных MySQL. То есть движок работает, запросы обрабатывает, а вот данных взять не может из базы и поэтому отдает пустые страницы, без информации. Робот эти страницы индексирует и помещает в свою базу. Так как все страницы одинаковые, то из-за этого можно и подхватить фильтр АГС или какой нибудь другой в других поисковых системах. В любом случае внезапное исчезновение полезного контента и появление кучи одинаковых страниц поисковик не оценит.
Что делать?
Что делать? Гугл подал правильный посыл — отдавать вместо 200 кода — ОК код 503 — сервер не доступен. Это очень полезная штука когда сайт не может работать полноценно. Как например в вышеописанном, достаточно частом, примере с падением базы данных или иных нарушений в системе. Реализовать это достаточно легко. При ошибке соединения с базой данных просто отдавать заголовки (если движок на PHP)
header(‘HTTP/1.1 503 Service Temporarily Unavailable’);
header(‘Retry-After: Sat, 8 Oct 2011 18:27:00 GMT’);
и по крайней мере роботы Гугла это поймут как приходите завтра. Да и роботы других поисковых систем это должны понять правильно или скоро будут понимать именно так, так как это логичное решение.
Логика действия
Однако так же логично и звучит предупреждение о том, что если очень долго отдавать 503 ошибку, то роботы могут посчитать, что сервер очень долго лежит и пора бы этот сайт выкинуть из индекса — все равно не работает. Так что использовать 503 ошибку в качестве заглушки удаленных страниц не стоит. Для этого подойдет 404.
В общем нужно действовать по логике и не обманывать поисковик — временные проблемы — 503, страницы больше нет и не будет по этому адресу — 404, все нормально работает — 200.