Постоянные ссылки WordPress (permalinks) и их настройка

WordPress
В данном уроке разберем что такое постоянные ссылки (permalinks), почему их нужно настраивать в первую очередь, как они работают и как их оптимизировать.

В прошлом уроке мы начали настраивать wordpress, сегодня мы продолжим его настройку: настроим постоянные ссылки WordPress, превратим их в ЧПУ.

Что такое постоянные ссылки WordPress?

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

«Постоянные ссылки WordPress — это постоянные URL-адреса отдельных записей (постов) вашего блога, а также рубрики (категории) и других списков записей блога».

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

Пример: данная запись (которую вы читаете) имеет ссылку https://web-revenue.ru/wordpress/permalinks — это и есть постоянная ссылка (на запись в данном случае), которую можно скопировать из адресной строки браузера. Если разложить эту ссылку на части получим:

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

https://web-revenue.ru/wordpress/ — постоянная ссылка на рубрику (так формируется при определенных настройках, о них ниже).

https://web-revenue.ru/ — постоянная ссылка на главную страницу.

В файлах шаблона темы, для получения URL-адреса (записи, страницы и т.п.) и создания из него кликабельной ссылки использоваться тег the_permalink().

WordPress использует его для получения уникальной ссылки (permalink) для отдельного поста и вывода ее в элементе <a>, чтобы ее можно было использовать в качестве ссылки в списках записей вашего блога.

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

Как wordpress формирует ссылки по умолчанию и чем они плохи

Если вы только, что установили wordpress, на главной странице вы увидите статью «Привет мир», если перейти на нее, то вы увидите ссылку вида: site.ru/2023/01/16/привет-мир.

В таком виде ссылки как минимум 1 большая проблема, наличие года, дня и месяца. На продвижение статей с такими ссылками может особо и не скажется. Но через некоторое время скорее всего ее трафик начнет падать, т.к. как пользователи будут видеть эти цифры в адресе, будут считать что статья устарела (даже если вы ее уже обновили недавно).

В более ранних версиях WP ссылки по умолчании формировались так: site.ru/?p=3 — абсолютно не понятно, что скрывается под этим URL.

Поэтому я рекомендую приводить ссылки сразу к нормальному виду: https://web-revenue.ru/wordpress/permalinks — это уже постоянная ссылка с ЧПУ.

Настройкам постоянных ссылок

Чтобы настроить постоянные ссылки в wordpress необходимо в левом меню перейти в раздел «Настройки» и выбрать пункт «Постоянные ссылки», перед вами откроется страница «Настройки постоянных ссылок».

Вариант 1. Структура URL с вложенностью

Выделите пункт: «произвольная структура» и впишите туда следующую конструкцию: /%category%/%postname%

Настройки постоянных ссылок wordpress

Данная конструкция сделает вложенные URL адреса, как на данном блоге.

Структура вложенных URL v1

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

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

Используйте данный вариант, при условии, что ваши статьи будут публиковаться только в одной категории (подкатегории).  В случае большой вложенности статей и их дублировании в нескольких категориях одновременно (к примеру вы создаете сайт с фильмами, а фильм как обычно подходит одновременно под несколько категорий (и соответственно публикуется в нескольких категориях): фэнтези, приключения, драма и т.д.) то, она избавит вас от дублей страниц. Если я вас запутал и вам не понятно какую структуру выбрать, спрашивайте в комментариях, разъясню более подробнее и понятнее.

Вариант 2. Плоская структура URL (без вложенности)

Если вы точно не знаете структуру своего будущего сайта (точных названий категорий, к каким категориям будут относиться статьи и т.п.), лучше выбрать следующую конструкцию: /%postname%.

Тогда у вас будет формироваться ссылка без вложенности: домен/название-статьи.

Результат после применения настроек:

  1. site.ru/category/без-категории/привет-мир
  2. site.ru/привет-мир

Здесь для первого варианта, у нас появляется лишняя вложенность в виде /category — для чего это добавляет WP не понятно. Как избавиться от category, мы разберем в следующем уроке. Сейчас хочу поговорить немного про кириллицу (русские имена) в URL.

Кириллица в URL хорошо или плохо?

Вариант с кириллицей в постоянных ссылках, хорошо воспринимается в рунете и хорошо сочетается с сайтами на домене .рф.

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

Например: у нас есть статья с адресом: https://web-revenue.ru/рубрика1/статья1, если скопировать ее из браузера и вставить например в текстовый документ, то там вы увидите всякую абракадабру: https://web-revenue.ru/11%D0%B5%D0%BC-%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE-%D0%BF%D0%BE%D0%B9%D0%B4%D0%82-%D1%80%D0%B0%D0%B7%D0%B3%D0%BE%D0%B2%D0%BE%D1%80-%D0%B2-%D1%80%D1 .

