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