Как создать перенаправления в WordPress

Приветствую всех!

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

Как создать перенаправления в WordPress

Есть несколько причин, по которым вам может понадобиться создать редирект на вашем сайте WordPress. Вы можете изменить структуру постоянных ссылок, удалить старую запись или страницу или создать новую запись в блоге, чтобы заменить старую. Какова бы ни была ваша причина, в этих случаях рекомендуется создавать перенаправление (редирект), чтобы ваши посетители не получали ошибку страницы 404 при попытке просмотра вашего контента по старой ссылке. Если вы впервые слышите об этой лучшей практике, возможно, будет хорошей идеей использовать Google Search Console чтобы увидеть, есть ли на вашем сайте 404 ошибки, требующие исправления. Хорошей новостью является то, что если у вас уже исправлено 404 ошибки или вы просто хотите избежать их в будущем, эта статья научит вас создавать перенаправления в WordPress тремя различными способами, чтобы вы могли выбрать лучшее решение для ваших нужд.

Что такое перенаправления в WordPress?

Технически, это не просто перенаправления в WordPress, а веб-перенаправления, которые сообщает браузерам, что X-URL больше не доступен и что вместо этого он должен перейти на Y-URL. Независимо от того, работает ли ваш сайт на Wix, на Drupal или просто на старом HTML-сайте, перенаправление URL может быть выполнено практически одинаково. Неважно, какую платформу вы используете.

Ко мне часто поступают вопросы про хостинг, которым я пользуюсь и поэтому решил указать хостинг в статье https://sprinthost.ru. Вы можете попробовать попользоваться хостингом 30 дней бесплатно. Чтобы понять, как будет работать Ваш сайт на этом хостинге просто перенести свой сайт (в этом поможет поддержка хостинга бесплатно) и и таким образом сможете понять подходит хостинг Вам или нет. На этом хостинге находятся сайты с 20 000 тысяч посещаемость и сайты чувствуют себя отлично. Рекомендую! Да, если делать оплату на 1 год то получаете скидку 25%. И что мне нравится - тех. поддержка всегда помогает в технических вопросах, за что им спасибо. Как Вы понимаете не всегда проходит всё гладко и нет желания, чтобы сайт не был доступен тем самым страдал трафик и доход.

Существует много разных типов перенаправлений, каждый с разным числовым кодом, поэтому сначала разберем их. Двумя наиболее распространенными являются 301 редирект и 302 редирект, на которых мы сосредоточимся сегодня.

  • 301 — постоянное перенаправление. Вы используете их при смене URL или структуры сайта навсегда. Вся мощь и рейтинг СЕО старой ссылки переносятся на новую. Для всех намерений и целей старый URL просто превращается в новый.
  • 302 — временный редирект. Вы используете его, когда вам нужно краткосрочное изменение. Может быть, редизайн сайта или быстрое исправление ошибки или сбоя. Вес ссылки или рейтинг не передаются.

Также есть перенаправления 300, 303, 304, 307 и 308. Но они зарезервированы для невероятно особых случаев, которые связаны с особым использованием POST и GET запросов, в 95% которых из нас не нуждаются. Если вам интересна эта тема, в Mozilla Developer Network есть фантастическая документация по различным видам перенаправлений. Но с точки зрения вашего перенаправления в WordPress, вы будете использовать основной — 301 и 302 — случайный.

Как создать перенаправления в WordPress

Создание перенаправления WordPress с помощью .htaccess

Одним из наиболее важных файлов для сайта является файл .htaccess. Что касается доступа, то вполне понятно, что вы можете одобрить, запретить или перенаправить доступ к вашему сайту через него. Хотя это может показаться пугающим из-за того, насколько важно, чтобы вы ничего не сделали неправильно, реальное редактирование файла для перенаправления настолько простое, насколько это возможно.

Используйте вашу любимую программу FTP (вероятно, это может быть FileZilla, я пользуюсь WinSCP), чтобы попасть в корневой каталог вашей установки WordPress. Просто под основными папками вы должны увидеть .htaccess.

Создание перенаправления

Откройте его в своем текстовом или кодовом редакторе (я лично использую IDE PHPStorm).

Откройте его

Все, что вам нужно сделать для перенаправления WordPress, это добавить простую строку кода чуть выше строки, которая гласит #BEGIN WordPress.

Redirect 301 / https://zacompom.ru/

или же

Redirect 302 / https://zacompom.ru/

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

Redirect 301 /blog_post https://zacompom.ru/category/blog_post

или же

Redirect 302 /blog_post2.html /category/blog_post2.html

