Слеш "/" на кінці URL-адрес сторінок
Привіт:) У цьому пості розгляну чи потрібен слеш (коса риска) на кінці URL-адрес сторінок сайту, а також покажу як його прибрати у WordPress.
Чи потрібен слеш (коса риска)
Адреси з косою рисою на кінці зазвичай використовуються для позначення каталогів, тоді як URL без косої риски прийняті для розміщення файлів:
https://site.com/foo
https://site.com/foo/
Але це не є обов'язковим правилом. Google обробляє кожну із наведених вище адрес окремо (і однаковим чином) незалежно від того, розміщений за нею файл чи каталог, і чи є в кінці коса риска чи ні.
Пошуковій системі все одно, що ці дві версії 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, то у вас є декілька варіантів дій:
- Ви можете скоротити кількість повторюваного контенту та підвищити ефективність сканування.
- Можете нічого не змінювати. Багато сайтів мають сторінки з ідентичним вмістом. Алгоритми індексування пошукових систем в цілому справляються з цим, не створюючи труднощів для веб-майстрів і користувачів. Це не найкращий, але цілком допустимий варіант, який не порушує жодних правил.
Як перейти до використання лише однієї версії 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;
}