Дубли в WordPress чаще всего появляются не из-за «плохого SEO», а из-за нормальной работы CMS: одна и та же запись доступна через несколько URL, архивы создают повторяющиеся списки, а параметры в адресе плодят копии страниц. Если это не контролировать, поисковик начинает выбирать не тот URL, а в отчётах всплывают страницы с одинаковым контентом.
Ниже — рабочая схема: как диагностировать источник дублей, что закрывать через noindex, где достаточно canonical, а где лучше убрать саму генерацию лишних URL.
Какие дубли в WordPress встречаются чаще всего
Перед правками важно понять, с чем именно вы имеете дело. В WordPress один и тот же контент может открываться через:
- основной URL записи и URL с параметрами сортировки, фильтра или UTM;
- архивы категорий, тегов, автора и даты, если они повторяют друг друга по смыслу;
- страницы пагинации, когда в индекс попадает не только первая страница списка;
- версии с
wwwи без него, HTTP и HTTPS, со слешем и без него; - служебные страницы поиска по сайту, если они индексируются без контроля.
Не все из них нужно закрывать одинаково. Иногда достаточно указать канонический адрес, а иногда лучше вообще не отдавать страницу в индекс.
Диагностика: как найти источник дублей
Начните с простого набора проверок. Смотрите не только на сам URL, но и на то, как он выглядит в HTML и в ответе сервера.
Проверка через поисковую выдачу и краулер
Если страница уже попала в индекс, найдите несколько вариантов одного и того же контента через поиск по заголовку или фрагменту текста. Затем сравните:
- какой URL отображается в выдаче;
- есть ли у страницы параметр
rel="canonical"; - не закрыта ли она случайно через
noindexили robots.txt; - не дублируется ли контент на архивной странице.
Для технической проверки удобно открыть исходный код страницы и найти canonical вручную. Если у страницы с параметром в адресе canonical указывает на чистый URL без параметров, это уже хороший знак. Но если сама страница не должна индексироваться, одного canonical может быть мало.
Проверка через серверный ответ
Если дубли создаются параметрами, проверьте, не отдаются ли они как полноценные HTML-страницы с кодом 200. Для этого достаточно curl:
curl -I