Редирект 301 страницы – 301- htaccess, 301

Что такое 301 редирект? Как настроить 301 редирект?

Случается такое, что веб-страница или весь сайт целиком переезжает на новый URL-адрес навсегда. В этом случае необходимо прописывать 301 редирект. Что это? 301 редирект — это перенаправление посетителей и поисковых роботов с одного URL-адреса на другой.

301 редирект обычно прописывается в следующих случаях:

  1. при склеивании зеркал сайта с www и без www;
  2. при переезде сайта на новый домен;
  3. при переносе сайта на новую CMS;
  4. при изменении URL-адресов страниц;
  5. при устранении дублей страниц сайта.

Как ни странно, последний случай рассматривают крайне редко, хотя при устранении дублей 301 редирект помогает как никто другой, если, конечно, у вас нет желания ковырять код самой CMS. А если вы занимаетесь поисковой оптимизацией сайтов, то вопрос наличия или отсутствия дублей у страниц сайта обязательно должен вас волновать.

301 редирект замечателен тем, что он передает pr-страниц и тИЦ сайта, а соответственно и ссылочный вес новому URL. Но зато он не передает наложенные на старый домен санкции со стороны поисковых систем, что вдвойне приятно.

Итак, с тем, что такое 301 редирект, разобрались. Перейдем непосредственно к тому, как его сделать.

Как настроить 301 редирект

Для начала я приведу список операторов регулярных выражений, которые пригодятся вам при настраивании 301 редиректов.

  • ^ — ограничение слева;
  • $ — ограничение справа;
  • * — 0 и более символов;
  • + — 1 и более символов;
  • . — любой символ;
  • \ — экранирование;
  • () — переменная;
  • [] — диапазон значений.

Существуют различные способы того, как сделать 301 редирект. Лично я, как и многие другие вебмастера, настраиваю его через файл .htaccess. Данный файл есть практически у каждой популярной CMS, и находится он в корне вашего сайта. Скачать .htaccess можно через FTP при помощи клиента FileZila:

Файл .htaccess следует открыть текстовым редактором, к примеру, Notepad++. Поверх всех кодов редиректов вам следует прописать следующую строку:


RewriteEngine On

В противном случае редиректы работать не будут.

Многие ошибочно полагают, что можно обойтись и без 301 редиректа. Я могу вам сказать, что он необходим при оптимизации практически каждого сайта. К примеру, абсолютно каждый сайт изначально доступен по двум адресам — с www и без www. Беда в том, что это приводит к размыванию ссылочной массы. Объясню почему. Другим сайтам абсолютно все равно, какой из двух вариантов написания вашего домена является основным. Если они будут ставить на вас ссылки, то в адресе могут прописывать как вариант с www, так и без www. Ссылочная масса в итоге будет размыта, а поисковики в любом случае будут индексировать только один вариант. Когда-то так они вообще воспринимали их как совершенно разные сайты.

Чтобы ваш сайт активно рос в позициях и не терял ссылочную массу, требуется в файле .htaccess прописать 301 редирект.

С www на без www:


RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule (.*) http://site.ru/$1 [R=301,L]

С без www на www:


RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule (.*) http://www.site.ru/$1 [R=301,L]

Если приведенные выше коды редиректа не сработают, то воспользуйтесь следующей записью для редиректа с www на без www:


RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]

Помните, что вместо site.ru нужно прописывать домен вашего сайта. После проделанных действий сохраните файл .htaccess и закачайте его на сервер, заменив им старый файл.

301 редирект очень часто выручает меня, когда я борюсь с дублями страниц сайта. А это я делаю практически каждый раз, когда выполняю внутреннюю оптимизацию очередного сайта. Лично я еще не встречал CMS, которая бы не генерировала дубли. Хотя если речь идет о небольшом сайте, то бывают исключения. Понятия не имеете, о чем я сейчас говорю? Тогда подписывайтесь на обновления, вскоре я напишу о дублях целую статью.

Бывает такое, что страница сайта доступна сразу по двум URL-адресам вида: http://site.ru/category/page.html и http://site.ru/page.html. В данном случае идет речь о дублях. К примеру, мы хотим, чтобы страница была доступна только по адресу второго вида. В таком случае для избавления от дубля необходимо прописать следующий редирект:


