Для эффективной работы с поисковыми системами важно не только быстро отправлять новые и обновленные URL в индекс через IndexNow, но и корректно блокировать нежелательные страницы от индексации. В WordPress это можно сделать с помощью файла robots.txt, который регулирует доступ поисковиков к определенным разделам сайта. В этой статье рассмотрим, как грамотно использовать IndexNow вместе с robots.txt для автоматической блокировки ненужных URL и оптимизации индексации.
Зачем нужны совместно IndexNow и robots.txt в WordPress
IndexNow — протокол, позволяющий мгновенно уведомлять поисковики об изменениях на сайте. Однако иногда нужно не просто отправлять URL, а управлять, какие страницы должны попадать в индекс, а какие — нет. Файл robots.txt позволяет запретить доступ роботов к определенным страницам, например, страницам пагинации, архивам или служебным страницам.
Использование IndexNow без правильной настройки robots.txt может привести к лишней индексации, что снижает качество сайта в поиске. Обратная ситуация — когда блокировка настроена, но URL не отправляются на удаление через IndexNow — тоже приводит к проблемам с актуальностью индекса.
Поэтому важно настраивать оба инструмента совместно, чтобы поддерживать чистый и релевантный индекс поисковых систем.
Практическая настройка robots.txt для блокировки ненужных URL в WordPress
Файл robots.txt лежит в корне сайта и содержит правила для поисковых роботов. В WordPress часто нужно закрыть от индексации:
- страницы пагинации (например,
/page/2/и далее); - архивы категорий и тегов, если они не несут ценности;
- страницы авторов, если блог однопользовательский;
- служебные страницы и параметры URL.
Пример базового robots.txt для WordPress с блокировкой пагинации и архивов:
User-agent: *
Disallow: /page/
Disallow: /category/
Disallow: /tag/
Disallow: /author/
Allow: /
Sitemap: https://indexnow.su/sitemap.xml
Эти правила запрещают сканирование пагинации и архивов, но разрешают основное содержимое сайта. Важно настроить свой sitemap, чтобы IndexNow и поисковики знали, какие URL отслеживать.
Автоматическое обновление robots.txt с помощью плагинов
Для удобства можно использовать плагины, которые позволяют динамически управлять robots.txt из админки WordPress. Например:
- SEO Robots.txt Editor — простой редактор robots.txt;
- Clearfy Pro — комплексный инструмент для оптимизации, включая управление robots.txt.
Эти решения помогут избежать ошибок и быстро вносить изменения без прямого доступа к серверу.
Как использовать IndexNow для удаления заблокированных URL из индекса
Если URL уже попали в индекс и сейчас закрыты в robots.txt, они не будут автоматически удалены из поисковой базы. Для этого нужно отправить запросы на удаление через IndexNow.
Ниже пример функции WordPress, которая отправляет удаление URL в IndexNow при изменении robots.txt или при изменении статуса страниц:
function indexnow_su_send_url_deletion( $url ) {
$api_key = 'ваш_ключ_indexnow';
$endpoint = 'https://api.indexnow.org/indexnow';
$payload = [
'host' => parse_url( $url, PHP_URL_HOST ),
'key' => $api_key,
'keyLocation' => 'https://' . parse_url( $url, PHP_URL_HOST ) . '/indexnow.key',
'urlList' => [ $url ],
'action' => 'delete'
];
$args = [
'headers' => [ 'Content-Type' => 'application/json' ],
'body' => json_encode( $payload ),
'timeout' => 15
];
$response = wp_remote_post( $endpoint, $args );
if ( is_wp_error( $response ) ) {
error_log( 'IndexNow deletion error: ' . $response->get_error_message() );
return false;
}
$code = wp_remote_retrieve_response_code( $response );
return ( $code >= 200 && $code < 300 );
}
// Пример вызова функции при изменении URL
// indexnow_su_send_url_deletion('https://indexnow.su/page/2/');
Такой подход позволяет оперативно удалять из индекса страницы, которые теперь закрыты в robots.txt, тем самым поддерживая чистоту индекса и улучшая SEO.
Автоматизация отправки удаления через хуки WordPress
Чтобы не запускать удаление вручную, можно привязать вызов к событиям, например, при смене статуса поста на "черновик" или удалении. Вот пример:
add_action( 'trashed_post', function( $post_id ) {
$url = get_permalink( $post_id );
if ( $url ) {
indexnow_su_send_url_deletion( $url );
}
} );
Так вы гарантируете, что поисковые системы узнают об удалении страниц сразу после их удаления в WordPress.
Обработка конфликтов между robots.txt и IndexNow: как избежать ошибок
Иногда возникает ситуация, когда в robots.txt запрещена индексация, но URL продолжают появляться в индексе, либо наоборот — URL разрешены, но не попадают в индекс. Чтобы избежать таких проблем, соблюдайте следующие рекомендации:
- Всегда синхронизируйте правила
robots.txtс отправляемыми через IndexNow URL; - Используйте канонические URL для дублирующих страниц, чтобы поисковики понимали главную версию;
- Используйте инструменты отладки поисковых систем (например, Яндекс.Вебмастер, Google Search Console) для проверки состояния индекса;
- Регулярно обновляйте sitemap и отправляйте его через IndexNow.
Эти меры помогут избежать конфликтов и обеспечат корректную индексацию сайта.
Пример кода для динамического формирования robots.txt в WordPress с учетом IndexNow
Если нужно динамически формировать robots.txt с учетом текущих настроек сайта и IndexNow, можно использовать следующий код в functions.php темы:
add_action( 'do_robots', function() {
header( 'Content-Type: text/plain; charset=utf-8' );
echo "User-agent: *\n";
echo "Disallow: /page/\n";
echo "Disallow: /category/\n";
echo "Disallow: /tag/\n";
echo "Disallow: /author/\n";
// Добавляем ссылку на sitemap для IndexNow
echo "Sitemap: https://indexnow.su/sitemap.xml\n";
exit;
} );
Такой подход позволяет в любой момент изменить правила, не редактируя файл напрямую на сервере, что удобно при частых изменениях.
Заключение по теме использования IndexNow и robots.txt в WordPress
Правильная настройка IndexNow в связке с robots.txt — ключ к качественной индексации WordPress-сайта. Блокируя ненужные URL и одновременно удаляя их из индекса через IndexNow, вы улучшаете скорость обновления данных в поисковиках и защищаете сайт от попадания в индекс мусорных страниц.
Используйте приведенные примеры кода и рекомендации для автоматизации этих процессов. Для расширенной оптимизации советуем обратить внимание на плагины Clearfy Pro и SEO Robots.txt Editor.