Такой урл не только совершенно нельзя понять, но часто его сложно даже полностью скопировать. Данный адрес выглядит так ужасно потому, что происходит перекодирование русских букв в кодовую последовательность, где каждая русская буква преобразуется в 6 символов (буква “а” к примеру, будет заменена на “%D0%B0”).

В WordPress, есть ограничение длины поля для хранения permalink, которое составляет 200 латинских символов, отсюда следует, то что это всего 33 русских символа (200/6=33), а все лишние символы в URL любой веб страницы на WordPress которые превышают общее количество символов, просто на просто обрезаются. Следовательно если название статии будет длинным у вас не сформируется полная ссылка.

Ну и вишенка на торте, считается, что поисковики (особенно гугл) не очень хорошо относятся к URL на русском языке.

По этому к использованию кириллицы в ЧПУ нужно подходить очень аккуратно. Я рекомендую использовать транслит.

Автоматическая транслитерация url wordpress

Для того чтобы WordPress автоматически формировал URL на латинице (писал русские буквы английским алфавитом, пример в место привет-мир, писал privet-mir). Нужно установить один из плагинов.

Плагины транслитерации работающие в 2023 году

В каталоге wordpress есть около десятка плагинов отвечающих за транслитерацию, но они уже давно не обновлялись, например Rus-To-Lat последний раз обновлялся 11 лет назад:

Rus-To-Lat

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

Cyr-To-Lat

Бесплатный плагин который не требует каких либо настроек. Для установки, в боковом меню WP, перейдите раздел в Плагины — добавить новый. На открывшейся странице в поле поиска плагинов, наберите Cyr-To-Lat, далее нажмите на против него кнопку установить.

Установка Cyr-To-Lat

После того как он установится данная кнопка сменится на Активировать. Нажимаете ее, он активируется и начинает работать.

У данного плагина так же есть форк под названием Cyr to Lat enhanced (расширенный) — него добавлены языки транслитерации: украинский, белорусский, болгарский и македонский. Если ваш блог ведется на одном из этих языков, то вам скорее всего лучше установить его.

Clearfy Pro

Clearfy Pro — платный SEO плагин (комбайн), который заменяет функционал пары десятков бесплатных плагинов, ставлю его на все WP сайты. Данный плагин стоит не дорого (менее 1000р), купить можно здесь.

Настройка транслитерации находится на вкладке «Дополнительно» — «Транслитерация заголовков и файлов».

Транслитерация заголовков и файлов

Ну и в принципе все, в случае если вы выбрали ЧПУ с конструкцией: /%postname%.

В случае с вариантом /%category%/%postname% у нас в ЧПУ лишняя вложенность от которой лучше избавиться.

Ответы на другие часто задаваемые вопросы

Стоить ли менять структуру ссылок на сайте, где уже есть трафик?

Часто возникает вопрос: стоит ли менять стандартные ссылки на ЧПУ, если у сайта уже есть определенная посещаемость. У меня было пару таких экспериментов — какого-то положительного влияния на SEO после перехода на ЧПУ я не заметил. Зато появилось куча работы по устранению ошибок, в основном 404, из-за того у всех страниц стал новый адрес. Пришлось править ссылки в контент, настраивать 301 редиректы и прочее.

Моя рекомендация: если у вас небольшая посещаемость (для блога это — менее 100 человек в сутки), то я бы поменял вид ссылок на ЧПУ, если больше, то трогать не стал бы. Оставил бы по умолчанию.

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

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

Не работают постоянные ссылки

Ошибка 404 в большинстве случаев связана с отсутствием необходимых правил в файле .htaccess в каталоге WordPress (иногда наоборот — присутствуют лишние правила).

Проблема с ссылками на записи

Если после перенастройки постоянных ссылок, ваша главная страница открывается, а остальные страницы и записи нет. Скорее всего проблема в файле .htaccess.

При установке WordPress сам создаёт .htaccess, если у дать ему такую возможность. Зайдите в корень сайта (к примеру по ftp), проверьте есть данный файл или нет. Если его нет создайте, если есть откройте. Для корректной работы постоянных ссылок в .htaccess должны находится следующие правила:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Вышеприведенный код работает только под Apache при наличии модуля mod_rewrite и значении директивы AllowOverride отличном от None. (директива «AllowOverride None» может быть выставлена как для сервера в целом, так и для конкретного сайта, нужно проверить все места).

После внесения изменений в файл, сохраните его. После чего пересохраните настройки постоянных ссылок.

Проблема с главной страницей

Ссылки на записи работают, вместо главной страницы отображается список файлов.

В .htaccess до правил WordPress нужно добавить строку:

DirectoryIndex index.php

Примечание: Если используется ПО веб-сервера отличное от Apache, то .htaccess может и не работать, для настройки NGINX смотрите эту статью — https://wordpress.org/support/article/nginx.

Как убирать category из URL

Об этом будет один из следующих уроков. Рекомендую сначала ознакомится с уроком про WordPress плагины.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( Пока оценок нет )
Web-Revenue.ru
Добавить комментарий