RewriteRule ^(.*)category/page.html$ http://site.ru/page.html [R=301,L]

Теперь представьте ситуацию, что вы изменили адрес страницы сайта. Для чего? Да, могут быть самые разные причины. Я, к примеру, совсем недавно это делал с целью укорачивания длины URL. Для этого вам понадобится следующий редирект:


RewriteRule ^(.*)old-page.html$ http://site.ru/new-page.html [R=301,L]

Если приведенный выше код редиректа не сработает, попробуйте следующий:


RewriteRule ^old-page.html$ http://site.ru/new-page.html [R=301,L]

Или такой:


RewriteRule ^old-page.html$ /new-page.html [R=301,L]

Если требуется сделать редирект со старого URL-адреса на кириллице на новый URL-адрес (хоть на кириллице, хоть на латинице), то запись будет иметь вид:


RewriteRule ^старый-урл.html /new-page.html [R=301,L]

Как вы понимаете, выше мы рассматривали редиректы с одного URL на другой в пределах одного сайта. Для этого мы использовали mod_rewrite и директиву RewriteRule. Но можно обойтись и более простым вариантом записи редиректа при помощи директивы Redirect:


Redirect 301 /old-page.html http://site.ru/new-page.html

Оба варианта записи редиректа корректны и передают ссылочный вес и другие показатели. Они отличаются лишь тем, что используют директивы разных модулей, и поэтому имеют различный синтаксис. При использовании директивы Redirect сначала прописывается старый адрес страницы без http://site.ru, а затем новый адрес полностью.

301 редирект может вам понадобиться при переезде сайта со старого домена на новый:


RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.old-domen\.ru$ [NC]
RewriteRule ^(.*)$ http://new-domen.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^old-domen\.ru$ [NC]
RewriteRule ^(.*)$ http://new-domen.ru/$1 [L,R=301]

Аналогичный редирект с использованием директивы Redirect:


Redirect 301 / http://new-domen.ru

Можно прописать 301 редирект URL с параметром на любую другую страницу сайта, к примеру, главную:


RewriteCond %{QUERY_STRING} ^cPath=373_703
RewriteRule ^index\.php$ http://site.ru/? [L,R=301]

Приведенный выше пример из моей практики, когда я проводил внутреннюю оптимизацию сайта на Joomla, у которого было огромное количество различных дублей.

Редирект с site.ru/index.php на site.ru (избавляемся от дубля главной страницы):


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [L,R=301]

В результате наличия у главной страницы сайта дубля вида site.ru/index.php аналогичные дубли могут появляться и у внутренних страниц сайта, к примеру, site.ru/index.php/page.html является дублем страницы site.ru/page.html. В данном случае все дубли такого вида разом можно устранить при помощи редиректа:


RewriteRule ^index\.php/(.*)$ /$1 [R=301,L]

Если у главной страницы вашего сайта есть дубль вида site.ru/main.html, то следует прописать следующий редирект:


RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /main\.html\ HTTP/
RewriteRule ^main\.html$ http://vash-sait.ru/ [R=301,L]

или же такой вариант:


Redirect 301 /main.html http://site.ru/

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


RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]

Если же наоборот вы хотите, чтобы все внутренние страницы сайта имели адрес без .html на конце, то есть адрес вида site.ru/page, то следует прописать редирект:


RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ /$1 [R,L]

Если стоит задача редиректа с URL-адресов с .htm на конце на адреса с .html на конце, то в .htaccess следует добавить следующую запись:


RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=301,L]

Возможно, вам потребуется сделать редиректы с URL-адресов без суффиксов на адреса со слэшем на конце. Тогда в файле .htaccess следует прописать следующее:


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.site.ru/$1/ [R=301,L]

Если задача полностью противоположная, и требуются редиректы с URL-адресов со слэшем на конце на адреса без суффикса, то добавьте следующий код:


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Чтобы прописать редирект с URL-адреса с параметром вида http://site.ru/?page_id=111, добавьте в .htaccess следующее:


RewriteCond %{QUERY_STRING} page_id=111
RewriteRule ^ http://site.ru/new-page/ [R=301,L]

