Для улучшения индексации сайта поисковыми системами важным элементом является наличие актуальной карты сайта (Sitemap). В WordPress автоматизация создания и обновления Sitemap значительно облегчает работу с SEO, позволяя поисковикам быстрее находить новые и обновленные страницы. В этой статье мы подробно разберём, как автоматизировать создание Sitemap с помощью популярных плагинов и собственных решений на PHP.
Что такое Sitemap и зачем он нужен WordPress-сайту
Sitemap — это файл в формате XML, который содержит список всех страниц сайта для удобства сканирования поисковыми системами. Он помогает поисковым роботам понять структуру сайта и быстрее индексировать новый контент. Особенно это важно для крупных проектов и сайтов со сложной архитектурой.
В WordPress начиная с версии 5.5 встроен базовый функционал для генерации Sitemap, однако он ограничен и не покрывает все потребности SEO-оптимизации. Поэтому часто используют сторонние плагины или кастомные решения.
Плагины для автоматической генерации Sitemap
Рассмотрим три популярных плагина, которые обеспечивают надёжное и гибкое создание Sitemap:
Yoast SEO
Этот плагин, помимо SEO-оптимизации, автоматически генерирует Sitemap и поддерживает настройку включаемых типов записей, таксономий и приоритетов.
Чтобы включить Sitemap в Yoast SEO, достаточно активировать плагин и в разделе «Общие» найти вкладку «Функции», где можно включить Sitemap XML. По умолчанию ссылка будет доступна по адресу https://ваш-домен.ru/sitemap_index.xml.
Google XML Sitemaps
Специализированный плагин, который создаёт расширенную карту сайта, поддерживает уведомление поисковых систем о её обновлении и гибко настраивается. Подходит для сайтов с большим количеством контента и кастомных типов записей.
Rank Math SEO
Современный SEO-комбайн, который автоматически генерирует Sitemap, поддерживает пользовательские настройки, в том числе исключение отдельных страниц, настройку приоритетов и частоты обновления.
Автоматическое создание Sitemap с кастомным кодом
Если вы хотите избежать использования плагинов и создать собственный генератор Sitemap, рассмотрим пример базового скрипта, который будет динамически формировать XML-файл на основе постов WordPress.
function wpbe_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 = [
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => -1,
];
$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>';
}
// Регистрируем endpoint для sitemap
add_action('init', function() {
add_rewrite_rule('^sitemap.xml$', 'index.php?sitemap=1', 'top');
});
add_filter('query_vars', function($vars) {
$vars[] = 'sitemap';
return $vars;
});
add_action('template_redirect', function() {
if (get_query_var('sitemap')) {
wpbe_generate_sitemap();
exit;
}
});Данный код создаёт endpoint /sitemap.xml, который возвращает актуальный XML с URL опубликованных постов. Вы можете расширять этот функционал, добавляя страницы, категории, кастомные типы записей и таксономии.
Расширение функционала: интеграция с WPShop
Если вы используете темы или плагины от WPShop, например, Clearfy Pro, то можете дополнительно оптимизировать Sitemap, исключая технические страницы и улучшая структуру индексации.
Плагин Clearfy Pro позволяет гибко управлять Sitemap, включая и исключая нужные элементы, а также оптимизировать другие SEO-настройки.
Важные рекомендации по работе с Sitemap
Чтобы Sitemap работал эффективно, следуйте практическим советам:
- Обязательно проверяйте валидность XML-карты сайта с помощью сервисов, например, W3C Feed Validator.
- Добавьте ссылку на Sitemap в файл
robots.txt, например:Sitemap: https://ваш-домен.ru/sitemap_index.xml. - Регулярно отправляйте Sitemap в инструменты для вебмастеров Google Search Console и Яндекс.Вебмастер.
- Поддерживайте актуальность Sitemap: удаляйте из него устаревший контент и корректно обновляйте даты изменения.
Итог
Автоматизация создания Sitemap в WordPress — важный шаг для улучшения SEO вашего сайта. Использование специализированных плагинов — самый простой и надёжный способ, но при необходимости можно реализовать генерацию Sitemap собственным кодом, адаптированным под нужды вашего проекта. Интеграция с инструментами оптимизации, такими как Clearfy Pro из WPShop, позволяет добиться максимального результата в продвижении.