Один тег склеил 500 страниц сайта в одну — и Яндекс перестал их видеть

Один тег склеил 500 страниц сайта в одну — и Яндекс перестал их видеть

Ко мне пришёл клиент с интернет-магазином на 500 с лишним товаров. За месяц трафик из поиска упал в четыре раза, хотя ничего «не трогали»: не меняли структуру, не убирали страницы, не переезжали на новый домен. Владелец был уверен, что попал под фильтр или что конкуренты «заказали» его сайт. Я открыл код первой попавшейся карточки товара, потом второй, потом раздела каталога — и везде увидел одну и ту же строчку: <link rel="canonical" href="https://site.ru/">. Весь сайт, все 500 страниц, каждой строчкой кода говорили Яндексу и Google: «настоящая страница — это главная». Поисковик послушно склеил весь магазин в одну точку. Проще делегировать? Помогаю бизнесу с профессиональным SEO-продвижением белыми методами — обращайтесь.

Это не редкий баг и не экзотика. За 20 лет в SEO я видел эту ошибку десятки раз — на WordPress, на Битриксе, на самописных движках. И самое неприятное: она тихая. Сайт работает, страницы открываются, посетитель ничего не замечает. А поиск в это время выкидывает из индекса раздел за разделом. В этой статье разберу простыми словами, что такое canonical, зачем он вообще нужен, какие ошибки убивают сайт и как всё это найти и починить своими руками на популярных движках.

Что такое rel=canonical на пальцах

Представьте, что у вас есть один и тот же товар, до которого можно дойти пятью разными дорогами. Например, красная футболка лежит по адресам: site.ru/futbolka, site.ru/futbolka?color=red, site.ru/catalog/futbolka, site.ru/futbolka?utm_source=yandex и site.ru/futbolka/?sort=price. Для покупателя это одна и та же страница. А для поисковика — пять разных URL с почти одинаковым содержимым. И поисковик начинает нервничать: какую из пяти показывать в выдаче? Какая главная? Не дубли ли это, за которые надо понизить сайт?

Тег rel="canonical" — это записка для поисковой системы, которая говорит: «Из всех похожих адресов вот этот — главный, оригинальный. Остальные считай его копиями и весь вес отдавай ему». Технически это строчка в коде страницы внутри секции <head>:

<link rel="canonical" href="https://site.ru/futbolka">

Если поставить её на всех пяти вариантах футболки и указать один и тот же главный адрес, поисковик перестанет считать их дублями. Он сольёт их поведенческие сигналы, ссылочный вес и историю в одну страницу — ту, что вы назвали канонической. Это правильное, полезное применение. Проблема начинается, когда канонический адрес указан неверно.

Зачем канонический адрес вообще нужен бизнесу

Вы можете спросить: я же не программист, зачем мне это знать? Затем, что дубли — одна из самых частых причин, по которой хороший сайт не растёт в поиске. Я постоянно вижу это на техническом аудите сайта: контент отличный, товары нормальные, а половина страниц не в индексе или конкурируют сами с собой. Причина — размноженные адреса без каноникалов.

Дубли на сайте появляются сами собой, без вашего участия:

  • UTM-метки от рекламы: ?utm_source=direct создаёт технически новый URL при каждом переходе из Директа.
  • Фильтры и сортировки в каталоге: по цене, по цвету, по размеру — каждая комбинация это отдельный адрес.
  • Постраничная навигация: страница 1, 2, 3 списка товаров.
  • Слэш на конце и без него: /uslugi и /uslugi/ — для поисковика это два разных адреса.
  • Протокол и www: http и https, с www и без — четыре версии одной страницы.

Без каноникала поисковик сам решает, какой из дублей главный, и решает часто не в вашу пользу. Правильно расставленные каноникалы наводят порядок: вес и сигналы концентрируются на нужных страницах, а не размазываются по десяткам технических копий. Это напрямую влияет на индексацию сайта в поисковых системах и на позиции. Инструмент этот мощный. Но именно потому, что он мощный, ошибка в нём бьёт так сильно.

Как одна строчка склеивает весь сайт

Вернёмся к магазину из начала статьи. Что там произошло технически? Кто-то — разработчик, плагин или неудачная настройка шаблона — прописал в шаблон всех страниц один и тот же canonical, жёстко указывающий на главную. Не на «эту же страницу», как должно быть, а буквально на адрес https://site.ru/. И этот тег попал сразу на все страницы сайта.

С точки зрения поисковика картина стала абсурдной. Карточка «Дрель Bosch» говорит: «моя каноническая страница — главная». Статья «Как выбрать перфоратор» говорит: «моя каноническая — главная». Раздел «Электроинструмент» говорит то же самое. Поисковик получает от 500 разных страниц один и тот же сигнал: настоящая только одна, главная, а мы все её копии. И он поступает ровно так, как его попросили — выкидывает 499 страниц из индекса как дубли, оставляя одну главную.

Дальше — обвал. Страницы, которые годами держали позиции по коммерческим запросам, исчезают из выдачи. Трафик по товарным и информационным запросам обнуляется, потому что показывать в ответ на них нечего — эти URL поиск больше не считает самостоятельными. Остаётся только главная, которая физически не может ранжироваться по тысячам разных запросов. Именно это я и увидел: падение в четыре раза за месяц, ровно с той даты, когда обновляли тему сайта.

Пять типовых ошибок с canonical, которые я вижу чаще всего

За годы работы я собрал коллекцию однотипных провалов. Вот те, что встречаются на реальных проектах.

1. Каноникал со всех страниц на главную. Тот самый случай выше — самый разрушительный. Обычно это следствие кривого шаблона или плагина, где в код головы вписали статичную ссылку на главную вместо динамической ссылки на текущую страницу. Симптом: в коде любой страницы в canonical стоит адрес главной.

2. Каноникал на другой домен. Классика при переездах и при копировании шаблона с сайта-донора. Разработчик взял тему с другого проекта, а в ней захардкожен старый домен. В итоге ваш сайт всеми страницами показывает: «оригинал живёт вон на том сайте». Поиск отдаёт вес чужому домену, а ваш выпадает из выдачи целиком. Такое же бывает после разработки на тестовом поддомене, когда в canonical остаётся адрес вида test.site.ru или site.ru.dev.

3. Конфликт canonical с noindex и robots. Это тонкая, но частая беда. На странице одновременно стоит canonical, указывающий на неё саму, и мета-тег noindex или запрет в robots.txt. Вы посылаете поиску взаимоисключающие команды: «индексируй меня как оригинал» и «не индексируй меня». Поисковик в замешательстве и чаще всего игнорирует оба сигнала или трактует их непредсказуемо. Отдельная разновидность — canonical указывает на страницу, которая закрыта в robots.txt: поиск не может её прочитать, значит, не может подтвердить каноничность.

4. Цепочки и кольца каноникалов. Страница A ссылается на B как на каноническую, B ссылается на C, C — обратно на A. Поисковик ходит по кругу и не понимает, где оригинал. Или более простая версия: canonical указывает на страницу, которая отдаёт редирект 301 или ошибку 404. Каноническим должен быть живой, отдающий код 200 адрес — иначе сигнал не работает.

5. Каноникал на страницу пагинации или фильтра. Обратная ошибка: когда с важной посадочной страницы каноникал ведёт на второстепенную — например, с раздела каталога на его вторую страницу или на отфильтрованную выборку. Главная посадочная выпадает, а в индексе остаётся мусорная. Я такое ловил на комплексном аудите сайта, когда категория с хорошим трафиком вдруг просела, а вместо неё в выдаче болталась страница «?page=2».

Почему это убивает индексацию и позиции сильнее фильтра

Многие владельцы, увидев обвал трафика, первым делом думают про санкции поисковых систем. Но фильтр обычно бьёт по части запросов или снижает позиции постепенно. Ошибка с canonical действует иначе и часто жёстче: она не понижает страницы, она стирает их из картины мира поисковика.

Когда поиск считает страницу неканонической копией, он перестаёт показывать её в выдаче в принципе. Не на десять позиций ниже — а нигде. Причём процесс накопительный: робот обходит сайт постепенно, и страницы выпадают волнами по мере переобхода. Поэтому падение выглядит как затяжной оползень в течение двух-четырёх недель, а не как резкий обрыв. Это сбивает с толку: кажется, что «что-то медленно ломается», хотя причина уже сидит в коде.

Есть и вторая беда — ссылочный вес. Если на ваши товарные страницы вели внешние ссылки, а теперь эти страницы каноникалятся на главную, весь накопленный вес перетекает на главную и обесценивается для конкретных запросов. Годы работы над ссылочным продвижением сайта схлопываются в одну точку, которая по этим запросам всё равно не ранжируется. Восстановление после исправления тоже небыстрое: поисковику нужно переобойти сайт, убедиться, что каждая страница снова самостоятельная, и вернуть её в индекс. На практике это от двух недель до пары месяцев в зависимости от размера сайта и частоты обхода.

Как найти проблему: проверка через код страницы

Хорошая новость: диагностика простая, и её можно сделать самому за пять минут, без специальных программ. Начнём с прямого просмотра кода.

  • Откройте любую внутреннюю страницу сайта — карточку товара, статью, раздел.
  • Нажмите правой кнопкой мыши и выберите «Просмотр кода страницы» (или сочетание Ctrl+U в большинстве браузеров).
  • В открывшемся коде нажмите Ctrl+F и найдите слово canonical.
  • Посмотрите, какой адрес указан в найденной строке <link rel="canonical" href="...">.

Правило простое: на нормальной странице canonical должен указывать сам на себя. Открыли карточку по адресу site.ru/drel-bosch — в canonical должно стоять site.ru/drel-bosch. Если вместо этого там адрес главной, другого домена, тестового поддомена или вообще другой страницы — вы нашли проблему. Проверьте так три-четыре разные страницы из разных разделов. Если на всех canonical ведёт в одно и то же место — диагноз ясен, весь сайт склеен.

Обратите внимание и на обратную ситуацию: если строки canonical нет вообще ни на одной странице — это тоже повод разобраться, особенно для интернет-магазина с фильтрами. Отсутствие каноникалов там, где плодятся дубли, почти так же вредно, как неверные каноникалы.

Как найти проблему: Яндекс.Вебмастер и Google Search Console

Просмотр кода показывает ситуацию на одной странице. Чтобы увидеть масштаб по всему сайту, нужны панели вебмастеров. Если вы ещё не знаете, что это за инструмент и зачем он, почитайте отдельно про то, кто такой вебмастер и чем он занимается — без этих панелей серьёзная диагностика невозможна.

В Яндекс.Вебмастере смотрите два места. Первое — раздел «Индексирование» → «Страницы в поиске». Если там резко упало число страниц в поиске и растёт число исключённых, это тревожный сигнал. Второе — «Страницы в поиске» → «Исключённые», где для каждой выпавшей страницы указана причина. При нашей ошибке вы увидите массовый статус «Неканоническая» или «Страница не является канонической» с указанием, на какой адрес поиск считает её копией. Если у сотен страниц в этой графе стоит главная — вот оно.

Ещё удобнее инструмент «Проверка URL» (переобход и проверка страницы): вставляете адрес товарной страницы и смотрите, какой канонический адрес определил Яндекс. Если он показывает не сам этот URL, а главную — подтверждение получено. В Google Search Console логика та же: отчёт «Индексирование страниц» покажет причину «Страница является копией. Google выбрал другую каноническую страницу, чем пользователь», а инструмент «Проверка URL» выведет отдельно «Канонический URL, указанный пользователем» и «Канонический URL, выбранный Google». Расхождение между ними — это ваша проблема в чистом виде. Подробнее про то, как проверить индексацию сайта в Яндексе, я писал отдельно — там пошагово по всем отчётам.

Как исправить на WordPress

На WordPress canonical почти всегда ставит SEO-плагин: Yoast SEO, Rank Math, All in One SEO или их аналоги. Поэтому первым делом ищите проблему в них, а не в коде темы.

  • Проверьте, не дублируется ли canonical. Частая беда WordPress — два SEO-плагина одновременно или плагин плюс кусок кода в теме, каждый из которых вставляет свой canonical. В коде страницы тогда две строки canonical с разными адресами. Оставьте один плагин, лишний отключите.
  • Проверьте настройки самого плагина. В Yoast и Rank Math у каждой страницы и записи в блоке SEO есть расширенные настройки с полем «Каноническая ссылка». Если кто-то вручную вписал туда адрес главной в шаблоне или через массовое редактирование — очистите поле, чтобы плагин генерировал canonical автоматически на сам URL.
  • Проверьте тему и хардкод. Если каноникал на главную или чужой домен вшит прямо в файл темы (обычно header.php), его надо убрать. Здесь без аккуратности с кодом не обойтись — одно неверное движение в PHP кладёт сайт. Если не уверены, это как раз тот случай, когда лучше передать доработку сайта специалисту, а не экспериментировать на живом магазине.
  • Проверьте кэш. После правок очистите кэш плагина кэширования и кэш на стороне сервера, иначе старый код с неверным canonical продолжит отдаваться поисковику.

После исправления откройте несколько страниц через просмотр кода и убедитесь, что теперь canonical на каждой указывает сам на себя. Только потом отправляйте страницы на переобход в Вебмастере.

Как исправить на Битриксе

В 1С-Битрикс canonical управляется иначе — через настройки SEO в модуле или через шаблон компонента. Логика правки та же, но места другие.

  • Настройки инфоблоков и SEO-модуля. В Битриксе есть встроенные SEO-инструменты для элементов и разделов каталога. Проверьте, не задан ли там шаблон канонического адреса, который жёстко подставляет главную или неверный URL. Канонический адрес должен формироваться из текущего элемента, а не из константы.
  • Шаблон сайта (header). Как и на WordPress, в header.php шаблона Битрикса может быть прописан статичный тег canonical. Ищите там строку с rel=»canonical» и проверяйте, что адрес формируется динамически — например, через переменную текущей страницы, а не вписан руками.
  • Параметры и ЧПУ. В Битриксе особенно легко получить дубли из-за параметров фильтров умного каталога. Здесь canonical как раз нужен — но правильный, ведущий с отфильтрованных страниц на основную страницу раздела, а не наоборот.
  • Композитный кэш. Битрикс агрессивно кэширует. После правок обязательно сбросьте кэш (в том числе композитный сайт), иначе вы будете смотреть на старую версию кода и думать, что ничего не изменилось.

На любом движке принцип один: canonical на обычной странице ведёт на неё саму, живую и отдающую код 200, без конфликта с noindex и без цепочек редиректов. Всё остальное — вариации этой мысли.

Коротко: что запомнить про canonical

  • Canonical — записка поисковику: «из похожих адресов вот этот главный, остальные его копии». Полезен против дублей от UTM-меток, фильтров, слэшей и www.
  • Смертельная ошибка — когда canonical со всех страниц ведёт на главную или на другой домен. Поиск склеивает весь сайт в одну точку и выкидывает остальные страницы из индекса.
  • Опасны также конфликт canonical с noindex/robots, цепочки и кольца каноникалов, ссылки на 301/404 и каноникал с посадочной на страницу пагинации.
  • Эта ошибка бьёт сильнее фильтра: страницы не понижаются, а исчезают из выдачи. Падение растянуто на 2–4 недели по мере переобхода.
  • Проверка за 5 минут: Ctrl+U на странице, поиск слова canonical — адрес должен указывать сам на себя. Масштаб смотрите в Вебмастере и Search Console по статусу «Неканоническая».
  • Исправление: на WordPress — SEO-плагин и тема, на Битриксе — SEO-модуль и header шаблона. После правок обязательно сбросьте кэш и отправьте страницы на переобход.

Чем закончилась история с магазином

В том проекте причина оказалась именно в обновлённой теме: разработчик темы вписал в header статичный canonical на главную «для SEO», не понимая, что делает. Мы убрали хардкод, настроили динамическую генерацию каноникала на каждую страницу, проверили десяток URL через просмотр кода и Вебмастер, сбросили кэш и отправили ключевые разделы на переобход. Первые страницы начали возвращаться в индекс через полторы недели, основной массив трафика восстановился за полтора месяца — почти ровно до прежних значений.

Мораль простая: техническая мелочь в коде может стоить бизнесу большей части поискового трафика, и обнаружить её без проверки невозможно — сайт при этом выглядит абсолютно рабочим. Поэтому я всегда советую после любого обновления темы, движка или переезда открыть код нескольких страниц и посмотреть на canonical. Это пять минут, которые иногда спасают месяцы работы. Если сомневаетесь в диагнозе или не хотите лезть в код самостоятельно — приходите на SEO-консультацию, разберём ваш случай предметно: часто причина обвала лежит именно в таких тихих технических деталях, а не в фильтрах и не в конкурентах.

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Игорь

Вот прямо про меня история. Обновили тему на магазине в марте, трафик потихоньку поехал вниз, а я грешил на сезонность. Пойду сейчас же смотреть код через Ctrl+U, спасибо что разжевали простыми словами.

Марина

А если canonical вообще нигде нет — это плохо? У меня блог на WordPress, страниц немного, фильтров никаких.

Анатолий Кузнецов автор

Для небольшого блога без фильтров и параметров отсутствие canonical не смертельно, но лучше, чтобы он был и указывал сам на себя. Практически все SEO-плагины (Yoast, Rank Math) ставят его автоматически. Проверьте, активен ли у вас такой плагин — скорее всего canonical всё-таки есть, просто вы его не заметили в коде.

Денис

У нас Битрикс, умный каталог с кучей фильтров. Как понять, что каноникалы настроены правильно, а не создают дубли на каждый чих фильтра?

Анатолий Кузнецов автор

Откройте пару отфильтрованных URL (например, с параметрами цены и бренда) и посмотрите их canonical через просмотр кода. Правильно, когда с таких страниц каноникал ведёт на основную страницу раздела без параметров. Если каждая отфильтрованная страница каноникалит сама на себя — они плодят дубли, и это надо чинить в настройках SEO умного каталога.

Ольга Петровна

Спасибо, наконец кто-то объяснил без заумных терминов. Всё думала, что за «неканоническая» в Вебмастере, теперь дошло.

Сергей

А через сколько после исправления страницы возвращаются? У нас магазин на 2000 позиций, боюсь, ждать придётся вечность.

Анатолий Кузнецов автор

На большом магазине быстрее всего — ускорить переобход приоритетных разделов через инструмент переобхода в Яндекс.Вебмастере, лимит там есть, но ключевые категории и топовые товары можно подтолкнуть вручную. Остальное вернётся по мере естественного обхода. По моему опыту, основная масса трафика на сайте в 2000 страниц восстанавливается за 1–2 месяца после правки, первые страницы — уже через 1–2 недели.

Алексей

Проверил свой лендинг — canonical стоит на тестовый поддомен разработчика, который мы полгода назад закрыли. Волосы дыбом. Хорошо что нашёл, спасибо огромное за статью.

Наталья

У меня на странице одновременно canonical сам на себя и noindex стоит. Это тот самый конфликт? И что убирать?

Анатолий Кузнецов автор

Да, это конфликт сигналов. Сначала определитесь, нужна ли эта страница в поиске. Если нужна — убирайте noindex и оставляйте canonical на саму себя. Если не нужна (служебная, корзина, личный кабинет) — оставляйте noindex, а canonical на неё в принципе не важен. Одновременно эти два тега на одной странице держать не стоит.

Владимир

Два SEO-плагина одновременно — прям про наш сайт. Стоял Yoast, потом подрядчик добавил All in One. В коде реально два canonical. Отключил лишний, посмотрю на результат.

Екатерина

А Google и Яндекс одинаково реагируют на неправильный canonical? Или один построже?

Анатолий Кузнецов автор

Оба воспринимают canonical как сильный сигнал, но Google считает его рекомендацией и иногда выбирает каноническую страницу по-своему, а Яндекс следует указанию строже. На практике неверный canonical вредит в обеих системах, просто в Яндексе выпадение из индекса обычно заметнее и быстрее. Чинить надо в любом случае, ориентируясь на обе панели вебмастеров.

Роман

Полезно. Добавлю в чек-лист после любого деплоя проверять canonical на трёх-четырёх страницах. Раньше вообще не думал, что такое возможно от одной строчки.

Татьяна

А можно как-то массово проверить весь сайт, а не открывать каждую страницу руками? У меня 800 товаров.

Анатолий Кузнецов автор

Да, для этого есть краулеры-сканеры сайта, которые обходят все URL и выгружают canonical каждой страницы в таблицу — там сразу видно, где каноникал ведёт не туда. Это стандартный шаг технического аудита. Для 800 товаров прогон занимает несколько минут, а на выходе вы получаете полный список проблемных страниц. Если нужно — помогу с таким прогоном и разбором результатов.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →
Прокрутить вверх