Что такое статус-код страницы
Статус-код – это сообщение, которое возвращается при обращении к серверу, и позволяет узнать состояние веб-страницы. Статус-код состоит из трех десятичных цифр и представляет собой целое число.
Статус-коды разделяют на 4 группы:
2xx (двухсотые статус-коды) – коды успешных запросов
3xx (трехсотые статус-коды) – коды перенаправления (редиректы)
4xx – коды http-ошибки (самая известная – 404 ошибка или «страница не найдена»)
5xx – коды ошибок сервера
Коды статуса 200
200 ОК – это код, который возвращается при обращении к серверу, когда со страницей все в порядке и ресурс работает точно так, как ожидается.
Если страница имеет статус код 200, то она попадает в индекс.
Все страницы сайта по-хорошему должны иметь статус-код 200 ОК, но на практике так почти никогда не бывает.
Коды статуса 300
Коды статуса 300 – это статусы перемещений (или редиректов)
Самые распространенные в этой группе 301 и 302 редиректы.
301 редирект
301 редирект – страница (ресурс) была перемещена навсегда. Или перемещение старых страниц на новые.
Такой код возвращается, когда одна страница заменяется другой страницей. Используется для постоянного перенаправления url-адресов (редиректов).
Например, у вас в интернет-магазине была какая-либо краткосрочная акция, срок действия которой завершен, но данная страница хорошо проиндексировалась и удалять ее не хочется. В этом случае, весь входящий (или остаточный) трафик на данную страницу вы можете перенаправить на другую. Для поисковых систем это будет вполне нормальный и адекватный редирект.
302 редирект
302 редирект – запрошенный ресурс был перемещен временно.
Используется для временных редиректов url-адресов. Например, у вас интернет-магазин и вы хотите сделать так, чтобы все незарегистрированные пользователи когда нажимали на кнопку «купить товар» попадали не в корзину, а на страницу с регистрацией. В этом случае помогает 302-редирект. Получается, что подобное перенаправление срабатывает не всегда, а лишь тогда, когда на сайте пользователь не зарегистрирован и не авторизирован.
Визуально 301 и 302 редирект выглядят одинаково – с одной страницы пользователя перенаправляет на другую, однако для поисковых систем разница есть. В случае с 301 редиректом страница, с которой идет перенаправление удаляется из индекса, вместо нее индексируется другая, а в случае с 302 редиректом индексируются обе страницы.
Как настроить 301 редирект
Настраиваются редиректы во всех системах управления примерно одинаково (будь то Битрикс, WordPress, Opencart или самописный движок). Все правила для перенаправлений задаются в файле .htaccess.
301 редирект с одной страницы на другую
Это самый распространенный редирект. Пример:
Redirect 301 /1.html http://www.example.com/2.html
301 редирект с домена на домен
Иногда стоит задача перенаправить трафик с одного домена на другой домен. В этом случае поможет следующее правило, прописанное в .htaccess
RewriteCond %{HTTP_HOST} ^old-exemplesite\.com$ [NC]
RewriteRule ^(.*)$ http://www.exemplesite.com/$1 [R=301,L]
Очень полезный лайфхак! Если у вас был тестовый домен, который не был закрыт от индексации и он вдруг проиндексировался, то удалите весь этот сайт и поставьте переадресацию с тестового домена на ваш основной домен.
301 редирект с http на https
Когда ваш сайт переезжает с протокола http на https, обязательно нужно настроить редирект. Очень грубая ошибка многих разработчиков в том, что они настраивают редиректы с одного протокола на другой, забывая www. Данный процесс называется настройкой зеркал сайта (или склейкой зеркал сайта).
Настроить главное зеркало с помощью 301 редиректа
Поисковые системы считают дублями страницы, если они открываются по разным протоколам (http, https) и также если страницы открываются с www и без него. Если у сайта существует несколько копий, то следует выбрать и прописать главное зеркало.
Ниже приведен пример 301 редиректа при переезде сайта с http на https в трех вариантах (для разных сайтов и CMS может подойти один из предложенных):
Пример № 1
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Пример № 2
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Пример № 3
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Обязательно нужно убедиться в том, что перенаправления настроены корректно.
Во многих системах управления присутствует плагин, который позволяет, не залезая в файл .htaccess править редиректы, однако нужно будет все-равно убедиться, что коды ответов с этих страниц выдается верные.
Коды статуса 400
Коды статуса 400 – коды ошибок
403 – Доступ к ресурсу запрещен. Данный статус код возвращается, когда пользователь пытается открыть ресурс, но у него нет прав доступа. Например, когда ресурс защищен паролем.
404 – Запрошенный ресурс не найден.
Самое распространенное сообщение об ошибке, которое видел каждый на разных сайтах.
Данный код возвращается когда страница (или ресурс) не существуют и сервер не знает существовал ли он когда-либо.
Коды статуса 500
500 код статуса означает, что сайт или веб-приложение запущено, но работает с внутренними ошибками, которые препятствуют обработке поступающих запросов на сервер от клиента.
503 – это код, который возвращается, когда сервер не может обработать запрос.
Данный статус-код связан с нестабильной работой сервера. Например, когда сервер перегружен запросами и не может обработать новые.
Проверка статус-кода
После проведения всех настроек, необходимо проверить статус код страниц.
Есть несколько сервисов, которые мы рекомендуем использовать не только для проверки статус-кодов, но и для полноценного seo-продвижения:
- сервис Seranking — позволяет быстро провести анализ сайта и выявить дубли страниц, страницы со статус-кодом 404 и др.
- сервис Rush-analytics — позволяет не только проводить полноценный анализ, но и собирать/кластеризировать ключевые слова.