Также совсем недавно столкнулся с сайтом, для которого был получен сертификат о его безопасности, и было необходимо прописать редирект с http на https:


RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Теперь вы знаете, как прописать 301 редирект. Конечно же, существуют и другие случаи, когда он необходим, но я указал наиболее популярные из них. После любой задачи, касающейся оптимизации сайта, я рекомендую производить проверку на ошибки.

Как проверить 301 редирект

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

Чтобы окончательно убедиться в том, что 301 редирект настроен верно, рекомендую также проверить ответ сервера при помощи специальных сервисов, к примеру, 2ip.ru, а еще лучше воспользуйтесь программой Netpeak Spider, при помощи которой можно узнать еще и много другой информации о сайте. Ответ сервера должен быть «301 » или же «301 MovedPermanently -> 200 OK».

Надеюсь, теперь Вы поняли, как правильно настраивать 301 редирект. Выше я привел достаточное количество различных примеров. Если не сработает один тип записи редиректа, скорее всего сработает другой. Пробуйте. От чего зависит, какая именно запись редиректа сработает, точно сказать не могу, так как не являюсь программистом. Возможно, от CMS или настроек сервера. Также иногда влияет расположение кода редиректа в файле .htaccess. Если редирект не срабатывает, попробуйте перенести его код чуть выше по файлу. На этом у меня все. Успехов в оптимизации сайтов!

yaroslaff.su

Шпаргалка по mod_rewrite. 301 редирект

Любой вебмастер не раз сталкивался с необходимостью сделать 301 редирект (при изменение адреса страницы, склейке доменов, удалении дублей). Один из самых простых способов задания 301 редиректа — использовать механизм mod_rewrite, позволяющий переобразовывать URL «на лету».

Данная шпаргалка содержит набор директив, флагов и переменных, подсказки по синтаксису регулярных выражений, используемых mod_rewrite, а так же примеры наиболее популярных шаблонов.

Синтаксис регулярных выражений
^ начало строки
$ конец строки
. любой одиночный символ
(a|b) «a» или «b»
(…) группа
[abc] «a» или «b» или «c»
[^abc] не «a», не «b» и не «c»
\s Пробел
a? 0 или 1 символ «а»
a* 0 или больше «а»
a*? 0 или больше «а», нежадный
a+ 1 или больше «а»
a+? 1 или больше «а», нежадный
a{3} ровно 3 символа «а»
a{3,} 3 или больше «а»
a{3,6} от 3 до 6 «а»
a{3,6}? от 3 до 6 «а», нежадный
!(…) Префикс «не» (действует если шаблон не подходит)
Флаги RewriteCond
NC Не учитывать регистр
OR Комбинировать по принципу «или»
Флаги RewriteRule
R[=code] Редирект, опционально с кодом
F Доступ запрещен (посылает 403 заголовок)
G «Мертвая» страница (удалена)
P Прокси
L Последнее правило
N Следующий круг
C Цепочка
T=mime-type Установить MIME-тип
NS Пропустить внутренний подзапрос
NC Не учитывать регистр
QSA Добавить строку запроса
NE Не экранировать при выводе
PT Пропустить через следующий
S=x Пропустить следующие х правил
E=var:value Установить переменную окружения
Коды заголовков перенаправления
301 Перенесен постоянно
302 Перенесен временно
403 Доступ запрещен
404 Страница не найдена
410 «Мертвая» страница
Переменные: HTTP заголовкиПеременные: время
%{HTTP_USER_AGENT} %{TIME_YEAR}
%{HTTP_REFERER} %{TIME_MON}
%{HTTP_COOKIE} %{TIME_DAY}
%{HTTP_FORWARDED} %{TIME_HOUR}
%{HTTP_HOST} %{TIME_MIN}
%{HTTP_PROXY_CONNECTION} %{TIME_SEC}
%{HTTP_ACCEPT} %{TIME_WDAY}
%{TIME}
Переменные: запрос Переменные: сервер
%{REMOTE_ADDR} %{DOCUMENT_ROOT}
%{REMOTE_HOST} %{SERVER_ADMIN}
%{REMOTE_IDENT} %{SERVER_NAME}
%{REQUEST_METHOD} %{SERVER_ADDR}
%{SCRIPT_FILENAME} %{SERVER_PORT}
%{PATH_INFO} %{SERVER_PROTOCOL}
%{QUERY_STRING} %{SERVER_SOFTWARE}
%{AUTH_TYPE}
Переменные: специальные Директивы
%{API_VERSION} RewriteEngine
%{THE_REQUEST} RewriteOptions
%{REQUEST_URI} RewriteLog
%{REQUEST_FILENAME} RewriteLogLevel
%{IS_SUBREQ} RewriteLock
RewriteMap
RewriteBase
RewriteCond
RewriteRule

