Слеш "/" на кінці URL-адрес сторінок

Привіт:) У цьому пості розгляну чи потрібен слеш (коса риска) на кінці URL-адрес сторінок сайту, а також покажу як його прибрати у WordPress.

Чи потрібен слеш (коса риска)

Адреси з косою рисою на кінці зазвичай використовуються для позначення каталогів, тоді як URL без косої риски прийняті для розміщення файлів:

https://site.com/foo
https://site.com/foo/

Але це не є обов'язковим правилом. Google обробляє кожну із наведених вище адрес окремо (і однаковим чином) незалежно від того, розміщений за нею файл чи каталог, і чи є в кінці коса риска чи ні.

Для алгоритмів Google немає різниці в тому, чи ведуть URL з косою рискою і без неї на сторінки з контентом різного типу.

Пошуковій системі все одно, що ці дві версії URL вестимуть на сторінки з різним вмістом. Однак користувачів це може збивати з пантелику. Так, уявіть собі, що www.google.com/webmasters і www.google.com/webmasters/ — це дві абсолютно різні сторінки. Тому адреси з косою рискою наприкінці та без неї часто ведуть на сторінки з однаковим вмістом. Найпоширеніший випадок — коли вміст на сайті систематизований на основі структури каталогів:

https://site.com/parent-directory/child-directory/

до змісту ↑

Конфігурація адрес сторінок сайту та можливі варіанти

Ви можете швидко перевірити, чи працює на вашому сайті переадресація з одного з URL. Для цього скористайтесь порадами нижче.

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

Якщо повертається лише одна версія (тобто на неї виконується переадресація з іншого URL), то все гаразд. Цей варіант кращий, оскільки дає змогу уникнути дублювання контенту. Якщо переадресація виконується на URL з косою рискою наприкінці, то в результатах пошуку з високою ймовірністю показуватимуться версії URL сторінок з кодом відповіді 200 незалежно від коду, який повертається під час переадресації (301 або 302).

Якщо обидві версії URL (з косою рискою і без) ведуть на сторінки з ідентичним вмістом і кожна повертає код 200, то у вас є декілька варіантів дій:

  1. Ви можете скоротити кількість повторюваного контенту та підвищити ефективність сканування.
  2. Можете нічого не змінювати. Багато сайтів мають сторінки з ідентичним вмістом. Алгоритми індексування пошукових систем в цілому справляються з цим, не створюючи труднощів для веб-майстрів і користувачів. Це не найкращий, але цілком допустимий варіант, який не порушує жодних правил.
до змісту ↑

Як перейти до використання лише однієї версії URL

Уявіть, що на вашому сайті розміщено однаковий вміст за такими URL-адресами:

https://site.com/foo/
https://site.com/foo

Це означає, що обидва URL повертають код 200, до того ж у них не налаштована переадресація, і немає тегу link з атрибутом rel="canonical". Як це виправити?

  • Виберіть одну з версій адреси як основну. Якщо на сайті впроваджено структуру каталогів, то природно буде використовувати наприкінці URL каталогів косу риску (наприклад site.com/directory/, а не site.com/directory), хоча можете вибрати той варіант, який більше до вподоби.
  • Обравши один шаблон, дотримуйтеся його й надалі. Зокрема, використовуйте його у внутрішніх посиланнях. Якщо є файл Sitemap, то вкажіть у ньому лише основну версію URL.
  • Використовуйте код 301 для переадресації з дублюючої версії URL на основну. Якщо це неможливо, то рівноцінним варіантом буде використання тегу link з атрибутом rel="canonical". Під час індексування у Google, а також в інших пошукових системах, атрибут rel="canonical" працює аналогічно як і код 301.
  • Протестуйте свою конфігурацію коду 301 за допомогою функції Переглянути як Googlebot у Search Console. Переконайтеся, що обидва варіанти URL (https://site.com/foo/ і https://site.com/foo) працюють належним чином. Основна версія повинна повертати код статусу 200. Дублюючий URL повинен виконувати переадресацію 301 на основний URL.
  • Перевірте, що переадресація 301 працює і немає помилок сканування. Для цього скористайтеся інструментами для веб-майстрів і вивчіть журнали вашого веб-сервера.
до змісту ↑

Формування адрес сторінок (постійних посилань) у WordPress

WordPress за замовчуванням ставить '/' в кінці кожної сторінки (для всіх типів записів), якщо в розділі Налаштування -> Постійні посилання не обрані значення Прості або Користувацька структура.

Якщо у рядку браузера вказати https://site.com/sample-post, тобто без косої лінії в кінці, то система автоматично виконає 301 редирект на https://site.com/sample-post/.

У випадку, якщо обрана опція Користувацька структура, то ви зможете самостійно вказати або прибрати косу лінію в кінці.

Наступний код автоматично прибирає косу лінію в кінці адреси типу записів Сторінка (розділ адмін-меню Сторінки).

/**
 * https://wp-kama.ru/question/slesh-v-kontse-url
 */
add_filter( 'user_trailingslashit', 'mp_remove_slash_in_pages', 70, 2 );
function mp_remove_slash_in_pages( $string, $type ) {
    global $wp_rewrite;
	if ( 'page' === $type && $wp_rewrite->using_permalinks() && $wp_rewrite->use_trailing_slashes ) {
	    $string = untrailingslashit( $string );
    }
    return $string;
}

Джерело

Михайло Петров
Михайло Петров

Мене звати Михайло. Я є WordPress-розробником. Створюю сайти з "нуля", розробляю плагіни, оновлюю наявний функціонал та підтримую готові проєкти.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *