Как отключить RSS-ленты в WordPress без ошибок и лишних запросов

Если на сайте не нужны RSS-ленты, их можно отключить без поломки фронтенда и без лишней нагрузки на сервер. В WordPress фиды — это обычные служебные URL, которые по умолчанию доступны для записей, рубрик, меток, авторов и комментариев. Для новостного блога они полезны, а для корпоративного сайта, лендинга или проекта без подписки на обновления часто только создают лишние точки входа и немного раздувают поверхность атаки.

Самый безопасный путь — не удалять код ядра и не править файлы WordPress вручную, а аккуратно перенаправить запросы к фидам на обычную страницу с кодом ответа 301 или 410. Так сайт не будет отдавать содержимое лент, а поисковые и служебные запросы не останутся в подвешенном состоянии.

Что именно нужно отключить

В WordPress RSS-ленты бывают не только у главной ленты записей. Обычно отключают сразу несколько типов URL:

  • /feed/ — общая лента записей;
  • /comments/feed/ — лента комментариев;
  • /category/.../feed/, /tag/.../feed/ и другие фиды архивов;
  • ?feed=rss2 и похожие параметры, если они используются в старых ссылках или внешних интеграциях.

Если закрыть только главную ленту, остальные URL всё равно останутся доступными. Поэтому на практике лучше отключать фиды централизованно, а не точечно.

Как отключить RSS-ленты правильно

Для большинства сайтов достаточно добавить небольшой код в functions.php дочерней темы или, что надёжнее, в собственный мини-плагин. Если у вас есть доступ только к теме, используйте дочернюю тему, иначе при обновлении изменения пропадут.

Перед правкой сделайте резервную копию. Код ниже не должен ломать сайт, но любая ошибка в functions.php может привести к белому экрану или ошибке PHP, если вставить его не туда или повредить синтаксис.

Этот вариант отключает фиды и отдаёт для них код 410 Gone. Для поисковиков и клиентов это честнее, чем оставлять пустую страницу или бесконечный редирект. Если вам принципиально нужно мягкое перенаправление, ниже есть вариант с 301.

add_action( 'do_feed', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_rdf', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_rss', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_rss2', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_atom', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_rss2_comments', 'wpclean_disable_feeds', 1 );
add_action( 'do_feed_atom_comments', 'wpclean_disable_feeds', 1 );

function wpclean_disable_feeds() {
    wp_die(
        'RSS-лента отключена.',
        'Feed disabled',
        array( 'response' => 410 )
    );
}

Этот код срабатывает на стандартные фиды WordPress и завершает запрос до вывода содержимого. Для большинства сайтов этого достаточно. Если у вас есть нестандартные плагины, которые создают собственные фиды, их придётся отключать отдельно — ядро WordPress их не знает.

Когда лучше использовать редирект вместо ошибки 410

Иногда владельцу сайта удобнее не показывать ошибку, а отправлять посетителя на главную страницу, в раздел блога или на страницу «О сайте». Это имеет смысл, если старые ссылки на фиды уже где-то опубликованы и вы хотите мягко перевести трафик.

Тогда вместо wp_die() можно сделать редирект. Но здесь есть важный нюанс: редирект не должен вести на сам фид и не должен зацикливаться. Для отключения фидов чаще используют именно 410, потому что он явно говорит: ресурс удалён и больше не доступен.

Если всё же нужен редирект, логика будет такой:

add_action( 'do_feed', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_rdf', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_rss', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_rss2', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_atom', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_rss2_comments', 'wpclean_redirect_feeds', 1 );
add_action( 'do_feed_atom_comments', 'wpclean_redirect_feeds', 1 );

function wpclean_redirect_feeds() {
    wp_safe_redirect( home_url( '/' ), 301 );
    exit;
}

Этот вариант подходит не всем. Для технически чистого отключения фидов 410 обычно лучше: он не маскирует проблему и не создаёт лишнюю цепочку перенаправлений.

Что не стоит делать

Есть несколько типичных ошибок, из-за которых отключение фидов превращается в источник новых проблем.

  • Не удаляйте файлы ядра WordPress, связанные с фидами. После обновления они вернутся, а сайт может начать вести себя непредсказуемо.
  • Не закрывайте фиды через robots.txt. Это не отключает URL, а только просит поисковики не обходить их. Сам ресурс при этом остаётся доступным.
  • Не делайте бесконечный редирект на страницу, которая сама может открываться как feed URL.
  • Не вставляйте код в произвольный файл темы без понимания, где он выполняется. Ошибка в синтаксисе может положить сайт.

Если на сайте уже есть кэширование на уровне плагина, сервера или CDN, после изменения кода кэш нужно сбросить. Иначе старые ответы на фиды могут ещё какое-то время отдаваться из кэша, и вы решите, что отключение не сработало.

Как проверить, что фиды действительно отключены

После сохранения кода проверьте несколько адресов вручную в браузере или через команду curl. Это самый надёжный способ убедиться, что сайт отдаёт нужный статус, а не просто скрывает содержимое визуально.

Проверьте такие URL:

  • https://ваш-домен/feed/
  • https://ваш-домен/comments/feed/
  • https://ваш-домен/category/slug/feed/

Если вы используете терминал, можно посмотреть заголовки ответа. Для варианта с 410 команда будет такой:

curl -I https://ваш-домен/feed/

В ответе должен быть статус 410 Gone. Если настроен редирект, увидите 301 и заголовок Location с адресом назначения. Если вместо этого открывается XML с лентой, значит код не сработал, вставлен не туда или его перебивает другой плагин.

Ещё один практический тест — открыть исходный URL из старой карты сайта, из внешней ссылки или из панели браузера в режиме инкогнито. Так проще заметить, не подхватывает ли сайт старый кэш или редирект из другого слоя.

Если на сайте уже есть плагин для чистки WordPress

Если вы уже используете плагин для отключения лишних функций WordPress, проверьте, умеет ли он отключать RSS-ленты без ручного кода. Это удобно, когда вы не хотите держать такой функционал в теме. Например, в Clearfy Pro есть инструменты для отключения части служебных возможностей WordPress, и для сайтов без фидов это может быть более удобным вариантом, чем правка шаблона вручную.

Но даже если используете плагин, принцип проверки остаётся тем же: откройте несколько feed URL и убедитесь, что они больше не отдают XML-ленту.

Что проверить после отключения

После отключения RSS-лент имеет смысл быстро пройтись по нескольким пунктам:

  • основные URL фидов возвращают 410 или корректный 301;
  • сайт не выдаёт фид вместо обычной страницы из-за кэша;
  • в поиске и в логах не растёт число ошибок 5xx после правки;
  • внешние сервисы, если они были завязаны на RSS, не потеряли источник данных;
  • в админке и на фронтенде нет ошибок PHP после добавления кода.

Если сайт использует внешнюю рассылку, автопостинг или импорт контента через RSS, сначала перенесите интеграцию на другой источник. Отключение фидов на живом сайте без проверки таких связей может сломать сторонние сервисы, даже если сам WordPress работает нормально.

Для сайта, которому фиды не нужны, аккуратное отключение RSS-лент — это не косметическая правка, а нормальная часть технической уборки. Главное здесь не «спрятать» фид, а корректно завершить запрос, проверить статус ответа и не оставить старые URL в кэше или в сторонних интеграциях.

Как удалить лишние мета-теги из head WordPress и сократить мусор в коде
19.10.2026
Как отключить emoji в WordPress без лишних запросов и 404 на скрипты
27.09.2026
Как отключить RSS-ленты в WordPress без ошибок и лишних запросов
15.10.2026
Как убрать страницы вложений WordPress из поиска и перенаправить их на родительские записи
12.10.2026

Как очистить код от лишнего кода, внешних ссылок, неправильных заголовков.