301 редирект. Популярные шаблоны

Для того чтобы нижеизложенные шаблоны работали нужно перед их использованием прописать в файле .htaccess директивы для модуля mod_rewrite:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

Склейка домена (префикс www)

www.example.com и example.com в глазах поискового работа — абсолютно разные сайты, каждый со своими показателями. Для того чтобы не распылять вес, склеиваем эти адреса

Редирект с адреса www на адрес без www

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http: // %1/$1 [R=301,L]

Редирект с адреса без www на адрес с www

RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
RewriteRule ^(.*)$ http: //www .%1/$1 [R=301,L]

Зачастую главная страница вашего сайта доступна по нескольким адресам: example.com/ и example.com/index.php или example.com/index.html. Для склейки таких дублей, используем следующий шаблон:

Склейка индексной страницы с корнем сайта

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index \.php\ HTTP/
RewriteRule ^index\.php$ http: //example .com/ [R=301,L]

Склейка поддомена и папки

Иногда возникает необходимость сделать 301 редирект с поддомена на папку сайта. Например у вас есть страница category.example.com/page/ и вам нужно склеить ее с дублирующей страницей example.com/category/page/. Прописывем в файле .htaccess поддомена:

Редирект с поддомена на папку основного домена

RewriteCond %{HTTP_HOST} ^category\.example\.com [OR]
RewriteCond %{HTTP_HOST} ^category\.example\.com
RewriteRule ^(.*)$ http: //example .com /category/ $1 [L,R=301]

При необходимости наоборот перенаправить с папки на поддомен:

Редирект с папки основного домена на поддомен

RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^category\/(.*)$ http: //category .example.com/$1 [R=301,L]

Редирект с одних расширений файлов на другие

Если вам необходимо сменить расширение файла в адресе (например page.html на page.php) или убрать его совсем:

RewriteRule ^(.*)\.html$ $1.php [R=301,L]

Редирект на другой сайт

При создании зеркала сайта либо переезде на новый домен, для склейки и перенаправления используем следующую конструкцию:

RewriteCond %{HTTP_HOST} ^oldsite\.com
RewriteRule ^(.*)$ http: //newsite .com/$1 [R=301,L]

Все страницы домена oldsite.com будут перенаправлены на соответствующие страницы newsite.com.

301 Редирект динамических страниц

При модернизации динамического сайта и создании ЧПУ-адресов часто возникает необходимость перенаправить старые страницы с параметрами ID на новые с ЧПУ. Например, чтобы переадресовать страницу вида http://example.com/page.php?id=13 на новую страницу http://example.com/new-url/, используется следующая конструкция:

RewriteCond %{QUERY_STRING} ^ id =13$
RewriteRule ^ /page .php$ http: //example .com /new-url/ [L,R=301]

Добавляем слеш в конце адреса

Если у вас на сайте реализованы ЧПУ адреса тем или иным способом, то вероятно ваши ссылки могут работать либо со «/» на конце адреса либо без него одинаково. Добавим однозначности и добавим слеш ко всем адресам.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
Подписывайтесь на канал Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

mdex-nn.ru

Редирект 301 и 302 в WordPress с плагином и без

(Последнее обновление: 03.05.2019)

Всем привет! Как сделать редирект 301 и 302 в WordPress с плагином и без него? Зачем он вообще нужен? Возьмём пример из моего опыта. У меня кроме данного блога был ещё один — Школа блогера. Тематика почти одинаковая и я решил объединить их вместе, перенёс все статьи и комментарии на ресурс wordpressmania, а бложик блогера я просто взял и удалил.

