Ошибка, редирект 301 — что такое?
Случается такое, что веб-страница или весь сайт целиком переезжает на новый URL-адрес навсегда. 301 редирект — это перенаправление на другой адрес сайта.
Редирект 301 указывает на постоянное перемещение веб-страницы из одного места в другое.
Часть 301 относится к коду состояния HTTP перенаправленной страницы.
Пример: blog.site.com перенаправляет на site.com/blog
Проще говоря, 301 редирект сообщает браузеру: «Эта страница перемещена навсегда. Это новое место, и мы не собираемся возвращать его ». На что браузер отвечает: «Конечно! Я отправлю пользователя туда прямо сейчас! »
Вот почему, если вы попытаетесь посетить blog.site.com , этого не произойдет.
Вместо этого вы попадете на страницу site.com/blog
Когда прописывать 301 редирект?
301 редирект обычно прописывается в следующих случаях:
- при склеивании зеркал сайта с www и без www;
- при переезде сайта на новый домен;
- при изменении URL-адресов страниц;
- редиректы также обычно используются для скрытия партнерских ссылок;
- для сохранения трафика;
- когда нужно объединить два сайта.
Как сделать 301 редирект
Есть много способов выполнить 301 редирект, но наиболее распространенный метод — отредактировать файл .htaccess вашего сайта.
Вы найдете это в корневой папке вашего сайта:
Не видите файл? Это означает одно из двух :
- У вас нет файла .htaccess. Создайте его с помощью Блокнота (Windows) или TextEdit (Mac). Просто создайте новый документ и сохраните его как .htaccess. Обязательно удалите стандартное расширение файла .txt.
- Ваш сайт работает не на веб-сервере Apache. Это несколько технически, но существуют разные типы веб-серверов. Наиболее распространены Apache, Windows / IIS и Nginx. Только серверы Apache используют .htaccess. Чтобы убедиться, что ваш сайт работает на Apache, спросите у своего веб-хостинга.
Перенаправить старую страницу на новую
Redirect 301 /old-page.html /new-page.html
Используете WordPress? Избавьтесь от необходимости редактировать файл .htaccess с помощью бесплатного плагина Redirection .
Это упрощает добавление 301 редиректа:
Перенаправить старый домен на новый домен
ПРИМЕЧАНИЕ.Есть несколько способов сделать это. Я ни в коем случае не эксперт, когда дело касается серверов Apache и файлов htaccess. Это код, который всегда работал у меня. Обязательно проверьте это, прежде чем внедрять на свой сайт.
ВАЖНО ! Если RewriteEngine on он уже находится в вашем файле .htaccess, не повторяйте его. Просто скопируйте остальной код. Это также можно сделать в Cpanel, что может быть предпочтительнее.
Перенаправить весь домен с префикса www на www (и наоборот)
Вот версия без www на www:
Вот версия с www на версию без www:
ВАЖНО ! Расположение и порядок кода в вашем файле htaccess тоже имеет значение. Вы можете столкнуться с нежелательными эффектами, если несколько инструкций будут размещены в «неправильном» порядке (например, цепочки перенаправления и т. д.). Если вы планируете реализовать множество 301 редиректа в своем файле htaccess, это стоит изучить.
Перенаправить весь домен с HTTP на HTTPS
ВАЖНО ! Чтобы это работало, на вашем веб-сайте должен быть установлен сертификат SSL .site.ru$ [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
301 редирект очень часто выручает при борьбе с дублями страниц.
Проверка редиректа
301 редирект проверяется легко. Все, что вам нужно, это ввести в строке браузера старый адрес страницы. Если произойдет перенаправление, все нормально. В некоторых случаях перед тем как проверить 301 редирект, приходится чистить кэш браузера. Поэтому если перенаправление не происходит, возможно, вы забыли это сделать.
Наиболее безопасным видом редиректа является 301 редирект. Поисковики относятся к нему более лояльно. Поэтому из наиболее распространенных способов переадресации самыми безопасными являются редирект через htaccess и php редирект.
Старайтесь избегать сразу нескольких последовательных редиректов. Это негативно скажется на положении сайта в поисковиках, и все ваши усилия, как оптимизатора, будут бесполезны.
Код состояния HTTP 301
Сообщение с кодом 301 Redirect сервер возвращает в том случае, если пользователь либо поисковый робот перенаправляется на URL, отличающийся от того, на который совершается переход.
О чем свидетельствует код 301
Эта ошибка указывает на то, что старый адрес утратил свою актуальность, и что содержимое, расположенное по этому адресу, перемещено на другой. Для поисковых систем это сообщение приводит к автоматической переиндексации, вследствие чего они начнут перенаправлять пользователей на новый адрес.
Код 301 не является ошибкой, это сервисное сообщение, которое используется администратором ресурса для настройки переадресации. Это важно для сохранения рейтинга страницы, адрес которой изменяется, в поисковых системах. Индексация страницы по новому адресу при использовании редиректа будет происходить точно так же, как и старой, и раскручивать новый адрес в поиске не понадобится.
Что делать пользователю, когда в браузере появляется код ошибки 301
Поскольку настройка редиректа всегда зависит только от администратора ресурса или хостинг-провайдера, пользователю не следует ничего предпринимать в том случае, если сервер перенаправил его на требуемую страницу.
В случае, если перенаправление привело на другую страницу либо возвратило ошибку с любым другим кодом, например, 404 Page not found, следует сообщить об этом администратору ресурса или провайдеру услуг хостинга.
Причины возникновения кода 301 redirect
Этот код не сигнализирует об ошибке, он является сервисным сообщением, которое используют системные администраторы для самых разных задач:- сохранение «пользовательских сигналов» контента, размещенного на странице;
- сохранение и передача накопленной ссылочной массы на другой адрес;
- перемещение страниц;
- удаление повторяющихся страниц, склейка;
- ребрендинг сайта;
- смена доменного имени;
- управление трафиком – перенаправление на нужный адрес.
Настройка 404 ошибки, настройка 301 редиректа в htaccess и протокол https
Коды статуса HTTP
О состоянии страницы говорит код статуса HTTP, который автоматически отдается, когда браузер посетителя или робот поисковой системы запрашивает страницу на сайте. Поисковые роботы по этому коду понимают состояние сайта и конкретной страницы. Например, существует страница или нет, настроена ли переадресация, нет ли на стороне сервера ошибки.
Для работы с сайтом необходимо знать и понимать следующие коды:
200 – сервер успешно открыл страницу; только страницу с таким кодом будут индексировать роботы поисковой системы
301 – перенаправление навсегда, показывающее роботу и посетителю, что запрашиваемой страницы больше не существует, но есть аналогичная, куда и осуществляется редирект
302 – временное перенаправление, означающее, что существующий редирект только на время, например, пока редизайн сайта не закончится
404
503 – сервер временно недоступен – проблема на стороне сервера, связанная, например, с нагрузкой сервера, на котором лежит сайт
500 – внутренняя ошибка сервера – возникает, когда сервер сталкивается с некорректностью работы сайта, например, скрипт не отрабатывает правильно или превышены разрешенные права на хостинге
Выделяют пять групп кодов статуса HTTP. Каждая группа начинается с определенной цифры и соответствует определенному состоянию:
- 1xx — информирующие коды, сообщающие о процессе передачи данных.
- 2xx — коды-успешности, информирующие об успешности работы сайта.
- 3xx — редирект-коды, перенаправляющие запрос на другой url.
- 4xx — коды ошибок клиента, сообщающие о невозможности работы сайта на стороне клиента.
- 5xx — коды ошибок сервера, сообщающие о невозможности работы сайта на стороне сервера.
Бывают случаи, когда статус-код отдается некорректно. Например, рабочие страницы отдают код 404, то есть они недоступны, или несуществующие страницы отдают код 200. В этом случае необходимо провести корректную настройку статус-кодов в файле .htaccess.
Еще один способ определить проблемы с 404 ошибкой – это установить на свой компьютер дополнение к браузерам Firefox или Opera, которое называется «Firebug».
Зайдя в этом сервисе во вкладку «Сеть» и перезагрузив страницу, можно посмотреть статус-коды всех подгружаемых элементов, но в первую очередь самой страницы.
Настройка 404 ошибки
Корректная настройка кодов статуса HTTP очень важна для правильной индексации сайта: если страница по ошибке будет отдавать код 404, ее не смогут проиндексировать поисковые роботы, а это отрицательно скажется на продвижении ресурса.
Информацию о наличии страниц с ошибками можно получить также из сервиса webmaster.yandex.ru, настроенного для конкретного сайта.
Рекомендуется проводить проверку статус-кодов для всех страниц сайта. Если найдены страницы с кодами, отличными от 200 ОК, то нужно настроить сервер таким образом, чтобы все страницы с полезным контентом отдавали корректные ответы. Такое ответственное задание стоит поручить разработчикам сайта.
Настройка зеркал сайтов
Еще одна группа возможных ошибок связана с некорректной настройкой зеркал сайта.
Вам могут потребоваться зеркала, чтобы решать самые разные задачи. Например, чтобы обеспечить присутствие в зоне .RU и .РФ (kuvalda.ru и кувалда.рф) или оценить эффективность разных инструментов интернет-маркетинга (сайт в зоне .RU вы будете продвигать с помощью SEO, а на сайт .РФ привлекать аудиторию с помощью контекстной рекламы).
Зеркала — это два идентичных сайта, имеющих разные URL. Однако поисковые системы могут посчитать создание таких сайтов спамными действиями и наложить на них санкции, поэтому следует произвести правильную настройку зеркал, указав среди них основное.
Иногда робот-зеркальщик поисковой системы без дополнительных настроек определяет зеркала, и склейка происходит автоматически. Но, к сожалению, бывают и обратные случаи. Есть риск, что в поисковой системе произойдет сбой, и она потеряет информацию о зеркалах. В таких случаях позиции сайта могут понизиться или прекратить рост. Это происходит из-за того, что ссылочная масса в таком случае учитывается на каждый сайт в отдельности, а наличие дублирующей информации может повлечь пессимизацию и исключение из индекса.
Часто проблемы случаются с настройкой зеркал сайтов с www и без www. Как обнаружить их:
Чтобы провести проверку настройки зеркал с www и без www, необходимо зайти на каждую копию и проанализировать: сайт открывается и по одному адресу, и по другому, или в одном из вариантов происходит перенаправление. Также нужно просмотреть индекс Яндекса и Google на наличие страниц с www и без www. Если они есть, то, скорее всего, настройка зеркал выполнена неверно.
Для корректной настройки зеркал используется, помимо редиректа, директива host в файле robots.txt. Если директива host не прописана в файле robots.txt , то Яндексу и другим поисковым системам не дана информация о главном зеркале, и индексация сайта, скорее всего, пройдет некорректно.
Таким образом, основными этапами настройки зеркал являются:
- настройка 301 редиректа с неосновного зеркала на основное;
- корректировка ссылочной структуры сайта, чтобы исключить наличие на веб-ресурсе ссылки одновременно с неосновного и основного сайта;
- обозначение в директиве host основного сайта, главное зеркало среди множества.
Перенаправления: 301 и 302 редирект
Существует два вида перенаправлений:
301 — «перемещен навсегда». Настройка 301 редиректа используется при смене URL страниц и при склейке сайтов. Прежняя страница выпадает из индекса, но при этом весь заработанный ею вес практически полностью передается на новую страницу, куда сделан редирект.yoursite.com$ [NC]
Redirect 301 /old.html http://www.yoursite.com/new.html
• Редирект старого домена на новый
RewriteEngine On
RewriteCond %{HTTP_HOST} olddomen.net
Существует еще один редирект – с помощью мета-тега Refresh. В ходе его выполнения через несколько секунд после загрузки страницы автоматически загружается другая страница. Мета-тег Refresh часто встречается в шаблонах сайта. Однако подобная переадресация расценивается поисковыми системами как нарушение лицензии и может привести к запрету индексации и бану.
Обнаружить данный изъян просто. Если при заходе на страницу производится перенаправление на другую страницу, и если в исходном коде страницы присутствует директива meta refresh с указанием URL, куда производится редирект, то на сайте используется редирект с помощью мета-тега Refresh.
От такого редиректа следует избавляться: либо устранять перенаправление, указывая действительные страницы, либо организовывать 301 редирект вместо имеющегося.
Протокол https
Если URL сайта начинается с http, это означает, что страница работает в стандартном режиме: все данные, внесенные пользователем в одну из форм на сайте, будут передаваться в незащищенном виде. При использовании протокола https все данные, включая код самой страницы, будут передаваться в двустороннем режиме в зашифрованном виде по протоколу SSL и TLS, тем самым обеспечивая защиту данных.
Именно по этой причине протокол https используют на сайтах, которые работают с денежными массами либо с конфиденциальной информацией, разглашение которой может привести к материальным затратам пользователя.
На сегодняшний день протокол https поддерживается практически всеми браузерами. А поисковые системы работают как с протоколом http, так и с https. Поэтому больших проблем с продвижением сайтов на нестандартном протоколе не возникает. Однако если на сайте есть 2 версии одной и той же страницы – на http и на https, то для поисковой системы они будут дублями, а наличие дублей мешает продвижению. — указание начала строки.
$ — символ конца строки.
\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
[0-9] — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.
Для указания дополнительных задач и опций используются флаги. Их перечисляют в квадратных скобках через запятую:
- L — флаг Last, указывающий приостановку формирования URL-адреса, так что после него строка считается окончательной;
- NC — флаг NoCase, за счет которого отключается проверка регистра символов, если правило срабатывает;
- R — флаг Redirect необходим для остановки изменения URL-адреса, он возвращает прежний результат. Обычно используется значение R=301, но встречаются и другие вариации для временных перенаправлений (302, MOVED TEMPORARY).
Делаем редирект на сайте через файл .htaccess
Для чего нужен файл .htaccess?
.htaccess — это специальный файл веб-сервера Apache, в котором записаны инструкции для управления поведением сервера в этой папке, и во всех вложенных (если в них отсутствуют свои файлы .htaccess).
Данный файл является идеальным и безопасным инструментом для организации редиректа — т.е. перенаправления с одних страниц на другие страницы сайта.
Настройка переадресации актуальна при разработке сайта или доработке сайта. Обычно потребность возникает в следующих случаях:
- Необходимость добавления «www» в URL, чтобы объединить сайт с «www» и без «www».
- Потребность работы сайта по защищенному протоколу HTTPS с SSL-сертификатом шифрования — настраивается редирект с протокола «http://» на протокол «https://». Это обязательно для работы платежных систем, а также для более активного роста сайта в поиске.
- Направление на корректные страницы сайта при удалении старых. При удалении обычно перенаправляют на главную страницу или на страницу со схожим контентом.
- При изменении адреса страниц перенаправляют на новый адрес аналогичной страницы.
- Если к сайту подключено несколько доменов и чтобы поисковые системы их не считали разными, то также настраивается редирект на один основной домен. Например, с доменов в зонах .com и .рф, на домен в зоне .ru.
- Для корректного формирования адресов страниц, например, чтобы все страницы были с закрывающим слэшем «/».
Все вышеперечисленные пункты очень важны для продвижения сайта (SEO), управления репутацией (SERM) и контекстной рекламы. Поисковые системы, впрочем, как и посетители сайта, не должны видеть 404 ошибку об отсутствии страницы и всегда должны попадать на актуальную и корректную страницу из поиска.
Это обязательно положительно повлияет на уменьшение количество отказов сайта, повышение продолжительности посещения и конечно же на увеличение количества посетителей в конечном счете.
Способы осуществления редиректа через файл .htaccess
Для осуществления на сайте редиректа через файл .htaccess, можно использовать любую из трех директив Apache:
- Redirect;
- RedirectMatch;
- RewriteRule.
Правила использования директивы Redirect
Redirect [status] URL-path URL-to-redirect
status — это статус кода состояния HTTP (вид перенаправления) в виде трех цифр. Первая цифра указывает на класс состояния: 3xx — Redirection (перенаправление).
Примеры статусов кода состояния HTTP класса Redirection (перенаправления):
- 300 Multiple Choices — Множество выборов;
- 301 Moved Permanently — Перемещено навсегда;
- 302 Moved Temporarily — Перемещено временно;
- 303 See Other — Смотреть другое;
- 304 Not Modified — Не изменялось;
- 305 Use Proxy — Использовать прокси;
- 306 Зарезервировано — код использовался только в ранних спецификациях;
- 307 Temporary Redirect — временное перенаправление.
Наиболее часто используются коды 301 и 302 перемещение навсегда или перемещение временно.
URL-path — часть запрашиваемого пользователем или поисковой системой адреса, которая должна обязательно начинаться со слэша «/».
- Если URL-path заканчивается не слэшем, то редирект будет срабатывать только в случае точного совпадения запрошенного пользователем адреса и URL-path.
- Если URL-path заканчивается слэшем, то редирект сработает не только для указанного адреса, но и для всех, которые начинаются на указанный адрес. А к URL-to-redirect будет добавлена часть адреса, следующая за последним указанным слэшем в URL-path.
URL-to-redirect — полный адрес сайта, конкретной страницы или раздела, на который будет осуществляться перенаправление. При этом должен присутствовать протокол (http:// или https://) и закрывающий адрес сайта знак «/».
Правила использования директивы RedirectMatch
RedirectMatch [status] URL-regexp URL-to-redirect
Действие директивы RedirectMatch аналогично Redirect. Отличие заключается в том, что в параметрах URL-regexp и URL-to-redirect можно использовать регулярные выражения.
Специальные символы используемые в регулярных выражениях
- Точка «.» — подразумевается наличие любого символа.
- Круглые скобки «()» — все, что в них находится в первом выражении, записывается в специальные переменные $1, $2, $3, и т. д. подряд, в порядке встречи скобок. Далее переменные можно использовать во втором выражении.
- Квадратные скобки «[]» — все, что в них находится, это так называемый список перечисления. Например: запись [0–9] — означает наличие одной цифры, [a-z] — любую маленькую латинскую букву, а [A-Za-z_-] — любую латинскую букву, знак подчеркивания или прочерк.
- Вопросительный знак «?» — означает, что символ перед ним или выражение, если оно заключено в круглые или квадратные скобки, может присутствовать, а может и не присутствовать.» — означает начало строки, а знак доллар «$» — ее конец.
- Обратный слэш «\» — если необходимо, чтобы какой-либо специальный символ был применен по его прямому назначению (то есть, чтобы точка стала точкой, а не любым символом), то перед этим символом ставится этот специальный символ «\» . И, соответственно, чтобы обратный слэш им и остался, перед ним так же необходимо поставить этот спецсимвол.
Правила использования директивы RewriteRule
RewriteEngine on #Должно быть включено для работы RewriteRule
RewriteRule URL-regexp URL-to-redirect [L,R[=status]]
У директивы RewriteRule более широкий спектр применения, который, в числе прочих возможностей, разрешает ее использование для перенаправления флагов L (выполнить немедленно) и R (редирект). Флаги L и R указываются в конце строки в квадратных скобках «[]».
Правила использования директивы RewriteRule вместе с RewriteCond
RewriteEngine on #Должно быть включено для работы RewriteRule
RewriteCond %{NAME_OF_VARIABLE} URL
RewriteRule URL-regexp URL-to-redirect [L,R[=status]]
Директива RewriteCond определяет условия для какого-либо правила. Перед директивой RewriteRule располагаются одна или несколько директив RewriteCond. Следующее за ними правило преобразования используется только тогда, когда URLсоответствует условиям этой директивы и также условиям этих дополнительных директив.
Переменные сервера %{NAME_OF_VARIABLE} — переменные полностью соответствуют названным похожим образом MIME-заголовкам HTTP.
Пример редиректа в файле .htaccess
Внимание! Перед вставкой скопированного кода в файл .htaccess, отредактируйте его в блокноте или другой программе. А «IfModule» должно быть до и после обернуто в скобки, например так: <IfModule mod_php5.c>…</IfModule >.
Options -Indexes
ErrorDocument 404 /404.phpIfModule mod_php5.(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
#BITRIX-REDIRECT-END
/IfModuleIfModule
DirectoryIndex index.php index.html
/IfModule
IfModule
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
ExpiresByType image/png "access plus 3 day"
ExpiresByType text/css "access plus 3 day"
ExpiresByType application/javascript "access plus 3 day"
/IfModule
Пример файла .htaccess для сайта на «1С-Битрикс»
Скачать — Файл рекомендован разработчиками «1С-Битрикс». Для использования необходимо положить файл в корневую папку сайта и переименовать в «.htaccess».
http 301 — Вики
Ви́ки (англ. wiki) — веб-сайт, содержимое которого пользователи могут самостоятельно изменять с помощью инструментов, предоставляемых самим сайтом. Форматирование текста и вставка различных объектов в текст производится с использованием вики-разметки. В частности, на базе этих принципов построена Википедия и другие проекты Фонда Викимедиа[1].
История
Впервые термин «вики» для описания веб-сайта был использован в 1995 году Уордом Каннингемом, разработчиком первой вики-системы WikiWikiWeb, «Портлендского хранилища образцов» программного кода[2], созданной 25 марта 1995 года, который заимствовал слово гавайского языка, означающее «быстрый»[3][4]. Каннингем объяснил выбор названия движка тем, что он вспомнил работника международного аэропорта Гонолулу, посоветовавшего ему воспользоваться вики-вики шаттлом — небольшим автобусом, курсировавшим между терминалами аэропорта. Каннингем же планировал сделать движок, позволявший пользователям максимально быстро редактировать и создавать статьи. Каннингем первоначально описал вики как «простейшую онлайн-базу данных, которая может функционировать»[5]. Позже этому слову был придуман английский бэкроним «What I Know Is…» («то, что я знаю, это…»)[6].
Сущность концепции вики
Уорд Каннингем и его соавтор Бо Леуф в их книге The Wiki Way: Quick Collaboration on the Web описали сущность концепции вики следующим образом:
- Вики предлагает всем пользователям редактировать любую страницу или создавать новые страницы на вики-сайте, используя обычный веб-браузер без каких-либо его расширений.
- Вики поддерживает связи между разными страницами за счёт почти интуитивно понятного создания ссылок на другие страницы и отображения того, существуют данные страницы или нет.
- Вики не является тщательно изготовленным сайтом для случайных посетителей. Напротив, Вики стремится привлечь посетителей к непрерывному процессу создания и сотрудничества, который постоянно меняет вид сайта.
Определяющие свойства
Вики характеризуется такими признаками:
- Возможность многократно править текст посредством самой вики-среды (сайта), без применения особых приспособлений на стороне редактора.
- Особый язык разметки — так называемая вики-разметка, которая позволяет легко и быстро размечать в тексте структурные элементы и гиперссылки; форматировать и оформлять отдельные элементы[7].
- Учёт изменений (версий) страниц: возможность сравнения редакций и восстановления ранних.
- Проявление изменений сразу после их внесения.
- Разделение содержимого на именованные страницы.
- Гипертекст: связь страниц и подразделов сайта через контекстные гиперссылки.
- Множество авторов. Некоторые вики могут править все посетители сайта.
Техническая основа
Редактирование вики-текста в «MediaWiki»Для создания вики-среды необходимо особое ПО — движок вики. Это частный вид систем управления сайтом, довольно простой в своём устройстве и функциональности, поскольку почти все действия по структурированию и обработке содержимого делаются пользователями вручную.
Работа Википедии и других сайтов Фонда Викимедиа основана на движке MediaWiki.
Особенности
Язык вики поддерживает гиперссылки для создания ссылок между вики-страницами и является более наглядным, чем HTML, и более безопасным, поскольку использование JavaScript и каскадных таблиц стилей ограничено.
Вандализм
Многие вики позволяют изменять своё содержимое всем желающим, а не только зарегистрированным пользователям. Подобно тому, как стены зданий и заборы исписывают непристойными надписями и украшают рисунками граффити, в таких вики иногда портят содержимое или добавляют что-то неуместное. Но, в отличие от стен и заборов, в вики легко вернуть содержимое к ранней версии: исправлять легче, чем портить. Если же кто-либо настойчиво и намеренно стремится навредить пользователям вики-сайта, можно закрыть ему возможность вносить правки.
См. также
Примечания
Ссылки
- WikiMatrix — сайт-энциклопедия о вики движках, на английском языке.
Модуль ngx_http_rewrite_module
Модуль ngx_http_rewrite_module
Модуль ngx_http_rewrite_module
позволяет
изменять URI запроса с помощью регулярных выражений PCRE, делать перенаправления
и выбирать конфигурацию по условию.
Директивы break, if, return, rewrite и set обрабатываются в следующем порядке:
- последовательно выполняются директивы этого модуля, описанные на уровне server;
- в цикле:
- ищется location по URI запроса;
- последовательно выполняются директивы этого модуля, описанные в найденном location;
- цикл повторяется, если URI запроса изменялся, но не более 10 раз.
Директивы
Синтаксис: | break; |
---|---|
Умолчание: | — |
Контекст: | server , location , if |
Завершает обработку текущего набора директив модуля ngx_http_rewrite_module
.
Если директива указана внутри location, дальнейшая обработка запроса продолжается в этом location.
Пример:
if ($slow) { limit_rate 10k; break; }
Синтаксис: | if ( |
---|---|
Умолчание: | — |
Контекст: | server , location |
Проверяется указанное условие
.
Если оно истинно, то выполняются указанные в фигурных скобках директивы
этого модуля и запросу назначается конфигурация, указанная внутри
директивы if
.
Конфигурации внутри директив if
наследуются с
предыдущего уровня конфигурации.
В качестве условия могут быть заданы:
- имя переменной; ложными значениями переменной являются пустая строка
или “
0
”;До версии 1.0.1 ложным значением также являлась любая строка, начинающаяся на “
0
”. - сравнение переменной со строкой с помощью операторов
“
=
” и “!=
”; - соответствие переменной регулярному выражению с учётом
регистра символов — “
~
” и без него — “~*
”. В регулярных выражениях можно использовать выделения, которые затем доступны в виде переменных$1
..$9
. Также можно использовать отрицательные операторы “!~
” и “!~*
”. Если в регулярном выражении встречаются символы “}
” или “;
”, то всё выражение следует заключить в одинарные или двойные кавычки. - проверка существования файла с помощью операторов “
-f
” и “!-f
”; - проверка существования каталога с помощью операторов “
-d
” и “!-d
”; - проверка существования файла, каталога или символической ссылки
с помощью операторов “
-e
” и “!-e
”; - проверка исполняемости файла с помощью операторов “
-x
” и “!-x
”.;]+)(?:;|$)») { set $id $1; } if ($request_method = POST) { return 405; } if ($slow) { limit_rate 10k; } if ($invalid_referer) { return 403; }Значение встроенной переменной
$invalid_referer
задаётся директивой valid_referers.Синтаксис: return
код
[текст
];return
код
URL
;return
URL
;Умолчание: — Контекст: server
,location
,if
Завершает обработку и возвращает клиенту указанный
код
. Нестандартный код 444 закрывает соединение без передачи заголовка ответа.Начиная с версии 0.8.42 можно задать либо URL перенаправления (для кодов 301, 302, 303, 307 и 308) либо
текст
тела ответа (для остальных кодов). В тексте тела ответа и URL перенаправления можно использовать переменные. Как частный случай, URL перенаправления может быть задан как URI, локальный для данного сервера, при этом полный URL перенаправления формируется согласно схеме запроса ($scheme
) и директивам server_name_in_redirect и port_in_redirect.Кроме того, в качестве единственного параметра можно указать
URL
для временного перенаправления с кодом 302. Такой параметр должен начинаться со строк “http://
”, “https://
” или “$scheme
”. ВURL
можно использовать переменные.До версии 0.7.51 можно было возвращать только следующие коды: 204, 400, 402 — 406, 408, 410, 411, 413, 416 и 500 — 504.
До версий 1.1.16 и 1.0.13 код 307 не обрабатывался как перенаправление.
До версии 1.13.0 код 308 не обрабатывался как перенаправление.
См. также директиву error_page.
Синтаксис: rewrite
regex
замена
[флаг
];Умолчание: — Контекст: server
,location
,if
Если указанное регулярное выражение соответствует URI запроса, URI изменяется в соответствии со строкой замены. Директивы
rewrite
выполняются последовательно, в порядке их следования в конфигурационном файле. С помощью флагов можно прекратить дальнейшую обработку директив. Если строка замены начинается с “http://
”, “https://
” или “$scheme
”, то обработка завершается и клиенту возвращается перенаправление.Необязательный параметр
флаг
может быть одним из:last
- завершает обработку текущего набора директив модуля
ngx_http_rewrite_module
, после чего ищется новый location, соответствующий изменённому URI; break
- завершает обработку текущего набора директив модуля
ngx_http_rewrite_module
аналогично директиве break; redirect
- возвращает временное перенаправление с кодом 302;
используется, если заменяющая строка не начинается с
“
http://
”, “https://
” или “$scheme
”; permanent
- возвращает постоянное перенаправление с кодом 301./users/(.*)$ /show?user=$1? last;
Если в регулярном выражении встречаются символы “
}
” или “;
”, то всё выражение следует заключить в одинарные или двойные кавычки.Синтаксис: rewrite_log
on
|off
;Умолчание: rewrite_log off;
Контекст: http
,server
,location
,if
Разрешает или запрещает записывать в error_log на уровне
notice
результаты обработки директив модуляngx_http_rewrite_module
.Синтаксис: set
$переменная
значение
;Умолчание: — Контекст: server
,location
,if
Устанавливает значение указанной переменной. В качестве значения можно использовать текст, переменные и их комбинации.
Синтаксис: uninitialized_variable_warn
on
|off
;Умолчание: uninitialized_variable_warn on;
Контекст: http
,server
,location
,if
Определяет, нужно ли писать в лог предупреждения о неинициализированных переменных.(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
Тогда соответствующие инструкции будут выглядеть так:
проверка регулярного выражения копирование $1 копирование "/mp3/" копирование $2 копирование ".mp3" завершение регулярного выражения завершение всего кода
Статус HTTP 301 (перемещен навсегда)
Статус HTTP 301 — это один из статусов, связанных с перенаправлением, который указывает, что запрошенный ресурс был навсегда перемещен на URL-адрес, указанный в заголовке
Location
. И все будущие запросы должны использовать новый URI.Перенаправление — это процесс перенаправления запроса с одного URL на другой. Спецификация для статуса 301 требует, чтобы метод запроса (и тело запроса) не изменялся при выполнении перенаправления.
Рекомендуется использовать HTTP 301 только для методов GET или HEAD.
Почему URL-адрес должен постоянно перемещаться?
Как правило, изменение URL-адресов ресурсов не рекомендуется. Тем не менее, мы можем столкнуться с неизбежными ситуациями, когда мы должны вносить изменения в URL-адрес ресурса.
Вот несколько таких примеров:
- Перемещение ресурса с протокола HTTP на протокол HTTP
- Ресурс уменьшен, и альтернативный ресурс доступен в новом URL
Заголовок местоположения
Серверу СЛЕДУЕТ сгенерировать заголовок
Location
поле в ответе, содержащее новое расположение ресурса.Запрос клиента
GET /index.php HTTP / 1.1 Хост: www.example.com
Ответ сервера
HTTP / 1.1 301 Перемещено навсегда Расположение: https://example.com/index.asp
Cachable
Ответ 301 по умолчанию кэшируется; то есть, если иное не указано в определении метода или явных элементах управления кешем.
Дополнительные сведения см. В этих заголовках кэша.
Обработка ответов
- Если у клиента есть возможности редактирования ссылок, он должен обновить все ссылки на запрошенный URL-адрес новым URL-адресом.
- Поисковые системы (Google и Bing) заменяют старый URL в результатах поиска, и старый URL в конечном итоге исчезнет. Ссылочный вес будет переходить со старого URL-адреса на новый URL-адрес.
- Браузеры автоматически обнаружат код ответа 301, после чего он прочитает новый URL-адрес местоположения и перенаправит запрос в это новое местоположение.
Ссылка: RFC 7231
Была ли эта статья полезной?
все, что вам нужно знать!
Что такое код редиректа 301?
Редирект 301 (открывается в новой вкладке) сигнализирует поисковым системам, что контент окончательно перемещен на другой URL.Из-за постоянного характера переадресации 301 авторитет и релевантность переносятся на цель переадресации.
Когда вам нужно перенаправить URL-адреса, в большинстве случаев вам нужно перенаправление 301. Поскольку он передает авторитет и релевантность другому URL-адресу, он является важным инструментом в наборе инструментов каждого специалиста по поисковой оптимизации.
301 редирект: постоянно перемещаемый контентПочему вам следует использовать 301 редирект?
Когда ваш контент перемещается, вы должны быть уверены, что это как можно меньше влияет на эффективность вашего SEO.Вот тут и появляется 301 редирект.
Если вы не реализуете переадресацию 301 при перемещении контента, как посетители, так и поисковые системы будут иметь проблемы с определением, куда этот контент переместился. Посетители попадают на страницу 404, и поисковые системы не могут отправлять на новый URL повышенную релевантность и авторитет. Это резко снижает ваш рейтинг.
Как работает 301 редирект?
Мы объясним, как работает переадресация 301, на упрощенном примере клиента, который запросил переадресацию URL:
Шаг 1. Клиент делает запрос
Клиент запрашивает URL с сервера:
GET / старый URL / HTTP / 2 Хост: www.example.com
Шаг 2: сервер отвечает
Сервер просматривает URL-адрес и обнаруживает, что его содержимое было окончательно перемещено. Он отвечает клиенту:
HTTP / 2 301 расположение: https://www.example.com/new-url/
Шаг 3. Клиент делает новый запрос
Клиент запрашивает URL-адрес, по которому было перемещено содержимое:
GET / новый URL / HTTP / 2 Хост: www.example.com
Шаг 4: Сервер отвечает на новый запрос
Сервер отвечает, что все в порядке, и отправляет ресурсы URL в качестве полезной нагрузки:
Подробнее о кодах состояния HTTP
В каких ситуациях обычно используется переадресация 301?
301 редирект обычно используется, когда:
- Вы изменили URL-адрес страницы (см. Пример выше).
- Вы хотите объединить страницы на одну и ту же тему.
- Вы изменили URL подпапки (например,
https://example.com/old-folder/
наhttps://example.com/new-folder/
). - Вы переместили субдомен во вложенную папку (например,
https://blog.example.com
–https://example.com/blog/
). - Вы изменили доменное имя (например,
example.com
наexample.io
). - Вы перешли с
HTTP
наHTTPS
(например.грамм.http://example.com
–https://example.com
)
Вы поняли: каждый раз, когда контент, несущий какую-либо ценность, перемещается, вы хотите, чтобы ни посетители, ни поисковые системы не попадали на страницы 404. Вот здесь-то и нужны переадресации.
Как мне создать 301 редирект?
В этом разделе мы обсудим создание 301 редиректа на Apache, nginx, WordPress и Shopify.
Создание 301 редиректа на Apache
На веб-сервере Apache правила перенаправления хранятся в
.htaccess
файл.Вот простой пример реализации 301 редиректа на Apache для перенаправления
/ old-page /
на/ new-page /
:Подробнее о редиректах на nginx
Создание 301 редиректа на WordPress
Самый простой способ создать 301 редирект в WordPress - использовать плагин, например Redirection (открывается в новой вкладке).
Давайте воспользуемся этим плагином для реализации простого перенаправления с
./ old-url /
на/ new-url /
:Создание 301 редиректа в WordPress
- Войдите в административную среду WordPress.
- Перейдите к
Инструменты
>Перенаправление
. - Введите URL-адрес, который вы хотите перенаправить, в поле
Source URL
. - Введите цель переадресации в поле
Target URL
. Нажмите синюю кнопку
Добавить перенаправление
, и все готово.
Создание 301 редиректа на Shopify
Набор инструментов SEOShopify поставляется со встроенным менеджером перенаправления. И когда вы меняете URL страницы, он всегда спрашивает вас, хотите ли вы добавить 301 редирект.
Вы можете добавить перенаправления вручную или импортировать список перенаправлений. Вот как реализовать простое перенаправление 301:
Создание 301 редиректа на Shopify
- Войдите в консоль администратора Shopify.
- Перейти в интернет-магазин
Навигация
>🔗URL перенаправляет
. - Нажмите синюю кнопку
Create URL redirect
. Определите URL-адрес источника перенаправления в поле
Redirect from
и определите цель перенаправления в полеRedirect на
:
Наконечник Pro
Если вы не находитесь на размещенной платформе, где у вас нет доступа к конфигурации веб-сервера, создание переадресации в CMS следует рассматривать как последнее средство.
Настоятельно рекомендуется создать 301 редирект на уровне веб-сервера, потому что:
- Это намного быстрее.
- Можно легко создать конфликтующие переадресации, если вы управляете ими в двух местах. Управлять переадресацией достаточно сложно; не усложняйте это дальше.
Создание 301 редиректа непосредственно на CDN
Есть еще один отличный способ, неизвестный большинству оптимизаторов поисковых систем, для реализации 301 редиректа: через CDN, такой как Cloudflare или Akamai. Время загрузки резко сокращается, если вы реализуете переадресацию непосредственно в CDN, потому что клиенту нужно сделать только один запрос.
См. Ниже, как реализовать 301 редирект с помощью Cloudflare.
Создание 301 редиректа на Cloudflare
- Войдите в свою учетную запись Cloudflare.
- Щелкните учетную запись Cloudflare, для которой вы хотите реализовать перенаправления.
- Щелкните приложение
Page Rules
. - В разделе
Правила страницы
щелкнитеСоздать правило страницы
. - Менее
Если URL-адрес соответствует
, введите URL-адрес или шаблон URL-адреса, который вы хотите перенаправить. - Затем нажмите
Добавить настройку
. - В раскрывающемся меню выберите
URL-адрес пересылки
. - Щелкните
Выберите код состояния
и выберите301 - Постоянное перенаправление
. - Введите цель перенаправления в поле
Введите целевой URL
. Hit
Сохранить и развернуть
.
Подробнее о редиректах на Cloudflare
Вот несколько полезных инструментов, которые помогут вам настроить, перенаправить и диагностировать проблемы перенаправления.
Часто задаваемые вопросы
Что происходит со страницей с переадресацией 301?
Хотя перенаправленная страница все еще может существовать в системе управления контентом, она больше не будет доступна для посетителей и поисковых систем.
Поисковые системы объединят старый URL-адрес с новым URL-адресом и скроют старый URL-адрес в своих результатах поиска. Время, необходимое движкам, прежде чем они полностью скроют старый URL, варьируется; на практике мы видим, что это занимает от нескольких дней до нескольких месяцев.
Можете ли вы изменить редирект 301?
Да, изменив файлы конфигурации сервера, как описано выше, или настроив перенаправления, настроенные через плагин, вы можете изменить их по своему желанию.
Будьте осторожны при изменении 301 редиректа; легко сделать ошибки, которые вызывают зацикливание перенаправления или URL-адреса, которые внезапно перестают перенаправлять. Тщательно проверьте все внесенные вами изменения.
Вредят ли переадресации вашей SEO-эффективности?
Переадресацияможет сдерживать вашу эффективность SEO.
Немедленно проверьте свой сайт на наличие чрезмерных перенаправлений!Может у вас слишком много 301 редиректа?
Если мы говорим о количестве редиректов, реализованных для веб-сайта, то в 99,99% случаев ответ будет отрицательным.
Если мы говорим о цепных перенаправлениях, например, когда
URL A
перенаправляет наURL B
, который, в свою очередь, перенаправляет наURL C
и т. Д., Тогда «да». Цепные перенаправления плохи как с точки зрения SEO, так и с точки зрения посетителей, потому что сканеры и браузеры перестанут следовать за перенаправлениями.Полезные ресурсы
Сколько времени осталось до того, как мои 301 редиректы вступят в силу?
Это зависит от того, сколько внимания поисковые системы могут уделить вашему сайту - также называемого краулинговым бюджетом.
Обычно перенаправления, реализованные на авторитетных сайтах, обнаруживаются быстрее, чем на меньших, менее авторитетных сайтах.
Как правило, рассчитывайте от нескольких дней до нескольких недель.
Как долго нужно сохранять 301 редирект?
Необходимо поддерживать переадресацию 301 на неопределенный срок.Если вы удалите их, когда посетители и поисковые системы запрашивают старый URL, они больше не будут перенаправляться на новый URL.
Это приводит к ухудшению восприятия посетителей - и поисковые системы перестанут приписывать ценность старого URL новому URL.
Интересно, что старые домены, которые не обновляются и, следовательно, перестают перенаправлять, являются частой причиной падения рейтинга. Держитесь за старые домены, которые несут ценность, и сохраняйте 301 редирект!
Есть ли ситуации, когда не следует использовать 301 редирект?
Да, например, когда контент не был перемещен навсегда .В этом случае вам нужно использовать 302 редирект.
При использовании перенаправления 302 оба URL-адреса остаются индексированными, и браузеры не кэшируют перенаправление.
Подробнее о редиректах 301 и 302
Как 301 редирект влияет на поведение браузера?
Браузеры кешируют 301 агрессивную переадресацию. Когда вы удаляете переадресацию 301 и переходите к URL-адресу, который ранее был переадресован 301, может показаться, что переадресация все еще существует, на самом деле ваш браузер кэшировал переадресацию.
Чтобы исправить это, вам нужно очистить кеш браузера. (Даже «жесткого обновления» с использованием
CMD + R
илиCTRL + F5
недостаточно.)ContentKing Academy
Прочтите всю статью Академии, чтобы узнать все о переадресации
.SEO Glossary> 0-9: от 200 OK до 404 Not Found
(« 301 Redirect » перенаправляет сюда)
Код состояния HTTP 301 перемещен навсегда используется, чтобы указать, что файл (обычно веб-страница) был перенаправлен на постоянной основе.
Пример: Если www.somesite.com/page1.html - это 301 постоянно перенаправлено на www.somesite.com/page2.html, то попытка перехода на www.somesite.com/page1.html приведет к переходу на www.somesite .com / page2.html загружается на его место.
A 301 постоянное перенаправление - это наиболее удобный для поисковых систем метод перенаправления веб-страниц, поскольку большая часть полномочий, рейтинга и рейтинга PageRank с прежней веб-страницы будет передана новой.
Два наиболее распространенных метода перенаправления 301 - это добавление директив в файл .htaccess (веб-сервер Apache в Linux) и xxx (веб-сервер IIS в Windows).
301 редирект в Apache
Для создания 301 редиректа на веб-сервере Apache необходимо включить модуль Apache Mod-Rewrite и добавить в его файл .htaccess следующие команды:
Опции + FollowSymlinks RewriteEngine на Перенаправить / olddir / oldfile.(. *) $ http://www.exampledomain.com/$1 [r = 301, nc]
Код состояния HTTP 302 OK или Перемещено временно аналогичен коду состояния 301 в том смысле, что это означает, что страница переместилась в новое место. В отличие от постоянного перенаправления 301, перенаправление 302 является временным, и поисковые системы сохранят версию старой страницы.
Временные перенаправления 302 легче реализовать, чем перенаправления 301, с использованием либо javascript, либо метатега, и поэтому иногда используются вместо них.Однако использование перенаправления 302 для постоянного перенаправления может сбить с толку поисковые системы и привести к непредсказуемым результатам в поисковом рейтинге. Кроме того, авторитет, ранжирование и рейтинг страниц с прежней веб-страницы не наследуются новой.
Вершинановейших вопросов «http-status-code-301» - переполнение стека.
новейших вопросов «http-status-code-301» - qaruСообщение об ошибке 301 или Moved Permanently - это стандартный код ответа HTTP, указывающий, что запрошенному ресурсу был назначен новый постоянный URI.В будущих ссылках должен использоваться один из возвращенных URI.
Указывая домен на порт с apache
Доброе утро, ребята Я разместил на своем сервере приложение узла.Я следовал протоколу для apache, который делал несколько раз раньше. Я получаю ошибку 301 "ERR_TOO_MANY_REDIRECTS" ...
задан 4 мар в 12:50
Редирект не работает на iphone / мобильных данных
Я пытаюсь перенаправить на https, а затем во вложенную папку.Он отлично работает на моем iPhone, пока я не подключусь к мобильным данным и не очистлю свой браузер / файлы cookie. Затем время ожидания соединения истекло или сервер остановился ...
задан 2 мар в 1:07
htaccees слишком много перенаправлений
У меня проблема со слишком большим количеством перенаправлений на моем сайте, я хочу убедиться, что все пользователи заканчивают на https: // example.com, даже если они приходят с http://www.example.com или https://www.example.com в основном ...
задан 28 фев в 9:34
Вымени6,3102222 золотых знака9191 серебряный знак163163 бронзовых знака
Nginx обнаруживает 301 запрос
У меня тонна 301 редиректа на мой сервер со спам-доменов, чтобы снизить свой рейтинг в Google.Как я могу обнаружить запрос 301, а также можно ли отфильтровать его по списку доменов белого списка? Потому что я тоже ...
задан 16 фев в 13:30
mcan2311 серебряный знак77 бронзовых знаков
Перенаправить все страницы на новый домен htaccess
Я хочу перенаправить весь свой веб-сайт на новый уникальный адрес / домен без соблюдения связи между именами файлов.Я не хочу, чтобы olddomain.com/foo.html перенаправлялся на newdomain.com/foo.html. Я ...
задан 13 фев в 18:05
Перенаправить Weebly index.html в корневой домен
Я пытаюсь перенаправить сайт / индекс Weebly.(. *) $ http: //www.% {HTTP_HOST} / $ 1 / $ 1 / [R = 301, L] Он отлично работает для основного домена, т.е. перенаправляет example.com на ...
задан 3 фев в 16:54
Stack Overflow лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
Что такое перенаправление 301?
Редирект 301 - это код состояния HTTP - сигнал от веб-сервера.Это способ сообщить поисковым системам (сканерам) и браузерам пользователей, что контент навсегда переместился на другую страницу, и будет запускаться и автоматически перенаправляться на новое место. Если это очень часто используется и очень важно для SEO.
Отличный пример того, когда 301 редирект полезен, - это избежать кодов ошибок 404 (страница недоступна), которые могут произойти, если пользователь щелкнет ссылку, которая больше не активна. Если 301 установлен, когда пользователь или сканер поисковой системы щелкает ссылку, они будут направлены в новое расположение этого контента.
Перенаправление 301 из-за изменения URL-адреса
Редирект 301 обычно используется, когда веб-сайт меняет свое доменное имя.
Например: зоомагазин в Лондоне с URL-адресом www.snazzystuff4petz.com, который теперь можно найти по адресу www.londonpetstore.com. Их новый URL-адрес более запоминающийся и оптимизированный для SEO, особенно с поисковой выдачей «Лондонский зоомагазин».
Редирект 301 переводит пользователей, которые входят в старый домен, на новый, и в результате владелец веб-сайта может начать повышать свой рейтинг.
Преимущества перенаправления 301
- Позволяет вносить изменения на страницы без потери посетителей веб-сайта
- Автоматически перенаправляет трафик
- Улучшает взаимодействие с пользователем по сравнению с ошибкой 404
- Уменьшает показатель отказов
- Ссылка проходит через на новый URL
- При правильной реализации сохранится рейтинг исходной страницы в результатах поиска.
Укажите предпочитаемое доменное имя
Вы должны использовать 301 редирект, чтобы указать предпочтительное доменное имя.Это позволит избежать проблем с тем, как Google-Bot индексирует ваш сайт. Это также обеспечит отсутствие внутреннего дублирования контента из-за проблем с канонизацией.
Если вы не знакомы с каноническими предупреждениями, по сути, Google не может определить, какая версия страницы является той, к которой вы хотите, чтобы люди открывали доступ. Например, хотите ли вы, чтобы версия www.website.com или www.website.com/index была ранжированной? Устранение этой путаницы очень поможет вашим усилиям по поисковой оптимизации.
Настройка перенаправления 301
Настройка перенаправления 301 является довольно технической задачей, поэтому обязательно проконсультируйтесь с разработчиком, если вы не уверены, поскольку это может повредить рейтинг вашего веб-сайта, если он будет реализован неправильно. В качестве альтернативы, если ваш сайт находится на WordPress, доступны плагины перенаправления.
Если вы уже выбрали предпочтительное доменное имя в Google Search Console, как рекомендовано Google, вы также можете использовать перенаправление 301, чтобы отправить пользователя на желаемое доменное имя.(. *) $ http://www.domain.com/$1 [R = 301, L]
В случае успешной реализации любой запрос страницы на domain.com будет перенаправлен на www.domain.com с использованием код состояния HTTP 301. Это также работает для прямых URL-адресов, которые направляют http://domain.com/file.html на http://www.domain.com/file.html.
Процесс 301-редиректа
На следующей диаграмме вы можете увидеть технические шаги того, что происходит во время 301-редиректа.
Графическое объяснение технических шагов 301-редиректаЧто происходит во время 301-редиректа?
- Google-Bot хочет получить файл «abc.html »из домена« domain.com »
- Google-Bot отправляет запрос на веб-сервер домена« domain.com »и запрашивает файл« abc.html »
- Веб-сервер замечает, что файл« abc .html »больше не существует по URL-адресу« domain.de/abc.html ». Кроме того, веб-сервер понимает, что существует 301-редирект для файла «abc.html» на «xyz.html».
- Веб-сервер возвращает код статуса HTTP 301 (перемещен навсегда) в Google-Bot и указывает на новый URL, «домен.de / xyz.html »
- Google-Bot понимает, что содержимое файла« domain.de/abc.html »теперь можно найти по URL-адресу« domain.de/xyz.html ». С этого момента при попытке доступа к файлу «domain.de/abc.html» пользователь будет автоматически перенаправлен на «domain.de/xyz.html»
Оптимизация внутренней ссылки
После того, как вы выбрали предпочтительный доменное имя, вам следует выбрать единую стратегию внутренних ссылок и придерживаться ее. Причина в том, что внутренние ссылки являются мощным инструментом SEO, который может не только упростить навигацию по вашему сайту, но и выделить ключевые слова, используя фразы в качестве якорного текста.По сути, это помогает удерживать пользователей на вашем веб-сайте дольше и предоставляет полезные ресурсы, связанные с текстом.
Изменение стратегии внутренней ссылки может нарушить этот процесс. Итак, предположим, вы решили использовать www.domain.com в качестве предпочтительного домена, тогда вы должны связать все внутренние страницы по следующему шаблону:
http://www.domain.com/a-directory/file.html. Также желательно использовать абсолютные пути вместо относительных. Это означает, что всякий раз, когда вы добавляете ссылку, вы используете весь URL-адрес, а также имя хоста.
Заключение
Если страница на вашем веб-сайте или на вашем веб-сайте в целом изменила свое местоположение, 301 редирект автоматически переведет пользователей в новое место и поможет поисковым системам понять это изменение.
Без переадресации 301 пользователи могли бы найти неработающие ссылки, коды ошибок или даже веб-сайт, который вообще не загружается, потому что URL-адрес изменился. Все это приведет к тому, что ваш сайт упадет в рейтинге, а вы потеряете и посетителей.
Но, перенаправляя пользователей с кодом статуса перенаправления 301, вы можете вносить любые необходимые изменения в свой веб-сайт без ущерба для пользовательского опыта или рейтинга SEO.
Какой код состояния перенаправления HTTP для чего? — Доктор Линк Чек
ПеренаправленияHTTP — это способ перенаправления посетителей (как людей, так и поисковых роботов) с одного URL-адреса на другой. Это полезно в таких ситуациях:
- Реструктуризация : после перемещения содержимого на другой адрес вы хотите, чтобы посетители, использующие старую ссылку, автоматически перенаправлялись в новое место (вместо того, чтобы попадать на страницу с ошибкой 404).
- HTTP на HTTPS : вы хотите, чтобы данные посетителей были в безопасности, перенаправляя их с незашифрованной HTTP-версии веб-сайта на безопасную HTTPS-версию.
- Геотаргетинг : вы хотите перенаправлять посетителей на локализованные страницы в зависимости от их географического положения (определяемого по IP-адресу) или языковых настроек браузера.
- Таргетинг на устройства : вы хотите перенаправить пользователей смартфонов и планшетов на версию своего веб-сайта для мобильных устройств.
- A / B-тестирование : вы хотите перенаправлять разных посетителей на разные страницы, а затем сравнивать поведение посетителей, чтобы увидеть, какая страница работает лучше всего.
- Псевдонимы : вы хотите создать короткий URL-адрес, который легко запомнить и перенаправлять на более длинный.
- Обслуживание : вы хотите временно перенаправить посетителей на статическую страницу «В разработке», пока вы работаете на веб-сервере.
Как работает перенаправление HTTP?
HTTP — это протокол запроса / ответа.Клиент, обычно веб-браузер, отправляет запросы на сервер, и сервер возвращает ответ. Ниже приведен пример того, как Firefox запрашивает домашнюю страницу сайта drlinkcheck.com:
В этом примере сервер отвечает кодом состояния 200 (OK) и включает запрошенную страницу в тело.
Если сервер хочет, чтобы клиент искал страницу по другому URL-адресу, он возвращает код состояния из диапазона 3xx и указывает целевой URL-адрес в заголовке Location .
Постоянные перенаправления: 301 и 308
Коды состоянияHTTP 301 и 308 используются, если ресурс постоянно перемещен в новое местоположение . Постоянное перенаправление — правильный выбор при реструктуризации веб-сайта или его миграции с HTTP на HTTPS.
Разница между кодами 301 и 308 заключается в деталях. Если клиент видит перенаправление 308, он ДОЛЖЕН повторить тот же самый запрос в новом местоположении, тогда как клиент может изменить запрос POST на запрос GET в случае перенаправления 301.
Это означает, что если выполняется POST с телом и сервер возвращает код состояния 308, клиент должен выполнить запрос POST с тем же телом в новое место. В случае кода состояния 301 клиент может это сделать, но не обязан (на практике почти все клиенты отправляют запрос GET).
Проблема с кодом состояния HTTP 308 заключается в том, что он относительно новый (введен в RFC 7538 в апреле 2015 года) и, следовательно, поддерживается не всеми браузерами и поисковыми роботами.Например, Internet Explorer 11 в Windows 7 и 8 не распознает коды состояния 308 и просто отображает пустую страницу вместо выполнения перенаправления.
Из-за все еще ограниченной поддержки 308 рекомендуется всегда использовать 301 редирект , если только вам не требуется, чтобы запросы POST перенаправлялись правильно и вы уверены, что все клиенты понимают код ответа 308.
Временные перенаправления: 302, 303 и 307
Коды состояния 302, 303 и 307 указывают на то, что ресурс временно доступен по новому URL-адресу , что означает, что перенаправление имеет ограниченный срок жизни и (обычно) не должно кэшироваться.Примером может служить веб-сайт, который находится на техническом обслуживании и перенаправляет посетителей на временную страницу «В разработке». Пометить перенаправление как временное также рекомендуется при перенаправлении на основе конкретных критериев посетителя, таких как географическое положение, время или устройство.
Спецификация HTTP / 1.0 (выпущенная в 1996 г.) включала только код состояния 302 для временных перенаправлений. Хотя было указано, что клиентам не разрешено изменять метод запроса для перенаправленного запроса, большинство браузеров игнорировали стандарт и всегда выполняли GET для URL-адреса перенаправления.По этой причине HTTP / 1.1 (выпущенный в 1999 году) представил коды состояния 303 и 307, чтобы однозначно прояснить, как должен реагировать клиент.
Код состояния HTTP 303 («См. Другое») сообщает клиенту, что ресурс временно доступен в другом месте, и явно указывает клиенту выполнить запрос GET по новому URL-адресу, независимо от того, какой метод запроса был первоначально использован.
Код состояния 307 («Временное перенаправление») указывает клиенту повторить запрос с другим URL-адресом, используя тот же метод запроса, что и в исходном запросе.Например, запрос POST должен почти повторяться с использованием другого запроса POST.
На практике браузеры и поисковые роботы обрабатывают перенаправления 302 так же, как указано для 303, что означает, что перенаправления всегда выполняются как запросы GET.
Несмотря на то, что коды статуса 303 и 307 были стандартизированы в 1999 году, все еще есть клиенты, которые не применяют их правильно. Как и в случае с кодом состояния 308, поэтому рекомендуется придерживаться перенаправления 302, если вам не нужно повторять запрос POST (используйте 307 в этом случае) или если вы знаете, что предполагаемые клиенты поддерживают коды 303 и 307 .
Рекомендации по поисковой оптимизации
Когда Google видит постоянное перенаправление 301 или 308, он удаляет старую страницу из индекса и заменяет ее страницей из нового местоположения. Вопрос в том, как это влияет на рейтинг страницы? В этом видео Мэтт Катс объясняет, что вы теряете лишь «крошечный кусочек» ссылочного веса, если выполняете 301 редирект. Таким образом, постоянная переадресация — лучший вариант, если вы хотите реструктурировать свой сайт без отрицательного влияния на его рейтинг в Google.
Временные перенаправления (коды статуса 302, 303 и 307), с другой стороны, более или менее игнорируются Google. Поисковая система знает, что переадресация носит временный характер, и сохраняет исходную страницу в индексе, не передавая ссылочный вес на целевой URL.
Стоимость перенаправления
Еще один аспект, который следует учитывать при использовании перенаправления HTTP, — это влияние на производительность. Каждое перенаправление требует дополнительного HTTP-запроса к серверу, обычно добавляя несколько сотен миллисекунд ко времени загрузки страницы. Это плохо с точки зрения пользовательского опыта и создает ненужную нагрузку на веб-сервер. Хотя одиночное перенаправление не слишком сильно повредит, следует избегать цепочек перенаправлений, в которых одно перенаправление приводит к другому перенаправлению.
Если вы хотите идентифицировать все перенаправления на своем веб-сайте, наша программа проверки ссылок может помочь — просто введите URL-адрес своего веб-сайта и нажмите кнопку Начать проверку . После завершения проверки вы увидите количество найденных временных и постоянных перенаправлений в разделе Перенаправления .Щелкните один из элементов, чтобы получить список всех перенаправленных ссылок. Если вы наведете курсор на элемент ссылки и нажмете кнопку Details , вы увидите всю цепочку перенаправления.
Заключение
Пять разных кодов статуса переадресации — неудивительно, что многие владельцы веб-сайтов путаются, когда дело касается переадресации. Мой совет следующий:
- Используйте перенаправление 301, когда страница или файл теперь постоянно доступны по новому URL-адресу, и вы хотите, чтобы поисковые системы распознали этот факт.
- Используйте переадресацию 302, когда страница только временно доступна по другому URL-адресу и вы не хотите, чтобы поисковые системы заменяли исходный URL-адрес в своих индексах.
- Используйте переадресацию 303, 307 и 308 только в том случае, если они вам действительно нужны и вы знаете, что делаете.
- Кроме того, сведите количество перенаправлений к минимуму, потому что каждое перенаправление требует дополнительного HTTP-запроса.
Я надеюсь, что это проливает свет на то, как работают перенаправления HTTP и какой код состояния HTTP выбрать в какой ситуации.
Предыдущее сообщение Более новая публикация- 18 февраля 2020
- Автор: Андреас
Все, что вам нужно знать
Хотите узнать все, что нужно знать о переадресации 301, в том числе о том, как их использовать для увеличения органического трафика? Вы попали в нужное место.
301 редирект довольно прост. Они используются для перенаправления с одной веб-страницы на другую.
Но понять, как они связаны с SEO, сложнее.
В этом руководстве вы узнаете:
Давайте начнем с самого начала.
Что такое 301 редирект?
Перенаправление 301 указывает на постоянное перемещение веб-страницы из одного места в другое.
Часть 301 относится к коду состояния HTTP перенаправленной страницы.
Пример: blog.ahrefs.com перенаправляет на ahrefs.com/blog
Проще говоря, перенаправление 301 сообщает браузеру: «Эта страница переместилась навсегда.Это новое место, и мы не собираемся его возвращать ». На что браузер отвечает: «Конечно! Я отправлю пользователя туда прямо сейчас! »
Вот почему, если вы попытаетесь посетить blog.ahrefs.com , этого не произойдет.
Вместо этого вы попадете на ahrefs. (.https: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]
Влияет ли переадресация 301 на SEO?
Большинство специалистов по SEO сосредотачиваются на взаимосвязи между 301 редиректом и PageRank.
Не знакомы с PageRank? Это формула, созданная Google для оценки «ценности страницы» по количеству и качеству ссылок на нее. Конечно, PageRank — далеко не единственный «фактор ранжирования», но обычно считается, что в целом более высокий PageRank означает более высокий рейтинг.
Есть доказательства этому? Да, Google (повторно) подтвердил PageRank как сигнал ранжирования в прошлом году:
DYK, что спустя 18 лет мы все еще используем PageRank (и сотни других сигналов) при ранжировании?
Хотите узнать, как это работает? Https: // t.co / CfOlxGauGF pic.twitter.com/3YJeNbXLml
— Гэри «鯨 理» Иллис (@methode) 9 февраля 2017 г.
Существует также явная положительная корреляция между рейтингом URL Ahrefs, который работает аналогично PageRank — и объем органического трафика, который получает страница:
Sidenote.
Причина, по которой я говорю о рейтинге URL (UR), а не о PageRank, заключается в том, что Google прекратил использование общедоступных оценок PageRank в 2016 году. Теперь невозможно узнать, какой уровень PageRank имеет страница. Я не говорю, что UR является эквивалентом PageRank, но это ближайший сопоставимый показатель, который у нас есть.Так как это связано с переадресацией 301?
До 2016 года, если вы использовали редирект 301 для перенаправления с одной страницы на другую, в процессе происходила некоторая потеря PageRank. Сколько? Это спорно, но 15%, казалось, общее предположение. Это также диапазон Мэтта Каттса, бывшего руководителя службы веб-спама Google, на которого ссылается в этом видео 2013 года: