Техническое SEO

Карта сайта, которая врёт: 25 537 записей на 6 857 адресов

Карта сайта либо пустая, либо раздута дублями в 3–4 раза, либо ведёт только на одну языковую версию из двух. Мы проверили десятки украинских магазинов и собрали типичные дефекты с конкретными цифрами — от файла на 0 байт до 33% адресов, ведущих не на тот товар.

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

Мы проверяли карты сайта десятков украинских магазинов — и собственных клиентских проектов, и сторонних сайтов в рыночных выборках. Ниже — типичные поломки с реальными цифрами.

Дефект первый: дубли, которые раздувают файл в 3–4 раза

Самая распространённая поломка. Товар попадает в карту сайта столько раз, в скольких категориях он лежит, — и каждый раз под другим адресом.

Конкретные замеры с разных сайтов:

  • магазин инструмента: 25 537 записей в карте, 6 857 уникальных адресов — каждый товар в среднем 3,9 раза
  • магазин садовой техники: 33 493 записи, 8 690 уникальных — 3,85 дубля на адрес
  • магазин садового инвентаря: 4 236 записей, 1 300 уникальных — 3,3 дубля
  • магазин специй: 3 971 запись, 590 уникальных
  • магазин косметики: 271 запись, 116 уникальных

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

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

Дефект второй: карта есть, но она пустая

Отдельный и даже более коварный случай: /sitemap.xml отдаёт код 200 — то есть «всё в порядке», — но тело ответа нулевого размера.

Мы видели это на нескольких магазинах подряд: файл существует, сервер отвечает успешно, внутри ничего. Автоматические проверки такой сайт проходят — они смотрят на код ответа. Поисковик получает пустой список и обходит сайт только по внутренним ссылкам.

Вариация той же проблемы: robots.txt содержит строку Sitemap: https://site.com.ua/sitemap.xml, а сам файл отдаёт 404. Мы встречали это на четырёх сайтах в разных нишах — в трёх случаях строка была унаследована из дефолтного шаблона движка и никогда не проверялась.

И ещё одна: строка Sitemap в robots.txt закомментирована заготовкой вроде # Sitemap: https://site.com/sitemap.xml — то есть в шаблоне она была, но её никто не раскомментировал и не подставил реальный адрес.

Дефект третий: карта ведёт только на одну языковую версию

Двуязычный сайт, в котором карта сайта содержит адреса только одного из языков. Для поисковика вторая языковая версия фактически не существует — её приходится находить случайно, по внутренним ссылкам.

Примеры из замеров:

  • магазин специй: все 590 уникальных адресов ведут на русскую версию, хотя в коде объявлен <html lang="uk"> и hreflang для украинской
  • магазин инструмента: 100% адресов в карте — русскоязычные, тогда как сайт по умолчанию отдаёт украинскую версию
  • магазин садовой техники: в карте присутствует только украиноязычная ветка, русская версия, заявленная в hreflang, в карту не попала
  • оптовый магазин косметики: ни одного русскоязычного адреса в карте, несмотря на реализованную двуязычность с переключателем

Показательно, что направление «пропажи» разное: иногда исчезает украинская версия, иногда русская. Это значит, что причина не в языковой политике, а в том, как настроен генератор карты, — и что никто не проверял результат после настройки.

Дефект четвёртый: адреса в карте ведут не туда

Самый дорогой случай из тех, что мы встречали. На магазине белья в выборке из 150 случайных товарных адресов из карты сайта 50 (33%) отдали переадресацию 301 — и все 50 вели на другую позицию: другой размер или другой цвет (70B вместо 70A, L вместо XL, белый вместо чёрного).

В масштабе того каталога это около 37 тысяч адресов, по которым покупатель из поиска попадает не на тот товар, который искал. Для магазина, где размер — главная причина возврата, это не техническая мелочь.

Дефект пятый: карта по нестандартному адресу

Иногда рабочая карта сайта существует, но лежит не там, куда первыми идут краулеры и инструменты аудита. Мы видели сайт, где /sitemap.xml отдавал пустое тело, /sitemap_index.xml — строку «SEO XML Sitemap Generator PRO is disabled», а настоящая карта лежала по нестандартному адресу и спасалась только тем, что была прописана в robots.txt.

Обратный случай тоже бывает: карта полная и корректная, но директивы Sitemap в robots.txt нет — и поисковик должен сам догадаться о её существовании.

Что показывают рыночные выборки

В выборках, измеренных 7–8 августа 2026 года, без пригодной карты сайта оказались: 6 сайтов из 39 в технической выборке, 2 из 5 в электроинструменте, 2 из 7 в оптике, 1 из 6 в канцтоварах, 1 из 4 в ювелирных. Ещё в двух случаях карта сайта вела на другой домен — остаток от переезда, который никто не убрал.

