wp-kurs.ru wordpress WP-Kurs

Автоматическое создание Sitemap в WordPress: лучшие плагины и примеры кода

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

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

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

Лучшие плагины для создания Sitemap в WordPress

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

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

Преимущества Yoast SEO:

  • Поддержка разных типов контента и таксономий
  • Автоматическое обновление Sitemap
  • Возможность исключать из Sitemap отдельные страницы или записи
  • Интеграция с Google Search Console

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

Если вам нужен только Sitemap без дополнительных SEO-функций, Google XML Sitemaps — отличный выбор. Он прост в настройке и поддерживает все стандартные типы страниц WordPress, а также пользовательские типы записей.

Основные возможности:

  • Автоматическое создание и отправка Sitemap в поисковые системы
  • Поддержка мультисайтов
  • Настройка приоритетов страниц и частоты обновления

Как создать Sitemap программно в WordPress

Пример создания простого Sitemap на PHP

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

function wp_kurs_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'      => 'post',
        'posts_per_page' => 100,
        'post_status'    => 'publish'
    );
    $posts = get_posts($args);

    foreach ($posts as $post) {
        setup_postdata($post);
        echo '<url>';
        echo '<loc>' . get_permalink($post) . '</loc>';
        echo '<lastmod>' . get_the_modified_date('c', $post) . '</lastmod>';
        echo '<changefreq>weekly</changefreq>';
        echo '<priority>0.8</priority>';
        echo '</url>';
    }

    wp_reset_postdata();
    echo '</urlset>';
}

// Для отображения Sitemap по адресу example.com/sitemap.xml добавьте в functions.php:
add_action('init', function() {
    if (strpos($_SERVER['REQUEST_URI'], '/sitemap.xml') !== false) {
        wp_kurs_generate_sitemap();
        exit;
    }
});

Этот код выводит простой Sitemap, доступный по адресу /sitemap.xml. Вы можете расширять его, добавляя пользовательские типы записей, таксономии и исключения.

Как расширить Sitemap для пользовательских типов записей

Чтобы добавить в Sitemap, например, тип записи product, измените аргументы запроса:

$args = array(
    'post_type'      => array('post', 'product'),
    'posts_per_page' => 100,
    'post_status'    => 'publish'
);

Это позволит автоматически включать новые товары в Sitemap без плагинов.

Настройка частоты обновления и приоритетов страниц

В Sitemap важно указать для каждой страницы теги <changefreq> и <priority>. Это помогает поисковикам понять, как часто обновлять страницу и насколько она важна.

Рекомендуется использовать следующие значения:

  • Домашняя страница: changefreq=hourly, priority=1.0
  • Записи блога: changefreq=daily, priority=0.8
  • Страницы с редко меняющимся контентом: changefreq>monthly, priority=0.5

В плагинах эти параметры настраиваются через интерфейс, а в программном коде — задаются вручную для каждого URL.

Отправка Sitemap в поисковые системы

После создания Sitemap необходимо уведомить поисковые системы. Обычно это делается автоматом плагинами, но если вы пишете Sitemap самостоятельно, используйте следующий метод для Google:

function wp_kurs_ping_google_sitemap() {
    $sitemap_url = urlencode(home_url('/sitemap.xml'));
    $ping_url = 'http://www.google.com/ping?sitemap=' . $sitemap_url;
    wp_remote_get($ping_url);
}

add_action('publish_post', 'wp_kurs_ping_google_sitemap');
add_action('publish_product', 'wp_kurs_ping_google_sitemap');

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

Выводы и рекомендации

Автоматическое создание Sitemap — базовый элемент SEO для сайта на WordPress. Используйте готовые плагины, если хотите быстро и без хлопот, а для нестандартных задач — пишите собственный код. Обязательно проверяйте Sitemap через инструменты Google Search Console и следите за его актуальностью.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее