Поставив WordPress, написав першу статтю, відкрив її, а в адресному рядку щось на кшталт site.com/?p=123. Виглядає ніби сайт із позаминулого століття, а для пошуковиків це ще й гірше, ніж гарна адреса зі словами. Саме тому постійні посилання в WordPress налаштовують першими, ще до публікації статей. Розкажу, яку структуру обрати, чому з датою в адресі краще не зв'язуватися і що робити, якщо сайт уже працює зі старими посиланнями.

Де налаштовуються постійні посилання

У адмінці відкрий Параметри → Постійні посилання. Там список готових варіантів і поле для власної структури. Обираєш потрібне, тиснеш Зберегти зміни, і WordPress сам перебудовує правила для адрес.

Які бувають варіанти

  • Звичайна – /?p=123. Працює завжди, але нічого не каже ні людині, ні пошуковій системі.
  • За датою й назвою та За місяцем і назвою – у адресі стоять рік і місяць публікації.
  • Числова – /archives/123. Теж безособова.
  • Назва запису – /nazva-statti/. Коротко, зрозуміло, саме її зазвичай і радять.
  • Власна структура – ти складаєш адресу з тегів, наприклад /%category%/%postname%/.

Яку структуру обрати

У більшості випадків я обираю «Назву запису», тобто /%postname%/. Адреса коротка, по ній одразу ясно, про що стаття, її легко надиктувати чи надрукувати. Для пошуку слова в адресі теж корисні: вони збігаються із запитом людини.

Якщо на сайті багато розділів, можна додати категорію: /%category%/%postname%/. Тоді адреса виглядатиме як /web/permalinks/, і видно, в якому розділі лежить стаття. Тільки май на увазі: коли запис належить до кількох категорій, у адресі стоятиме лише одна з них, і при зміні рубрики адреса теж зміниться. Тому, якщо ти часто переставляєш статті між розділами, простіше лишитися без категорії в адресі.

Чому дата в адресі, радше, шкодить

Структуру з датою обирають через звичку з часів, коли WordPress був суто блоговою платформою. Але у неї є мінуси:

  • адреса стає довшою, а в пошуку довгі адреси обрізаються;
  • стаття виглядає застарілою: людина бачить у посиланні старий рік і може не відкрити її, хоча матеріал давно оновлено;
  • коли захочеш оновити текст і «омолодити» його, адреса вже прив'язана до старої дати.

Корисні статті, на які посилаються роками, мають жити за постійною адресою без годин і чисел.

Власна структура з тегів

Для власної структури використовують теги в процентних знаках. Найкорисніші три:

  • %postname% – назва запису у вигляді слага;
  • %category% – категорія;
  • %post_id% – числовий номер запису.

Назву запису краще писати латиницею

За замовчуванням слаг береться із заголовка. Якщо заголовок українською, адреса стане набором літер у відсотках, і виглядає це жахливо, коли ділишся посиланням. Тому слаг я завжди правлю вручну: англійськими словами, короткими, з головним ключовим словом, без прийменників і зайвих слів. Правиться він праворуч у редакторі, у блоці Запис → Слаг.

Після зміни все видає 404: що робити

Часта ситуація: переключив структуру, а відкриваються лише головна й адмінка. Спершу відкрий Параметри → Постійні посилання і ще раз натисни Зберегти зміни нічого не міняючи: це оновлює правила. Якщо не допомогло, перевір, чи сервер дозволяє їх застосувати.

На Apache мусить бути файл .htaccess у корені сайту з таким вмістом, а у налаштуваннях сервера має бути увімкнено mod_rewrite:

# 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

На Nginx файлу .htaccess немає, там ту саму роботу виконує один рядок у конфігурації сайту:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Змінювати структуру на працюючому сайті небезпечно

Якщо сайт уже кілька місяців живий і його статті проіндексовано, зміна постійних посилань ламає всі старі адреси. Люди приходитимуть із пошуку чи закладок і бачитимуть 404, а ти втратиш позиції. WordPress у багатьох випадках сам здогадується, куди вести з адреси старого вигляду, але розраховувати на це не варто: надійніше налаштувати редиректи 301 і перевірити кілька ключових сторінок. Те саме стосується й зміни слагів уже опублікованих статей.

Тому золоте правило: обрати структуру треба до публікації першої статті й більше її не чіпати.

Що далі

Коли адреси налаштовано, переходь до самої теми сайту. Про те, як створити тему WordPress з нуля, я розповідав окремо, а про шаблон категорії знадобиться, якщо в адресі стоїть категорія. Якщо сайт раптом зламався після змін, зазирни в статтю про критичну помилку у WordPress, а ще подбай про адреси файлів у WordPress.

Більше про це – за позначками SEO, Веб-розробка та Налаштування системи.

А яку структуру адрес обираєш ти? Пиши в коментарях 🙂