/(.*)/$ /$1 permanent;
…
}
Примечание.
После добавления правил в конфиг nginx, нужно проверить конфигурацию командой nginx -t и если всё в порядке, выполнить перезапуск сервиса командой service nginx restart или перезагрузить конфигурационный файл командой service nginx reload.
Содержание
301 редирект – как сделать перенаправление с одной страницы на другую
Если бы в мире SEO был собственный «ад Данте», на последнем его кругу, вмёрзшими в ледяное озеро, томились бы оптимизаторы, плодящие дубли на сайтах. Этот «грех» в SEO входит в число самых тяжёлых. Все усилия по продвижению страницы «канут в Лету», если в индексе поисковика присутствует её дубликат.
Эффективным инструментом борьбы с дублями является 301 редирект. Статья расскажет, как проверить 301 редирект и какими способами его можно настроить на сайте.
Что представляет собой 301 редирект
301 редирект — постоянное перенаправление с одной страницы на другую. За счёт 301 редиректа мы сообщаем поисковику, что рабочую страницу необходимо проиндексировать, а перенаправляемую — выбросить из индекса.
Типичный пример использования 301 редиректа — перенаправление HTTP-страницы на HTTPS. Попробуйте сами: вбейте в адресную строку браузера http://www.web-dius.ru. Если не станете отводить глаз от адресной строки, обнаружите, что некоторое время (буквально долю секунды) браузер будет пребывать в замешательстве, потом выдаст страницу https://www.web-dius.ru — не ту, которую вы хотели получить, а ту, которую мы захотели показать. «Правильную», с защищённым протоколом.
Что происходит во время перенаправления и почему браузер оказывается в замешательстве? Происходит своего рода диалог между сайтом и браузером. Сайт посредством 301 редиректа сообщает браузеру:
Страница X перемещена навсегда! Не надо больше её показывать. Лучше покажи человеку страницу Y.
Браузер отвечает:
Нет проблем! Тогда я действительно лучше покажу страницу Y.
Поскольку сайт и браузер «сговорились», у пользователя нет шансов увидеть «спрятанную» страницу X, пока редирект с неё не удалят.
Не стоит злоупотреблять 301 редиректами и ставить их без необходимости. Помните: страничка через редирект загружается дольше, чем без редиректа. Долгое время загрузки веб-страницы — отрицательный фактор ранжирования для поисковых систем.
Когда используется 301 редирект
Один пример использования 301 редиректов уже рассмотрели — когда происходит склейка при переезде на SSL-сертификат. Постоянное перенаправление настраивается и в иных случаях:
- Когда перерабатывается структура URL-адресов. URL-адрес рекомендуется выстраивать таким образом, чтобы он отражал путь до страницы в рамках сайта и был ЧПУ (человеко-понятным). Однако на некоторых сайтах можно встретить подобные адреса: https://habr.com/ru/post/541632/. Если захотите поменять такой адрес на ЧПУ — с использованием слов на транслите — придётся обращаться к 301 редиректу.
- Если дубли возникают стихийно. Увы, у некоторых CMS есть склонность самостоятельно плодить дубликаты страниц с параметрами на конце URL. От таких дублей SEO-шнику тоже приходится избавляться посредством перенаправления. Хотя это — «борьба с ветряными мельницами», пока не отыщешь и не устранишь изъян в «движке».
- При переносе разделов на поддомены. Есть гипотеза, что блог при коммерческом сайте выше котируется у поисковиков, если находится на поддомене. Если задумаете перенести «информационку» на поддомен, не обойтись без 301 редиректов.
- Если нужно просто удалить страницу. Когда может понадобиться? Когда информация на странице устарела. Скажем, вы продаёте онлайн-кассы, и одна страни чка на сайте посвящена кассам для ЕНВД. Вряд ли есть смысл сохранять эту страницу в 2021 году — ЕНВД отменён. Предвосхищая ваше возражение, отметим, что сберечь вес этой страницы, перенаправив её, например, на страницу, предлагающую кассы для патентной системы налогообложения, не получится — поисковая система не дурак. От неактуальной страницы избавляемся, перенаправляя на 404.
Ну и, конечно, 301 редирект необходим для настройки главного зеркала сайта. Скажем, если главное зеркало — без www, придётся установить редирект с www-страницы (www.site.ru → site.ru). Если наоборот — сделать редирект на www-страницу (site.ru → www.site.ru). Также нужно настроить перенаправление со страницы /index.php на главную (site.ru/index.php → site.ru) и выбрать, оставить ли главное зеркало со слэшем на конце (site.ru → site.ru/) или без (site.ru/ → site.ru). Задача сводится к следующему: посредством редиректов добиться, чтобы в индексе не было двух версий главной страницы сайта.
Виды редиректов
301 редирект — наиболее распространённый, но не единственный. Есть редиректы и других видов:
- 302 — является временным в отличие от 301 (который постоянный). 302 редирект даёт поисковой машине сигнал, что на странице-доноре пока не стоит «ставить крест». Обе страницы присутствуют в индексе, передачи веса и внутренних метрик страницы-донора не происходит.
- 307 — тоже временный. Используется крайне редко и только когда контент «переезжает» на непродолжительное время — например, на время техобслуживания сайта.
- Meta Refresh — отложенный редирект, который происходит не на уровне сервера, а непосредственно на сайте. Отложенный — значит, перенаправление осуществляется только спустя несколько секунд. Пользователь в течение этих секунд обычно видит текст наподобие такого:
Если переход не произошёл через n секунд, нажмите здесь
Вы точно могли видеть редирект типа Meta Refresh, если пользовались антиплагиатом Text.ru. Когда пытаешься пройти по ссылке на страницу, с контентом которой сервис нашёл совпадения, видишь такую картину:
Text.ru использует редирект типа meta refresh
Перенаправление происходит спустя 20 секунд.
Редирект Meta Refresh — не есть хорошо для SEO. Google прямо говорит, что такая практика противоречит правилам поисковой системы.
- Rel=»canonical». Вообще тег каноникал не является редиректом, поскольку перенаправления не происходит. Пользователь видит страницу с дублирующимся контентом, хотя в индексе она не находится. Тег каноникал служит для передачи веса и накопленных характеристик со второстепенной страницы на главную. Обычно rel=»canonical» ставят на страницы пагинации. Роль главной играет первая страница в каталоге, остальные лишь «сливают» ей свой вес.
В 90% случаев SEO-специалистами используется 301 редирект.
Где настраивается 301 редирект
Как правило, ломать голову или писать код для установки редиректа необходимости нет. Большинство известных CMS (например, Bitrix) позволяют сделать перенаправление за счёт встроенного инструментария. WordPress отличился не с лучшей стороны — на «движке» по умолчанию нет функционала для простановки редиректа. Приходится скачивать и ставить плагины для настройки 301 редиректа — например, Redirection.
Ещё один распространённый способ — сделать редирект через htaccess. Htaccess —конфигурационный файл веб-сервера Apache. Вы почти наверняка найдёте его в корня сайта через панель управления хостинга. Ну а если не найдёте — просто создайте при помощи блокнота.
Файл htaccess в файловом менеджере хостинга Timeweb
Ниже — фрагменты кода для установки самых популярных редиректов в htaccess.
Перенаправить с одной страницы на другую:
Перенаправить весь сайт с http на https:
Создавать редирект можно лишь после установки защищённого сертификата.
Постраничный редирект 301:
Постраничный редирект пригодится, если, например, нужно сделать перенаправление со всех страниц, кроме одной.
Редирект в htaccess с www на без www:
С «без www» на «с www»:
Редирект на главную с /index.php:
В примерах вместо site.com нужно вставить адрес продвигаемого сайта.
Настройка 301 редиректа для кириллического домена — более сложная задача. Такой домен нельзя вставлять в код редиректа в формате по умолчанию. Необходимо перевести запись домена в формат Punycode с помощью любого конвертера — скажем, 2ip. После конвертации запись выглядит примерно так: xn—80aswg.xn—p1ai (исходник — сайт.рф).
Другие способы создания переадресации 301
Есть уйма других способов сделать 301 редирект:
- Через PHP. Настроенный через PHP 301 редирект работает на уровне сервера. Он медленнее перенаправления через htaccess. Однако в частных случаях удобнее — например, когда необходимо прописать редиректы на десятках страниц. Настраивается в файле index.php, размещённый там, где htaccess.
- Через мета-тег в HTML. Можно настроить в HTML 301 редирект типа meta refresh. Нужно внести в код HTML скрипт редиректа:
Обратите внимание на цифру 10. Это длительность задержки перед редиректом в секундах. Если поставить 0, перенаправление будет немедленным.
- Редирект в Nginx. Если используете не Apache, а сервер типа Nginx, роль файла htaccess играет nginx.config. В нём нужно прописывать редирект. Код добавляется в секцию server.
- Через JavaScript. JavaScript, как HTML-тег meta refresh, используется для настройки отложенных редиректов. У метода с использованием JSP есть критический недостаток: если пользователь отключил в браузере JavaScript, перенаправления не будет.
- ASP.NET-редирект. Добавляется путём внесения кода в файл web.config, который можно найти в корне сайта.
Автоматическое создание переадресации
Если выше вы не нашли кода, который нужен конкретно в вашей ситуации, можете сгенерировать сами. Используйте один из онлайн-сервисов:
- Сервис Rapidtables. Позволяет генерировать код для редиректов типов JSP, PHP, HTML, ASP.NET, Apache (для htaccess). Из минусов — нет шаблонов для распространённых случаев (например, для перевода сайта на HTTPS).
- Генератор от BeamUsUp. Удобная прога с большим количеством шаблонов. Из минусов — создаёт коды для редиректов только в htaccess и не переведена на русский.
- Сервис Aleyda Solis. Набор инструментов от самой известной представительницы прекрасного пола в мире SEO. Абсолютный аналог генератора BeamUsUp.
- Инструмент Seo-Zona. Делает коды редиректов для PHP, HTML, JavaScript, ASP.NET, Apache. Шаблонов нет, и это плохо — генерировать код для массовых редиректов проблематично.
- Сервис Iksweb. Функциональный инструмент для создания htaccess-файла на русском языке.
Если ваша ситуация стандартна — например, когда хотите сделать код для редиректа страницы с www на страницу без www — воспользуйтесь программами BeamUsUp или Алейды Солис. Когда собираетесь сделать редирект не через htaccess, применяйте сервисы Rapidtables и Seo-Zona. А вот если серверы вашего сайта на Nginx, вы можете воспользоваться этим конвертером, чтобы преобразовать коды перенаправлений для htaccess в редиректы для nginx. config.
Как проверить 301 редирект
Проверку редиректа 301 легко выполнить вручную — просто попытавшись перейти на страницу, которая перенаправляет. Для пущей уверенности можно использовать специальные сервисы:
- Redirect Checker.
- PR-CY Info.
- Bertal.
Рекомендуем последний, он самый информативный. Показывает, в частности, тип сервера, на котором лежит сайт.
Перечисленные сервисы не подойдут для массовой проверки URL-адресов. Справиться с этой задачей поможет инструмент Internet Marketing Ninjas. За раз можно проверить до 1000 урлов. Хотя «трушные» SEO-шники, конечно, используют для этой цели Screaming Frog SEO Spider. Достаточно упорядочить по убыванию данные по колонке Status Code — и все страницы с редиректами окажутся вверху таблицы.
Screaming Frog SEO Spider
Ошибки, которых следует избегать при настройке редиректа 301
Первое и самое важное — избегайте цепочек редиректов. Цепочка редиректов (множественные редиректы) — ситуация, когда страница А перенаправляет на страницу Б, которая в свою очередь перенаправляет на страницу В. Это плохо по ряду причин:
- Множественные редиректы «пожирают» краулинговый бюджет поисковой системы.
- Конечная страница из-за нескольких перенаправлений загружается долго.
- При редиректе передаётся не весь PageRank, а только часть. Это подтвердил Джон Мюллер из Google. Сколько PageRank останется, когда дело дойдёт до конечной страницы при цепочке редиректов? Можно предположить, что немного.
Еще одна типичная ошибка при простановке редиректа — перенаправление на страницу с нерелевантным контентом. Например, когда страница продавала онлайн-кассы, а мы сделали с неё редирект на страницу, продающую банковские пин-пады. Это чистой воды «читерство», которое поисковая система, естественно, распознаёт и не прощает.
Заключение
Редирект 301 сейчас — настолько популярный инструмент, что появилось даже специальное направление SEO-деятельности «продвижение 301 редиректами». Это когда отыскиваешь домены, которые по тематике близки продвигаемому сайту, покупаешь их и с них проставляешь редиректы.
Поручиться за эффективность такого метода мы не можем. Считайте нас ретроградами, но мы рекомендуем десять раз подумать, прежде чем сделать редирект. Поисковые системы очень тяжело «переваривают» 301 редиректы. По словам Джона Мюллера, поисковику может потребоваться до 1 года, чтобы полностью распознать перемещение страницы и перераспределить вес.
Обсудим сотрудничество?
Какие задачи нужно решить:
Разработка сайта / интернет-магазина
Продвижение (SEO, Директ и т.п.)
Контент-маркетинг
Поддержка сайта (информационная, техническая)
Аудит сайта / интернет-магазина
Консультация
Как перенаправить веб-страницу в HTML
Чтобы сообщить поисковым системам и посетителям веб-сайта, что ваша веб-страница навсегда перемещена в новое место с эквивалентным содержимым, используйте перенаправление 301. Код «301» интерпретируется как «переехал навсегда». (Подробнее о кодах состояния HTTP).
Самый простой способ перенаправить на другой URL-адрес — использовать HTML-тег с параметром http-equiv, установленным на «обновить». Атрибут содержимого устанавливает задержку перед тем, как браузер перенаправит пользователя на новую веб-страницу. Для немедленного перенаправления установите этот параметр на «0» секунд для атрибута содержимого.
Если вы хотите, чтобы перенаправление происходило в точное время, просто укажите желаемое параметр (в секундах) для содержимого. Давайте рассмотрим пример, где мы установили «7» секунд в качестве времени перенаправления.
Некоторые браузеры неправильно отображают тег обновления, поэтому перед загрузкой следующей страницы пользователь может видеть flash как страницу.
Некоторые старые браузеры некорректно обновляются при добавлении быстрой ссылки. В этом случае вы можете добавить якорную ссылку, чтобы пользователь мог следовать.
Пример перенаправления веб-страницы:
<голова> голова> <тело>Скоро вы будете перенаправлены на w3docs.com!
тело>
Попробуй сам »
Как перенаправить на новую страницу, не покидая текущую страницу:
Если вы хотите перенаправить на другой веб-сайт, не покидая текущий веб-сайт, и открыть ссылку, которая перенаправляет на HTML-документ, вы можете использовать тег привязки с » Атрибут target» имеет значение «_blank». Это откроет ссылку в новом окне или вкладке, в то время как текущий веб-сайт останется открытым.
Вот пример использования:
<голова>Перенаправление без выхода с текущей страницы голова> <тело> Нажмите здесь, чтобы перейти на W3docs. com тело>
Попробуй сам »
В этом примере при нажатии на ссылку откроется «https://www.w3docs.com» в новом окне или вкладке, а текущий веб-сайт останется открытым.
Если вы хотите перенаправить на документ HTML вместо веб-сайта, вы можете использовать тот же метод, установив атрибут href ссылки на путь к документу HTML, на который вы хотите перенаправить.
Вот пример:
Нажмите здесь, чтобы открыть Example.html
В этом примере при нажатии на ссылку откроется «example.html» в новом окне или вкладке, в то время как текущий веб-сайт останется открытым.
Узнайте больше о перенаправлении веб-страниц с помощью JavaScript, PHP, Apache и Node.js.
Как настроить перенаправление HTML на вашем веб-сайте
Если вы часто обновляете свой бизнес-сайт, вы, вероятно, знакомы с перенаправлением. Перенаправление, по сути, сообщает браузеру пользователя: «Эй, контент, который вы ищете, находится не по этому URL. Но не волнуйтесь, мы отправим вас в нужное место».
Хотя по возможности лучше избегать перенаправления, большинству владельцев сайтов обычно приходится это делать в какой-то момент, будь то перемещение страницы, изменение структуры веб-сайта, перемещение доменов или обновление URL-адресов с HTTP на HTTPs. Правильное перенаправление гарантирует, что и посетители, и поисковые системы не попадут на тупиковые страницы 404, которые могут одним ударом повредить вашему пользовательскому опыту и SEO-рейтингу.
Каковы бы ни были ваши причины для перенаправления, есть несколько способов сделать это. В этом посте вы узнаете об одном распространенном методе — перенаправлении HTML. Мы обсудим, что такое редирект HTML и как добавить его на свой сайт, даже если у вас нет глубоких знаний HTML. Мы также рассмотрим некоторые альтернативные методы для лучшей доступности. Давайте начнем.
Что такое перенаправление HTML?
Перенаправление HTML (также иногда называемое мета-обновлением или мета-перенаправлением) — это способ перенаправления одной страницы HTML на другую в исходном коде HTML. Перенаправление HTML включает в себя инструкции в разделе документа, которые предписывают веб-браузеру автоматически обновлять другую страницу с дополнительной задержкой перед обновлением.
HTML-перенаправления — самый простой способ перенаправления URL-адреса. Они включают лишь небольшую модификацию исходного кода старой HTML-страницы и могут быть выполнены легко и быстро. Перенаправление HTML направит как пользователей, так и поисковые системы на страницу, которую вы хотите, чтобы они увидели.
Кроме того, перенаправление HTML позволяет установить время задержки (в секундах) перед тем, как пользователь или робот поисковой системы перейдет на новую страницу. Эта задержка удобна, если вы хотите отобразить короткое сообщение до того, как произойдет перенаправление.
Как перенаправить на другую страницу в HTML
Чтобы перенаправить одну HTML-страницу на другую, необходимо добавить тег в раздел старой HTML-страницы. Раздел документа HTML содержит метаданные, полезные для браузера, но невидимые для пользователей, просматривающих страницу.
Синтаксис этого тега следующий:
В перенаправлении HTML < Тег meta> содержит два атрибута: http-equiv и content . Значение http-equiv всегда равно Refresh — это сообщает браузеру, что вы хотите автоматически обновить страницу.
Далее содержимое 9Атрибут 0058 принимает два значения:
- delay_time — числовое значение, которое устанавливает задержку перед загрузкой браузером новой веб-страницы. Например, значение 3 заставит браузер ждать три секунды на старой странице перед перенаправлением.
- new_website_url — это URL-адрес веб-страницы, на которую вы хотите перенаправить.
Обязательно поместите эти два значения для содержимого в одну пару двойных кавычек, разделенных точкой с запятой. В противном случае редирект не будет работать.
Если вы хотите мгновенно направлять пользователей на новые веб-страницы, просто установите время задержки на 0 . Однако могут быть случаи, когда вы хотите установить задержку перед перенаправлением. Наиболее распространенная причина — сообщить пользователям, что текущая страница больше не существует и что они скоро будут перенаправлены. Это сообщение обычно содержит ссылку для отправки пользователей на новую страницу, если они не будут перенаправлены в течение установленного периода времени.
Если посетитель использует старый веб-браузер, также возможно, что Тег не будет правильно прочитан и перенаправление не произойдет. В этом случае установка задержки позволяет пользователю щелкнуть гиперссылку на старой странице и перейти на новую страницу.
В этом видеоролике все эти шаги объясняются более подробно.
Пример HTML-кода перенаправления
Теперь давайте рассмотрим пример кода для перенаправления HTML, чтобы лучше понять, как они работают.
Вот код HTML-страницы, которая перенаправляет пользователей на hubspot.com с задержкой в три секунды. Обратите внимание, что Тег размещается внутри документа.
Старая страница
Эта страница была перемещена. Если вы не будете перенаправлены в течение 3 секунд, нажмите здесь, чтобы перейти на главную страницу HubSpot.
Этот код является хорошим примером того, как написать перенаправление HTML по нескольким причинам. Во-первых, задержка достаточно короткая, чтобы не сильно мешать работе пользователя, при этом предоставляя большинству пользователей достаточно времени, чтобы прочитать сообщение на экране.
Во-вторых, сообщение дает пользователям возможность немедленно перейти на новую страницу. Это также дает пользователям выход, если обновление HTML не работает из-за несовместимости браузера — эти посетители могут просто щелкнуть якорную ссылку, чтобы перейти на новую страницу.
Проблемы перенаправления HTML и альтернативы
Хотя перенаправление HTML является самым простым способом реализации перенаправления, оно также создает проблемы с доступностью. Некоторые старые браузеры не отображают тег должным образом, что приводит к тому, что старая страница мигает на экране перед загрузкой новой страницы (даже если вы установили задержку более 0), или страница вообще не обновляется.
Если вы предвидите, что это будет проблемой для многих пользователей, вы можете установить время задержки на 0 и, если браузер не загружает новую страницу автоматически, включите якорную ссылку на новую страницу в разделе , как показано в примере выше.
Чтобы избежать этих проблем, рассмотрите возможность использования другого метода перенаправления на своем веб-сайте. Наиболее распространенным методом перенаправления на сегодняшний день является перенаправление HTTP. Перенаправления HTTP настраиваются на сервере, на котором размещен веб-сайт, и могут быть перенаправлением 301 (постоянное) или перенаправлением 302 (временное).
См. наше руководство по настройке переадресации 301 для получения дополнительной помощи здесь — ваш процесс будет зависеть от того, какие конкретные технологии вы используете для работы своего веб-сайта. Например, если вы запускаете веб-сайт WordPress, лучше всего использовать плагин перенаправления WordPress, который позаботится о внутренних вещах для вас и позволит вам управлять и отслеживать все перенаправления на вашем сайте с вашей панели.