- Что такое 301 редирект, зачем он нужен и как его сделать.
- Что такое 301 редирект?
- Что означает редирект «301»?
- Когда вы должны использовать 301 редирект?
- А что на счет тега canonical?
- SEO-преимущества 301 редиректа
- Удержание посетителей на вашем сайте:
- Перенаправление ссылочного веса.
- Быстрое удаление старой страницы из индекса поисковиков.
- Проблемы с 301 редиректом
- Как установить 301 редирект
- 301й редирект с помощью файла .htaccess
- 301 Redirect: WordPress
- Парочка полезных советов.
- Заключение.
- Трактат о 301 редиректе: от теории до практики за 15 минут
- Что такое 301 редирект для сайта
- Для чего нужен 301 Redirect
- Адрес страницы изменен
- Склейка зеркал
- Смена домена
- Исправляем технический бардак
- 301 редирект вместо 404 Not Found
- Когда не надо использовать код сервера 301 и другие нюансы
- Временная переадресация при неуверенности
- Спасение от фильтров стоит ли?
- Нюансы использования 301 редиректа
- Как настроить 301 Редирект в .htaccess на Apache
- 301 Редирект с www на без www для склейки зеркал
- 301 Redirect без www на www
- 301 Редирект с https на http и наоборот в Htaccess
- Универсальный редирект с index.php и .html на ссылку без них
- 301 редирект со страницы на страницу
- Redirect в PHP
- Как убрать дубль адреса сайта в адресной строке с помощью ПХП
- Как убрать дубль страницы со слешем с помощью PHP
- Особенности настройки Permanent Redirect на nginx.
Что такое 301 редирект, зачем он нужен и как его сделать.
Один из самых распространенных вопросов, касающихся технического SEO продвижения сайта, это использования различных редиректов, из которых, 301 редирект, это самый распространенный.
Что такое 301 редирект?
Редирект 301 — это способ перенаправления посетителей веб-сайта на действующий URL-адрес, когда тот адресс, который изначально запрашивался, был удален. Перенаправление должно указывать на наиболее релевантную или похожую действующую страницу на ту, которая больше не нужна, что обеспечивает лучшие поведенческие факторы.
Например, у вас была старая статья, в силу некоторых причин, вы решили удалить эту статью. В таком случае, вы наверное захотите, чтобы те посетители, которые решили зайти на ту страницу, перешли на другую страницу. Ведь перенаправление посетителя на новую страницу, релевантную старой, это более лучший вариант, нежели показывать посетителю страницу 404.
Например, у вас статья была по старому адресу https://moysite.ru/staraya-statya.html и вы пере направляете посетителей на https://moysayt.ru/novaya-statya.html. Для этого вы можете использовать 301й редирект.
Но ещё один большой плюс 301 редиректа, это его влияние на SEO. Предположим, на старую статью вели несколько внешний ссылок. Если вы просто удалите старую статью, то эти ссылки станут битыми.
Это может и не очень большой минус, но в любом случае, это нежелательно. С помощью 301 редиректа вы указываете поисковикам новый адрес старой страницы. В этом случае, поисковики не будут считать такие ссылки битыми и будут их учитывать в ранжировании сайтов.
Что означает редирект «301»?
301 редирект может отображаться как «301» или «301 Moved Permanently» (перемещен навсегда). Это код ответа HTTP (протокола передачи гипертекста), который показывает ответ от сервера, на котором размещена страница, для браузеров, запросивших URL. Код ответа 301 не является плохим по своей сути, этот код просто указывает, что запрошенная страница была перенаправлена на другую, и браузер должен перейти на эту страницу.
На самом деле, получение ответа 301 может означать, что вы хорошо справляетесь с поддержанием аккуратности своего сайта — не позволяя посетителям попасть на нерелевантные, старые или неработающие страницы.
Код состояния «301» — это один из многих HTTP-ответов, которые сообщают нам и поисковым системам, что происходит с этим URL. Код статуса HTTP-ответа «301» означает, что этот URL-адрес был перемещен навсегда, то есть любые ссылки со старым URL-адресом должны быть перенаправлены на новый предоставленный URL-адрес.
Для проверки статуса страницы, можно воспользоваться утилитой curl. Тогда команда будет выглядеть так.
Здесь мы видим саму команду, видим статус ответа 301, и видим новый адрес страницы. В данном случае, это редирект со страницы с www, на страницу без www.
Или вы можете воспользоваться онлайн инструментом по этой ссылке. Вот как будет здесь показан ответ сервера.
Когда вы должны использовать 301 редирект?
301 редирект следует использовать, когда страница больше не актуальна, не полезна или была удалена. Он также очень полезен при изменении структуры сайта, когда многие старые URL адреса заменяются на новые. Очень важно сделать пере направление со всех старых страниц сайта, если эти страницы более не будут доступны.
Вот ещё несколько ситуаций, когда нужно использовать 301 редирект.
- Переход на новый домен (был сайт — moystariysite.ru, стал newsite.com). В этом случае, нужно сделать редирект со всех старых URL адресов.
- Перенаправление с www на без www, и с обычного протокола http, на безопасный протокол https (http://www.moysite.ru на https://moysite.ru)
- Удаление старых статей.
- Объединение нескольких старых статей. Если на вашем сайте есть несколько похожих статей, вы можете объединить их в одну большую. В этом случае, старые ненужные статьи, также нужно будет удалить и сделать с них редирект на новую большую статью.
А что на счет тега canonical?
Оба эти решения несколько похожи, но различие между ними есть. Если кратко, то canonical не перенаправляет посетителей на новую статью, он лишь указывает, какую из этих статей считать главной. Подробнее о теге canonical, читайте в этой статье.
SEO-преимущества 301 редиректа
301 редирект очень важен для SEO и может быть полезен несколькими способами:
Удержание посетителей на вашем сайте:
Если посетитель нажимает на ссылку и получает страницу 404, это отрицательно повлияет на его восприятие сайта и может привести к разочарованию и уходу. При использовании 301 редиректа посетитель сразу перенаправляется на другую, релевантную страницу. По сути, посетитель всё равно получает то, что он хотел узнать.
Перенаправление ссылочного веса.
Любая страница сайта обладает своим ссылочным весом. Особенно, если на эту страницу ведут внешние ссылки. Если просто удалить страницу, то внешняя ссылка станет битой, а это значит, что даже в лучшем случае, вес такой внешней ссылки размажется тонким слоем по всем другим страницам сайта.
При использовании 301 редиректа, вес старой страницы будет передаваться на указанную страницу, что в большинстве случаев, более эффективно для поискового продвижения.
Быстрое удаление старой страницы из индекса поисковиков.
Когда поисковый робот поисковиков делает переобход сайта, он смотрит, какие страницы доступны, а какие нет. И по идее, если робот не встретит определенную страницу, то поисковик должен сразу удалить эту страницу из своего индекса.
Но на практике, у сайта могут быть различные технические проблемы, и страница может быть просто временно недоступна. Поэтому, поисковики не торопятся удалять страницы, если они не обнаружены.
Использую 301 редирект, вы явным образом сообщаете поисковым роботам, что данная страница была удалена, поэтому, видя 301 редирект, поисковики удаляют такую страницу в ускоренном темпе.
Проблемы с 301 редиректом
Проблемы с редиректом 301 обычно возникают из-за их неправильного использования.
Наиболее частая подобная причина этого — когда владелец веб-сайта перенаправляет все старые страницы сайта на новую главную страницу сайта. Это просто быстрее сделать.
Но если вы меняете структуру сайта, и вы удаляете сразу большое количество URL адресов, то вы должны потратить время, чтобы каждую из старых URL адресов, заменить новым, подходящим адресом. Подумайте о пользователях. Пользователь переходит по ссылке со стороннего сайта в надежде увидеть страничку про кошечек, а попадает на главную страницу блог о диких животных. Навряд-ли это ему понравится.
Еще одна проблема, которая возникает со временем, — это цепочки перенаправления. После нескольких обновлений сайта легко попасть в эту ловушку, но очень важно знать, что такое цепочки и как их удалить из списка переадресации.
Пример цепочки редиректов:
На странице A много обратных ссылок, но вы хотите направить их на страницу B.
Прошло время, страница B вы удалили, и сделали перенаправление на страницу C. Теперь страница B указывает на страницу C.
Страница D — это мощная новая статья, поэтому вы делаете редирект с этой страницы на страницу D.
Теперь у вас есть цепочка переадресации, которая означает, что ссылочная масса пытается перетекать со страницы A на страницу D.
Но на самом деле, этого не нужно делать. Вы должны сделать редиректы с каждой из старой страниц в этой цепочке, на новую страницу. Вот как будет выглядеть такое перенаправление.
- Страница A — Страница D
- Страница B — Страница D
- Страница C — Страница D
Как установить 301 редирект
Теперь, когда мы обсудили, что такое 301й редирект, его важность и случаи, когда вы должны его использовать, давайте посмотрим к наиболее распространенным методам установки 301 редиректа.
301й редирект с помощью файла .htaccess
В подавляющем большинстве случаев веб-сервер настраивается с помощью так называемого файла .htaccess. Это простой текстовый файл, который находится в корневом каталоге вашего сайта. Для установки 301 редиректа вам необходимо поместить файл .htaccess в корневой каталог (если этот файл еще не существует). Вы можете создать или отредактировать файл .htaccess, используя любые инструменты редактирования простого текста, такие как Блокнот, Sublime или Nano.
Начнем мы с простого примера, а именно, с переименования страницы на вашем веб-сайте. Например, если вы хотите изменить URL-адрес страницы с:
Чтобы старая страница перенаправлялась на новую, вам нужно добавить следующий код в ваш файл .htaccess:
redirect 301 /old.html https://www.example.com/new
Вот объяснение того, что означает приведенный код:
- «redirect 301” сообщает поисковым системам (и браузерам), что ваша страница была перемещена навсегда.
- «/old.html» — указывает старое расположение страницы.
- «https://www.example.com/new.html» — это новое расположение страницы, на которую веб-сервер должен перенаправлять посетителей.
Важно отметить, что если вы перемещаете несколько страниц, то вам нужно будет сделать перенаправления для каждой из страниц, которые вы перемещаете. Создание уникальной строки для каждой страницы рекомендуется как самый безопасный подход, если вы хотите, чтобы ваши команды были подхвачены поисковыми системами.
301 Redirect: WordPress
Если у вас сайт на WordPress то вы можете использовать любой из доступных плагинов для создания редиректа. Например, такой плагин как Redirection, позволяет пользователю ввести старый URL, затем новый URL и привязку — и теперь у вас есть 301 редирект. Это упрощает процесс перенаправления и сокращает время. Кроме того, с помощью этого плагина, вы сразу сможете настроить группы перенаправлений.
Парочка полезных советов.
Хотя использование 301 редиректа крайне важно, но работа может занять много времени, поэтому, вот пара советов, которые вам помогут в этой работе.
Если вы можете сохранить свои URL-адреса на новом сайте, сделайте это.
Это не всегда возможно, но если есть страницы на старом сайте, которые переедут на новый сайт, то оставьте их URL прежними. Если URL-адреса беспорядочные или неточно описывают содержание страницы, то их изменять придется.
Использование старых URL-адресов не только сэкономит время на создание перенаправлений, но и снизит риск падения трафика, когда новые страницы заменят старые.
Заранее составьте список старых URL-адресов.
Не нужно всё делать в последнюю минуту. Если вы решили переезжать на новый домен, то вначале проведите всю подготовительную работу. В том числе, составьте полный список ваших старых URL адресов и сохраните их в отдельную страницу.
Если вы будете делать перенаправления с одних страниц на другие, то также заранее укажите в таблице новые URL адреса. Тогда вам проще будет составить список перенаправлений и вы ничего не пропустите.
Заключение.
Надеюсь, теперь вы лучше понимаете:
- Что такое 301 редирект
- Зачем вам его использовать
- Как сделать редирект.
Используя редирект 301, вы, по сути, даёте поисковым системам пометку «эта страница перемещена, найдите последнюю версию этой страницы здесь». Важность этой пометки невозможно переоценить.
А если у вас остались ещё вопросы, то задавайте их в разделе с комментариями.
Источник
Трактат о 301 редиректе: от теории до практики за 15 минут
Нужна помощь в продвижении сайта?
Советую обратить внимание на мой бесплатный мини-курс, который вы можете получить по ссылке. Хоть это и бесплатный курс — в нем вы найдете наиболее мощные и актуальные техники продвижения.
Сегодня мы поговорим о редиректе и постараемся разобрать данный вопрос максимально широко и в то же время не распыляться. Важность редиректов в сео просто огромна, в то же время велики и риски проблем из-за неправильной переадресации. Вопрос важный, сложный и очень нужный, так что читаем далее!
Что такое 301 редирект для сайта
Что такое 301 редирект? Даже не так. Что такое Redirect? Это команда поисковому роботу перенаправлять посетителя на другую страницу, которая была перемещена в другое место. Цифра 301 — это код, который говорит об окончательном перемещении страницы в новую локацию. Ведь когда мы переходим на какую-то страницу и нам выдается ошибка, мы видим перед собой код этой ошибки и расшифровку. Например, код 404 говорит нам — Not Found, что означает — страница не найдена, а 505 ошибка сообщает, что ответ от сервера не был получен. Но если вышеописанные ошибки видны посетителю на открытой странице браузера, то шифры перенаправления видят только роботы, которые и направляют гостя по другой ссылке (если, конечно, редирект был настроен правильно). Вот как раз новую ссылку, меняющуюся в адресной строке браузера посетитель и заметит. То есть 301 редирект перебрасывает пользователя с одной страницы на другую, не останавливаясь на промежуточном адресе, доводя до конечного места локации контента.
Официальное название редиректа — Permanent Redirect 301, используется как инструмент в SEO. Код прописывается в файлах на сервере, где расположен сайт, и при обращении по ссылке, которая указана в редиректе как та, с которой нужно увести посетителя, сервер отдает системе код 301 с новыми данными для отображения ссылки и «пометкой» — перемещен на другой адрес (moved permanently).
Каким образом происходит процесс перемещения? С помощью кода в файлах на сервере с сайтом размещается специальный код, который роботы поисковых систем считывают и выполняют. В этом коде обязательно присутствуют константы: откуда переместить и куда. Причин для использования 301 редиректа на сайте может быть множество, рассмотрим основные из них в этой статье, ведь, возможно, что какой-то способ вам понабиться, и вы им воспользуетесь.
Я подготовил мощный мини-курс по SEO текстам, которые сами выходят в ТОП! Курс записан в формате пошаговых инструкций и в данный момент доступен БЕСПЛАТНО, вместо 2999, так что не упустите! Ссылка на скачивание мини-курса.
Для чего нужен 301 Redirect
301 редирект является тем видом перенаправления, который поисковые системы признают как правильное решение для перемещенных страниц сайта. Поэтому при настройке Permanent Redirect никаких изменений в ранжировании или наложений штрафных санкций не происходит. Это естественная переадресация. Какое-то время назад этот способ переадресации использовался вебмастерами для выхода из под фильтров, но не факт, что на сегодняшний день этот способ может помочь. Хотя от определенных фильтров иногда спасает (ссылка).
На сегодняшний день основными показаниями к использованию 301 Редиректа являются ситуации:
- изменения адреса страницы сайта, даже на одну букву или символ;
- склейка зеркал (домен с www и без www, домены в разных зонах);
- смена домена интернет-ресурса;
- борьба с дублями из-за технического бардака.
Где делают Permanent Redirect 301? Способы зависят от возможностей вебмастера и его доступа к данным. Поэтому создать 301 Редирект можно через htaccess, php, настройки сервера, javascript. Естественно, что использовать все способы одновременно не надо.
Адрес страницы изменен
Самый простой и распространенный вариант наломать мелких дров в админпанели сайта и создать ошибки при переходе по ссылке — это откорректировать уже проиндексированный неЧПУ. Когда формируется новая страница сайта, ей присваивается номер и адрес из латинских букв. Первое время не очень красивая ссылка никого не смущает, но когда обнаруживается, что можно сделать покрасивше — руки так и чешутся откорректировать url к более человекоподобному:). И тут наступает момент, когда в вебмастере гугла и яндекса обнаруживается огромное количество дублей. Особенно, когда была видоизменена категория сайта в структуре. Google, например, после обновления базы, то есть когда робот заново обошел сайт с начала до конца, покажет в панели вебмастера новые адреса страниц, но старые тоже оставит в поиске, сделав замечание владельцу, что у него на сайте присутствуют одинаковые мета-данные, которых на самом деле там и нет. Переход по старому адресу из поисковой системы выдаст пользователю ошибку 404 (если конечно она правильно настроена), тем самым убив желание потенциального посетителя переходить далее на сайт.
Итог бездумной корректировки URL? Поисковая система видит отказ пользователя и понижает сайт в выдаче по поисковому запросу. Катастрофа. А все из-за какой-то корявой ссылки, которая изначально осталась незамеченной и никого, кроме самого «вебмастера» совершенно не смущала. Но эту ситуацию можно исправить как раз 301 редиректом. Как сделать 301 редирект с одной страницы на другую (со старого url на новый), расскажем дальше.
Склейка зеркал
Зеркала — это, например, когда сайт один, а доменов несколько. Обычно, компании, работающие на бренд, выкупают сразу все доступные зоны, чтобы никто не смог воспользоваться их именем. Также присоединяются названия адреса сайта через дефис и без него. Но даже без такой катавасии, на вашем сайте 100% есть зеркала! В данном случае это написание адреса сайта с www и без, а также доступ через https. В любом из этих случаев делается 301 redirect, причем еще при создании вебресурса, иначе от головной боли с дублями страниц потом тяжело избавится. Редирект 301 с www на без www и наоборот (если основным сайтом является www.имя_домена.ru), а также c http на https (сомневаюсь, что часто бывает перенаправление наоборот), включая разные доменные зоны, обязателен! Для проверки наличия основного зеркала, помогут панели вебмастера поисковых систем.
Смена домена
По разным причинам сайту нужно переехать на новый домен. Чаще всего компания делает ребрендинг, а название домена не отвечает поставленным целям. Ради благозвучия и соответствия названия домена бренду, сайт переезжает. Чтобы не потерять уже постоянных посетителей и поставить перед фактом поисковых роботов, сеошники делают 301редирект со старого домена на новый. Очень важно, чтобы поисковые системы получали ответ от сервера код 301, а не 404 или 302. Работа окажется легкой, если сайтик небольшой (визитка, лэндинг, промо-страница) и понадобится много труда для огромного интернет-магазина, потому что перенаправление на главную страницу здесь не подойдет. Каждый старый URL привязывают к аналогичному новому (постраничная переадресация).
Исправляем технический бардак
Здесь вариантов устроить технический бардак уйма начиная с нарушений элементарных правил создания страниц и заканчивая дублями, которые создаются плагинами на сайте (переводчики, комментарии, поиск по сайту). Сюда же можно отнести мобильные версии выдачи страниц (с этим в последнее время хлопот немало), но их лечат прописыванием canonical. Дубли создаются не только по вине вебмастера, есть и вынужденные. Но случаи по неопытности первого, все же больше наносят вреда. Некоторые прячут такие погрешности закрытием от индексации, но лучше использовать 301 Permanent Redirect и тогда робот точно поймет, что хочет ему сказать человек.
301 редирект вместо 404 Not Found
Не торопитесь сразу убирать 404 (Страница не найдена) и везде проставлять 301 Редирект. Тут важно прочувствовать разницу. Код 404 Not Found обязателен на страницах, которые удалены или никогда не существовали, а вот с битыми ссылками можно бороться 301 Редиректом! Если страница, которую ищет пользователь, существует, зачем отсылать его по древу сайта для ее поиска? Найдена битая ссылка на какую-то страницу? Перенаправляем по правильному адресу кодом 301 и посетитель даже не догадается о том, что ссылка уже была нерабочая.
Когда не надо использовать код сервера 301 и другие нюансы
Есть моменты когда так и хочется воспользоваться 301 редиректом на сайте, но не всегда цель оправдывает средства. Вообще, желательно, во внутренних ресурсах сайта использовать код 301 только в случаях крайней необходимости. Иначе, бездумно посылая робота со ссылки на ссылку, можно создать бесконечное циклическое перенаправление, которое просто убьет весь сайт. И поисковый робот бросит все старания найти место размещения контента, чем навредит репутации ресурса в целом, не доведя посетителя до конца.
Временная переадресация при неуверенности
Permanent Redirect 301 (Перманентный редирект) используется для указания роботам окончательного решения. Что это значит? А это говорит о том, что если вы не уверены навсегда ли будет перемещена страница, тогда безопасней 301 редирект не делать. Redirect склеивает странички, и робот уже просто не видит первой, а это значит, что она канула в лету безвозвратно. Для временной переадресации используют другие способы, когда при принятии решения вернуть все на свои места, не вызовет никаких проблем.
Спасение от фильтров стоит ли?
Когда-то 301 редиректом спасались от фильтров поисковых систем, но нет 100% гарантии, что фильтр в будущем не переместится на новый домен. Создавая постоянное перенаправление на новый сайт, перемещается ТИЦ с PR. Мною замечено, что с алгоритмом «Пингвина» еще можно помудохаться, а вот от АГС такие манипуляции не спасут однозначно. Поэтому сейчас Permanent Redirect не так популярен для спасения от фильтров ПС, но зато помогает не потерять заслуженные позиции. Чего вполне достаточно для усердных вебмастеров.
Нюансы использования 301 редиректа
- Исправлять ссылки ведущие извне 301 редиректом вполне нормально, потому что отредактировать их у нас нет возможности. А вот кривые внутренние пути надо максимально исправлять вручную другими, более щадящими способами.
- Настраивая redirect, нужно быть предельно внимательным, чтобы не захватить какие-нибудь системные ссылки из корневых каталогов или пути к папкам и плагинам.
- Для поиска ссылок, нуждающихся в исправлении, необходимо использовать инструменты поисковых систем Google и Яндекс Вебмастер. Очевидные дубли страниц видны в Гугл Вебмастер во вкладке Вид в поиске > Оптимизация HTML, а в Яндексе — Индексирование — Статистика.
- Между нашими главными поисковыми гигантами есть одна огромная особенность: если Google после обновления базы самостоятельно уберет исправленные ошибки из панели вебмастера, то Яндекс этого может вообще не сделать. Это дело можно поправить прописыванием в robot.txt запрета на индексирование или подать ручной запрос в поддержку на удаление из базы плохих ссылок. В 2016 Вебмастер Яндекса перешел на новый уровень, расширив функционал системы. Правда, некоторые возможности еще не работают, но уже функционируют корректно бывшая аддурилка, а теперь запрос на внеочередной переобход страницы роботом, проверка мобильности страниц, удобная статистика по ключевым словам с разбивкой на ТОП 3, 10, 50.
Как настроить 301 Редирект в .htaccess на Apache
Одним из самых старых и распространенных способов запустить 301 редирект на Apache является прописывание специального кода в корневом каталоге сайта в файле .htaccess. Неоспоримым преимуществом этого метода является быстрая загрузка команд сразу с сервера еще до запуска скриптов без дополнительной на него нагрузки. Не зря перед названием htaccess я поставил точку — это файл без названием с расширением. Знаю, непривычно, но этот файлик есть в корневой папке сайта или, по крайней мере, должен быть.
Как найти htaccess? Открываем FTP-клиент (например, Fillezilla), переходим на каталог сайта и опля! Не случилось опля? Нет такого файла? Попробуйте проверить настройки ftp-клиента. К примеру, в FilleZille нажмите на вкладку Сервер и выберите пункт Принудительно отображать скрытые файлы. Ничего не появилось? Значит, создаем новый файл на свое компьютере. Создаем .txt-шный файл, вписываем нужный код и сохраняем. И тут паника: Windows не сохраняет файл с расширением .htaccess и без имени! Катастрофа, думаете вы. Вовсе нет. Забрасываете файл с расширением тхт через ftp-менеджер в корневую папку сайта и там переименовываете. Ура! Файл .htaccess создан. Теперь, при внесении каких-либо изменений в него, достаточно его просто открыть в блокноте через ftp-клиент или в NotePad++.
А какой код писать, как настроить 301 редирект в htaccess? А вот в зависимости от того, для чего он нам нужен, и будем моделировать код перенаправления. В первую очередь, Permanent Redirect 301 прописывается в самом начале страницы htaccess после строки «R ewriteEngine On», для того чтобы команда обрабатывалась первой. Сервер читает файл построчно сверху. Ниже привел популярные коды для перенаправления.
301 Редирект с www на без www для склейки зеркал
Заранее оговорюсь — во всех примерах в команде R ewriteCond лишний пробел, уберите его перед копированием!
RewriteCond %
R ewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
301 Redirect без www на www
R ewriteCond %
R ewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Чувствуете разницу? R ewrite переводится как переписать, Cond — условие, Rule — правило. А с виду для русскоязычных можно запомнить: кто рулит? Рулит вторая строчка, то есть указываем тот путь, куда перенаправляем. Каждый второй вариант приведенных выше правил лучше первого тем, что при перенаправлении будет проверяться не только наличие www в адресе сайта, а и соответствие названия домена указанному. Таким образом, исключается возможность доступа посторонних лиц к файлам на сервере, например, через IP-адрес. А это, как-никак, дополнительная защита.
А теперь расшифровка всех символов в коде 301 редиректа:
R ewriteCond — искомое условие, то есть ссылка, которую, в нашем случае, нужно перенаправить.
R ewriteRule — правило, которое необходимо выполнить с тем условием, которое указано в предыдущей строке.
\ — за экранирующим слешем считать метасимволы обычными символами;
. — любой символ в количестве одной штуки:)
() — разбиение на группы;
? — повторение символа от 0 до 1 раза;
* — повторение от 0 до 65536;
+ = повторение от 1 до 65536;
NC (NOCASE) — отключить проверку регистра;
R=301 (Redirect 301) — вернуть ответ браузеру с кодом 301;
L (LAST) — остановка процесса перенаправления, указывая на конечность текущего местоположения данных.
301 Редирект с https на http и наоборот в Htaccess
Небольшим кодом делаем перенаправление с https на http в htaccess:
R ewriteEngine On
Если нужно сделать обратный редирект 301 с http на https, то прописываем такой вариант:
R ewriteEngine OnR ewriteCond %
Универсальный редирект с index.php и .html на ссылку без них
Создание дублей страниц с добавкой в конце пути index.php или расширения html у веб-страницы происходит сплошь и рядом. Явно это становится видно, когда адрес вашей главной страницы уже выглядит так http://ваш_сайт/index.php или http://ваш_сайт.html. Не очень красиво, правда? Короче — хуже только крокозябры:) Предлагаю исправить ситуацию универсальным кодом:
R ewriteRule ^(.*)index\.(php|html)$ $1 [R=301,L]
А добавки к адресу, которые берутся вроде бы ниоткуда, когда на сайте все нормально настроено: http://ваш_сайт/страница_перехода.html&post=абракадабра? Эти малопривлекательные крякозябры цепляются к хвосту благодаря социальным сетям, где лояльный читатель поделился вашим постом. К адресам сайтов добавляются статистика для отслеживания источников (и тут, екалемене, анонимности никакой).
Избавляемся от абракадабры прописыванием 301 редиректа в htaccess:
Аналогично проделываем процедуру с другими видами хвостиков, например, когда после адреса страницы вылазит &bau=fdf=fdwnf,Jf;pg’;bui=ds643dfvv5, видоизменяем код так:
Структура остается прежней, меняем только первую повторяющуюся часть ссылки. А таких «липучек» может быть много, но делать это надо, потому что такие ссылки индексируются поисковыми системами.
Еще одним примером могу привести, когда нужно убрать после фразы index.php другие параметры, сопутствующие в пути из-за скриптов. Если ссылка выглядит как http://ваш_сайт/index.php?list=1, можем очистить хвосты скриптов следующим кодом в htaccess:
Избавится от дублей с index.php (редиректс index.php на категорию), чтобы после ЧПУ не было больше приставок, поможет следующий код:
R ewriteRule ^(.*)index\.php$ $1 [R=301,L]
Теперь вид сайта в адресной строке будет выглядеть как http://ваш_сайт.ru, а не http://ваш_сайт.ru/index.php. Правда, так лучше?
301 редирект со страницы на страницу
Когда нужно сделать 301 редирект с одной страницы на другую можно воспользоваться следующим кодом в нескольких вариациях синтаксиса. Только каждое перенаправлению на новую страницу создается отдельной строкой. Вот как выглядят правила:
Redirect 301 /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
Redirect permanent /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
RedirectPermanent /адрес_страницы_1.html http://ваш_домен.ru/адрес_страницы_2.html
Обратите внимание, что адрес домена, на который перенаправляется первая страница, может быть совершенно другим. То есть это может быть реальная переадресация со страницы одного сайта на страницу другого.
Redirect в PHP
301 Редирект в PHP используется, когда с созданием в htaccess возникают трудности, а функция в ПХП будет более логичной. Синтаксис permanent redirect в php выглядит так:
header(«HTTP/1.1 301 Moved Permanently»);header(«Location: http://ваш_домен.ru»);die(«Redirect»);
Данный синтаксис сообщает браузеру пользователя с какой страницы и на какой сайт надо сделать перманентный редирект. Стоит учесть что http://ваш_домен.ru — необязательно главная страница одного и того же ресурса, это может быть как отдельная страница, категория, так и совершенно левый домен. Если при написании функции redirect была допущена ошибка, браузер сообщит об этом в окне надпись «Redirect». Примеры функций Permanent Redirect далее.
Как убрать дубль адреса сайта в адресной строке с помощью ПХП
if (strpos($_SERVER[‘REQUEST_URI’], ‘http://ваш_сайт.ru’) !== false)
$real_page_url = «http://ваш_сайт.ru».str_replace ( «/http://ваш_сайт.ru», «», $_SERVER[‘REQUEST_URI’] );
header(«HTTP/1.1 301 Moved Permanently»);
Вот такой функцией убирается дублирование адреса вида: http://ваш_сайт.ru/ http://ваш_сайт.ru/страница. Обратите внимание на написание URL в условии — здесь оно пишется как URI. Получается что при выполнении условия нахождения в адресной строке двойной ссылки, браузер должен перенаправить пользователя 301 редиректом на корректную страницу с помощью переменнной $real_page_url, а кривую ссылку считать ложной.
Как убрать дубль страницы со слешем с помощью PHP
if ( ( $_SERVER[‘REQUEST_URI’], — 1, 1 ) == ‘/’ )
header(«HTTP/1.0 301 Moved Permanently»);
Эта простая функция проверяет наличие в адресной строке конечного слеша. И если слеш обнаружен, то он обрезается с помощью перенаправления на ссылку без конечного слеша.
Особенности настройки Permanent Redirect на nginx.
Permanent Redirect на nginx используют не так часто, как на Apache — на это есть множество причин, и основная из них — это сложности настройки этого конфигурационного серверного файла. Да и не все хостинги дают возможность вебмастеру таким способом решать возникшие трудности. Одним из вероятных проблем, которые можно решить 301 редиректом на nginx — это закрытие индексирования через IP и тестовые сервера.
Чтобы настроить permanent redirect на nginx с ip на http://ваш_домен.ru — находим файл nginx.conf, чаще всего размещенный по пути /etc/nginx/nginx.conf. В нем прописываем строки:
Нолями обозначили IP, через который был доступен сайт и порт 80. Таким способом перенаправляем любой запрос по IP на нормальную ссылку. Можно обойтись и без 301 редиректа, а указать закрытие доступа, строкой return 444, вместо R ewrite ^/(.*)$ http://ваш_домен.ru/$1 permanent, и выполнить ‘invoke-rc.d nginx reload’.
Одним из вариантов не ковыряться в nginx является корректная настройка HTTP-сервера, на котором закрывается соединение через IP. Если страницы через доступ по IP попалив индекс, то после таких манипуляций, со временем они исчезнут оттуда. Но как всегда Яндекс может самостоятельно этого не сделать — и тогда опять пишем в поддержку.
Источник