Дубли title и meta description в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелких проблем: одинаковые шаблоны в SEO-плагине, архивы с пагинацией, страницы тегов, дубли записей в нескольких таксономиях, а иногда — из-за темы, которая выводит мета-теги сама, поверх SEO-плагина. В результате поисковик видит несколько страниц с почти одинаковыми сниппетами, а вы теряете контроль над тем, какая страница должна ранжироваться по конкретному запросу.
Когда проблема действительно в дублях мета-тегов
Сначала стоит убедиться, что речь именно о дублях title и description, а не о похожем контенте. Это разные задачи. Если у вас одинаковые заголовки в выдаче, но страницы разные по смыслу, причина часто в шаблоне SEO-плагина. Если же у страниц одинаковый контент и одинаковые мета-теги, проблема уже шире — нужна работа с каноникалами, индексируемыми архивами и структурой сайта.
Типичные признаки
- в Search Console много URL с одинаковым или почти одинаковым
title; - в выдаче у нескольких страниц один и тот же сниппет;
- архивы тегов, категорий и пагинация получают одинаковые мета-описания;
- у записей и страниц совпадают шаблоны, например
%title% | %sitename%без уникального дополнения; - SEO-плагин и тема одновременно добавляют мета-теги в
<head>.
Диагностика: где искать источник дублей
Начинайте не с правки кода, а с проверки того, кто именно выводит мета-теги. Это экономит время: очень часто дубли создаёт не контент, а конфликт между плагином и темой.
Проверка исходного HTML
Откройте страницу и посмотрите исходный код. Ищите повторяющиеся <title>, <meta name="description"> и канонический URL. Если мета-теги выводятся дважды, вы увидите это сразу.
<title>Страница — Сайт</title>
<meta name="description" content="Краткое описание страницы">
<title>Страница — Сайт</title>
<meta name="description" content="Краткое описание страницы">
Если дубли есть в HTML, но в админке SEO-плагина всё выглядит нормально, значит проблема почти наверняка в теме или в стороннем плагине, который тоже подключает SEO-метаданные.
Проверка через консоль и поиск по файлам
На рабочем проекте удобно искать прямые вызовы в теме и плагинах. Ищите функции и шаблоны, которые выводят title, description, Open Graph и canonical. Особенно внимательно смотрите файлы header.php, functions.php и кастомные SEO-обвязки.
grep -Rni "wp_head\|title_tag\|meta name=\"description\"\|og:description\|canonical" wp-content/themes/wp-content/plugins
Если у вас нет SSH-доступа, хотя бы временно отключите подозрительные плагины и проверьте исходный код страницы ещё раз. Это грубый, но рабочий способ найти источник конфликта.
Как убрать дубли: рабочая схема
Есть три основных пути: исправить шаблоны SEO-плагина, убрать лишний вывод из темы или отключить индексирование тех архивов, которые не должны конкурировать между собой. В реальном проекте обычно приходится делать все три шага.
1. Настройте уникальные шаблоны в SEO-плагине
Если дубли идут от шаблонов, не пытайтесь лечить это вручную на каждой странице. Лучше задать правила на уровне типов контента и архивов. Для записей, страниц, категорий и тегов шаблоны должны отличаться не только названием сайта, но и логикой.
Пример подхода:
- для записей —
%title%и короткое описание из excerpt; - для страниц — ручное описание, если страница важная;
- для категорий — описание категории, а не общий шаблон;
- для тегов — либо уникальное описание, либо noindex, если теговый архив не нужен в поиске.
2. Уберите лишний вывод мета-тегов из темы
Если тема вручную вставляет <title> или meta description, а SEO-плагин делает то же самое, нужно оставить только один источник. В современных темах заголовок должен управляться через add_theme_support( 'title-tag' ), а не через жёсткую вставку в header.php.
add_action( 'after_setup_theme', function () {
add_theme_support( 'title-tag' );
} );
После этого проверьте, что в header.php нет старого кода вида <title>...</title>. Если он есть, его нужно удалить, иначе WordPress и SEO-плагин будут конкурировать за вывод заголовка.
3. Закройте от индексации слабые архивы
Не все архивы должны ранжироваться. Если у вас десятки тегов с одной-двумя записями, они часто создают дубли и размывают структуру сайта. В таких случаях проще закрыть их от индексации, чем пытаться написать уникальный description для каждого.
Практически это делается в SEO-плагине или через код, если у вас кастомная логика. Например, можно отключить индексацию для архивов тегов, если они не несут ценности:
add_filter( 'wp_robots', function( array $robots ) {
if ( is_tag() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );
Это не универсальное решение для всех сайтов. Если теговые страницы у вас реально собирают трафик, закрывать их не стоит. Сначала смотрите данные в аналитике и Search Console.
Сравнение подходов
| Подход | Когда подходит | Минус |
|---|---|---|
| Настройка шаблонов SEO-плагина | Дубли идут от одинаковых шаблонов title/description | Нужно аккуратно проверить все типы контента |
| Правка темы | Тема выводит мета-теги вручную | Можно сломать совместимость с SEO-плагином |
| Noindex для архивов | Архивы не несут SEO-ценности | Нужна проверка, чтобы не закрыть полезные страницы |
Пошаговая проверка после внедрения
После правок не ограничивайтесь визуальной проверкой в браузере. Нужно убедиться, что изменения реально попали в HTML и не сломали индексацию важных страниц.
- Откройте несколько страниц разных типов: запись, страницу, категорию, тег.
- Проверьте исходный код и убедитесь, что
<title>выводится один раз. - Проверьте, что
meta descriptionне дублируется и не пустой. - Сравните canonical URL с фактическим адресом страницы.
- В Search Console отправьте на переобход несколько изменённых URL.
Если у вас есть доступ к командной строке, можно быстро проверить заголовок и description через curl:
curl -s https://example.com/page/ | grep -iE '<title>|meta name="description"|rel="canonical"'
Если после правок title всё ещё повторяется, значит источник не убран полностью. Обычно это либо старый код в теме, либо второй SEO-плагин, либо кэш, который отдаёт старую версию страницы.
Частые ошибки и как их исправить
Оставили два источника мета-тегов
Самая частая ошибка — SEO-плагин уже настроен, но тема продолжает выводить свой title и description. Решение простое: оставить один механизм. Если используете SEO-плагин, тема не должна дублировать его работу.
Закрыли от индексации нужные архивы
Иногда после массового noindex исчезают страницы, которые реально приводили трафик. Перед изменениями проверьте, какие архивы уже ранжируются, и не отключайте их вслепую.
Сломали кэш и смотрят старый HTML
После правок кэш может продолжать отдавать старую версию страницы. Очистите серверный кэш, кэш плагина и CDN, если он есть. Иначе вы будете искать проблему там, где её уже нет.
Использовали одинаковые шаблоны для всех типов контента
Шаблон вида %title% | %sitename% удобен, но на больших сайтах он быстро создаёт однообразные сниппеты. Для записей, страниц и архивов нужны разные правила, иначе дубли будут появляться снова.
Что сделать для безопасности и производительности
Если вы правите тему или добавляете код, не вносите изменения напрямую в родительскую тему. Используйте дочернюю тему или собственный мини-плагин. Так обновление не затрёт ваши правки.
- перед изменениями сделайте резервную копию файлов и базы;
- проверяйте код на тестовой копии сайта;
- не ставьте два SEO-плагина одновременно;
- не закрывайте от индексации всё подряд ради «чистоты»;
- после правок очистите кэш и проверьте HTML, а не только админку.
Если нужен более широкий аудит дублей, технической чистки и SEO-настроек, на практике удобно использовать инструменты класса Clearfy Pro: он помогает убрать часть типичных дублей и лишнего мусора в WordPress. Но даже с плагином всё равно нужно понимать, откуда именно приходит дублирование, иначе проблема вернётся после обновления темы или смены шаблона.
Ссылку на продукт имеет смысл смотреть только в контексте задачи: Clearfy Pro.
Мини-чек-лист перед публикацией
- у страницы один
<title>; meta descriptionне повторяется;- canonical указывает на правильный URL;
- тема не дублирует SEO-плагин;
- кэш очищен;
- важные архивы не закрыты случайно;
- в Search Console отправлены на переобход ключевые URL.
Если после всех правок дубли остаются, проблема обычно уже не в мета-тегах как таковых, а в структуре сайта: одинаковые архивы, слабая семантика, лишние таксономии или дубли контента. Тогда нужно идти глубже и разбирать URL-структуру по разделам, а не только править шаблон head.