Настройка редиректа домена

Подскажите, есть правило для редиректа с http на https. но т.к. используется CMS система, то на одну папку указаны и направлены несколько доменов. И не у всех есть сертификаты. А переправляются все. Как сделать, что бы это правило работало только для опре

Оптимизируем работу сайта

Скорость загрузки сайта — один из факторов ранжирования в поисковых системах. Увеличить ее можно в том числе с помощью директив в .htaccess.

14. Сжимаем компоненты сайта при помощи mod_gzip или mod_deflate

Сжатие файлов, с одной стороны, увеличивает скорость загрузки сайта, но с другой — больше нагружает сервер. В .htaccess можно включить сжатие при помощи двух модулей — mod_zip и mod_deflate. Они практически идентичны по качеству сжатия.

Синтаксис модуля Gzip более гибкий и он умеет работать с масками:

В mod_deflate вы перечисляете типы файлов, которые нужно сжать:

15. Усиливаем кэширование

Этот комплекс команд поможет быстрой загрузке сайта для тех посетителей, которые уже на нем были. Браузер не будет заново скачивать картинки и скрипты с сервера, а использует данные из кэша.

В примере срок жизни кэша ограничен одной неделей («1 week»), вы можете указать свой срок в месяцах (month), годах (year), часах (hours) и т.д.

Другой вариант кода:

Для кэширования доступны следующие типы файлов:

  • image/x-icon;
  • image/jpeg;
  • image/png;
  • image/gif;
  • application/x-shockwave-flash;
  • text/css;
  • text/javascript;
  • application/javascript;
  • application/x-javascript;
  • text/html;
  • application/xhtml+xml.

Методы создания редиректа

Разберём основные методики создания редиректа.

На основе PHP

Скажем, вам необходимо в статье сделать ссылку на партнёрский сайт. Создаёте файл, имя может быть любое, а тип файла php. В этот файл вставьте вот этот код:

<?php header( 'Location: http://ПАРТНЁРСКАЯ ССЫЛКА', true, 301 );?>

И загружаете это файл на сервер к вашему сайту. Можно сделать отдельную папку для таких файлов.

А в тексте статьи, когда потребуется сделать ссылку, указываете ссылку именно к этому файлу.

Ещё несколько примеров:

Временная переадресация на главную страницу сайта.

<?php header('Location: /', true, 307 ); ?>

Переадресация с задержкой в 5 секунд на главную страницу Яндекса.

<?php header('Refresh: 5; url=http://yandex.ru/'); ?>

На основе HTML

Принцип создания тот же, но файл должен быть с расширением html. В это файл добавьте вот это код:

http://ВАША ССЫЛКА">

Где, content – время задержки перед переадресацией.

Кстати, если вы хотите сообщить посетителю о перенаправлении, это может потребоваться в определённых случаях. То можно добавить вот это код:

http://ВАША ССЫЛКА">


Уважаемый ….!
Сейчас Вы будете перенаправлены на страницу деталей вашего заказа. Если этого не произошло автоматически, пожалуйста, нажмите http://ВАША ССЫЛКА">перейти.

Через файл .htaccess

Этот файл содержит инструкции к веб-серверу Apache. Как правило, этот файл будет находиться в корневой папке вашего сайта. Хотя может находиться и в некоторых других папках.

Так вот если вы укажите в этом файле вот такой код,

Redirect 301 / http://ВАША ССЫЛКА/

то ваш сайт будет перенаправлен на новый ресурс на постоянной основе. Полезная вещь при переезде сайта на другой домен.

А теперь видеоурок по теме:

Разумеется, вариантов создания редиректа очень много, мы разобрали лишь основные из них. Теперь вы знаете, как создать редирект, при этом замаскировав ссылку, а если вы уже читали мою статью о счётчике Яндекс.Метрика, то догадались, как подсчитать статистику по таким вот редиректам.

Эти ручные методы очень хороши и работают на все 100%. Также если вы используете в качестве платформы для своего сайта или блога WordPress, то можете установить плагин «Прятатель ссылок» и у вас будет возможность создавать ссылки с 301 или 307 редиректом, маскировать их и подсчитывать статистику в одном окне.

На этом у меня сегодня всё, используйте редирект по назначению. И до встречи в новых статьях.

Плагин Redirection для обладателей сайта на CMS WorPress

Прекрасное решение для детектирования 404 ошибки.Один из самых простых способов перенаправить url. Плагин Redirection — самый популярный менеджер перенаправления для WordPress. С его помощью вы можете легко управлять переадресацией url, отслеживать ошибки 404. Также этот плагин позволяет убирать / в  конце url. Это поможет уменьшить количество ошибок и улучшить рейтинг Вашего проекта.

Redirection — позволяет создавать и управлять перенаправлениями

Создает редирект быстро и легко, не требуя знаний Apache или Nginx. Если ваш сайт на  WordPress поддерживает постоянные ссылки!!!! Тогда Вы с уверенностью можете использовать этот плагин для перенаправления любого URL-адреса своего сайта. В плагине осуществлена полная поддержка регулярных выражений, поэтому Вы можете создавать шаблоны Permanent Redirect  с любым кол-вом  URL-адресов.

Можно настроить плагин и для контроля над вашим контентом. Когда произойдет изменение поста или страницы, плагин автоматически создаст нужный редирект на новый URL-адрес. В дополнение к обычному редиректу URL-адресов. У Вас есть возможность перенаправить URL на основе других условий:

  • Статус входа — redirect, только если пользователь вошел или вышел из системы.
  • Браузер — redirect, если пользователь использует определенный браузер.
  • Referrer — redirect, если пользователь посетил ссылку с другой страницы.
  • Cookies — redirect, если установлены определенные cookie.
  • HTTP headers — redirect, на основе HTTP-заголовка.
  • Custom filter — redirect, на основе собственного фильтра WordPress.

Позволяет также отслеживать все ошибки 404, которые происходят на вашем сайте.

Redirection имеет поддержку APACHE & AMP & NGINX

По умолчанию этот плагин будет управлять всеми редиректами с помощью WordPress. Однако его можно настроить так, чтобы все Redirecty автоматически сохранялись в файле .htaccess и обрабатывались самим Apache. В случае если вы используете Nginx, вы можете экспортировать настройки в файл правил перезаписи Nginx. Плагин также имеет полнофункциональную систему импорта и экспорта:

  • Импорт и экспорт в Apache и .htaccess;
  • Экспорт в правила перезаписи Nginx;
  • Копировать редирект между сайтами с помощью JSON;
  • Импорт и экспорт в CSV для просмотра в табличном варианте;
  • Используйте WP CLI для автоматизации.

Основные правила использования перенаправления

Во первых — необходимо размещать перенаправления в правиле в правильном порядке. Используйте наиболее частые перенаправления (выше), а наиболее глобальные ниже.

Во вторых — избегайте многократного редиректа. Это крайне негативно скажется на Seo продвижении сайта. Поисковый бот или пользователь в этом случае, будет переадресован несколько раз. К примеру: с одной страницы, на 2—ю затем на 3—ю. Это плохо и некорректно с точки зрения Seo.

В третьих — старайтесь не делать циклических переадресаций (друг на друга, по кругу). Это негативно скажется на распределение веса между страницами указанными в правиле.

В четвертых — не забывайте, что большинство браузеров используют хеширование. Поэтому все редитекты, необходимо проверять на актуальность сторонними ресурсами.

