Карта сайта — это файл, который говорит поисковику: вот полный перечень страниц, которые стоит обойти. Её редко открывают вручную, поэтому дефекты в ней живут годами и никем не замечаются: сайт работает, страницы открываются, всё вроде бы хорошо.
Мы проверяли карты сайта десятков украинских магазинов — и собственных клиентских проектов, и сторонних сайтов в рыночных выборках. Ниже — типичные поломки с реальными цифрами.
Дефект первый: дубли, которые раздувают файл в 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 в ювелирных. Ещё в двух случаях карта сайта вела на другой домен — остаток от переезда, который никто не убрал.
Как проверить свою карту за десять минут
- Откройте
https://ваш-сайт.com.ua/sitemap.xml в браузере. Если пусто или 404 — первая проблема уже найдена.
- Проверьте
robots.txt: есть ли строка Sitemap: и ведёт ли она на рабочий адрес.
- Посчитайте дубли. Сохраните карту и посчитайте общее количество записей и количество уникальных адресов:
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
Два числа должны совпадать. Если второе вдвое-втрое больше — у вас дублирование.
- Если сайт двуязычный, проверьте, есть ли в карте адреса обоих языков:
grep -c '/ua/' /tmp/all.txt и то же самое для второй языковой ветки.
- Возьмите 20 случайных адресов из карты и проверьте коды ответа — все должны отдавать 200, а не 301 или 404.
Границы этих данных
Цифры по конкретным сайтам — это замеры на конкретную дату, и часть из них касается проектов, которые с тех пор могли измениться. Названий мы сознательно не приводим: цель — показать типичные поломки и способ их найти, а не устраивать публичный разбор чужих или собственных клиентских сайтов.
Рыночные выборки маленькие (4–8 сайтов на нишу), поэтому доли по нишам характеризуют именно эти сайты на дату проверки, а не рынок в целом.