Как сделать автоматический Sitemap в WordPress

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

Почему автоматический Sitemap важен для WordPress

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

Ручное обновление Sitemap неудобно и требует времени — автоматизация решает эту проблему.

Использование плагинов для создания Sitemap в WordPress

Yoast SEO — универсальное решение

Плагин Yoast SEO автоматически генерирует Sitemap после активации функции в настройках. Он поддерживает все стандартные типы контента, включая пользовательские типы записей и таксономии.

Чтобы включить Sitemap в Yoast:

  • Перейдите в раздел "SEO" → "Общие" → вкладка "Функции".
  • Включите опцию "XML-карты сайта".
  • Нажмите на ссылку "Просмотреть карту сайта" для проверки.

Преимущества Yoast SEO — простота использования, совместимость и регулярные обновления. Однако для некоторых задач нужна кастомизация.

Google XML Sitemaps — специализированный плагин

Этот плагин фокусируется исключительно на генерации Sitemap. Он позволяет гибко настроить, какие типы записей и таксономии включать, а также приоритеты и частоту обновления.

Для активации:

  • Установите и активируйте плагин.
  • Перейдите в "Настройки" → "XML-Sitemap".
  • Настройте параметры согласно требованиям.

Google XML Sitemaps хорошо подходит для пользователей, которым не нужны лишние функции SEO-плагинов.

Создание кастомного автоматического Sitemap с помощью кода

Иногда готовые плагины не дают нужной гибкости, тогда пригодится свой скрипт. Ниже пример функции, которая генерирует Sitemap в формате XML для всех постов и страниц, обновляясь динамически.

function wppartner_generate_sitemap() {
    header('Content-Type: application/xml; charset=utf-8');
    echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

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

    $query = new WP_Query($args);

    while($query->have_posts()) {
        $query->the_post();
        echo '<url>';
        echo '<loc>' . get_permalink() . '</loc>';
        echo '<lastmod>' . get_the_modified_date('c') . '</lastmod>';
        echo '<changefreq>weekly</changefreq>';
        echo '<priority>0.8</priority>';
        echo '</url>';
    }

    wp_reset_postdata();

    echo '</urlset>';
}

// Регистрация endpoint для sitemap
add_action('init', function() {
    add_rewrite_rule('^sitemap\.xml$', 'index.php?sitemap=1', 'top');
});

// Обработка запроса на sitemap
add_action('template_redirect', function() {
    if (get_query_var('sitemap')) {
        wppartner_generate_sitemap();
        exit;
    }
});

// Добавление переменной запроса
add_filter('query_vars', function($vars) {
    $vars[] = 'sitemap';
    return $vars;
});

Этот код создаёт URL вида https://ваш-сайт.ru/sitemap.xml, который динамически выводит актуальный XML sitemap. Если нужно — можно расширить его для поддержки пользовательских типов записей, таксономий, мультиязычности и других нюансов.

Как оптимизировать автоматический Sitemap для производительности и SEO

Разделение большого Sitemap на части

Если у вас более 50 000 URL или файл превышает 50 МБ, стандарт Sitemap требует разбивки на несколько файлов. Плагины Yoast SEO и Google XML Sitemaps делают это автоматически. В кастомных решениях нужно реализовать логику разделения вручную.

Пример подхода — разделить посты по датам или типам записей и создать отдельные Sitemap для каждой категории.

Исключение ненужных страниц из Sitemap

Не все страницы должны попадать в Sitemap: страницы с низкой ценностью, приватные, страницы авторов и т.д. В Yoast SEO можно настроить исключения через интерфейс. В кастомном коде — фильтровать запрос WP_Query или использовать мета-поля.

Использование плагина Clearfy Pro для управления Sitemap

Clearfy Pro позволяет гибко управлять Sitemap, отключать лишние типы записей, оптимизировать структуру и ускорять индексацию. Это удобный инструмент для оптимизации SEO без ручного кода.

Проверка и обновление Sitemap

После настройки Sitemap обязательно проверьте его валидность с помощью сервисов, например, Google Search Console или https://www.xml-sitemaps.com/validate-xml-sitemap.html. Это поможет выявить ошибки и улучшить структуру.

Также рекомендуется добавить ссылку на Sitemap в файл robots.txt:

User-agent: *
Allow: /
Sitemap: https://ваш-сайт.ru/sitemap.xml

Это позволит поисковым системам быстрее находить карту сайта.

Вам также может быть интересно:

Как отключить XML-RPC в WordPress и защитить сайт от лишних запросов
03.09.2026
Как защитить WordPress от bruteforce-атак: практические методы и примеры
27.01.2026
Как создать движущийся фон в WordPress: практическое руководство
28.03.2026
Как добавить собственные типы постов в WordPress: практическое руководство
21.11.2025
Как создать собственный шорткод в WordPress: практическое руководство
01.11.2025
×
Quizle
Получите больше лидов и увеличьте продажи!
-15%

на премиум плагин WordPress

Получить скидку ⋙