Общие правила работы с .htaccess

  • Всегда делайте резервную копию файла перед внесением изменений, чтобы оперативно «откатить» их.
  • Вносите изменения пошагово, добавляйте по одному правилу и оценивайте, как оно сработало.
  • Если размещаете несколько файлов .htaccess в разных каталогах, прописывайте в дочерних только новые директивы, которые актуальны для конкретного каталога, остальные унаследуются от родительского каталога или файла в корневой папке.
  • Очищайте кэш браузера: Ctrl + F5, в Safari: Ctrl + R, в Mac OS: Cmd + R.
  • Если возникает ошибка 500, проверьте синтаксис правила (нет ли опечатки). Можно воспользоваться сервисами проверки файла .htaccess онлайн, например таким. Если ошибок не найдено, значит в главном конфигурационном файле такой тип директивы запрещен, придется обратиться за консультацией к программисту и хостинг-провайдеру.
  • В директивах .htaccess кириллические символы не допускаются. Если необходимо указать адрес кириллического домена (мойсайт.рф), воспользуйтесь любым whois-сервисом, чтобы узнать его написание по методу punycode. Например, адрес «сайт.рф» будет выглядеть как «xn--80aswg.xn--p1ai/$1».
  • Слишком большое количество директив в .htaccess может снизить работоспособность сайта. Старайтесь использовать файл только в том случае, если другим путем задачу решить нельзя.
  • Если нет времени подробно изучать особенности директив, воспользуйтесь генератором .htaccess.

Как проверить склейку

Перед настройкой редиректа домена важно проверить склейку доменов. В каждой поисковой системе свои методы проверки склейки

Рассмотрим на примере Яндекс и Google.

Яндекс

Проверка склейки домена в Яндекс делается через Вебмастер. Для этого вам нужно зайти в Яндекс.Вебмастер, и посмотреть какой в данный момент добавлен домен:

На текущем этапе должен быть добавлен конечный домен, например, без www. Затем, кликаем по плюсику возле «Выбрать сайт»:

Далее, в поле прописываем адрес вашего сайта с www и нажимаем «Добавить». Если склейка доменов есть, то вы увидите надпись, что домен с www — это не главное зеркало:

После этого больше никуда в Яндекс.Вебмастер не нажимайте, а просто закройте страницу.

В Google немного сложнее указать главное зеркало, если у вас протокол https. Для этого необходимо зайти в Google Search Panel и кликнуть по шестерёнке и выбрать «Настройка Search Panel»:

Затем кликните справа «Главная страница»:

Я показываю на своём примере, следовательно сайт в веб-аналитику поисковых систем добавил давным-давно.

После этого обратите внимание на название добавленного сайта:

Я использую протокол https, поэтому и рассказываю с какими трудностями мне пришлось столкнутся. Сначала указываем главное зеркало, а лишь только потом делаем редирект домена. И так как мой домен относительно молод, проекту ещё нет года, без большой посещаемости, то имеет смысл сделать главным зеркалом www.kpower.info.

Далее, добавьте название сайта ещё в трёх вариациях. В итоге у вас должны быть четыре записи:

  • https://site.com
  • https://www.site.com
  • http://site.com
  • http://www.site.com

Site.com замените на название вашего сайта.

Если у вас нет протокола https, то Search Panel позволит выбрать главное зеркало при добавлении только двух вариантов сайта: http://site.com и http://www.site.com. Именно на главное зеркало мы и будем делать редирект домена.

Только при наличии всех четырёх записей в Search Panel, можно будет выбрать главное зеркало с протоколом https. Для этого необходимо кликнуть по главному сайту в списке. Далее, кликните по шестерёнке и выберите «Настройка сайта»:

Теперь, активируйте радиокнопку возле главного зеркала. Обычно склейка занимает несколько дней, а то и недель.

Для проверки склейки в поиске Google необходимо прописать следующую строку (в случае если главное зеркало без www):

info:www.site.com

Затем кликните ENTER. В результате поиска вы должны увидеть сайта без www:

Это свидетельствует о фактической склейке доменов, что и требовалось.

Зачем нужен .htaccess и где его искать

