Автоматический 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Это позволит поисковым системам быстрее находить карту сайта.