В процессе разработки и настройки сайта на WordPress часто возникает необходимость временно или постоянно ограничить индексацию определённых страниц или всего сайта поисковыми системами. Это важно, если сайт находится в разработке, содержит конфиденциальную информацию или вы хотите скрыть дублирующийся контент.
Что такое robots.txt и зачем его использовать в WordPress
Файл robots.txt — это простой текстовый файл, расположенный в корне сайта, который инструктирует поисковые роботы, каким страницам и разделам сайта можно или нельзя индексироваться. WordPress по умолчанию создаёт виртуальный файл robots.txt, который можно переопределить настоящим файлом.
Пример базового файла robots.txt для WordPress:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.phpЭтот файл запрещает индексацию административной панели и страницы входа, что повышает безопасность и снижает нагрузку на сервер.
Для создания или редактирования файла robots.txt подключитесь к серверу через FTP или воспользуйтесь файловым менеджером хостинга и создайте файл robots.txt в корневой папке сайта.
Примеры запретов в robots.txt для WordPress
- Запретить индексацию всего сайта (например, на этапе разработки):
User-agent: * Disallow: / - Запретить индексацию только определённых папок:
User-agent: * Disallow: /wp-content/plugins/ Disallow: /wp-content/themes/ - Разрешить индексацию всего, кроме админки и страниц входа:
User-agent: * Disallow: /wp-admin/ Disallow: /wp-login.php Allow: /wp-admin/admin-ajax.php
Использование файла .htaccess для запрета индексации и доступа к сайту
Файл .htaccess, используемый на серверах Apache, позволяет гибко управлять доступом к сайту и его страницам. Его можно применять для блокировки IP-адресов, запрета индексации, а также для защиты отдельных папок.
Чтобы запретить всем поисковым роботам доступ к сайту через .htaccess, можно использовать директиву:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|yandex) [NC]
RewriteRule .* - [F,L]Данный пример блокирует запросы от Googlebot, Bingbot и Yandex, возвращая ошибку 403 Forbidden.
Для полного закрытия сайта от всех, кроме вас, добавьте:
Order deny,allow
Deny from all
Allow from 123.45.67.89Где 123.45.67.89 — ваш IP-адрес.
Практические примеры запрета индексации через .htaccess
1. Запретить индексацию всех файлов с расширением .php (кроме index.php):
<FilesMatch "^(?!index\.php$).+\.php$">
Order allow,deny
Deny from all
</FilesMatch>2. Запретить индексацию каталога загрузок:
RedirectMatch 403 /wp-content/uploads/Это поможет защитить файлы, которые не должны быть доступны поисковикам.
Использование плагинов для управления robots.txt и доступом
Если вы не хотите работать напрямую с файлами, существуют плагины для удобного управления robots.txt и .htaccess:
- WP Robots Txt — позволяет редактировать файл robots.txt через админку WordPress с подсветкой синтаксиса.
- All In One SEO — содержит инструменты для управления robots.txt и файлами .htaccess, а также SEO-настройки.
- Clearfy Pro — оптимизирует работу WordPress, включая настройку индексации и безопасности.
Использование плагинов удобно для тех, кто не хочет рисковать, редактируя системные файлы вручную.
Функция WP24 для динамического управления robots.txt
Для автоматизации управления содержимым файла robots.txt можно создать простую функцию в WordPress, которая будет выводить нужные директивы без создания физического файла. Это удобно, если вы хотите быстро менять правила без доступа к серверу.
function wp24_dynamic_robots_txt() {
header('Content-Type: text/plain');
echo "User-agent: *\n";
echo "Disallow: /wp-admin/\n";
echo "Allow: /wp-admin/admin-ajax.php\n";
// Дополнительные правила
}
add_action('do_robots', 'wp24_dynamic_robots_txt');Эта функция подключается к хуку do_robots и выводит правила, которые увидят поисковики при запросе /robots.txt.
Советы по контролю индексации в WordPress
1. Используйте настройки чтения WordPress. В админке в разделе Настройки > Чтение есть опция «Просить поисковые системы не индексировать этот сайт». Она добавляет метатег noindex на все страницы.
2. Применяйте метатеги noindex, nofollow для отдельных страниц или категорий, если нужно исключить их из индексации.
3. Проверяйте robots.txt и .htaccess после изменений, чтобы не заблокировать важные ресурсы.
4. Используйте инструменты Google Search Console и Яндекс.Вебмастер для мониторинга индексации и выявления ошибок.
Как добавить метатег noindex в шаблон WordPress
function wp24_add_noindex_meta() {
if (is_category() || is_tag()) {
echo '<meta name="robots" content="noindex, nofollow">';
}
}
add_action('wp_head', 'wp24_add_noindex_meta');Этот код добавит запрет индексации на страницы категорий и тегов, если они нежелательны для поисковиков.