Вот так, как поступил я, делать нельзя. Это моя самая большая ошибка, которую я совершил и теперь об этом жалею. А надо было всего то, прежде чем удалять сайт, настроить редирект с блога на блог (с домена на домен). Хотя лучше было бы затратить время и сделать редирект с страницы на станицу (со старой статьи на перенесённую статью в этот блог), то есть, перенаправить посетителей со старого адреса на новый адрес. Так бы я не потерял своих посетителей.

Друзья, теперь вы можете не совершать ошибок, а просто настроить нужный вам редирект на своём сайте вордпресс. Как? Смотрите ниже.

Редирект - перенаправление Редирект - перенаправление

Редирект перенаправление пользователя с одной страницы на другую. С одного URL адреса на другой

Как сделать редирект в WordPress

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

Редирект (redirect) – это автоматическое перенаправления браузером посетителя веб-ресурса на другой сайт. Перенаправление можно настроить, как для отдельных страниц, так и для всех страниц, разделов и так далее. Редиректы могут перенаправлять посетителей как на страницы того же сайта, так и на страницы другого сайта.

Зачем нужен редирект

Редиректы используются при смене домена или адреса сайта.  Это позволяет поисковым роботам и посетителям находить содержимое используя старые адреса, и не терять при этом все внешние ссылки указывающие на старый домен. При смене формата постоянных ссылок (ЧПУ) в WordPress, смена движка CMS, переход сайта с http на протокол https, склейки домена с www и без. Редиректы так же используются для создания упрощенных или укороченных версий некоторых более длинных адресов сайта и т. д..

Какие бывают редиректы

Существует два основных типа:

Редирект 301 (Moved Permanently) — постоянный

301 редирект (redirect)301 редирект (redirect)

Постоянное перенаправление 301

301 является наиболее популярным и используется для перенаправление навсегда. В результате этого процесса старый URL исчезает из выдачи, а новый индексируется поисковиками. Чаще всего SEOшники говорят именно об этом методе. Иногда сервис выдает браузеру ошибку 404 – это значит, что редирект не настроен.

302 (Found) или иногда 307 (Temporary Redirect) — временный

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

Обратите внимание, что постоянный редирект 301 в будущем можно конечно изменить. Постоянный redirect запоминаются браузерами и ПС на более долгий срок, чем временные.

Как сделать 301 редирект в файле .htaccess

Файл конфигурации .htaccess, который находится в корне сайта. В в самое начало файла необходимо внести соответствующую вашему случаю информацию.

Чтобы склеить домен с www на без www. Для постоянного переноса используется код редиректа 301, для временного – 302 или 307. И не забывайте подставлять сои веб-ресурсы.

RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]

И наоборот без www с www:

WWW редиректWWW редирект

Перенаправление с www

RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

Какой из вариантов выбрать? Посмотрите: какой вариант находиться в топе и для какого из вариантов больше страниц в индексе.

301 редирект с домена на домен

Переезд на новый домен учитывая пожелания 2-ух основных поисковых систем Яндекс и Google: постраничный 301 редирект со старого сайта на новый. При этом для файла robots.txt редирект не надо делать, а прописать в нем директиву Host на новый домен. Тогда код для настройки редиректа на старом сайте может иметь следующий вид (мне бы так раньше сделать):

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
а файл robots.txt для старого сайта:
User-agent: Yandex
Disallow:
Host: newsite.com
Редирект 301 с HTTP на HTTPS

После подключения сертификата-ssl стоит добавить обязательную переадресацию с протокола http на безопасный https, для того, чтобы все ваши соединения были зашифрованы.

http на httpshttp на https

Редирект с http на https

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Редирект с одной страницы на другую:

Редирект страницыРедирект страницы

С одной страницы на другую 301 REDIRECT

Redirect 301 /oldpage http://www.site.com/newpage

Переадресации можно создать любые, я привёл лишь некоторые из них. Если вы не уверены что, сможете правильно добавлять в файл .htaccess нужные записи, то лучше прибегнуть к помощникам. Проще всего на WordPress использовать специальные, для этой цели, плагины.

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

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

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

Redirection WordPressRedirection WordPress

Плагин Redirection

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

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