Файл нужен для более гибкой настройки сервера под задачи оптимизатора. Задавать правила в .htaccess не стоит, если у вас есть доступ к главному конфигурационному файлу сервера .httpd.conf или apache.conf (название зависит от настроек операционной системы). Изменения в нем вступают в силу быстрее, запросы не перегружают сервер. Однако очень часто такого доступа нет, например, в случае с виртуальным хостингом. Тогда приходится прописывать нужные настройки через .htaccess.

Возможности .htaccess для оптимизации сайта:

  • Настройка редиректов для SEO.
  • Обеспечение безопасности ресурса в целом и отдельных разделов.
  • Настройка корректного отображения сайта.
  • Оптимизация скорости загрузки.

Где искать и как редактировать

Если файл .htaccess находится в корневой папке, действие команд распространяется на весь сайт, но разместить его можно в любой каталог. Тогда директивы будут касаться только конкретного каталога и подкаталогов. Таким образом, на ресурсе может быть несколько файлов .htaccess. Приоритет имеют команды файла, расположенного в каталоге, а не в корне.

.htaccess — общепринятое и самое популярное название, но не обязательное (оно задается в файле httpd.conf). Несмотря на непривычное название, создавать и редактировать файл можно в любом текстовом редакторе.

Некоторые CMS дают возможность редактировать файл через административную панель. В Битриксе его легко можно найти в разделе Контент — Файлы и папки:

В WordPress редактировать .htaccess можно с помощью модулей плагинов Yoast SEO и All in One SEO Pack.

Если файл .htaccess отсутствует, создайте его в текстовом редакторе и разместите в корневой папке сайта или в нужном каталоге (потребуется доступ к хостингу или по ftp).

302 редирект

302 – это временная переадресация (по сути, это единственное отличие от 301 редиректа). Но где она может применяться?

