Как автоматически создать XML Sitemap в WordPress с помощью кода

XML Sitemap — важный элемент SEO-оптимизации сайта на WordPress. Он помогает поисковым системам быстро и качественно индексировать все страницы сайта. Несмотря на наличие множества плагинов, иногда требуется легкое и кастомное решение без лишних дополнений. В этой статье мы подробно разберем, как автоматически создавать и обновлять XML Sitemap с помощью собственного кода.

Что такое XML Sitemap и зачем он нужен

XML Sitemap — это файл в формате XML, который содержит список URL всех важных страниц сайта. Поисковые роботы используют его для эффективного обхода сайта и лучшего понимания структуры контента. Без sitemap некоторые страницы могут индексироваться хуже, что негативно скажется на видимости сайта в поиске.

Для WordPress часто используют плагины вроде Clearfy Pro или WP Robot, однако если нужна легкая кастомизация и минимум нагрузки, имеет смысл написать свой скрипт.

Создание XML Sitemap вручную с помощью PHP и WordPress API

Давайте напишем простейший генератор sitemap, который будет автоматически обновляться при публикации или обновлении постов. Для этого добавим код в файл functions.php вашей темы или создадим небольшой плагин.

Ключевые шаги

  • Получить все опубликованные записи нужных типов (посты, страницы).
  • Сформировать XML-документ с правильной структурой.
  • Сохранить файл sitemap.xml в корне сайта.
  • Обновлять sitemap при изменении контента.

Пример кода генерации sitemap

function wprobot_generate_sitemap() {
    $posts = get_posts(array(
        'post_type' => array('post', 'page'),
        'post_status' => 'publish',
        'numberposts' => -1
    ));

    $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset>');

    foreach($posts as $post) {
        $url = $xml->addChild('url');
        $url->addChild('loc', get_permalink($post->ID));
        $url->addChild('lastmod', get_post_modified_time('c', true, $post->ID));
        $url->addChild('changefreq', 'weekly');
        $url->addChild('priority', '0.8');
    }

    $path = ABSPATH . 'sitemap.xml';
    $xml->asXML($path);
}

// Запускаем генерацию sitemap при публикации или обновлении записи
add_action('save_post', 'wprobot_generate_sitemap');
add_action('deleted_post', 'wprobot_generate_sitemap');
add_action('publish_post', 'wprobot_generate_sitemap');

Этот код проходит по всем опубликованным постам и страницам, создает файл sitemap.xml в корне сайта и автоматически обновляет его при изменениях контента.

Оптимизация и расширение функционала XML Sitemap

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

  • Исключать из sitemap определенные категории или теги.
  • Добавлять в sitemap пользовательские типы записей (например, товары WooCommerce).
  • Разбивать sitemap на несколько файлов при большом количестве URL (sitemap index).
  • Добавлять изображения и видео в sitemap для лучшей индексации мультимедиа.

Пример фильтрации по категориям

Чтобы исключить из sitemap посты из категории «Новости», добавим фильтр:

function wprobot_generate_sitemap_filtered() {
    $excluded_cat = get_category_by_slug('novosti');
    $excluded_cat_id = $excluded_cat ? $excluded_cat->term_id : 0;

    $args = array(
        'post_type' => array('post', 'page'),
        'post_status' => 'publish',
        'numberposts' => -1,
        'category__not_in' => array($excluded_cat_id)
    );

    $posts = get_posts($args);

    // Далее аналогично формируем XML как в предыдущем примере
}

Автоматизация и интеграция с плагинами для удобства

Если хочется максимально автоматизировать процесс и при этом иметь гибкие настройки, стоит обратить внимание на плагины как Clearfy Pro. Он умеет создавать SEO-оптимизированные sitemap без нагрузки и конфликтов с другими плагинами.

Пример использования Clearfy Pro для sitemap:

  • Устанавливаем и активируем Clearfy Pro.
  • В настройках SEO включаем генерацию sitemap.
  • Настраиваем исключения и дополнительные параметры (частота обновления, приоритет).
  • Плагин автоматически создает и обновляет sitemap.xml, который можно указать в Google Search Console.

Такой подход позволит сэкономить время и избежать ошибок при самостоятельном кодировании.

Проверка и отладка XML Sitemap

После создания sitemap важно проверить его корректность. Для этого можно использовать онлайн-инструменты:

  • Google Search Console — загрузить sitemap и проверить статус индексации.
  • XML Sitemap Validator — проверить синтаксис и структуру файла.
  • Проверить доступность sitemap по адресу https://ваш-сайт.ru/sitemap.xml.

Ошибки в sitemap могут привести к плохой индексации, поэтому регулярный мониторинг критичен.

Заключение

Создание и автоматическое обновление XML Sitemap — важный элемент технической оптимизации WordPress сайта. Собственный код дает больше контроля и легкости, а плагины, такие как Clearfy Pro, помогают быстро и безопасно реализовать все задачи. Используйте приведенные примеры для настройки sitemap под нужды вашего проекта и улучшайте индексацию сайта в поисковых системах.

WooCommerce: автоматическое изменение стоимости и наличия товаров через Webhook с подробным примером
13.06.2026
Как автоматически удалять старые медиафайлы в WordPress
24.03.2026
Автоматический импорт данных из Excel в WordPress
28.12.2025
Как создавать динамические таблицы в WordPress с помощью шорткодов и AJAX
09.01.2026
Как автоматически создавать уникальные изображения для постов в WordPress
06.04.2026