Как отключить pingback и trackback в WordPress без лишних запросов и мусора в админке

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

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

Когда pingback и trackback действительно мешают

Проблема обычно проявляется не в одном месте, а сразу в нескольких:

  • в комментариях появляются записи pingback/trackback вместо обычных обсуждений;
  • админка получает лишний мусор, который приходится удалять вручную;
  • на старых сайтах остаются открытыми механизмы, которые давно не используются;
  • в логике безопасности появляется лишняя поверхность атаки и спама.

Важно не путать это с XML-RPC. Pingback — это отдельная функция, хотя исторически она часто связана с XML-RPC-запросами. Если XML-RPC у вас уже отключён, это не всегда означает, что pingback и trackback полностью выключены в настройках сайта.

Диагностика: что включено сейчас

Перед изменениями проверьте два уровня: настройки записи и поведение сайта на фронтенде.

Проверка в админке

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

Также зайдите в Настройки → Обсуждение. Если там разрешены уведомления о ссылках с других блогов, WordPress будет продолжать принимать trackback/pingback там, где это не отключено вручную.

Проверка через код

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

<?php
$default_ping_status = get_option( 'default_ping_status' );
$default_pingback_flag = get_option( 'default_pingback_flag' );
var_dump( $default_ping_status, $default_pingback_flag );

Обычно интересуют такие параметры:

  • default_ping_status — разрешены ли пинги для новых записей;
  • default_pingback_flag — включён ли pingback по умолчанию;
  • индивидуальные настройки конкретной записи в метаполях обсуждения.

Как отключить pingback и trackback правильно

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

СпособЧто делаетПлюсМинус
АдминкаОтключает настройки для новых записейБез кодаНе всегда снимает уже выставленные параметры у старого контента
КодЖёстко отключает pingback/trackbackПредсказуемо и централизованноНужно аккуратно добавить в тему или мини-плагин
ПлагинУбирает лишние функции и дублиУдобно для комплексной чисткиЕщё один слой зависимостей

Вариант 1: отключить через настройки

Если задача простая, начните с Настройки → Обсуждение и снимите разрешение на уведомления о ссылках с других блогов. Затем проверьте отдельные записи: у старого контента настройка может остаться включённой вручную.

Этот способ подходит, если вы просто хотите перестать принимать новые pingback/trackback без вмешательства в код. Но если сайт уже давно живёт и в базе накопились старые записи с включёнными обратными ссылками, одной галочки может быть мало.

Вариант 2: отключить кодом для всего сайта

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

<?php
add_action( 'init', function () {
    // Отключаем поддержку pingback на уровне заголовка.
    remove_action( 'wp_head', 'wp_generator' );
    add_filter( 'xmlrpc_methods', function ( $methods ) {
        unset( $methods['pingback.ping'] );
        return $methods;
    } );
} );

add_filter( 'default_ping_status', '__return_empty_string' );
add_filter( 'default_pingback_flag', '__return_zero' );

add_action( 'admin_init', function () {
    foreach ( get_post_types( array( 'public' => true ), 'names' ) as $post_type ) {
        remove_post_type_support( $post_type, 'trackbacks' );
    }
} );

Здесь есть важный нюанс: remove_post_type_support() убирает поддержку trackbacks у типов записей, но не переписывает уже сохранённые настройки конкретных постов. Поэтому после внедрения стоит отдельно проверить старые записи, если они активно используются.

Вариант 3: отключить через плагин технической чистки

Если вы уже используете плагин для удаления дублей, лишних функций и технической оптимизации, удобно держать такие настройки в одном месте. Например, в Clearfy Pro есть инструменты для отключения ненужных функций WordPress и чистки сайта. Это полезно, когда pingback/trackback — только одна из нескольких задач по гигиене установки. Ссылка на плагин: https://wpshop.ru/plugins/clearfy.

Пошаговое решение без поломки сайта

  1. Сделайте резервную копию базы и файлов. Для этой задачи это не формальность: вы можете менять поведение комментариев и обсуждений на живом сайте.
  2. Отключите разрешение на уведомления о ссылках в Настройки → Обсуждение.
  3. Добавьте код в мини-плагин или дочернюю тему, если нужен гарантированный запрет для новых записей.
  4. Проверьте старые записи с включёнными trackbacks и при необходимости массово снимите поддержку обсуждений.
  5. Очистите спам и старые pingback-записи из комментариев.

Если сайт большой, лучше сначала протестировать изменения на staging-копии. Особенно это важно, если у вас есть кастомные типы записей или нестандартная логика комментариев.

Как проверить, что отключение сработало

Проверка должна быть практической, а не визуальной. Смотрите на три вещи.

1. В админке больше не создаются новые pingback/trackback

Опубликуйте тестовую запись и попробуйте сослаться на неё с внешнего ресурса, который умеет отправлять pingback. Если всё отключено правильно, новая запись в комментариях не появится.

2. В редакторе нет активной поддержки trackbacks

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

3. В базе не растёт мусор

Через несколько дней проверьте комментарии на предмет новых записей с типом pingback/trackback. Если они продолжают появляться, значит где-то осталась включённая настройка: в теме, в плагине или в конкретном типе записи.

Для быстрой проверки можно посмотреть комментарии с помощью WP-CLI, если он у вас доступен:

wp comment list --fields=comment_ID,comment_type,comment_post_ID --format=table

В выводе обратите внимание на comment_type. Если там по-прежнему появляются значения, связанные с pingback/trackback, значит блокировка неполная.

Частые ошибки и как их исправить

  • Отключили только в настройках, но не в коде. На старых записях и в кастомных типах контента обратные ссылки могут остаться активными. Решение: проверьте поддержку trackbacks для каждого типа записи.
  • Смешали pingback и XML-RPC. Это не одно и то же. Если вы отключили XML-RPC, но pingback-записи всё равно приходят, значит нужно отдельно убрать поддержку pingback.
  • Добавили код в родительскую тему. После обновления темы изменения пропадут. Используйте дочернюю тему или мини-плагин.
  • Не проверили старые записи. Новые публикации могут быть чистыми, а старые — продолжать принимать обратные ссылки. Это особенно заметно на сайтах с длинной историей.
  • Удалили не только pingback, но и обычные комментарии. Не используйте грубые фильтры, если вам нужен живой комментарийный раздел. Отключайте только обратные ссылки, а не весь механизм обсуждений.

Что учесть для безопасности и производительности

Отключение pingback и trackback не ускорит сайт радикально само по себе, но уберёт лишний шум и уменьшит количество ненужных запросов и записей в базе. На сайтах с высоким спам-нагрузкой это особенно полезно: меньше мусора — меньше ручной модерации и меньше риска пропустить вредоносные ссылки.

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

Для сайтов, где важна минимизация технического долга, удобнее держать такие отключения в одном месте — в мини-плагине или в инструменте технической оптимизации. Тогда вы не потеряете настройки при смене темы и сможете быстро понять, что именно было отключено.

Как отключить XML-RPC в WordPress без поломки Jetpack и мобильных приложений
21.08.2026
Как отключить архивы авторов в WordPress без потери индексации
27.08.2026
Как отключить XML Sitemap в WordPress без лишних дублей и конфликтов с SEO-плагином
08.09.2026
Как отключить emoji в WordPress и убрать лишние запросы из фронтенда
30.08.2026
Как отключить WP-Cron в WordPress и заменить его системным cron
02.09.2026