Слеш на конце URL в SEO
Для робота example.com/page и
example.com/page/ - разные URL.
Если обе версии открываются, он не
знает, какую выбрать. Это тоже
дублирование.
Решение то же, что и со www:
одну версию делают главной, вторую
перенаправляют через 301.
Если главная версия - без слеша, то все URL со слешем надо перенаправлять:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
Условие !-d проверяет, что это
не папка. Для папок слеш на конце
нужен, для страниц - нет.
Проверить редирект можно через терминал:
curl -I https://example.com/page/
В ответе должен быть код 301 и
заголовок Location без слеша:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/page
Если редирект временный (302),
поисковик может оставить в индексе
версию со слешем. Поэтому используем
только 301.
Если редирект поставить нельзя,
главному адресу помогает
canonical:
<link rel="canonical" href="https://example.com/page">
Но canonical - это только
подсказка. Редирект надежнее.
Выбранную схему нужно держать везде: во внутренних ссылках, в карте сайта и в редиректах.
Практические задачи
Расскажите, почему
example.com/page и
example.com/page/
считаются разными адресами.
Дана верстка страницы:
<html>
<head>
<title>Page</title>
</head>
<body>
<p>
content
</p>
</body>
</html>
Страница доступна по адресу
https://example.com/page/ со слешем
на конце. Добавьте в head тег
canonical, который укажет главную
версию без слеша:
https://example.com/page.
Дан файл .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=302]
Найдите ошибку. Что сломает этот редирект для SEO и почему?
Напишите правило для .htaccess,
которое убирает слеш на конце
у страниц, но не у папок.
Используйте код 301.