XML Sitemap — важный элемент SEO-оптимизации сайта на WordPress. Он помогает поисковым системам быстро и качественно индексировать все страницы сайта. Несмотря на наличие множества плагинов, иногда требуется легкое и кастомное решение без лишних дополнений. В этой статье мы подробно разберем, как автоматически создавать и обновлять XML Sitemap с помощью собственного кода.
Что такое XML Sitemap и зачем он нужен
XML Sitemap — это файл в формате XML, который содержит список URL всех важных страниц сайта. Поисковые роботы используют его для эффективного обхода сайта и лучшего понимания структуры контента. Без sitemap некоторые страницы могут индексироваться хуже, что негативно скажется на видимости сайта в поиске.
Для WordPress часто используют плагины вроде Clearfy Pro или WP Robot, однако если нужна легкая кастомизация и минимум нагрузки, имеет смысл написать свой скрипт.
Создание XML Sitemap вручную с помощью PHP и WordPress API
Давайте напишем простейший генератор sitemap, который будет автоматически обновляться при публикации или обновлении постов. Для этого добавим код в файл functions.php вашей темы или создадим небольшой плагин.
Ключевые шаги
- Получить все опубликованные записи нужных типов (посты, страницы).
- Сформировать XML-документ с правильной структурой.
- Сохранить файл sitemap.xml в корне сайта.
- Обновлять sitemap при изменении контента.
Пример кода генерации sitemap
function wprobot_generate_sitemap() {
$posts = get_posts(array(
'post_type' => array('post', 'page'),
'post_status' => 'publish',
'numberposts' => -1
));
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset>');
foreach($posts as $post) {
$url = $xml->addChild('url');
$url->addChild('loc', get_permalink($post->ID));
$url->addChild('lastmod', get_post_modified_time('c', true, $post->ID));
$url->addChild('changefreq', 'weekly');
$url->addChild('priority', '0.8');
}
$path = ABSPATH . 'sitemap.xml';
$xml->asXML($path);
}
// Запускаем генерацию sitemap при публикации или обновлении записи
add_action('save_post', 'wprobot_generate_sitemap');
add_action('deleted_post', 'wprobot_generate_sitemap');
add_action('publish_post', 'wprobot_generate_sitemap');
Этот код проходит по всем опубликованным постам и страницам, создает файл sitemap.xml в корне сайта и автоматически обновляет его при изменениях контента.
Оптимизация и расширение функционала XML Sitemap
Наш базовый пример отлично подойдет для небольших сайтов, но на крупных проектах стоит добавить дополнительные возможности:
- Исключать из sitemap определенные категории или теги.
- Добавлять в sitemap пользовательские типы записей (например, товары WooCommerce).
- Разбивать sitemap на несколько файлов при большом количестве URL (sitemap index).
- Добавлять изображения и видео в sitemap для лучшей индексации мультимедиа.
Пример фильтрации по категориям
Чтобы исключить из sitemap посты из категории «Новости», добавим фильтр:
function wprobot_generate_sitemap_filtered() {
$excluded_cat = get_category_by_slug('novosti');
$excluded_cat_id = $excluded_cat ? $excluded_cat->term_id : 0;
$args = array(
'post_type' => array('post', 'page'),
'post_status' => 'publish',
'numberposts' => -1,
'category__not_in' => array($excluded_cat_id)
);
$posts = get_posts($args);
// Далее аналогично формируем XML как в предыдущем примере
}
Автоматизация и интеграция с плагинами для удобства
Если хочется максимально автоматизировать процесс и при этом иметь гибкие настройки, стоит обратить внимание на плагины как Clearfy Pro. Он умеет создавать SEO-оптимизированные sitemap без нагрузки и конфликтов с другими плагинами.
Пример использования Clearfy Pro для sitemap:
- Устанавливаем и активируем Clearfy Pro.
- В настройках SEO включаем генерацию sitemap.
- Настраиваем исключения и дополнительные параметры (частота обновления, приоритет).
- Плагин автоматически создает и обновляет sitemap.xml, который можно указать в Google Search Console.
Такой подход позволит сэкономить время и избежать ошибок при самостоятельном кодировании.
Проверка и отладка XML Sitemap
После создания sitemap важно проверить его корректность. Для этого можно использовать онлайн-инструменты:
- Google Search Console — загрузить sitemap и проверить статус индексации.
- XML Sitemap Validator — проверить синтаксис и структуру файла.
- Проверить доступность sitemap по адресу
https://ваш-сайт.ru/sitemap.xml.
Ошибки в sitemap могут привести к плохой индексации, поэтому регулярный мониторинг критичен.
Заключение
Создание и автоматическое обновление XML Sitemap — важный элемент технической оптимизации WordPress сайта. Собственный код дает больше контроля и легкости, а плагины, такие как Clearfy Pro, помогают быстро и безопасно реализовать все задачи. Используйте приведенные примеры для настройки sitemap под нужды вашего проекта и улучшайте индексацию сайта в поисковых системах.