Т.е. есть постоянный адрес (например, https://inet-market.xyz/sales/) и сегодня с него происходит редирект на страницу https://inet-market.xyz/sales/december/, т.е. на страницу с декабрьскими акциями. Ну а через несколько дней редирект перенастраивается на https://inet-market.xyz/sales/new-year/, т.е. на страницу с новогодними акциями.

И в таких ситуациях 302 редирект не только уместен, но и является самым правильным решением.

Основные причины применения 302 редиректа:

  • Когда основная страница находится на стадии разработки/доработки/редактировании, поэтому ее надо скрыть от глаз посетителей, настроив временный редирект на другую страницу.
  • Когда требуется, чтобы индексировалась и та страница, с которой происходит перенаправление, и та страница, куда перенаправляют;
  • Когда требуется, чтобы в данный момент пользователи видели именно новую страницу, а не старую (например, если в будущем планируется «возвращение» к «старой» странице);
  • Когда индексирование конечной страницы практически в будущем перестанет играть свою роль (т.е. когда страница создается временно);
  • «Конечная» страница будет периодически меняться.

При правильном использовании, 301 и 302 редиректы могут оказать огромное влияние как на ранжирование сайта в поисковых системах, так и на комфортное пользование сайта посетителями.

Как сделать редирект без .htaccess

Большинство программистов настраивает редиректы путем прописывания ранее приведенных кодов в файле .htaccess. Основной минус такого подхода в том, что можно неплохо «накосячить», т.е. код в файл внесли, но он почему-то не срабатывает (или срабатывает, но неправильно). Причины могут быть самыми разными – возможен косяк в самой CMS, либо код на редирект должен располагаться выше/ниже, и т.д., вариантов масса. Поэтому существуют и альтернативные способы настройки редиректа. Например, PHP или JavaScript.

PHP редирект

Во-первых, PHP-это сервероориентированный язык.

Во-вторых, редирект будет происходить на сервере, а не в браузере пользователя.

В-третьих, каждой страничке, на которую будет производиться редирект, присваивается свой уникальный REFERER, а это значит, что скрыть страницу-источник не получится.

Важно понимать, что код редиректа необходимо вставлять таким образом, чтобы его чтение происходило еще до выведения на экран самого первого символа. Т.е

если перед поставить пробел, то редирект уже не сработает.

PHP-редиректы необходимо оформлять в отдельные php-файлы.

Код редиректа на примере файла index.php:

<?php

header («Location: https://stokrat.org/», TRUE, 302);

?>

или

<?php

header («Location: https://stokrat.org/», TRUE, 301);

?>

В зависимости от того, 301 редирект Вы хотите настроить, или 302. С помощью PHP обычно настраивается 302 редирект.

Простейший javascript-редирект

Основной минус данного способа в том, что не у всех (но у большинства) пользователей включен в браузере JavaaScript. Если JavaScript в браузере отключен – редиректа не произойдет.

Второй минус заключается в том, что возникает ощущение задержки. Это связано с тем, что сначала прогружается одна html-страница с белым экраном, и только после этого происходит переадресация.

Оформляется редирект в

document.location = ‘https://stokrat.org/’;

ВАЖНО!!! Данный код в любом случае сработает быстрее, чем код Яндекс.Метрики, а это значит, что Яндекс до редиректа посетителя не засчитает

Что будет, если не настраивать 301 редирект

Вот смотрите. Поисковые системы видят www.DmitriyZhilin.ru и DmitriyZhilin.ru, как совершенно разные сайты. К чему это приводит?

А последствия такие:

1. Разделение ссылочной массы

Внешние ссылки, которые ссылаются на ваш сайт будут автоматически разделены на 2 части. То есть смотрите, на каком то блоге, допустим, с показателем ТИЦ 50 PR 3 поставили ссылку на DmitriyZhilin.ru, а на другом ресурсе с показателями ТИЦ 1200 PR 7 поставил ссылку на www.DmitriyZhilin.ru. А я решил продвигать свой ресурс по адресу без www. Получается, что вторую жирную ссылку я теряю и будет она уже указывать не на продвигаемый мной домен, а на двойника (идентичного моему сайту, но находящемуся по другому адресу). Отсюда делаем вывод, что мы будем терять часть внешних ссылок и недополучим те бонусы, которые они дают при ранжировании. Контролировать вебмастеров на других сайтах мы не можем и они будут ставить такую ссылку, которая им нравится.

2. Уникальность контента

Возникает вопрос об уникальности контента. Не забывайте о  том, что сайт будет доступен для индексации по обоим адресам. Как вы знаете, или узнаете, авторитетные поисковые системы Яндекс, Google, Yahoo борются за уникальный контент, и на данный момент перестают индексировать абсолютно идентичные сайты, что очень и очень плохо. Объясню, как это происходит. Вот например, есть у вас домен DmitriyZhilin.ru,  на него ведет огромное количество внешних ссылок, но вот, вы публикуете новую статью и робот поисковой системы первым индексирует адрес www.DmitriyZhilin.ru, а после DmitriyZhilin.ru, отсюда получается, что DmitriyZhilin.ru является двойником (т.е. своровал контент). Ну а поисковик в свою очередь покарает вора и исключит его страницу из индекса, частое повторение такого косяка может принести и более серьезные санкции.

Плохо? Плохо, не то слово!!!!

Такие серьезные последствия можно предупредить очень простыми действиями, чем раньше вы их сделаете, тем меньше гемороя себе наживете. Называется лечение redirect 301 (постоянно перенаправление) или склейка адресов сайтов употребляемых  с www и без. Далее мы с вами поговорим о его реализации.

(adsbygoogle = window.adsbygoogle || []).push({});

Несколько примеров совмещения 2-х редиректов в один

Для избежания последовательных редиректов можно использовать совмещенные варианты.

301 редирект с www на без www и со слешем в конце URL

Комбинируем и

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/ 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://%1/$1/ 

301 редирект с без www на с www и со слешем в конце URL

Комбинируем и

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/ 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1/ 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1 

301 редирект с без www на с www и без слеша в конце URL

Комбинируем и

RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)$ http://www.%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://www.%1/$1 

301 редирект с www на без www и без слеша в конце URL

Комбинируем и

RewriteCond %{REQUEST_URI} ^\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$ 
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)\/$ http://%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} \/$
RewriteCond %{HTTP_HOST} ^(.*)$
RewriteRule ^(.*)\/$ http://%1/$1 

Коды 3хх редиректа

300 – множественный выбор – вид редиректа, когда затребованный адрес страницы имеет более одного варианта. Такой вид редиректа может быть реализован, когда на выбор представлена страница с разной кодировкой или разным языком.

301 – перемещён навсегда – сообщает поисковым системам и браузеру, что ресурс по запрошенному адресу не существует и перемещён на новый адрес. Старые материалы постепенно будут исключены из поисковой выдачи и заменены новыми адресами. Этот редирект применим и к отдельным страницам, и к доменным именам.

302 – временно перемещён – этот редирект используется для сообщения поисковым системам о временном перемещении ресурса на другой адрес. Как правило, используется, когда проводятся технические работы, смена движка сайта, оптимизация базы данных.

303 – смотри дугой ресурс – заращиваемый ресурс не найден, но это следует заращивать с использованием метода GET. То есть это редирект используется, если нужно менять метод запроса (GET, POST, HEAD).

304 – ресурс не изменился – полезный редирект, позволяет ускорить загрузку сайта. При этом редиректе поисковые роботы не тратят время на переиндексацию, а браузеры загружают страницу из локального кэша.

305 – используй прокси – то есть доступ к ресурсу может быть организован только через прокси-сервер.

306 – на данный момент не используется.

307 – временный редирект – этот редирект обозначает, что ресурс временно перемещён на другой адрес, который необходимо прописать в заголовке Location.

По большому счёту наиболее часто можно встретить 301 и 307 редирект. Остальные используются постольку-поскольку.

Плагины редиректа WordPress

Всё таки пользователям движка вордпресс повезло, что существуют модули которые облегчают нам жизнь. И так, самым популярным плагином, на сегодняшний день, считается – Redirection. Для справки: Данный плагин насчитывает уже более двух миллионов скачиваний.

Плагин Redirection и его настройка

Плагин Redirection

Картинка странная для plugin. Модуль Redirection (Перенаправление) позволяет создавать неограниченное количество редиректов, просматривать статистику по перенаправлениям, а также отслеживать ошибки 404 (не найдено) на сайте WordPress. Принудительное перенаправление с HTTP на HTTPS если ваш протокол работает. Плагин также может быть настроен для контроля. Это когда ваши посты или страницы будут изменены, он автоматически создаст редирект на новый URL-адрес.

Чтобы установить плагин, достаточно ввести в поиске  слово redirection на странице Плагины – Добавить новый – в консоли WP. Он будет идти самым первым:

Установка и активация Redirection plagina

После установки и активации менеджера зайдите Инструменты – Redirection. Всё на русском языке и поэтому вам в настройках будет легко разобраться. Для создания редиректов есть вкладка – Редиректы:

Добавить новое перенаправление

Для того, чтобы вручную создать редирект 301 или 302, или 307 просто введите URL-адрес источника и новый целевой URL в соответствующие поля, выберите нужный код, а далее нажмите кнопку – Добавить перенаправление. Это хороший и несложный метод, если вам нужно сделать редирект на сайте WordPress.

Есть и другие модули. Например,  Simple 301 Redirects, который является очень простым решением для переадресации на сайте WP.

Плагин Simple 301 Redirects

Плагин Simple 301 Redirects

Simple 301 Redirects предоставляет простой способ перенаправления запросов на другую страницу вашего сайта или в другом месте в Интернете. Это особенно удобно, когда вы переносите сайт WordPress и не можете сохранить свою структуру URL. Установите редирект 301 со старых страниц на новые.

Можно присмотреться к новому плагину Safe Redirect Manager, как альтернатива менеджеру Redirection.

Плагин Safe Redirect Manager

Safe Redirect Manager – Менеджер безопасного редиректа

Safe Redirect Manager – это менеджер перенаправления для WordPress. Простой в использовании интерфейс позволят вам перенаправлять на новые URL с кодами состояния HTTP по вашему выбору. Этот плагин отлично работает с мультисайтом.

Товарищи, если вам не подходит ни один представленный плагин, то вы можете сами подобрать подходящий. Введите ключевое слово redirect в поиске по плагином и выбирайте. Редирект под любые цели. Вот например:

Модули по тегу redirect

Да, чуть не забыл. Бывает ситуация когда вы загружаете медиафайл (например, изображение или видео), WordPress не только сохраняет ваш медиафайл, но и создает URL для него. Страницы с этими URL почти пустые: на них есть только ваше медиа и, возможно, заголовок (если вы его добавили). По этой причине, если вы никогда не используете эти URL, лучше перенаправить их на сам медиа-объект.

Перенаправить URL вложений на файл вложения можно при помощи выше перечисленных менеджеров, а в плагинюшке Yoast SEO просто переключить кнопку Нет на Да:

Перенаправить URL вложений на файл вложения

Вот, пожалуй и всё на сегодня. Используйте свои кабинеты веб-мастеров Google и Яндекс. Они покажут вам несуществующие страницы на вашем сайте, на которые ссылаются другие страницы.

До новых встреч, мои коллеги. Пока, пока!

Директива HOST

С директивой host мы уже встречались тогда, когда делали файл robots.txt. В нашем деле (обозначения главного зеркала сайта) она играет важную роль для поисковой системы Яндекс (Гугл ее не понимает). Если вы настроили этот файл по моим рекомендациям, то данная директива уже у вас имеется и показывает роботам Яндекса основное зеркало. Если же ее нет, то вам необходимо добавить одну строчку. Эта директива является внеблоковой, поэтому пишется либо в отдельной строке, не относящейся ни к какому поисковому роботу, либо указывается в блоке для yandex.

host: dmitriyzhilin.ru

Так же, главное зеркало блога, можно определить не только с помощью директивы Host, но и при помощи Инструментов для вебмастеров Яндекса – это www.webmaster.yandex.ru. Раньше аналогичная возможность была и в Google, но сейчас я ее не нашел.

Если вашего сайта в Яндекс Вебмастерс еще нет, то рекомендую поскорее его туда добавить. В инструментах для вебмастера находим раздел о настройке индексирования и там ссылку на указание главного зеркала. И там определяетесь с подходящим вам вариантом. Посмотрите на изображение ниже.

Пример 1: переход на другой домен

Предположим, у вас есть сайт, который пользуется популярностью, но в какой-то момент у вас возникла необходимость сменить его домен. Конечно, вы не можете просто переместить контент на новый домен, а старый забросить: так вы потеряете своих посетителей. Кроме того, ссылки на ваш сайт, расположенные на других сайтах, перестанут работать, если вы просто перенесёте контент на новый домен и не оставите никакой информации о его новом местонахождении. Все это приведёт к снижению трафика. Как переместить контент сайта на новый домен и не потерять аудиторию?

В таком случае нужно настроить редирект со старого домена (например, domain1.com) на новый (domain2.com). Чтобы навсегда сменить доменное имя сайта, используйте постоянный редирект. Благодаря этому браузер сможет перенаправлять поступающий трафик на новый домен.

Итак, предположим, что на данный момент сайт обслуживается по домену domain1.com, а его виртуальный хост находится в /etc/apache2/sites-available/domain1.com.conf:

Виртуальный хост для нового домена сайта, /etc/apache2/sites-available/domain2.com.conf, должен выглядеть так:

Теперь измените настройки виртуального хоста domain1.com и добавьте в них постоянный редирект на domain2.com:

В данном случае используется директива RedirectMatch, а не Redirect, поскольку сайт состоит из нескольких страниц. Регулярное выражение ^/(.*)$ совпадает с любым текстом, идущим в URL-адресе после /. Таким образом, http://domain1.com/index.html будет перенаправляться на http://domain2.com/index.html.

Чтобы настроить постоянный редирект, нужно просто добавить опцию permanent в директиву RedirectMatch.

Примечание: После изменения виртуального хоста нужно перезапустить Apache, чтобы обновить настройки:

Примечания и ошибки

Теперь поговорим о том, как не допускать ошибок при настройке 301 редиректа:

  • Нельзя нарушать последовательность правил переадресации. После настройки редиректа необходимо убедиться, что настройка не дала каких-либо «побочных эффектов». Если нарушить последовательность правил, то ранее настроенные редиректы могут либо прекратить функционировать, либо функционировать неправильно. Противоречий в правилах быть не должно.
  • Не стесняйтесь пользоваться официальными мануалами, т.к. у 301 редиректа из-за непростого синтаксиса есть множество особенностей. Упустить какой-то нюанс при настройке – проще простого.
  • После очередных «допиливаний» ВСЕГДА проводите полную проверку работоспособности тех правил, которые были внедрены ранее. Настройка без проверки – это не настройка даже «для галочки». Один лишний символ может «обвалить» работу всего сайта, либо заставить его работать неправильно. За другими программистами нам уже не раз приходилось исправлять работу сайта, когда с адреса site.com/oldpage происходит 301 редирект на site.com/newpage, а затем с помощью того же 301 редиректа происходит переадресация обратно на site.com/oldpage и далее «по кругу».

Ну и в заключение приведем несколько примеров, когда применять 301 редирект вообще нельзя.

Во-первых, «многоходовки», когда идет череда из нескольких 301 редиректов подряд. Гораздо правильнее настроить редирект сразу на «финишный» адрес.

Во-вторых, если по каким-то причинам есть 2 страницы с дублирующим контентом, но нужно сохранить для пользователей обе.

В-третьих, редиректы «не туда». Т.е. если страница переехала с первого адреса на второй, а при настройке редиректа Вы ошибочно указываете адрес совершенно другой страницы.

В-четвертых, редирект на страницу, которая работает по каким-то причинам очень некорректно. Страница должна работать стабильно и отдавать либо код 200, либо код 404.

В-пятых, редирект файла robots.txt. Это запрещено правилами многих поисковых систем. Более того, многие допускают одну и ту же ошибку – при переходе на https настраивают 301 редирект с http://site.xyz/robots.txt на https://site.xyz/robots.txt. Файл robots.txt должен быть доступен по обоим адресам без всяких редиректов. Ровно то же самое касается и xml-карты сайта.

Настройки в админке WordPress

Перед началом этой процедуры, настоятельно рекомендую скопировать (создать бэкап) папку «wp-admin», чтобы иметь возможность, в случае неудачи, быстро восстановить работу админки.

Предпоследний штрих. Заходим в админку WordPress. Переходим в «Настройки» — «Общее». Если вам не нужно изменять фактическую директорию движка в отношении корневого каталога, а это, например, //site.com/wordpress/www, то в поля «Адрес WordPress (URL)» и «Адрес сайта (URL)» прописываем адрес главного зеркала с протоколом, например, https://site.com. После этого сохраняемся и вас выбросит из админки. Логинимся обратно. Если войти в админку не получается, то необходимо воспользоваться ранее скопированной папкой wp-admin: удалите папку wp-admin на сервере и скопируйте туда резервную копию. Но фейла не должно быть, если движок сайта находится по стандартному адресу: //site.com/www/wordpress.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий