Проверка кодов сервера

Сегодня у нас следующий пункт из чек-листа: проверяем, корректно ли сервер отдаёт ответ о существовании или отсутствии страниц сайта. Это важно чтобы понимать, могут ли быть проблемы с индексацией сайта – т.к. поисковый робот, посещая очередной uri, сперва “простукивает” адрес, и в зависимости от полученного от сервера ответа либо индексирует страницу, либо “запоминает” вернуться к ней позже, либо забивает болт на неё. А наша задача – сделать так, чтобы робот получил от сервера халяльные правильные коды, прошёлся там где нужно, и не сувался туда, куда нельзя. В общем, гоу осваивать коды, я создал.

Наиболее распространены следующие коды ответов сервера (полный список вам Вики подскажет):

  • 200 OK
  • 301 Moved Permanently
  • 302 Moved Temporarily
  • 403 Forbidden
  • 404 Not Found
  • 500 Internal Server Error
  • 502 Bad Gateway

Давайте разбираться!
Код 200 – это когда всё хорошо. То есть страница существует, сервер отдаёт её корректно.

301 и 302 – это коды перенаправлений (редиректов), когда сервер видит, что адрес страницы изменился (301 и 302 прописываются в .htaccess или настраиваются на сервере). То есть у нас была страница с адресом /shnyaga_shnyaznaya.html, но изменилась структура URL и теперь она (через редиректы) отдаётся по адресу /shnyaga-2/. И с помощью редиректа 301 или 302 мы даём понять, что у страницы сменился адрес. Это нужно для того, чтобы не плодить копии страниц внутри сайта.

Представьте, что на сайте в 10 или 1000000 страниц изменили структуру адресов. При этом страницы отдаются как по старому адресу, так и по новому. В случае, если не настроены редиректы – поисковик проиндексирует полный дубль сайта внутри него же и, предположительно, пессимизирует домен в поисковой выдаче. А то и выкинет из поиска. Это печально. Чтобы такого не допускать, нужно помнить про редиректы. О них мы ещё успеем поговорить.

403 – доступ запрещён. Закрыт. Стопэ. В принципе, ничего страшного – такой код пишется на служебные директории (например, директории с изображениями или скриптами), чтобы злые школоло-хакеры не скопировали что-нибудь ценное.

404 – не найдено. Такой код отдаётся, если страницы по этому адресу не существует физически, либо нарушена логика формирования урлов (криво настроенные ЧПУ). В этом случае нужно либо:

  • вернуть страницу на место
  • удалить на неё ссылки с других страниц сайта
  • переработать синтаксис .htaccess

Как проверять – расскажу, покажу, научу. Мне не жалко.

500 – это какая-то ошибка на сервере. Тот же криво написанный .htaccess может “положить” сервер, точнее, его обработчики. Здесь можно бить в бубен, или тоже попробовать разобраться с .htaccess, или лучше (ну я бы так сделал после пары десятков минут шаманства) связаться с техподдержкой хостинга, описать чотко суть проблемы и получить внятный ответ.

502 – что-то случилось, но скоро станет хорошо. Бывает, когда сервер недоступен, перегружен, или работает криво на глобальном уровне. Тут нужно ждать и верить в хорошее.

Итак, что нам нужно знать? Что 200 – это хорошо, 301 или 302 – не так и плохо (зависит от конкретного случая), 404 – отстой и надо восстанавливать страницы или удалять ссылки с других страниц, ведущие на них; 500 – косяк на уровне обработчиков и ковыряемся сначала в .htaccess, потом в каких-либо других программных модулях сайта, или пишем в поддержку хостинга; 502 – подождать.

Если страниц немного, проверить можно вручную. Например через сервис http://mainspy.ru/otvet_servera. Или через сервис Яндекса: http://webmaster.yandex.ru/server-response.xml

Формат выдачи ответов следующий:
HTTP/1.1 200 OK
Date: Wed, 05 Nov 2014 13:40:42 GMT
Server: Apache/2.2.25 (FreeBSD) PHP/5.4.19 mod_ssl/2.2.25 OpenSSL/1.0.1e DAV/2
X-Powered-By: PHP/5.4.19
X-Pingback: http://adverato.ru/xmlrpc.php
Content-Type: text/html; charset=UTF-8

В первой строчке – сам код; далее служебная информация: текущее время в соответствии с серверными настройками; тип сервера, версии PHP, SSL; и прочее прочее, отличается от сайта к сайту (точнее, зависит от CMS).

Обязательно проверьте, как отдаётся главная страница; и как отдаётся несуществующая страница. В первом случае должен быть код 200 OK, а для несуществующей: 404 Not Found.

Чтобы проверить несуществующие страницы, в том же mainspy.ru вбейте в адресную строку домен с левым набором символов после слеша. Типа такого: http://adverato.ru/edfkopw3rk2weopdkjkle;sdf
Вам должен отдаться код 404 – не существует. Если так – отлично, если отдаётся другой (301, 302, или даже 200) – проверяйте .htaccess или связывайтесь с поддержкой хостинга и уточняйте, в чём косяк.

Если в дальнейшем продвижении нужно менять ЧПУ, то обязательно, после смены, настраиваем .htaccess с указанием редиректов с кодом 301. Что за зверь .htaccess, если кто не в курсе – ждите следующих постов или курите гугл например.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *