Pingbacks и trackbacks — это механизмы взаимодействия между сайтами на WordPress, которые изначально были созданы для уведомления об упоминаниях и ссылках на ваш контент. Однако на практике они часто становятся источником спама, замедляют сайт и создают дополнительную нагрузку на сервер. В этой статье мы подробно разберём, как отключить эти уведомления, удалить уже накопившиеся pings и защитить сайт от нежелательных сообщений.
Что такое pingbacks и trackbacks в WordPress? Основные понятия и проблемы
Pingbacks — автоматические уведомления, которые WordPress отправляет и получает, когда один сайт ссылается на другой. Trackbacks — похожий механизм, но более устаревший и часто используемый для ручных уведомлений.
Суть в том, что когда другой сайт ссылается на ваш материал, WordPress пытается получить оттуда уведомление и создать комментарий с ссылкой обратно. Это удобно для взаимодействия, но на практике спамеры часто используют эту возможность, чтобы засорить комментарии рекламой и ссылками.
Проблемы, которые возникают из-за активных pingbacks и trackbacks:
- Рост количества спама в комментариях
- Повышенная нагрузка на базу данных и сервер
- Увеличение времени загрузки страниц с комментариями
- Риск снижения SEO-показателей из-за некачественных ссылок
Как отключить pingbacks и trackbacks средствами WordPress
Отключение в настройках админ-панели
Самый простой способ — отключить возможность получать pingbacks и trackbacks через стандартные настройки WordPress.
Для этого перейдите в админ-панели в раздел Настройки > Обсуждение и снимите галочку с пункта Разрешить уведомления о ссылках с других блогов (pingbacks и trackbacks) на новые статьи.
Однако этот способ отключит только новые записи, уже существующие записи останутся с включёнными уведомлениями.
Отключение pingbacks и trackbacks для всех будущих записей программно (wpfront_disable_pings)
Чтобы полностью запретить создание pingbacks и trackbacks для всех новых постов, добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:
function wpfront_disable_pings( &$links ) {
$links = array();
}
add_action( 'pre_ping', 'wpfront_disable_pings' );Этот код предотвращает отправку pingback-запросов при публикации новых постов, что снижает нагрузку и предотвращает автоматические уведомления.
Как массово удалить уже существующие pingbacks и trackbacks из базы данных WordPress
Отключение уведомлений не удалит старые пинги — они остаются в комментариях и продолжают занимать место в базе.
Для удаления их можно воспользоваться SQL-запросом напрямую в базе данных через phpMyAdmin или консоль MySQL. Pingbacks и trackbacks в базе WordPress помечаются типом комментария pingback или trackback.
DELETE FROM wp_comments WHERE comment_type = 'pingback' OR comment_type = 'trackback';<Перед выполнением обязательно сделайте резервную копию базы данных!
Если вы не хотите работать с базой напрямую, можно использовать плагин Cleanup Pingbacks and Trackbacks. Он позволяет быстро удалить все пинги через интерфейс админки.
Дополнительные рекомендации по защите сайта от спама pingbacks и trackbacks
Использование плагинов для фильтрации и контроля
Для более тонкой настройки можно применить плагины, которые расширяют возможности управления комментариями и уведомлениями, например:
- Clearfy Pro — позволяет отключать pingbacks и trackbacks глобально и настраивать другие параметры безопасности.
- WPRemark — расширенные возможности работы с комментариями, включая фильтрацию нежелательных уведомлений.
Отключение XML-RPC для предотвращения pingbacks
Pingbacks работают через протокол XML-RPC, который часто становится уязвимостью.
Чтобы отключить XML-RPC, добавьте в functions.php следующий код:
add_filter('xmlrpc_enabled', '__return_false');Или воспользуйтесь плагином Disable XML-RPC.
Выводы и практические советы
Отключение и удаление pingbacks и trackbacks — важный шаг для защиты WordPress-сайта от спама и оптимизации производительности. В сочетании с фильтрацией комментариев и отключением XML-RPC вы сможете значительно снизить нагрузку на сервер и улучшить качество комментариев.
Используйте простой код для отключения pingbacks, удаляйте старые pings из базы и применяйте проверенные плагины, например, Clearfy Pro для комплексной защиты.
Так вы обеспечите своему сайту на WordPress максимальную защиту от нежелательных уведомлений и улучшите пользовательский опыт.