Автоматическое создание sitemap (карты сайта) — важный аспект SEO-оптимизации любых проектов на WordPress. Sitemap помогает поисковым системам быстрее и точнее индексировать контент, что положительно сказывается на ранжировании. В этой статье мы подробно разберём, как правильно и эффективно автоматизировать создание sitemap для разных типов сайтов на WordPress: от блогов и новостных порталов до интернет-магазинов и мультисайтов.
Почему автоматизация sitemap важна для WordPress-сайтов
Ручное создание и обновление sitemap — задача трудоёмкая и подвержена ошибкам, особенно при частом добавлении или изменении контента. Автоматизация позволяет:
- Обеспечить актуальность карты сайта в реальном времени;
- Поддерживать разные типы контента, включая пользовательские типы записей и таксономии;
- Учитывать особенности структуры сайта (например, мультисайты или сайты с большим количеством страниц);
- Интегрировать с SEO-плагинами для расширенной настройки;
- Минимизировать нагрузку на сервер при генерации sitemap.
Рассмотрим несколько способов и примеров реализации.
Стандартные возможности WordPress для sitemap
Начиная с версии 5.5 WordPress имеет встроенный генератор sitemap по адресу /wp-sitemap.xml. Он автоматически создаёт карты для основных типов записей и таксономий, но имеет ограничения:
- Не всегда учитывает пользовательские типы записей и таксономии, особенно если они нестандартно зарегистрированы;
- Нет гибкой настройки приоритетов и частоты обновления;
- Отсутствуют инструменты для исключения определённого контента.
Если ваш сайт простой блог или корпоративный сайт с базовой структурой, встроенного решения может хватить. Для более сложных проектов придётся использовать плагины или кастомные решения.
Использование плагина Clearfy Pro для продвинутой генерации sitemap
Плагин Clearfy Pro (https://wpshop.ru/clearfy-pro/?utm_source=premiumwp.ru&utm_medium=article&utm_campaign=kak-avtomatizirovat-sozvanie-sitemap-v-wordpress-s-podderzhkoy-raznih-tipov-sajtov) — мощный инструмент оптимизации и SEO для WordPress, включающий удобный генератор sitemap с гибкой настройкой.
Ключевые возможности:
- Поддержка пользовательских типов записей и таксономий;
- Исключение страниц, категорий, тегов и отдельных URL;
- Настройка приоритетов и частоты обновления для каждой группы ссылок;
- Автоматическое обновление sitemap при изменении контента;
- Оптимизация производительности — генерация sitemap с кэшированием и минимальной нагрузкой.
Настройка Clearfy Pro сводится к нескольким шагам в админке, что удобно и не требует программирования.
Пример решения: создание кастомного sitemap для интернет-магазина с WooCommerce
Интернет-магазины часто имеют сложную структуру: товары, категории, атрибуты, отзывы. Встроенный sitemap WordPress этого не покрывает. Рассмотрим пример, как добавить поддержку кастомного sitemap с помощью кода, по примеру PremiumWP.
Добавим генерацию sitemap для товаров и категорий товаров WooCommerce, исключая продукты с определённым тегом "скрытый".
<?php
// Регистрируем дополнительный sitemap для WooCommerce товаров
add_filter('premiumwp_sitemap_entries', 'premiumwp_add_woocommerce_sitemap');
function premiumwp_add_woocommerce_sitemap($sitemaps) {
$sitemaps['products'] = array(
'loc' => home_url('/product-sitemap.xml'),
'lastmod' => date('c'),
);
return $sitemaps;
}
// Генерируем содержимое sitemap товаров
add_action('premiumwp_sitemap_generate_products', 'premiumwp_generate_products_sitemap');
function premiumwp_generate_products_sitemap() {
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'product_tag',
'field' => 'slug',
'terms' => 'skrytyj',
'operator' => 'NOT IN'
)
)
);
$query = new WP_Query($args);
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">';
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>';
}
echo '</urlset>';
wp_reset_postdata();
exit;
}
// Регистрируем rewrite правило для sitemap
add_action('init', 'premiumwp_add_rewrite_rule');
function premiumwp_add_rewrite_rule() {
add_rewrite_rule('^product-sitemap\.xml$', 'index.php?premiumwp_sitemap=products', 'top');
}
// Обрабатываем запрос sitemap
add_action('template_redirect', 'premiumwp_sitemap_template_redirect');
function premiumwp_sitemap_template_redirect() {
$sitemap = get_query_var('premiumwp_sitemap');
if ($sitemap === 'products') {
do_action('premiumwp_sitemap_generate_products');
}
}
// Регистрируем query var
add_filter('query_vars', 'premiumwp_add_query_vars');
function premiumwp_add_query_vars($vars) {
$vars[] = 'premiumwp_sitemap';
return $vars;
}
?>Этот код создаёт дополнительный sitemap для товаров WooCommerce, исключая продукты с тегом "скрытый". Вы можете расширять данный пример для категорий, брендов и других типов данных.
Поддержка мультисайтов и большие проекты
Для мультисайтов WordPress важно генерировать sitemap для каждого сайта отдельно. Рекомендуется использовать плагины с поддержкой multisite, например Clearfy Pro, либо дорабатывать кастомный код с учётом текущего сайта.
Для больших проектов с тысячами страниц стоит использовать кэширование sitemap и разбивать их на части (sitemap index), чтобы избежать перегрузки сервера и лимитов поисковиков.
Пример использования ABC Pagination для разбивки sitemap
Плагин ABC Pagination (https://wpshop.ru/abc-pagination/?utm_source=premiumwp.ru&utm_medium=article&utm_campaign=kak-avtomatizirovat-sozvanie-sitemap-v-wordpress-s-podderzhkoy-raznih-tipov-sajtov) позволяет удобно разбивать большие списки страниц на части, что можно применить и для sitemap.
Используйте пагинацию для sitemap через параметр page и динамически генерируйте части карты сайта. Это улучшит производительность и стабильность работы.
Как проверить и отладить sitemap
После настройки sitemap обязательно проверяйте его валидность через специальные сервисы, например Google Search Console или онлайн-валидаторы sitemap.
В случае использования кастомного кода:
- Проверяйте HTTP-заголовки и правильность XML;
- Отслеживайте логи ошибок сервера;
- Используйте инструменты разработчика браузера для анализа запросов;
- Тестируйте исключения и фильтры на разных типах контента.
Пример проверки sitemap в Google Search Console
Добавьте URL вашего sitemap в разделе "Sitemaps" Google Search Console и следите за статусом индексации и возможными ошибками.
Итоги: автоматизация sitemap с PremiumWP и плагинами
Итак, для эффективной автоматизации создания sitemap в WordPress с учётом разных типов сайтов рекомендуем:
- Использовать встроенный sitemap для простых проектов;
- Применять плагин Clearfy Pro для расширенной настройки и поддержки пользовательских типов записей;
- Создавать кастомные sitemap с помощью кода PremiumWP для специфичных задач, например, для WooCommerce;
- Обеспечивать поддержку мультисайтов и крупных проектов с помощью разбивки sitemap и кэширования;
- Регулярно проверять и отлаживать sitemap через Google Search Console и другие инструменты.
Правильная автоматизация sitemap — залог качественной индексации и роста позиций вашего сайта в поисковых системах.