Пинги и пингбэки — это механизмы WordPress, которые позволяют уведомлять другие сайты о публикации нового контента или ссылках. Несмотря на полезность, они часто становятся причиной спама и излишней нагрузки на сервер, особенно на популярных сайтах. В этой статье мы разберём, как правильно и эффективно отключить пинги и пингбэки в WordPress, используя как готовые плагины, так и собственные функции.
Что такое пинги и пингбэки в WordPress и зачем их отключать
Пинг — это уведомление, которое ваш сайт отправляет другим ресурсам, сообщая об обновлениях или новых публикациях. Пингбэк — это обратное уведомление, которое ваш сайт получает, если кто-то ссылается на ваши материалы. Оба механизма реализованы на базе XML-RPC и позволяют создавать взаимодействие между блогами.
Однако на практике пинги и пингбэки часто используются спамерами для размещения нежелательных ссылок, что увеличивает нагрузку на базу данных и замедляет работу сайта. Иногда из-за большого количества пингбэков страдает производительность сервера, увеличивается риск DDoS-атак и снижается безопасность.
Поэтому отключение пингов и пингбэков — распространённая задача для оптимизации и защиты WordPress-сайтов, особенно в условиях растущего спама и мошеннических действий.
Как отключить пинги и пингбэки средствами WordPress в админке
Самый простой способ отключить пинги и пингбэки — воспользоваться встроенными настройками WordPress:
- Зайдите в админ-панель WordPress.
- Перейдите в раздел Настройки > Обсуждение.
- Снимите галочку с пункта Разрешить уведомления о ссылках с других блогов (пингбэки и трекбэки).
- Сохраните изменения.
Этот метод отключит отправку и приём пингов, но не всегда полностью блокирует все запросы XML-RPC, которые могут использоваться для пингбэков.
Отключение пингов и пингбэков через код: примеры функций для functions.php
Для более полного контроля над пингами и пингбэками рекомендуем использовать кастомный код. Добавьте следующие функции в файл functions.php вашей темы или в собственный плагин.
Отключение отправки пингов при публикации и обновлении постов
function 2wp_disable_wp_pings( $links ) {
return array(); // Убираем все ссылки для отправки пингов
}
add_filter( 'pre_ping', '2wp_disable_wp_pings' );Этот фильтр предотвратит отправку пингов на внешние ссылки при публикации или обновлении записи.
Отключение приёма пингбэков и трекбэков
function 2wp_disable_xmlrpc_pingback( $methods ) {
unset( $methods['pingback.ping'] );
return $methods;
}
add_filter( 'xmlrpc_methods', '2wp_disable_xmlrpc_pingback' );Данный код отключает возможность принимать пингбэки через XML-RPC, что значительно снижает риск спама.
Полное отключение пингбэков и трекбэков на уровне комментариев
function 2wp_disable_pingback_comments( $open, $post_id ) {
if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] === 'POST' ) {
if ( isset( $_POST['pingback'] ) ) {
return false; // Закрываем возможность отправки пингбэков как комментариев
}
}
return $open;
}
add_filter( 'comments_open', '2wp_disable_pingback_comments', 10, 2 );Этот фильтр предотвращает создание пингбэков в виде комментариев, что дополнительно снижает спам.
Использование плагинов для отключения пингов и пингбэков
Если вы предпочитаете готовые решения, можно использовать следующие плагины, которые помогут в отключении пингов и пингбэков:
- Disable XML-RPC Pingback — простой плагин, отключающий метод pingback.ping в XML-RPC.
- Stop Pingback Spam — плагин, который блокирует спам-пингбэки и контролирует их отправку.
- Clearfy Pro — мощный инструмент оптимизации, который среди прочего позволяет отключать пинги и пингбэки, а также другие ненужные функции WordPress. Подробнее о Clearfy Pro: https://wpshop.ru/clearfy-pro/
Использование плагинов удобно, если вы не хотите править код напрямую и предпочитаете гибкие настройки через интерфейс.
Оптимизация и безопасность: дополнительные рекомендации
Помимо отключения пингов и пингбэков, рекомендуем:
- Отключить XML-RPC полностью, если он не используется, с помощью фильтра
add_filter('xmlrpc_enabled', '__return_false');. - Использовать защиту от спама, например, плагин Akismet или аналоги.
- Ограничить доступ по IP к файлу xmlrpc.php через .htaccess или серверные настройки.
- Периодически очищать базу данных от мусора, включая спам-комментарии и неактуальные записи.
Такие меры помогут снизить нагрузку на сервер и повысить безопасность сайта.
Итоговые рекомендации по отключению пингов и пингбэков в WordPress
Для комплексного и эффективного отключения пингов и пингбэков советуем комбинировать методы:
- Отключить пинги и пингбэки в настройках WordPress.
- Добавить кастомные фильтры в
functions.phpдля блокировки XML-RPC пингбэков и отправки пингов. - Использовать проверенные плагины, если нужен простой интерфейс управления.
- Принять дополнительные меры безопасности для защиты от спама и DDoS-атак.
Применяя эти шаги, вы сможете значительно снизить нагрузку на ваш WordPress-сайт и защитить его от нежелательных уведомлений и спама.