Пинги и трекбеки в WordPress — это механизм уведомления других блогов и сайтов о новых публикациях. Несмотря на полезность, они часто становятся источником спама, избыточной нагрузки на сервер и даже могут негативно влиять на SEO за счет большого количества внутренних ссылок и уведомлений. В этой статье разберём, как автоматизировать отключение пингов в WordPress, чтобы избежать этих проблем и сделать сайт более стабильным и дружелюбным для поисковых систем.
Что такое пинги и трекбеки в WordPress и почему их стоит отключить
Пинги — это уведомления, которые WordPress отправляет другим сайтам при публикации новой записи. Трекбеки — уведомления, которые другие сайты могут отправлять в ответ, если они сослались на ваш контент. При активных пингах и трекбеках сервер обрабатывает дополнительный трафик, что увеличивает нагрузку. Кроме того, спамеры могут использовать эти механизмы для отправки спам-сообщений на ваш сайт.
С точки зрения SEO, слишком большое количество исходящих и входящих пингов может восприниматься поисковыми системами как спам или избыточная перелинковка, что снижает рейтинг сайта. Поэтому отключение пингов является хорошей практикой для большинства проектов.
Как отключить пинги и трекбеки с помощью настроек WordPress
Самый простой способ отключить пинги — это через настройки в админке WordPress. Для этого перейдите в «Настройки» → «Обсуждение» и снимите галочку с пункта «Разрешить уведомления о ссылках с других блогов (пингбеки и трекбеки)».
Однако такой способ только запрещает входящие уведомления, но не отключает отправку пингов при публикации новых записей. Чтобы полностью отключить пинги и трекбеки, нужно добавить пользовательский код.
Автоматическое отключение пингов и трекбеков через functions.php
Добавьте следующий код в файл functions.php вашей активной темы или в плагин с пользовательскими функциями:
function wpmanager_disable_pings() {
// Отключаем отправку пингов для новых записей
add_filter('pre_ping', '__return_empty_array');
// Отключаем возможность получать пингбеки и трекбеки
remove_action('do_pings', 'do_all_pings', 10);
}
add_action('init', 'wpmanager_disable_pings');Этот код блокирует отправку пингов при публикации и удаляет действие, отвечающее за обработку пингбеков, тем самым полностью отключая оба механизма.
Реализация автоматического отключения пингов для новых сайтов с помощью плагинов
Если хочется использовать плагин и получить расширенный функционал, рекомендуем обратить внимание на Clearfy Pro. В нем есть возможность отключить пинги и трекбеки одним кликом, а также множество других оптимизаций для WordPress.
Еще один полезный плагин — WPRemark, который позволяет гибко настраивать уведомления и комментарии, включая пинги.
Дополнительные советы по оптимизации пингов и безопасности
Для дополнительной защиты от спама пингов стоит ограничить доступ к файлу xmlrpc.php, так как именно через него чаще всего и приходят нежелательные уведомления. Это можно сделать в .htaccess или на уровне сервера. Пример правила для Apache:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>Если ваш сайт зависит от функций, использующих XML-RPC (например, мобильные приложения или удалённое управление), отключайте пинги выборочно, используя фильтры и условия.
Использование фильтра для условного отключения пингов
Можно настроить отключение пингов только для определённых типов записей или ролей пользователей. Например:
function wpmanager_conditional_disable_pings($pings) {
if (get_post_type() === 'post') {
return [];
}
return $pings;
}
add_filter('pre_ping', 'wpmanager_conditional_disable_pings');Такое решение позволяет сохранить гибкость и при этом избежать избыточных уведомлений.
Подведём итоги
Отключение пингов и трекбеков — важный шаг в оптимизации WordPress-сайта для повышения безопасности, снижения нагрузки на сервер и улучшения SEO. Используйте встроенные настройки, добавляйте пользовательский код как в примерах выше или воспользуйтесь специализированными плагинами, такими как Clearfy Pro. Не забывайте про защиту xmlrpc.php и настройку условий отключения пингов при необходимости.