Redirection plaginRedirection plagin

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

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

Новый редиректНовый редирект

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

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

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

Плагин Simple 301 Redirects

Простые 301 переадресацииПростые 301 переадресации

Плагин Simple 301 Redirects

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

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

Плагин Safe Redirect Manager

Redirect ManagerRedirect Manager

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

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

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

Тег redirectТег redirect

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

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

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

Редирект вложенийРедирект вложений

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

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

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


wordpressmania.ru

Как выполнить 301 редирект с удаленной страницы на новую — Разное

RewriteCond %{QUERY_STRING} ^show_aux_page=1
RewriteRule (.*) /statii_sanyzel/11-pereplanirovka-sanuzla-i-vannoy-komnaty.html? [L,R=301]

 

Для нескольких ссылок вариант работает. Но при большем количестве редиректов, появляются проблемы. 

 

Все мои редиректы: 

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]

RewriteCond %{QUERY_STRING} ^show_aux_page=1
RewriteRule (.*) /statii_sanyzel/11-pereplanirovka-sanuzla-i-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=2
RewriteRule (.*) /statii_sanyzel/12-cifon-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=3
RewriteRule (.*) /statii_sanyzel/13-dizayn-i-tipy-vann-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=4
RewriteRule (.*) /statii_sanyzel/14-remont-sanuzla-tualeta-i-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=7
RewriteRule (.*) /statii_sanyzel/15-pereplanirovka-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=8
RewriteRule (.*) /statii_sanyzel/36-vodyanye-polotencesushiteli-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=9
RewriteRule (.*) /statii_sanyzel/37-podklyuchenie-gidromassazhnoy-vanny.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=10
RewriteRule (.*) /statii_sanyzel/38-vybor-rakoviny-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=11
RewriteRule (.*) /statii_sanyzel/39-dushevaya-kabina-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=12
RewriteRule (.*) /statii_sanyzel/40-unitaz-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=13
RewriteRule (.*) /statii_sanyzel/41-otdelka-plitkoy-vannyh-komnat-foto.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=14
RewriteRule (.*) /statii_sanyzel/42-osveschenie-v-vannoy-komnate-foto.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=15
RewriteRule (.*) /statii_sanyzel/43-bide.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=32
RewriteRule (.*) /statii_sanyzel/44-svetilniki-dlya-vannoy-komnaty-foto.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=31
RewriteRule (.*) /statii_sanyzel/45-vybor-dveri-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=30
RewriteRule (.*) /statii_sanyzel/46-podvesnoy-potolok-kak-optimalnyy-variant-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=29
RewriteRule (.*) /statii_sanyzel/47-plitka-dlya-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=28
RewriteRule (.*) /statii_sanyzel/48-vannaya-komnata-s-natyazhnym-potolkom.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=27
RewriteRule (.*) /statii_sanyzel/49-oformlenie-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=25
RewriteRule (.*) /statii_sanyzel/50-remont-vannyh-komnat-v-hruschevke.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=22
RewriteRule (.*) /statii_sanyzel/52-ustanovka-santehniki-v-vannoy-komnate-sanuzle-tualete.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=23
RewriteRule (.*) /statii_sanyzel/51-ctoimost-remonta-vannoy-komnaty.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=24
RewriteRule (.*) /statii_sanyzel/53-remont-vannoy-komnaty-pod-klyuch.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=21
RewriteRule (.*) /statii_sanyzel/54-dizayn-malenkoy-vannoy.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=18
RewriteRule (.*) /statii_sanyzel/55-fotografii-remonta-vannyh-komnat.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=5
RewriteRule (.*) /table.html? [L,R=301]

RewriteCond %{QUERY_STRING} ^show_aux_page=6
RewriteRule (.*) /index.php?do=feedback? [L,R=301]

RewriteCond %{QUERY_STRING} ^/index.php?productID=5783
RewriteRule (.*) /statii_sanyzel/56-remont-vannoy-komnaty-v-panelnom-dome-foto.html? [L,R=301]

При таком количестве некоторые редиректы начинают работать некорректно, и перенаправлять не на свою страницу, а соседнюю. Можно ли это исправить? Кэш чистил. 

talk.pr-cy.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *