Создание карты сайта (sitemap) — важный аспект SEO и удобства индексации вашего сайта поисковыми системами. В WordPress существует множество способов реализовать sitemap, от использования плагинов до написания собственного кода. В этой статье мы рассмотрим, как создать автоматический sitemap с помощью кода, а также познакомимся с удобным плагином, который упрощает задачу.
Что такое sitemap и зачем он нужен
Sitemap — это файл, в котором перечислены все важные страницы сайта. Он помогает поисковым роботам быстрее и эффективнее индексировать контент, особенно если структура сайта сложная или контент часто обновляется.
Для WordPress существует несколько форматов sitemap, но чаще всего используется XML sitemap.
Создаем простой автоматический sitemap с помощью кода
Если вы хотите обойтись без плагина и контролировать процесс самостоятельно, можно написать функцию, которая будет генерировать sitemap.xml на лету.
Добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:
function wplesson_generate_sitemap() {
// Проверяем, запрошен ли sitemap.xml
if (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], 'sitemap.xml') !== false) {
header('Content-Type: application/xml; charset=utf-8');
// Получаем все опубликованные записи
$posts = get_posts(array(
'numberposts' => -1,
'post_type' => 'post',
'post_status' => 'publish'
));
// Начинаем формировать XML
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
// Главная страница
echo '<url><loc>' . get_home_url() . '</loc><priority>1.0</priority></url>';
// Страницы записей
foreach ($posts as $post) {
echo '<url>';
echo '<loc>' . get_permalink($post->ID) . '</loc>';
echo '<lastmod>' . get_the_modified_date('c', $post->ID) . '</lastmod>';
echo '<priority>0.8</priority>';
echo '</url>';
}
echo '</urlset>';
exit;
}
}
add_action('init', 'wplesson_generate_sitemap');
Этот код ловит запрос к sitemap.xml, формирует XML-файл с главной страницей и всеми постами. Такой sitemap автоматически обновляется при изменении контента.
Как проверить работу
Просто перейдите в браузере по адресу https://ваш-сайт.ru/sitemap.xml. Вы должны увидеть XML-карту сайта.
Улучшение sitemap: добавляем страницы, категории и кастомные типы записей
Чтобы sitemap был более полным, можно добавить страницы, категории и кастомные типы записей. Вот пример расширенного кода:
function wplesson_generate_advanced_sitemap() {
if (isset($_SERVER['REQUEST_URI']) && strpos($_SERVER['REQUEST_URI'], 'sitemap.xml') !== false) {
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">';
// Главная
echo '<url><loc>' . get_home_url() . '</loc><priority>1.0</priority></url>';
// Страницы
$pages = get_pages();
foreach ($pages as $page) {
echo '<url>';
echo '<loc>' . get_permalink($page->ID) . '</loc>';
echo '<lastmod>' . get_the_modified_date('c', $page->ID) . '</lastmod>';
echo '<priority>0.7</priority>';
echo '</url>';
}
// Записи
$posts = get_posts(array('numberposts' => -1, 'post_status' => 'publish'));
foreach ($posts as $post) {
echo '<url>';
echo '<loc>' . get_permalink($post->ID) . '</loc>';
echo '<lastmod>' . get_the_modified_date('c', $post->ID) . '</lastmod>';
echo '<priority>0.8</priority>';
echo '</url>';
}
// Категории
$categories = get_categories();
foreach ($categories as $cat) {
echo '<url>';
echo '<loc>' . get_category_link($cat->term_id) . '</loc>';
echo '<priority>0.6</priority>';
echo '</url>';
}
echo '</urlset>';
exit;
}
}
add_action('init', 'wplesson_generate_advanced_sitemap');
Такой sitemap будет охватывать основные разделы сайта, улучшая индексацию.
Используем плагин для автоматического sitemap — WP SEO by WPSHOP
Если вы хотите получить расширенный функционал без написания кода, советуем плагин WP SEO от WPSHOP. Он автоматически генерирует sitemap, поддерживает кастомные типы записей, таксономии и интегрируется с популярными SEO-сервисами.
Преимущества плагина:
- Автоматическое обновление sitemap при изменении контента.
- Поддержка нескольких форматов sitemap.
- Возможность исключать страницы и категории из sitemap.
- Интеграция с Google Search Console.
Как установить и настроить WP SEO
- Перейдите в админку WordPress → Плагины → Добавить новый.
- Найдите «WP SEO by WPSHOP» и установите плагин.
- Активируйте плагин и перейдите в его настройки.
- Настройте типы записей, которые хотите включить в sitemap.
- Проверьте sitemap по адресу
https://ваш-сайт.ru/sitemap_index.xml.
Как добавить ссылку на sitemap в robots.txt и в Google Search Console
Для улучшения индексации важно указать поисковикам местоположение sitemap. Для этого добавьте в файл robots.txt следующую строку:
Sitemap: https://ваш-сайт.ru/sitemap.xml
Если используете плагин с другим адресом, укажите его.
Также зайдите в Google Search Console, добавьте ваш сайт и вручную отправьте sitemap для быстрой индексации.
Заключение: что выбрать — код или плагин
Если у вас небольшой сайт и вы хотите минимизировать установку плагинов, кодовый вариант отлично подойдет. Он простой и быстрый.
Если же сайт большой, с кастомным контентом и вам нужны дополнительные опции — пользуйтесь плагином WP SEO от WPSHOP, который оптимизирует работу и облегчит настройку.
Правильный sitemap — залог хорошей индексации и большего трафика, поэтому уделите время этой задаче!