Redirect 301

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

    #301 Redirects for .htaccess

    #Redirect a single page:
    Redirect 301 /pagename.php http://www.domain.com/pagename.html

    #Redirect an entire site:
    Redirect 301 / http://www.domain.com/

    #Redirect an entire site to a sub folder
    Redirect 301 / http://www.domain.com/subfolder/

    #Redirect a sub folder to another site
    Redirect 301 /subfolder http://www.domain.com/

    #This will redirect any file with the .html extension to use the same filename but use the .php extension instead.
    RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php

    ##
    #You can also perform 301 redirects using rewriting via .htaccess.
    ##

    #Redirect from old domain to new domain
    RewriteEngine on
    RewriteBase /
    RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

    #Redirect to www location
    RewriteEngine on
    RewriteBase /
    rewritecond %{http_host} ^domain.com [nc]
    rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

    #Redirect to www location with subdirectory
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} domain.com [NC]
    RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

    #Redirect from old domain to new domain with full path and query string:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]

    #Redirect from old domain with subdirectory to new domain w/o subdirectory including full path and query string:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
    RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]

    Rewrite and redirect URLs with query parameters (files placed in root directory)

    Original URL:

    http://www.example.com/index.php?id=1
    Desired destination URL:

    http://www.example.com/path-to-new-location/
    .htaccess syntax:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} id=1
    RewriteRule ^index\.php$ /path-to-new-location/? [L,R=301]
    Redirect URLs with query parameters (files placed in subdirectory)

    Original URL:

    http://www.example.com/sub-dir/index.php?id=1
    Desired destination URL:

    http://www.example.com/path-to-new-location/
    .htaccess syntax:

    RewriteEngine on
    RewriteCond %{QUERY_STRING} id=1
    RewriteRule ^sub-dir/index\.php$ /path-to-new-location/? [L,R=301]
    Redirect one clean URL to a new clean URL

    Original URL:

    http://www.example.com/old-page/
    Desired destination URL:
    http://www.example.com/new-page/
    .htaccess syntax:

    RewriteEngine On
    RewriteRule ^old-page/?$ $1/new-page$2 [R=301,L]
    Rewrite and redirect URLs with query parameter to directory based structure, retaining query string in URL root level

    Original URL:

    http://www.example.com/index.php?id=100
    Desired destination URL:

    http://www.example.com/100/
    .htaccess syntax:

    RewriteEngine On
    RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
    Rewrite URLs with query parameter to directory based structure, retaining query string parameter in URL subdirectory

    Original URL:
    http://www.example.com/index.php?category=fish
    Desired destination URL:
    http://www.example.com/category/fish/
    .htaccess syntax:

    RewriteEngine On
    RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]
    Domain change – redirect all incoming request from old to new domain (retain path)

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^example-old\.com$ [NC]
    RewriteRule ^(.*)$ http://www.example-new.com/$1 [R=301,L]
    If you do not want to pass the path in the request to the new domain, change the last row to:

    RewriteRule ^(.*)$ http://www.example-new.com/ [R=301,L]

    #From blog.oldsite.com -> www.somewhere.com/blog/
    retains path and query, and eliminates xtra blog path if domain is blog.oldsite.com/blog/
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_URI}/ blog
    RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC]
    RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]

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

Создание WordPress Redirect с помощью плагина

Если вам неудобно редактировать файл .htaccess для перенаправлений в WordPress, не волнуйтесь. Вам и не нужно. Поскольку вы используете WordPress, и для этого есть плагин. Один из лучших называется Quick Page/Post Redirect, и он работает как талисман прямо из коробки.

работает как талисман

Настройка ваших перенаправлений настолько проста, насколько это возможно. После активации «Quick Redirects» (Быстрое перенаправление) добавляет на панель администратора новый элемент «Быстрые перенаправления». Тип перенаправления WordPress по умолчанию — 301 (в конце концов, они наиболее распространены), и вы настраиваете их, просто вводя URL-адрес отправителя и получателя в несколько полей. Нажмите кнопку «Save» (Сохранить), и вы в шоколаде.

и вы в шоколаде

Кроме того, вы увидите список ваших существующих перенаправлений (обратите внимание на изображение выше, как те, что я использовал, являются относительными путями, а не к новому домену, но это тоже возможно). Если вам больше не нужен редирект, вы можете удалить его одним щелчком мыши или отредактировать редирект по ряду причин. Для меня это когда я делаю опечатку.

И наконец, если вы посмотрите на «Redirect Options» (Параметры Перенаправления), вы увидите абсурдное количество вариантов, которые вы можете сделать, создавая правила, применимые ко всем вашим перенаправлениям, или включая настройки, которые работают с пользовательскими типами записей и метаблоками, и так далее. Этого много, чтобы покрутить своими руками.

вы увидите список

Другой вариант

Я также использовал плагин Redirection в прошлом, прежде чем переключаться на «Quick Redirects», потому что «Redirection» также позволяет отслеживать страницы 404. Вы можете увидеть, какие страницы отсутствуют, и настроить правило перенаправления WordPress, чтобы каждый, кто посещает их, попадал на действительно полезную страницу.

Другой вариант

Я переключился на другой плагин, потому что я начал отслеживать ошибки 404 через Google Search Console и решил перейти на более простое решение. Если вы хотите использовать и то, и другое в своей панели администрирования, «Redirection» не является плохим способом.

И в заключении

Независимо от того, переместился ли ваш сайт на новое место, вы изменили структуру постоянных ссылок или каким-то образом обновление WP сломало все в вашей установке, и вы начинаете с нуля… иметь практические знания о том, как настроить перенаправление WordPress, очень удобно.

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

Какой ваш предпочитаемый метод настройки перенаправления для ваших сайтов?

На этом все — до скорых встреч!


Обо мне
Юрич:
Занимаюсь созданием сайтов на WordPress более 6 лет. Ранее работал в нескольких веб-студиях и решил делиться своим опытом на данном сайте. Пишите комментарии, буду рад общению.
2 комментария к статье "Как создать перенаправления в WordPress"
  1. Юрич: 23.05.2019 в 13:02

    Спасибо за оперативность!
    Поправил — пробуйте еще раз)))

  2. Сергей: 23.05.2019 в 12:58

    При выставлении оценки статье выходит такая ошибка http://prntscr.com/ns9e2e

Заказать сайт