XML-карта сайта (sitemap DLE) остаётся одним из базовых инструментов для ускорения индексации страниц в поисковых системах. DataLife Engine содержит встроенный генератор карты сайта, который позволяет создать sitemap DLE без установки сторонних плагинов. В этой инструкции разберём настройку встроенного модуля, автоматическое обновление, работу с большими объёмами контента и интеграцию с протоколом IndexNow. Все примеры проверены на версиях DLE 16.0–17.x, актуальных на 2026 год.
Встроенная карта сайта в DLE
Разработчики DataLife Engine включили модуль генерации XML-карты в ядро CMS. Это избавляет вебмастера от поиска и настройки сторонних решений. Модуль учитывает структуру сайта на DLE: новости, статические страницы, категории, теги. Сгенерированный файл sitemap.xml по умолчанию размещается в корне сайта, где его ожидают поисковые роботы.
Для работы с картой перейдите в административную панель: Настройки системы → Настройки карты сайта. Интерфейс представляет собой набор чекбоксов и полей с параметрами для каждого типа материалов. Ниже мы детально рассмотрим эти настройки и их влияние на индексацию.
Если предыдущие версии DLE генерировали только список новостей, то в современных релизах появилась поддержка статических страниц, категорий и тегов. Это даёт гибкость, но требует осознанного выбора, чтобы не допустить попадания в sitemap служебных или дублирующих страниц. Подробнее о том, как DLE взаимодействует с поисковиками, можно прочитать в статье DataLife Engine — SEO и индексация.
Настройка генерации
Параметры генератора определяют, какие URL попадут в sitemap, с каким приоритетом и частотой обновления. Неправильно выставленные значения способны создать обратный эффект — замедлить сканирование или привести к индексации мусорных страниц. Рассмотрим каждый блок настроек отдельно.
Новости и статьи
Основной контент любого сайта на DLE — новости. Именно их добавление в карту сайта наиболее критично. В настройках вы увидите опцию «Включать новости» и дополнительные фильтры по статусу публикации.
Рекомендуется включать только новости со статусом «Опубликовано». Статусы «На модерации», «Черновик» или «Заблокировано» должны быть исключены. Это предотвращает отправку поисковикам недоступных или незаконченных страниц и сокращает количество ошибок в отчётах вебмастера. Для этого в интерфейсе достаточно выбрать только опубликованные новости — обычно галочка «Опубликованные» рядом с типом контента.
Также можно задать приоритет для новостей. Значение priority в sitemap.xml варьируется от 0.0 до 1.0. Для новостей обычно выставляют 0.8 или 0.9, если вы хотите подчеркнуть их значимость перед другими страницами. Однако поисковые системы используют приоритет как один из сотен сигналов, поэтому не стоит переоценивать его влияние.
Кроме того, для каждой новости автоматически подставляется дата последнего изменения (lastmod) — она берётся из даты публикации или даты редактирования. Это полезно для поисковиков: они видят свежесть контента и чаще переобходят недавно обновлённые страницы.
Категории и теги
Включение страниц категорий в sitemap DLE в большинстве случаев оправдано. Категории служат навигационными хабами и агрегируют новости по темам. Поисковые системы расценивают их как важные страницы, если на них есть уникальный описательный текст и чёткая структура.
С тегами ситуация сложнее. Типичный новостной сайт на DLE может иметь несколько тысяч тегов, многие из которых содержат всего 1–2 публикации. Массовое включение тегов в карту сайта создаёт множество малополезных URL, что размывает краулинговый бюджет и может восприниматься как спамная структура. Рекомендация: отключайте теги в sitemap, если они не несут самостоятельной ценности или не дополнены уникальным контентом. Если же на страницах тегов есть описания и подборки материалов, можно включить их, но с низким приоритетом (0.3–0.5) и редкой частотой обновления.
Практика показывает: для новостных порталов с посещаемостью выше 100 000 в сутки мы отключали теги полностью. Индексация категорий шла стабильно, а сервер поисковика не тратил время на обход тысяч одинаковых страниц. Подробнее о комплексном продвижении читайте в руководстве SEO-оптимизация DataLife Engine сайта.
Ниже таблица с типовыми настройками приоритетов для разных типов материалов в sitemap DLE.
| Тип страницы | Рекомендуемый приоритет | Частота обновления (changefreq) | Примечание |
|---|---|---|---|
| Новости | 0.8–0.9 | daily | Основной контент |
| Статические страницы | 0.6–0.7 | weekly | Информационные разделы, контакты |
| Категории | 0.6–0.7 | daily | Если содержат описания и свежие списки |
| Теги | 0.3–0.5 | weekly | Только при наличии уникального контента |
| Пользовательские страницы (доп. поля) | 0.5 | monthly | Редко меняющиеся |
Автоматическое обновление
По умолчанию DLE генерирует sitemap при каждом сохранении новости или редактировании категории. Для небольших сайтов с редкими публикациями это приемлемо. Но как только число посетителей и частота добавления материалов растут, динамическая генерация создаёт ощутимую нагрузку на сервер. Выход — настроить периодическое обновление через cron.
В DLE, начиная с версии 16.0, можно отключить автоматическую генерацию при каждом действии и перевести её на cron. Для этого в настройках карты сайта уберите галочку «Генерировать при сохранении». Затем создайте задачу в crontab, которая будет запускать скрипт с нужной периодичностью. Путь к скрипту обычно /engine/cron.php, но перед использованием проверьте наличие модуля генерации карты в списке задач cron внутри административной панели (раздел Управление задачами).
Пример записи в crontab для запуска каждые 6 часов:
0 */6 * * * /usr/bin/php /var/www/site.ru/engine/cron.php sitemap
Параметр sitemap указывает конкретную задачу, если скрипт cron.php поддерживает выборочный запуск. В некоторых сборках DLE можно использовать прямые ссылки: php -q /путь/к/сайту/engine/modules/sitemap.php. Уточните документацию вашей версии.
Важный момент — ограничение частоты генерации для снижения нагрузки. Если на сайте публикуется сто материалов в час, cron раз в 5 минут может нагружать базу данных лишними запросами. Реализовать ограничение можно двумя способами. Первый: в самом скрипте генерации добавить проверку времени последней сборки; если файл sitemap.xml изменялся менее часа назад, прерывать выполнение. Второй: выставить разумный интервал в cron (например, раз в час) и смириться с задержкой индексации до 60 минут. Для новостных сайтов задержка в час редко бывает критичной; для высокочастотных проектов используйте IndexNow, о котором расскажем далее.
Пример кода для ограничения по времени в пользовательском скрипте-обёртке:
<?php
$sitemapFile = '/var/www/site.ru/sitemap.xml';
$minInterval = 3600; // 1 час
if (file_exists($sitemapFile) && (time() - filemtime($sitemapFile)) < $minInterval) {
exit('Sitemap обновлён недавно, пропускаем.');
}
// Здесь вызов основного генератора DLE
include_once 'engine/modules/sitemap.php';
Обработка большого количества публикаций
Стандартные ограничения: один файл sitemap.xml не должен содержать более 50 000 URL, а его размер в несжатом виде не должен превышать 50 МБ. Для порталов с десятками и сотнями тысяч новостей одиночный файл быстро упирается в лимиты. DLE поддерживает Sitemap Index — механизм разбиения на несколько файлов с индексным файлом-указателем.
В настройках карты сайта найдите опцию «Разбивать на части» или «Использовать индексный sitemap». Активируйте её и задайте максимальное количество ссылок в одном файле. Обычно устанавливают значение 10 000 или 20 000, чтобы каждый файл гарантированно укладывался в лимиты даже при длинных URL. DLE самостоятельно создаст файлы вида sitemap1.xml, sitemap2.xml и т.д., а также главный sitemap.xml, который будет содержать ссылки на эти файлы.
Кроме разбиения по количеству, можно настроить разбиение по датам. Это удобно, если сайт имеет архивный контент, который редко изменяется. Например, для новостей за прошлые годы создать отдельные статические файлы, которые не перегенерируются. В DLE такой функционал обычно реализуется через кастомный скрипт или плагин. Стандартный модуль разбивает последовательно, но управлять составом частей можно путём указания периода. Например, в параметрах указать «включать новости за последние N дней» и генерировать только актуальную часть, а архивные страницы добавлять вручную в индексный файл.
При использовании Sitemap Index важно проверить, что все файлы доступны по прямым ссылкам, а в robots.txt указана ссылка именно на индексный файл (обычно Sitemap: https://site.ru/sitemap.xml). Поисковые системы автоматически распознают индексный sitemap и загружают вложенные файлы.
Добавление News Sitemap для Google News
Если вы подаёте заявку на включение в Google News, отдельный новостной sitemap становится обязательным элементом. Он содержит только URL статей, опубликованных за последние 48 часов, с указанием названия, даты публикации и языковой метки. DLE не генерирует News Sitemap из коробки, но его можно создать, написав собственный скрипт или установив специализированный модуль.
Требования к новостному sitemap по состоянию на 2026 год: файл должен быть в формате xml с namespace xmlns:news="http://www.google.com/schemas/sitemap-news/0.9". Каждая запись включает обязательные теги <news:publication>, <news:name>, <news:language>, <news:publication_date> и <news:title>.
Пример записи новостного sitemap для одной публикации:
<url>
<loc>https://site.ru/news/12345-zagolovok.html</loc>
<news:news>
<news:publication>
<news:name>Название издания</news:name>
<news:language>ru</news:language>
</news:publication>
<news:publication_date>2026-03-17T14:30:00+03:00</news:publication_date>
<news:title>Заголовок статьи</news:title>
</news:news>
</url>
Генерацию такого файла можно повесить на cron с периодом 15–30 минут. Скрипт должен выбирать из базы DLE новости с датой публикации в пределах 48 часов, проверять их статус и формировать xml. Не забудьте добавить ссылку на News Sitemap в robots.txt или в индексный sitemap-файл, если он поддерживается.
Мультидоменные конфигурации
Некоторые сайты на DLE работают в режиме мультидоменности: одна админ-панель обслуживает сразу несколько доменов или поддоменов (например, региональные версии). В таком случае sitemap должен содержать корректные URL для каждого домена. DLE позволяет настроить генерацию с учётом текущего домена через константу HTTP_HOST или путём указания базового URL в настройках.
В параметрах карты сайта есть поле «Основной адрес сайта». Если вы используете несколько доменов, можно вписать канонический домен, чтобы все URL в sitemap вели на него. Для отдельных поддоменов (например, en.site.ru) потребуется либо отдельная установка DLE со своим sitemap, либо расширенный скрипт, который при генерации подставляет нужный домен в зависимости от контекста.
Ещё один нюанс — если мультидоменность реализована через одну базу с префиксами таблиц, генератор DLE может включать все новости без фильтрации по домену. Тогда следует добавить в запрос генерации условие отбора по принадлежности к определённой категории или дополнительному полю. Без фильтрации часть URL будет вести на несуществующие в рамках конкретного домена страницы, что ухудшит сигналы для поисковиков.
Пингование и IndexNow
Даже идеально настроенный sitemap сам по себе не гарантирует быстрой индексации. Поисковые роботы приходят по расписанию, которое зависит от авторитетности домена и частоты обновлений. Чтобы ускорить процесс, используют механизмы пингования и протокол IndexNow.
Классическое пингование: отправка GET-запроса на адреса поисковиков с параметром sitemap. DLE может делать это автоматически при генерации. В настройках карты сайта нужно включить опцию «Уведомлять поисковые системы» и задать список URL для пинга. По умолчанию там прописаны основные системы, но стоит проверить их актуальность. На 2026 год рабочие эндпоинты:
- https://www.google.com/ping?sitemap=
- https://webmaster.yandex.ru/ping?sitemap=
- https://www.bing.com/webmaster/ping?sitemap=
Однако пингование не гарантирует мгновенную индексацию. Google может проигнорировать запрос, а Яндекс обрабатывает пинг с задержкой. Протокол IndexNow решает эту проблему, отправляя список URL напрямую в точку приёма. С 2022 года его поддерживают Яндекс, Bing, Naver, а с 2024 года — Google в экспериментальном режиме. В 2026 году для DLE доступны готовые решения интеграции IndexNow.
Интеграция с IndexNow в DLE может быть выполнена через плагин или вручную. Суть работы: при публикации или редактировании новости скрипт отправляет POST-запрос на адрес IndexNow API, содержащий массив URL-адресов. Для этого нужно сгенерировать API-ключ, сохранить его в файле на сайте и передавать в каждом запросе. Пример простейшего кода на хуке после добавления новости:
<?php
$urls = ['https://site.ru/news/12345-zagolovok.html'];
$apiKey = 'ваш_ключ_IndexNow';
$endpoint = 'https://api.indexnow.org/indexnow';
$payload = json_encode([
'host' => 'site.ru',
'key' => $apiKey,
'keyLocation' => 'https://site.ru/'.$apiKey.'.txt',
'urlList' => $urls
]);
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
Этот код можно оформить как плагин DLE, который вызывает функцию при событии «сохранение новости». Важно соблюдать ограничение: IndexNow требует наличия файла-ключа в корне сайта (например, ключ.txt) со значением ключа. Это проверка владения доменом.
Для упрощения настройки IndexNow и автоматической отправки URL можно использовать сервис Index-Now.ru. Он предоставляет готовый модуль для DLE, который автоматически отправляет новые и обновлённые страницы в Яндекс, Google, Bing через единый API. Это экономит время на ручную интеграцию и обновление ключей.
FAQ
Обязательно ли включать статические страницы в sitemap DLE?
Не обязательно, но рекомендуется. Статические страницы (контакты, о проекте, правила) имеют низкую частоту обновления, но они важны для общей оценки сайта. Включайте их с приоритетом 0.6–0.7 и периодичностью weekly или monthly.
Как исключить новости со статусом «На модерации» из карты сайта?
В настройках модуля генерации sitemap отметьте только статус «Опубликовано». Если такой опции нет (в некоторых версиях), используйте фильтр в SQL-запросе: в файле, отвечающем за генерацию, добавьте условие WHERE approve = 1. Стандартно DLE исключает неопубликованные новости, если вы выбрали правильную галочку.
Что делать, если sitemap не обновляется автоматически после публикации?
Проверьте, не отключена ли опция «Генерировать при сохранении». Если она активна, убедитесь в правах на запись файла sitemap.xml (должен быть доступен для записи PHP). Иногда проблема связана с кешированием: очистите кеш DLE в админпанели. При использовании cron убедитесь, что задача выполняется и не возникает ошибок в логах.
В каком формате нужно указывать дату в news sitemap?
Дата должна соответствовать стандарту W3C DateTime с часовым поясом, например, 2026-03-17T14:30:00+03:00. Используйте функцию PHP date('c', $timestamp), которая формирует корректный формат. Для статей, опубликованных более 48 часов назад, не включайте их в news sitemap.
Как проверить, проиндексированы ли страницы после отправки sitemap DLE?
Зайдите в Google Search Console или Яндекс.Вебмастер и откройте отчёт по sitemap. Там отображается количество отправленных и проиндексированных URL. Также можно использовать оператор site:вашсайт.ru в поиске прямо в браузере, но точные цифры дают только панели вебмастеров.
Даже после корректной настройки карты сайта и пингования индексация может занимать часы или дни. Сервис Index-Now.ru позволяет отправлять URL напрямую через IndexNow API в Яндекс, Google и Bing, обеспечивая практически моментальное добавление новых страниц в очередь сканирования. Для сайтов на DataLife Engine легко подключить готовый плагин и автоматизировать уведомления при публикации контента.