Как проверить свою карту за десять минут

  1. Откройте https://ваш-сайт.com.ua/sitemap.xml в браузере. Если пусто или 404 — первая проблема уже найдена.
  2. Проверьте robots.txt: есть ли строка Sitemap: и ведёт ли она на рабочий адрес.
  3. Посчитайте дубли. Сохраните карту и посчитайте общее количество записей и количество уникальных адресов:

curl -s https://ваш-сайт.com.ua/sitemap.xml | grep -o '<loc>[^<]*' | sed 's/<loc>//' | sort | tee /tmp/all.txt | uniq | wc -l && wc -l < /tmp/all.txt

Два числа должны совпадать. Если второе вдвое-втрое больше — у вас дублирование.

  1. Если сайт двуязычный, проверьте, есть ли в карте адреса обоих языков: grep -c '/ua/' /tmp/all.txt и то же самое для второй языковой ветки.
  2. Возьмите 20 случайных адресов из карты и проверьте коды ответа — все должны отдавать 200, а не 301 или 404.

Границы этих данных

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

Рыночные выборки маленькие (4–8 сайтов на нишу), поэтому доли по нишам характеризуют именно эти сайты на дату проверки, а не рынок в целом.

Теги

SEOE-commerce

Вам понравилась статья?

Ваше мнение помогает нам создавать лучший контент

Поделитесь с друзьями

Нашли что-нибудь полезное?

Помогите другим узнать это — поделитесь статьей в социальных сетях

Спасибо, что помогаете нам расти

Основатель LIONEX

Владислав Чистяков

Пишет о том, что делает руками: интернет-магазины на OpenCart, приложения на Next.js, интеграции и скорость сайтов. В статьях — замеры и проверки, которые читатель может повторить на своём проекте, а не общие советы. Коммерческая разработка с 2015 года.

Вопросы

Частые вопросы

Ответы на популярные вопросы по теме

Как понять, есть ли дубли в моей карте сайта?

Посчитайте общее количество записей <loc> и количество уникальных адресов. Если первое число вдвое-втрое больше второго, у вас дублирование. В наших замерах встречались соотношения 25 537 записей на 6 857 уникальных адресов.

Карта сайта отдаёт код 200, но пустая. Это проблема?

Да, и коварная: автоматические проверки такой сайт проходят, потому что смотрят на код ответа. Поисковик получает пустой список и обходит сайт только по внутренним ссылкам.

Вредят ли дубли в карте сайта позициям?

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

Что делать, если карта ведёт только на одну языковую версию?

Проверить настройки генератора карты: в большинстве движков языковые ветки добавляются отдельно. Это частая причина, почему вторая языковая версия годами не попадает в индекс.

Как проверить, ведут ли адреса в карте на рабочие страницы?

Возьмите 20 случайных адресов из карты и проверьте коды ответа — все должны отдавать 200. В одном из наших замеров 33% адресов из выборки отдавали 301, и все вели на другой размер или цвет товара.

Получайте лучшие статьи на почту

Подпишитесь на нашу рассылку и получайте полезные советы, инсайты и новости о веб-разработке, маркетинге и бизнесе.

Мы уважаем вашу конфиденциальность. Отписаться можно в любой момент.

Ещё в блоге

Похожие статьи

Мы потеряли собственный магазин вместе с доменом: что об этом знает веб-архивТехническое SEO

Мы потеряли собственный магазин вместе с доменом: что об этом знает веб-архив

17 сентября 2026 мы пересчитали по веб-архиву, как выглядела потеря собственного магазина вместе с доменом: 2 378 снимков главной в марте 2022, первый 301 первого апреля, последний снимок нашего содержимого 18 мая. Показываем, что из архива восстанавливается, а что нет.

Читать дальше
IndexNow отвечал 200, а страницы не поданы: 6 файлов вместо 867 адресовТехническое SEO

IndexNow отвечал 200, а страницы не поданы: 6 файлов вместо 867 адресов

Со 2 августа по 3 сентября 2026 наш скрипт IndexNow подавал в Bing шесть адресов файлов карты сайта вместо страниц, и на каждую подачу приходило «успешно». Разбираем, почему код 200 ничего не доказал и как за 15 минут проверить, что именно подает ваш модуль.

Читать дальше
Первый экран прыгает: как мы искали сдвиг от шрифта и что не сработалоБыстродействие сайта

Первый экран прыгает: как мы искали сдвиг от шрифта и что не сработало

17.08.2026 аудит показал CLS 0,2283 на десктопной главной нашего сайта. Причиной оказался шрифт: единица ch в абзаце и наклоненная декоративная полоса. Разбираем, какие советы по замерам не помогли, что дало 0,0056 и как проверить свой сайт.

Читать дальше