Если в индексе начинают всплывать одинаковые title и description, проблема не всегда в контенте. В WordPress дубли метаданных часто появляются из-за шаблонов темы, SEO-плагинов, архивов, пагинации, тегов и технических страниц. Снаружи это выглядит как «поисковик сам выбрал не тот сниппет», но на практике почти всегда есть конкретный источник, который можно найти и отключить.
Ниже — рабочий сценарий: как диагностировать дубли, где искать причину, чем исправлять и как проверить, что после правки WordPress отдает нужные метатеги.
Когда проблема действительно в дублях метаданных
Сначала стоит убедиться, что речь именно о повторяющихся мета-тегах, а не о дублированных страницах как таковых. Для SEO это разные задачи. Дубли метаданных обычно проявляются так:
- у нескольких URL одинаковый
<title>; - description повторяется на записях, архивах и страницах пагинации;
- canonical указывает не на ту страницу или отсутствует;
- в исходном коде одновременно выводятся два набора SEO-тегов — например, от темы и от плагина;
- в Search Console страницы выглядят «дублирующимися», хотя контент разный.
Если одинаковые метаданные есть только у пагинированных архивов, это не всегда ошибка. Но если один и тот же title раздается на десятки URL без логики, это уже техническая проблема.
Диагностика: откуда берутся дубли
Самый быстрый путь — открыть исходный код проблемной страницы и посмотреть, кто именно формирует метатеги. В WordPress дубли чаще всего появляются в трех местах: тема, SEO-плагин и кастомный код в functions.php или mu-plugin.
Что проверить в первую очередь
- нет ли в теме ручного вывода
<title>и meta description; - не подключены ли одновременно два SEO-плагина;
- не дублирует ли тема canonical-тег, который уже добавляет плагин;
- не создаются ли одинаковые шаблоны для категорий, тегов, авторов и архивов;
- не подставляется ли один и тот же шаблон title для записей и страниц.
Если есть доступ к серверу или SSH, полезно быстро найти ручные вставки по коду темы:
grep -RniE '<title>|meta name="description"|rel="canonical"' wp-content/themes/ wp-content/mu-plugins/ wp-content/plugins/Команда не решает проблему сама, но быстро показывает, где искать конфликт. Если метатеги выводятся и темой, и SEO-плагином, это почти всегда видно сразу.
Пошаговое решение без ломки индексации
Не удаляйте все подряд. Сначала отключите источник дубля, потом проверьте результат на одной странице, и только после этого масштабируйте на весь сайт.
Шаг 1. Оставьте один источник SEO-метаданных
Если у вас установлен SEO-плагин, а тема тоже выводит title, description или canonical, нужно оставить только один механизм. В современных темах WordPress title обычно должен формироваться через add_theme_support( 'title-tag' ), а не вручную в header.php.
Пример корректной настройки темы:
add_action( 'after_setup_theme', function () {
add_theme_support( 'title-tag' );
} );Если в header.php есть жестко прописанный <title>, его нужно убрать. Иначе WordPress и плагин могут вывести два title или конфликтовать за приоритет.
Шаг 2. Уберите ручной вывод description, если его уже генерирует плагин
Частая ошибка — когда разработчик добавляет собственный meta name="description" в шаблон, а SEO-плагин делает то же самое. В результате поисковик видит два description, а в коде начинается хаос.
Если вам нужен fallback для страниц без SEO-поля, лучше делать его через фильтр, а не через прямую вставку в шаблон. Например, для собственных типов контента можно задать описание только там, где оно реально отсутствует:
add_filter( 'document_title_parts', function( $parts ) {
if ( is_singular() ) {
$post_id = get_queried_object_id();
$custom = get_post_meta( $post_id, '_meta_description', true );
if ( ! empty( $custom ) ) {
return $parts;
}
}
return $parts;
} );Этот пример не заменяет SEO-плагин, а показывает принцип: не плодить второй источник там, где уже есть основной.
Шаг 3. Настройте canonical для архивов и пагинации
Если дубли возникают на страницах категорий, тегов или пагинации, проверьте canonical. Для пагинированных архивов canonical должен указывать на саму страницу пагинации, а не на первую страницу архива, если ваша SEO-логика не требует иного.
Когда canonical ломается, поисковик может считать разные URL копиями одной страницы. Это особенно заметно на больших блогах с тегами и фильтрами.
Шаг 4. Сократите количество индексируемых архивов
Если у вас десятки пустых или почти пустых тегов, авторских архивов без смысла и служебных таксономий, они часто создают дубли title и description. В таких случаях лучше закрыть от индексации слабые архивы, чем пытаться вручную переписывать метаданные для каждого URL.
Для этого удобнее использовать SEO-плагин или настройки темы, а не писать собственную логику на PHP, если задача типовая. Если же нужен точечный контроль, можно отключать вывод мета-описания для конкретных архивов через фильтры плагина, но здесь важно опираться на документацию именно вашего SEO-плагина.
Сравнение подходов: плагин, код или правка темы
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужен единый контроль title, description и canonical | Легко получить конфликт с темой или вторым плагином |
| Правка темы | Нужно убрать ручной вывод метатегов из шаблона | Риск сломать разметку при обновлении темы |
| Код в mu-plugin | Нужны точечные правила для отдельных типов страниц | Требует аккуратного тестирования и понимания приоритетов |
Если задача типовая, лучше сначала привести тему к стандартному поведению WordPress, а уже потом настраивать SEO-плагин. Если задача нестандартная, безопаснее вынести логику в отдельный mu-plugin, чем править родительскую тему.
Проверка результата после внедрения
После правок не ограничивайтесь просмотром страницы в браузере. Нужно проверить именно исходный код и ответ сервера.
- Откройте страницу в режиме просмотра исходника и убедитесь, что
<title>один. - Проверьте, что meta description выводится один раз и не дублируется в шаблоне.
- Посмотрите canonical: он должен вести на нужный URL без лишних параметров.
- Проверьте несколько типов страниц: запись, категория, тег, пагинация.
- Сравните результат до и после в Search Console, если страница уже была в индексе.
Для быстрой локальной проверки удобно использовать curl:
curl -s https://example.com/page/ | grep -Ei '<title>|meta name="description"|rel="canonical"'Если в выводе один title, один description и один canonical — базовая часть задачи решена. Если тегов несколько, значит конфликт еще не устранен.
Частые ошибки и как их исправить
Оставили и тему, и SEO-плагин
Это самая частая причина дублей. Решение простое: либо тема отвечает только за разметку, а SEO-плагин — за метаданные, либо наоборот, но не одновременно.
Удалили мета-теги, но не проверили архивы
На главной все может выглядеть нормально, а на категориях и тегах останутся старые шаблоны. Проверяйте не одну страницу, а минимум несколько типов URL.
Поставили одинаковый шаблон title для всех типов записей
Если title собирается по одному шаблону без учета типа контента, вы получите повторяющиеся заголовки на записях, страницах и архивах. Шаблон должен различать хотя бы singular, archive и taxonomy.
Закрыли все архивы от индексации без анализа
Так можно случайно убрать полезные страницы из поиска. Сначала оцените, какие архивы реально дают трафик и внутреннюю перелинковку, а какие только создают мусор.
Что делать для безопасности и производительности
Любые правки метаданных лучше делать через дочернюю тему или отдельный mu-plugin. Это снижает риск потерять изменения после обновления. Если вы правите SEO-логику кодом, не размещайте ее в случайных сниппетах без контроля версий.
Еще один практический момент: не генерируйте description тяжелыми запросами к базе на каждом хите. Для сложных правил лучше использовать уже доступные данные записи и таксономий, а не собирать мета-описание через дополнительные запросы.
Если нужен более широкий аудит дублей, служебных архивов и лишних SEO-страниц, имеет смысл смотреть в сторону инструментов, которые помогают чистить сайт и управлять индексируемыми шаблонами, например Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином базовая проверка исходного кода остается обязательной.
Если после правок title и description все еще дублируются, значит источник не найден. В таком случае возвращайтесь к диагностике: ищите второй SEO-плагин, ручной вывод в теме или фильтр, который переопределяет метаданные позже основного обработчика.