XML-карта сайта в Битрикс – это не опциональный элемент, а необходимый инструмент для корректной индексации страниц поисковыми системами. Без sitemap.xml поисковики могут пропускать важные разделы, особенно если навигация реализована нестандартно или контент генерируется динамически. В Битрикс создание карты сайта возможно через встроенный функционал или с помощью дополнительных модулей.
Для запуска генерации карты сайта в редакции Битрикс: Управление сайтом необходимо активировать модуль Поисковая оптимизация. После установки модуля переходим в административной панели в раздел «Настройки» → «Инструменты» → «Карта сайта». Здесь можно создать новую карту, указав путь к файлу, приоритетность разделов, частоту обновлений и включаемые типы контента (инфоблоки, страницы, каталоги).
Если используются ЧПУ-URL, важно удостовериться, что они корректно добавляются в sitemap. Битрикс автоматически формирует ссылки на основе структуры сайта, но в случае нестандартных компонентов потребуется ручная настройка. Это делается через фильтры подключения пользовательских URL или через доработку шаблонов компонента.
После генерации карты сайт должен отдать файл по адресу /sitemap.xml. Необходимо проверить доступность файла в браузере и проанализировать его в инструментах Google Search Console и Яндекс.Вебмастер. Если используются поддомены, для каждого из них формируется отдельная карта с последующей интеграцией в индексный файл sitemap-index.xml.
Где найти встроенный функционал sitemap в административной панели Битрикс
Для работы с картой сайта в «1С-Битрикс» перейдите в административную панель под пользователем с правами администратора.
Откройте раздел «Контент» в верхнем меню, далее выберите «Структура сайта». В выпадающем списке найдите пункт «Карта сайта». Если его нет, убедитесь, что установлен модуль «Поисковая оптимизация (SEO)» в разделе «Настройки» → «Модули».
После перехода в раздел «Карта сайта» вы попадёте в список уже созданных sitemap-файлов или форму для создания новой карты. Используйте кнопку «Добавить» для генерации нового sitemap.xml.
При создании укажите следующие параметры:
- Домен сайта, к которому относится карта
- Типы данных: страницы, инфоблоки, торговые предложения
- Уровень вложенности
- Период обновления
После сохранения карта сайта будет доступна по адресу вида /sitemap.xml или в указанной вами директории. Обязательно проверьте права доступа к файлу и настройте автоматическое обновление через агент или cron.
Настройка параметров sitemap для разных типов контента
В административной панели Битрикс перейдите в «SEO» → «Sitemap» и выберите или создайте новый sitemap. Для каждого типа контента (инфоблоки, разделы, элементы, статические страницы) можно задать индивидуальные параметры включения.
Для инфоблоков укажите, какие именно разделы и элементы должны попадать в карту сайта. Отключите неиспользуемые типы – это сократит объем sitemap и ускорит его обработку поисковыми системами.
Установите частоту обновления (changefreq) и приоритет (priority) для каждого типа. Например, для новостей логично указать daily и приоритет 0.8, а для архивных страниц – yearly и 0.3.
Если используются ЧПУ, убедитесь, что ссылки в sitemap соответствуют правилам URL rewriting. Для мультиязычных сайтов включите генерацию URL для каждого языка, чтобы избежать дублирования в индексации.
Проверяйте наличие и корректность robots.txt – запрещенные разделы не попадут в карту сайта, даже если они включены в настройках sitemap.
Для динамического контента, например, каталога с фильтрами, отключите попадание страниц с параметрами в sitemap, установив правила исключений по шаблонам URL.
Добавление разделов и страниц вручную в sitemap
В Bitrix sitemap формируется автоматически, но при необходимости можно добавить нестандартные разделы и страницы вручную. Это требуется, если определённые страницы не индексируются из-за отсутствия в структуре или исключения из автогенерации.
- Перейдите в административную панель: Контент → Структура сайта → Sitemap.
- Откройте нужную sitemap-группу или создайте новую.
- Нажмите Добавить и выберите Страница или файл.
- Укажите полный путь, начиная с корня сайта, например:
/custom-section/page.php
. - Отметьте флаг Включить в sitemap.
- Установите частоту обновления и приоритет, если требуется индивидуальная настройка для поисковиков:
- Частота:
weekly
илиmonthly
для статичных страниц - Приоритет: от
0.1
до1.0
в зависимости от важности страницы
- Частота:
- Сохраните изменения и пересоберите sitemap вручную.
Для контроля над добавленными путями проверьте содержимое файла sitemap.xml, расположенного в корне сайта. При использовании ЧПУ-режима следите, чтобы URL соответствовал конечному адресу после обработки маршрутизатором.
Избегайте добавления дублирующих ссылок, иначе это может привести к санкциям со стороны поисковых систем.
Исключение определённых страниц из sitemap
Для исключения отдельных страниц из sitemap в Битрикс, необходимо настроить компонент генерации карты сайта или внести изменения в файл urlrewrite.php
и структуру модуля «Поисковая оптимизация».
Если используется модуль SEO (модуль «Поисковая оптимизация» в административной панели), перейдите в Настройки → Инструменты → SEO → Sitemap. При редактировании sitemap можно вручную снять галочки с разделов и страниц, которые не должны попадать в карту. Изменения применяются сразу после сохранения.
Для автоматического исключения определённых URL используйте обработчик события OnBeforeSitemapAddUrl
. Пример кода:
AddEventHandler("seo", "OnBeforeSitemapAddUrl", "ExcludeCustomPagesFromSitemap");
function ExcludeCustomPagesFromSitemap(&$arFields) {
$excluded = [
"/personal/",
"/cart/",
"/order/",
"/auth/"
];
foreach ($excluded as $path) {
if (strpos($arFields["URL"], $path) === 0) {
return false;
}
}
}
Также можно исключить страницы через robots.txt
, однако такие записи не влияют на sitemap.xml. Для исключения именно из карты сайта необходимо либо вручную редактировать генерацию, либо использовать событие.
Если sitemap создаётся вручную или сторонним скриптом, просто не включайте ненужные URL в XML-файл. Не указывайте страницы с параметрами (например, ?sort=
), личный кабинет и корзину.
Для комплексных сайтов рекомендуется использовать фильтрацию по шаблону URL: регулярные выражения или маски, например /personal/*
, чтобы автоматически исключать группы страниц при обновлении карты сайта.
Создание sitemap для мультиязычного сайта в Битрикс
Для корректной индексации мультиязычного сайта необходимо учесть структуру URL и правильно настроить sitemap для каждой языковой версии. В Битрикс это реализуется через модуль «Поисковая оптимизация (SEO)».
- Перейдите в админку: Контент → SEO → Sitemap.
- Создайте отдельную карту сайта для каждого языка. Например:
/ru/sitemap.xml
– для русской версии/en/sitemap.xml
– для английской версии
- Для каждой sitemap укажите уникальный путь и выберите соответствующий корневой раздел сайта (например,
/ru/
или/en/
). - Убедитесь, что в настройках каждой sitemap включены только страницы соответствующего языка.
- Добавьте в
robots.txt
ссылки на каждую карту:Sitemap: https://example.com/ru/sitemap.xml
Sitemap: https://example.com/en/sitemap.xml
Для поддержки hreflang добавьте обработку тегов <link rel="alternate" hreflang="..." />
в шаблоны страниц. Это делается через компонент bitrix:main.include
или программно в header.php
.
- Определите текущий язык и доступные локали.
- Сформируйте массив ссылок на соответствующие языковые версии.
- Выведите теги
hreflang
в<head>
:
<link rel="alternate" hreflang="ru" href="https://example.com/ru/..." />
<link rel="alternate" hreflang="en" href="https://example.com/en/..." />
После генерации всех sitemap загрузите их в Google Search Console и Яндекс.Вебмастер, указав каждую языковую версию отдельно.
Автоматическое обновление sitemap при изменении контента
Для включения автоматического обновления перейдите в административной панели в раздел «SEO» → «Sitemap». Откройте нужную карту сайта и активируйте опцию «Автоматически пересоздавать при изменении сайта». После сохранения система будет отслеживать изменения в инфоблоках, новостях, страницах и автоматически запускать пересоздание sitemap.
Если используется кастомный компонент или нестандартная логика добавления контента, необходимо вручную вызывать метод CBXSitemap::Generate()
после изменения данных. Этот вызов можно встроить в обработчик события, например, OnAfterIBlockElementAdd
, OnAfterIBlockElementUpdate
или OnAfterIBlockElementDelete
.
При использовании cron добавьте задачу с вызовом /bitrix/php_interface/cron/sitemap_update.php
и разместите в ней скрипт генерации карты сайта. Для избежания избыточных запросов к серверу, настройте запуск с интервалом не чаще одного раза в 15–30 минут.
Также рекомендуется хранить sitemap в статическом виде с помощью модуля «Главный модуль» → «Настройки» → «Проактивная защита», чтобы снизить нагрузку при частых запросах поисковиков.
Проверка и генерация sitemap с помощью cron в Битрикс
Для автоматической генерации sitemap в Битрикс используется планировщик заданий cron. Это позволяет регулярно обновлять карту сайта без участия администратора.
Сначала необходимо узнать ID sitemap. Перейдите в административную панель: «SEO» → «Файлы Sitemap». В списке найдите нужную карту и скопируйте значение параметра ID
из URL, например: sitemap_edit.php?ID=1
.
Создайте скрипт запуска генерации. В корне сайта (обычно это /bitrix
) используется файл /bitrix/php_interface/cron/sitemap_generate.php
. Если его нет – создайте вручную со следующим содержимым:
<?php
$_SERVER["DOCUMENT_ROOT"] = "/var/www/site"; // Указать путь к корню сайта
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
if (CModule::IncludeModule("seo")) {
$sitemapID = 1; // Указать нужный ID sitemap
$engine = new \Bitrix\Seo\SitemapEngine();
$Sitemap = new \Bitrix\Seo\Sitemap($sitemapID);
$engine->run($Sitemap);
}
?>
Замените /var/www/site
на фактический путь к вашему сайту и $sitemapID
на актуальный ID карты.
Добавьте задание в cron с помощью команды crontab -e
. Пример строки для запуска скрипта каждый день в 02:00:
0 2 * * * /usr/bin/php /var/www/site/bitrix/php_interface/cron/sitemap_generate.php
Проверьте права доступа к скрипту и PHP-исполняемому файлу. Убедитесь, что cron работает от имени пользователя с правами на запуск PHP и доступ к директории сайта.
Для диагностики добавьте логирование:
0 2 * * * /usr/bin/php /var/www/site/bitrix/php_interface/cron/sitemap_generate.php >> /var/log/sitemap_cron.log 2>&1
Проверяйте логи на предмет ошибок и убедитесь, что sitemap обновляется – проверьте дату изменения файла sitemap.xml
или его содержимое.
Отправка sitemap в Яндекс.Вебмастер и Google Search Console
После генерации sitemap.xml в Битрикс, разместите файл в корне сайта, чтобы он был доступен по адресу: https://ваш_домен.ru/sitemap.xml.
Для Яндекс.Вебмастер перейдите в интерфейс сервиса и выберите нужный сайт. Откройте раздел «Индексирование» → «Файлы Sitemap». Нажмите кнопку «Добавить» и введите полный путь к файлу. Яндекс проверит доступность файла и начнёт обработку. Убедитесь, что в robots.txt присутствует строка: Sitemap: https://ваш_домен.ru/sitemap.xml
.
В Google Search Console выберите проект сайта, откройте раздел «Sitemaps» в меню слева. В поле «Добавить файл Sitemap» введите только имя файла – например, sitemap.xml
– без указания домена, и отправьте. Google проанализирует файл и отобразит статус обработки. Следите за ошибками и предупреждениями, чтобы устранить возможные проблемы с индексацией.
После отправки карта сайта будет периодически сканироваться поисковыми системами автоматически. Для ускорения переобхода после обновлений можно вручную повторно отправить файл через соответствующий интерфейс.
Вопрос-ответ:
Какой файл считается картой сайта в Битрикс, и где он обычно размещается?
Картой сайта чаще всего является файл с именем `sitemap.xml`. В Битрикс его можно разместить в корневой директории сайта. Именно оттуда его сможет найти поисковый робот. При генерации карты сайта средствами Битрикс файл создаётся автоматически, если включена соответствующая опция в настройках. Также возможно использовать пользовательские скрипты, которые формируют этот файл по определённым правилам.
Обязательно ли использовать встроенный модуль для создания sitemap или можно обойтись без него?
Использование встроенного модуля не обязательно. Если сайт нестандартной структуры или требуется особая логика включения разделов, можно создать карту сайта вручную или с помощью пользовательского скрипта на PHP. Однако встроенный модуль упрощает задачу, так как автоматически учитывает изменения на сайте и может обновлять карту по расписанию. Такой подход удобен при стандартной структуре сайта.
Как включить автоматическое обновление карты сайта в Битрикс?
Чтобы настроить автоматическое обновление sitemap, необходимо воспользоваться агентами или задачами cron. В административной части Битрикс есть возможность настроить расписание обновления модуля «Поисковая оптимизация», который и отвечает за генерацию sitemap. Также можно настроить cron-задачу, которая будет запускать соответствующий скрипт. Это особенно полезно для сайтов с частыми обновлениями контента.
Какие разделы сайта стоит включать в карту сайта, а какие лучше исключить?
В карту сайта рекомендуется включать страницы, которые должны индексироваться поисковыми системами: основные разделы, статьи, карточки товаров, категории. Исключать стоит технические страницы (например, корзина, личный кабинет, фильтры), дубли и контент, который не несёт ценности для поисковиков. Встроенный модуль Битрикс позволяет вручную указывать, какие страницы включать или исключать.
Почему поисковые системы не видят sitemap, хотя он создан?
Причин может быть несколько. Во-первых, необходимо убедиться, что файл sitemap.xml доступен по ссылке, указанной в robots.txt. Во-вторых, стоит проверить права доступа на файл и каталог, где он расположен. Если всё настроено правильно, но поисковики по-прежнему не видят карту, можно отправить её вручную через инструменты для вебмастеров, такие как Google Search Console или Яндекс.Вебмастер. Также важно убедиться, что файл не содержит ошибок в структуре.