Лайфхак по генерации карты сайты для большого каталога товаров

Автор: Алексей Анженко

На одном из сайтов, работающем на платформе "1С-Битрикс", возникла проблема с генерацией карты сайта (sitemap.xml) из-за большого объема товаров (более 130 тыс.). Стандартный механизм генерации и обновления карты сайта часто выдавал ошибки и создавал сложности в работе контент-менеджеров. Учитывая, что ядро и модули системы давно не обновлялись, было принято решение создать независимый механизм.

План включал следующие шаги:

  • Создание общего массива ссылок на страницы сайта: статичные страницы, разделы каталога, товары, новости.
  • Разделение общего массива ссылок на блоки по 50 тыс. штук, что соответствует ограничению формата файла карты сайта.
  • Формирование из этих блоков файлов XML карт сайта и их объединение в едином формате sitemap index.

Был реализован скрипт, который устранил устаревшие и невалидные ссылки, включая ссылки на служебные страницы (регистрация, смена пароля, личный кабинет и др.).

Время формирования карты сайта новым скриптом составило около 3 секунд. Также был создан "агент" в системе "Битрикс", выполняющий эту функцию раз в сутки.

Новый механизм позволяет добавлять улучшения для карты сайта:

  • Создание карты изображений товаров.
  • Удаление ссылок на отсутствующие товары.