
HTML карта сайта — та самая страница со списком всех разделов, которую делают «потому что положено», а потом годами не обновляют. В половине проектов, которые ко мне попадают, она существует, лежит по адресу вида /sitemap/ и содержит ссылки на страницы, удалённые два года назад. В другой половине её нет вовсе, хотя у сайта тысяча карточек и половина из них лежит на пятом клике от главной. Обе ситуации решаются одинаково — пониманием, что эта страница делает и чего не делает.
Главная путаница начинается с названия. HTML-карта и файл sitemap.xml решают разные задачи, живут по разным адресам и оформляются по-разному, но в статьях их регулярно смешивают в один объект. Ниже — где проходит граница, каким сайтам карта действительно нужна, как собрать её так, чтобы она работала, и в каких случаях она приносит вред.
Чем HTML-карта отличается от sitemap.xml
Обе сущности перечисляют адреса сайта, но адресованы разным получателям и работают по разным правилам. HTML-карта — обычная страница сайта, доступная человеку: заголовок, разделы, ссылки, оформление в стиле остального сайта. Файл sitemap.xml — машинный формат, который человек в браузере видеть не должен, и который передаёт роботу список адресов с датами изменения.
| Признак | HTML-карта | sitemap.xml |
|---|---|---|
| Для кого | Для посетителя, попутно для робота | Только для поисковых роботов |
| Формат | Страница сайта с обычными ссылками | XML по описанному протоколу |
| Где лежит | Свой адрес в структуре, например /karta-sajta/ | Корень сайта, адрес указывается в robots.txt |
| Передаёт ли внутренние ссылки | Да, это обычные ссылки страницы | Нет, это просто перечень адресов |
| Влияет ли на глубину вложенности | Да, сокращает путь от главной | Нет |
| Обязательна ли | Нет, по ситуации | Практически всегда для сайта больше сотни страниц |
| Что бывает при устаревании | Битые ссылки, которые видит человек | Ошибки в отчётах вебмастера |
Ключевое отличие в четвёртой строке. Адрес в XML-файле — это заявка «посмотри вот сюда». Ссылка в HTML-карте — это полноценная внутренняя ссылка, которая участвует в обходе так же, как ссылка из меню или из текста статьи. Именно поэтому HTML-карта не заменяется XML-файлом и не заменяет его: они делают разное.
Из этого же следует ответ на популярный вопрос, нужно ли делать обе. Нужно, если у сайта есть проблема, которую решает каждая. XML-файл решает задачу «робот не знает про часть адресов». HTML-карта решает задачу «до части страниц слишком долго идти по ссылкам». Это разные болезни, и лечатся они по отдельности.
Каким сайтам она нужна, а каким бесполезна
Массовая рекомендация «сделайте карту сайта всем» — вредная, потому что на маленьком сайте карта не даёт ничего, а поддержки требует. Решение принимается по двум величинам: сколько страниц на сайте и на каком клике от главной лежат самые дальние из них.
| Тип сайта | Нужна ли HTML-карта | Почему |
|---|---|---|
| Сайт-визитка, до 20 страниц | Нет | Всё доступно из меню за один-два клика |
| Сайт услуг, 20–100 страниц | По ситуации | Нужна, если есть разделы, не попавшие в меню |
| Блог с рубриками и архивом | Да, в виде списка рубрик и разделов | Старые записи уходят вглубь пагинации |
| Каталог с фильтрами и подкатегориями | Да, по категориям, не по товарам | Категории третьего уровня иначе теряются |
| Магазин с тысячами карточек | Да, но только структура | Перечислять товары бессмысленно, их слишком много |
| Сайт с закрытым личным кабинетом | Да, для публичной части | Показывать надо только то, что открыто всем |
Проверка, которую стоит сделать до принятия решения, занимает полчаса. Просканируйте сайт любым краулером и посмотрите распределение страниц по глубине вложенности — числу кликов от главной. Если заметная доля страниц лежит на четвёртом уровне и глубже, карта решает реальную проблему. Если весь сайт умещается в три уровня, карта будет украшением.
Отдельный случай — сайты, где навигация сделана скриптами: меню, которое разворачивается только по клику и не содержит обычных ссылок в разметке, фильтры, работающие без перезагрузки, бесконечная прокрутка вместо пагинации. Здесь HTML-карта нередко оказывается единственным местом, где ссылки существуют в виде, доступном роботу без выполнения скриптов. Это не повод оставлять навигацию сломанной, но карта временно закрывает дыру.
Что карта меняет в обходе и во внутренних ссылках
Механика простая, и её стоит понимать, чтобы не ждать от карты чудес. Робот идёт по ссылкам. Чем короче путь от главной до страницы, тем чаще робот туда заглядывает и тем выше шанс, что свежая правка будет замечена быстро. Страница, до которой надо кликнуть пять раз, обходится реже страницы, до которой надо кликнуть дважды.
HTML-карта сокращает этот путь. Если карта доступна из подвала на любой странице, то любая страница, перечисленная в карте, оказывается на расстоянии двух кликов от чего угодно. Это меняет две вещи: частоту обхода дальних разделов и распределение внутреннего веса, который расходится по ссылкам.
Смежный материал по теме — «HTML теги для сайта».
Здесь же кроется главное ограничение. Вес, который страница передаёт по ссылкам, делится между всеми ссылками на ней. Карта с тремя тысячами ссылок передаёт каждой из них исчезающе малую долю — примерно столько же, сколько не передаёт вовсе. Поэтому огромная карта работает как средство обхода, но не как средство усиления. Отсюда практическое правило: чем короче карта, тем больше пользы от каждой её ссылки.
И то, чего карта не делает. Она не индексирует страницы — индексацией управляют другие механизмы. Она не выводит страницу в топ. Она не исправляет плохую структуру: если категории названы неудачно, а половина товаров лежит не в тех разделах, карта просто аккуратно перечислит этот беспорядок.
Состав: что включать и чего в карте быть не должно
Помогу с продвижением: SEO-специалист Анатолий Кузнецов — вывожу сайты в топ Яндекса белыми методами.
Ошибка, которую я вижу чаще прочих, — попытка перечислить в карте вообще всё. Так делают генераторы по умолчанию, и результат получается контрпродуктивным: страница на несколько мегабайт, которую никто не открывает и по которой ничего не найти.
| Что | Включать | Пояснение |
|---|---|---|
| Разделы и категории всех уровней | Да | Ядро карты, ради этого она и делается |
| Страницы услуг, посадочные | Да | Их обычно немного, и они самые ценные |
| Информационные страницы: о компании, доставка, гарантии | Да | Часто не попадают в меню |
| Рубрики и теги блога | Да, рубрики; теги — по ситуации | Теги включают только если они осмысленные и их немного |
| Отдельные статьи блога | Только если их меньше сотни | Иначе выносят в отдельную карту раздела |
| Карточки товаров | Нет | Их слишком много, они меняются, для них есть XML |
| Страницы пагинации | Нет | Раздувают карту и ничего не добавляют |
| Адреса с параметрами и сортировками | Нет | Плодят дубли и тратят обход |
| Служебные и закрытые от индексации страницы | Нет | Прямое противоречие: ссылаемся на то, что закрыли |
| Корзина, оформление заказа, личный кабинет | Нет | Не имеют смысла вне сценария покупки |
Последние две строки требуют отдельного внимания. Ссылка из карты на страницу, закрытую от индексации, — это не просто бесполезная строка, а противоречивый сигнал: сайт одновременно говорит «не индексируй» и активно ссылается. Разбираться в таких противоречиях поиск не обязан, и результат бывает непредсказуемым. Проверьте карту на такие ссылки отдельно — при автогенерации они появляются сами.
Хороший ориентир по объёму: карта должна помещаться на два-три экрана прокрутки на настольном мониторе. Для большинства сайтов услуг это тридцать-восемьдесят ссылок, для каталога — список категорий и подкатегорий без товаров. Если получается больше двухсот ссылок, карту пора разбивать.
Если интересно направление с сайтами — базу даю в своём курсе:
Структура, объём и текст ссылок
Карта повторяет структуру сайта, а не изобретает свою. Разделы верхнего уровня — заголовками, вложенные — списками под ними. Вложенность передаётся вложенными списками, а не отступами в тексте: так структура читается и человеком, и роботом.
- Заголовки разделов. Название раздела делается заголовком второго или третьего уровня и одновременно ссылкой на сам раздел. Часто про это забывают, и раздел оказывается единственным местом карты, на которое нельзя перейти.
- Вложенные списки. Подкатегории — вложенный список внутри пункта родителя. Глубже трёх уровней не идут: дальше карта перестаёт читаться.
- Текст ссылки. Название страницы, а не адрес и не «подробнее». Ссылка вида «Монтаж систем отопления в частном доме» полезна и человеку, и поиску; ссылка вида «/uslugi/otoplenie-2/» бесполезна обоим.
- Никаких обрезаний. Если название длинное, его сокращают осмысленно, а не многоточием посередине.
- Порядок. Разделы — в том же порядке, что в меню. Внутри раздела — по алфавиту или по логике каталога, но одинаково по всей карте.
Про заголовок самой страницы. Название «Карта сайта» — нормально и понятно; изобретать «Навигатор по разделам» смысла нет. В заголовке первого уровня можно уточнить принадлежность: «Карта сайта» плюс название компании или тематика. Небольшой вводный абзац перед списком тоже уместен: он объясняет человеку, что он видит, и снимает у страницы статус голого перечня ссылок.
Если нужны детали, смотрите «Создание сайта на чистом html коде».
Оформление — как у остального сайта: та же шапка, тот же подвал, те же шрифты. Карта, свёрстанная отдельно от шаблона, выглядит как техническая страница и работает соответственно. И обязательно ссылка на карту из подвала — на всех страницах сайта. Без этой ссылки карта существует, но не работает, потому что до неё самой никто не доходит.
Как разбить большую карту и не превратить её в свалку
Когда сайт большой, единая карта становится неуправляемой. Разбивают её не механически по числу ссылок, а по разделам — так, чтобы каждая часть оставалась осмысленной страницей.
- Главная карта содержит только верхний уровень: разделы, крупные категории, ключевые информационные страницы. Пятьдесят-восемьдесят ссылок.
- У каждого крупного раздела появляется своя карта: карта каталога, карта блога, карта услуг. Ссылки на них — с главной карты.
- Карта раздела перечисляет содержимое только этого раздела и содержит ссылку обратно на главную карту.
- Если раздел всё ещё огромен — например, блог за десять лет, — карта раздела строится по годам или по рубрикам, а не сплошным списком.
Такая схема сохраняет главное свойство: любая страница остаётся в двух-трёх кликах от любой другой, при этом каждая карта читаема и не весит по мегабайту. Обратные ссылки между картами обязательны — иначе получается набор тупиков.
Чего делать не надо — вводить на карте пагинацию. Карта сайта, разбитая на двадцать страниц по кнопке «далее», хуже отсутствия карты: путь до дальних страниц не сократился, а прибавилось двадцать однотипных страниц с почти одинаковым содержимым. Если объём требует пагинации, значит, разбивать надо по смыслу, а не по счётчику.
Способы создания: руками, средствами CMS, генератором
Способ выбирается по одному критерию — как часто меняется структура сайта. Если разделы не меняются годами, ручная карта переживёт любую систему. Если каталог живёт и категории появляются еженедельно, ручная карта устареет через месяц.
| Способ | Кому подходит | Чем плох |
|---|---|---|
| Вручную в редакторе страницы | Сайты услуг со стабильной структурой | Устаревает молча, никто не замечает |
| Штатный модуль или шаблон CMS | Большинство сайтов на популярных системах | По умолчанию тянет всё подряд, требует настройки состава |
| Внешний онлайн-генератор | Разовая задача, сайт без CMS | Даёт срез на дату, обновлять придётся руками |
| Собственный шаблон по данным сайта | Каталоги, магазины, большие порталы | Нужен разработчик, зато состав под контролем |
Если нужна помощь по теме — мой курс по SEO.
Практическая рекомендация: для сайта на распространённой системе управления берите штатный модуль и обязательно проходите его настройки. Именно там задаётся, включать ли карточки товаров, страницы пагинации, теги и служебные разделы. Значения по умолчанию почти всегда стоят на «включать всё», и именно из-за них появляются карты на три тысячи ссылок.
Если карта строится собственным шаблоном, задайте в нём одно правило: страница попадает в карту только если она открыта для индексации и отдаёт код 200. Это одно условие снимает большую часть проблем, которые в ручном варианте приходится вылавливать проверками.
Подробнее об этом — в статье «Карта сайта Sitemap».
Ошибки, из-за которых карта вредит
Карта — не тот элемент, который может навредить сильно, но обесценить себя целиком способна легко.
- Устаревшие ссылки. Самая частая: карту сделали при запуске и забыли. Через год половина ссылок ведёт на 404, и человек, зашедший на карту, получает подтверждение, что сайт заброшен.
- Ссылки на редиректы. Адреса поменялись, редиректы настроили, карту не обновили. Формально всё работает, фактически каждый переход идёт лишним шагом, а робот тратит обход на промежуточные адреса.
- Карта закрыта от индексации. Встречается регулярно: страницу закрыли «как служебную». После этого ссылки с неё теряют смысл, а вся затея — тоже.
- Карта не связана с сайтом. Страница есть, ссылки с подвала нет. До карты не доходит ни человек, ни робот.
- Ссылки скриптом вместо разметки. Раскрывающиеся ветки, реализованные так, что в исходном коде страницы ссылок нет. Карта выглядит правильно и не работает.
- Дубль карты по нескольким адресам. /sitemap/, /karta-sajta/ и /map/ с одинаковым содержимым. Лишние копии убирают, оставляя один адрес.
- Попытка набить карту ключевыми словами. Ссылки с переписанными «под запрос» названиями, не совпадающими с реальными заголовками страниц, — это дезориентация посетителя и повод для подозрений к сайту.
- Карта вместо нормальной навигации. Если до раздела нельзя дойти иначе как через карту, проблема не в карте, а в меню.
Общее у всех восьми: карта перестаёт отражать реальное состояние сайта. Как только это происходит, она превращается из инструмента навигации в источник битых переходов.
Проверка и поддержка
Карта — единственная страница сайта, которую полезно проверять по расписанию, потому что её содержимое зависит от всего остального сайта. Порядок проверки короткий и делается за двадцать минут.
- Пройти по всем ссылкам карты краулером и получить список кодов ответа. Всё, что не 200, — в работу: битые убрать, редиректы заменить конечными адресами.
- Сверить состав: появились ли новые разделы, которых в карте нет. Особенно после запуска новых услуг или категорий.
- Проверить, что сама карта открыта для индексации и отдаёт 200.
- Открыть исходный код страницы и убедиться, что ссылки присутствуют в разметке, а не подставляются скриптом.
- Проверить наличие ссылки на карту в подвале — на всех типах страниц, включая карточки и страницы разделов.
- Открыть карту с телефона: длинные вложенные списки на узком экране часто разъезжаются.
Периодичность зависит от сайта. Для сайта услуг достаточно раза в квартал и обязательно после любых изменений структуры. Для каталога, где категории появляются регулярно, проверку удобнее привязать не к календарю, а к событию: добавили раздел — сразу проверили карту. Для автоматически формируемой карты проверяют не состав, а правила формирования, и делают это после каждого обновления системы: обновления часто сбрасывают настройки модуля к значениям по умолчанию.
Частые вопросы
Нужна ли HTML-карта, если есть sitemap.xml? Это разные инструменты. XML-файл сообщает роботу список адресов, HTML-карта сокращает путь по ссылкам и доступна человеку. XML-файл нужен почти любому сайту от сотни страниц, HTML-карта — тем, у кого есть страницы глубже третьего уровня или навигация построена на скриптах.
Сколько ссылок допустимо на одной странице карты? Жёсткого предела нет, но осмысленный ориентир — до двухсот. Дальше страница тяжелеет, вес на каждую ссылку падает, а человек в списке перестаёт ориентироваться. Больше двухсот — разбивайте по разделам.
Помогает ли карта ускорить попадание новых страниц в поиск? Косвенно: новая страница, попавшая в карту, оказывается ближе к главной по числу кликов и обходится чаще. Но для быстрого сообщения о новых адресах есть более прямые средства — XML-файл и инструменты переобхода в панелях вебмастера.
Стоит ли выводить в карте карточки товаров? Нет. Их слишком много, они появляются и исчезают, а ценность каждой ссылки в таком списке стремится к нулю. В карте перечисляют структуру — категории и подкатегории; товары обслуживаются XML-файлом и нормальной навигацией по каталогу.
По какому адресу размещать карту? По любому читаемому и постоянному: /karta-sajta/ или /sitemap/ — оба варианта нормальны. Важнее не адрес, а то, чтобы он не менялся и был один. Если исторически карт несколько, лишние склеивают редиректом на основную.
Что делать, если карта была, но её удалили при переделке сайта? Проверьте, какой код отдаёт старый адрес. Если он был в индексе и на него есть ссылки, поставьте редирект на новый адрес карты или на главную. Оставлять 404 на странице, которая годами была в подвале сайта, не стоит.
Коротко
- HTML-карта и sitemap.xml решают разные задачи: первая сокращает путь по ссылкам и видна человеку, второй сообщает роботу список адресов.
- Карта нужна сайтам с глубокой вложенностью и навигацией на скриптах; сайту из двадцати страниц она не даёт ничего.
- В карту включают структуру — разделы, категории, услуги, информационные страницы; карточки товаров, пагинацию и закрытые страницы не включают.
- Больше двухсот ссылок на странице — сигнал разбивать карту по разделам, но не пагинацией.
- Карта без ссылки из подвала не работает; ссылки, подставляемые скриптом, для обхода не существуют.
- Главная угроза — устаревание: раз в квартал карту прогоняют краулером и чистят битые адреса и редиректы.
Если непонятно, нужна ли карта именно вашему сайту и что в неё включать при вашей структуре, приходите на SEO-консультацию: посмотрим распределение страниц по глубине вложенности и решим, где у сайта реально теряются разделы, а где карта будет просто украшением подвала.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Леонид Покровский
Проверил свою карту краулером после статьи. Из ста двадцати ссылок сорок ведут на редиректы, восемь на 404. Карту делали при запуске сайта четыре года назад, потом дважды меняли структуру каталога. Стыдно, но полезно.
Анатолий Кузнецов автор
Ровно та картина, ради которой раздел про проверку и написан. Порядок действий такой: сначала замените сорок редиректных адресов на конечные — это делается разом, если у вас есть выгрузка «старый адрес — новый адрес». Восемь битых разберите руками: у части наверняка есть замена в новой структуре, остальные просто уберите из карты. И сразу решите вопрос на будущее: если каталог у вас меняется, ручную карту лучше заменить формируемой по данным сайта, с условием «в карту попадает только то, что открыто и отдаёт 200». Тогда через год эта история не повторится.
Елизавета Осокина
Строка про то, что карта не исправляет плохую структуру, хорошо отрезвляет. У нас в каталоге куча категорий-однодневок, созданных под акции, и первым порывом было запихнуть их все в карту. Теперь думаю, что их надо не показывать, а убирать.
Дина Опалина
Не соглашусь про пагинацию. У нас блог на девятьсот статей, разбить по рубрикам не получается — статьи в нескольких рубриках сразу. Пагинация на карте выглядит единственным вариантом, иначе страница будет весить как книга.
Анатолий Кузнецов автор
Пересечение рубрик решается не пагинацией, а другим принципом разбивки. Для блога хорошо работает деление по годам: статья принадлежит одному году, пересечений не бывает в принципе. Главная карта блога перечисляет годы и рубрики, а карта года содержит статьи этого года списком с датами. Девятьсот статей за несколько лет дают по сто-двести на страницу, что вполне читаемо. Второй вариант, если года выглядят неестественно, — назначить каждой статье одну основную рубрику для целей навигации, а остальные оставить как дополнительные метки. Пагинация же плоха тем, что не решает исходную задачу: страницы с двадцатой страницы карты остаются такими же далёкими, какими были.
Марта Прохорова
Пункт про ссылки, которые подставляются скриптом, — это про нас. Дизайнер сделал красивое дерево с раскрывающимися ветками, в исходном коде пусто. Смотрели на карту и радовались, а робот видел заголовок и ничего больше.
Юлиан Пономарёв
Вопрос по составу. У нас сайт услуг, около шестидесяти страниц, но есть большой раздел с отзывами клиентов — каждый отзыв отдельной страницей, их около двухсот. Включать их в карту или нет? С одной стороны, это контент, с другой — двести ссылок ради отзывов.
Анатолий Кузнецов автор
Сначала я бы усомнился в самой схеме: двести отдельных страниц под отзывы на сайте из шестидесяти страниц — это перекос, и каждая такая страница почти наверняка тонкая по содержанию. Если оставлять как есть, в главную карту выносите только раздел отзывов целиком, одной ссылкой, а внутри раздела сделайте нормальную навигацию с группировкой по услугам. Отдельная карта отзывов оправдана, только если эти страницы реально получают показы из поиска — проверьте по Вебмастеру. Если показов у них нет, вопрос не в карте: страницы не работают, и правильное решение — собрать отзывы в блоки на страницах соответствующих услуг, где они и приносят пользу.
Вадим Осетров
Сравнительная таблица в начале закрыла спор, который у нас тянулся месяц. Подрядчик утверждал, что HTML-карта не нужна, потому что «есть XML», и звучало убедительно. Теперь понятно, что это два разных механизма и один другой не отменяет.
София Оттепелева
Про настройки штатного модуля — прямо в точку. У нас плагин по умолчанию вывел в карту все теги, все архивы по месяцам и страницы авторов. Получилось около тысячи ссылок, из которых полезных штук сорок. Пошла разбираться в галочках.
Евгения Островская
Хочу уточнить про глубину вложенности. Вы пишете считать клики от главной, но у нас в шапке выпадающее меню, из которого доступны все категории сразу. Получается, глубина у всего каталога равна двум, и карта не нужна? Или меню считается иначе?
Анатолий Кузнецов автор
Считается по ссылкам в разметке, а не по тому, сколько кликов делает человек. Если выпадающее меню отдаётся в исходном коде страницы целиком, со всеми ссылками на категории, то да — глубина каталога равна двум, и карта вам мало что добавит. Проверить просто: откройте исходный код любой страницы и поищите в нём адрес вложенной категории. Если он там есть — всё в порядке. Если меню подгружается скриптом по наведению, ссылок в разметке нет, и реальная глубина совсем другая. Заодно посмотрите глубину карточек товаров: даже при доступных категориях товары нередко лежат за пагинацией на пятом-шестом уровне, и это отдельная задача, которую карта не решает.
Яна Пугачёва
Спасибо за формулировку «карта аккуратно перечислит беспорядок». Мы как раз хотели картой прикрыть то, что каталог собран по трём разным логикам одновременно. Видимо, придётся сначала разобраться с категориями.
Раиса Одинцова
Добавлю наблюдение. Мы обновили систему управления, и модуль карты сбросил настройки к заводским — в карту снова полезли служебные страницы. Заметили случайно через два месяца. В статье про это написано, подтверждаю, что бывает.
Лев Опанасенко
Про закрытые от индексации страницы в карте — не понимаю, почему это проблема. Ну ссылается сайт на закрытую страницу, робот её просто не индексирует, и всё. Где вред?
Анатолий Кузнецов автор
Катастрофы действительно не будет, вред тут накопительный и складывается из трёх мелочей. Первая: обход тратится на адреса, которые вы сами объявили ненужными, — на большом сайте это заметная доля. Вторая: вес карты делится между всеми ссылками, и часть его уходит в страницы, которые не участвуют в поиске, то есть в никуда. Третья и самая практичная: такая карта вводит в заблуждение вас же. Через полгода вы смотрите на карту, видите раздел и считаете, что он работает, а он закрыт. Поэтому правило простое: в карте только то, что должно быть в поиске, — тогда карта заодно служит наглядным списком того, чем вы реально занимаетесь.
Любовь Постовалова
Хороший пункт про мобильную проверку. У нас вложенные списки на телефоне съезжали за край экрана, и последний уровень просто не читался. Ни разу не открывали карту с телефона за три года — незачем было, а надо было.