Pingback и Trackback — это механизмы обратных ссылок в WordPress, которые уведомляют сайты друг друга о публикации контента. Несмотря на некоторую полезность, эти функции часто используются для спама и могут создавать дополнительную нагрузку на сервер. В этой статье подробно расскажем, как автоматически отключать Pingback и Trackback, чтобы повысить безопасность и производительность вашего сайта WordPress.
Что такое Pingback и Trackback и почему их стоит отключить
Pingback — это автоматическое уведомление от другого сайта о том, что он ссылается на вашу статью. Trackback — это ручное уведомление, которое отправляется с другого сайта, чтобы оповестить о ссылке на ваш материал.
Основные проблемы Pingback и Trackback:
- Спам: часто злоумышленники используют эти функции для массовой рассылки спам-сообщений.
- Нагрузка на сервер: обработка множества уведомлений снижает производительность сайта.
- Безопасность: возможны DDoS-атаки через Pingback.
Поэтому отключение этих механизмов — важный шаг в оптимизации и защите WordPress.
Как отключить Pingback и Trackback вручную через functions.php
Для отключения Pingback и Trackback можно добавить несколько строк кода в файл functions.php вашей темы или в плагин для пользовательских функций.
Пример кода для автоматического отключения:
<?php
// Отключаем XML-RPC pingback
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
add_filter('xmlrpc_methods', 'wpaddons_disable_pingback_method');
function wpaddons_disable_pingback_method($methods) {
unset($methods['pingback.ping']);
return $methods;
}
// Отключаем отправку trackback
add_filter('wp_headers', 'wpaddons_disable_trackback_http_header');
function wpaddons_disable_trackback_http_header($headers) {
unset($headers['X-Pingback']);
return $headers;
}
// Отключаем прием trackback
add_filter('wp_insert_post_data', 'wpaddons_disable_trackbacks_for_posts', 10, 2);
function wpaddons_disable_trackbacks_for_posts($data, $postarr) {
if (isset($data['ping_status'])) {
$data['ping_status'] = 'closed';
}
return $data;
}Этот код полностью отключит прием и отправку Pingback и Trackback, а также удалит соответствующие ссылки из заголовков страницы.
Отключение Pingback и Trackback с помощью плагинов
Если вы предпочитаете не редактировать код, можно использовать плагины, которые автоматизируют этот процесс.
1. Clearfy
Плагин Clearfy позволяет отключить Pingback и Trackback в один клик, а также улучшить безопасность и производительность сайта.
2. Disable XML-RPC Pingback
Простой плагин, который отключает именно функцию pingback.ping в XML-RPC, предотвращая DDoS-атаки через Pingback.
3. WPAddons Security Module
Если у вас установлен плагин WPAddons, в его модуле безопасности есть опция для отключения Pingback и Trackback без вмешательства в код.
Как проверить, что Pingback и Trackback отключены
После применения кода или плагинов убедитесь, что:
- В HTML-коде страницы отсутствуют теги
<link rel="pingback">. - В заголовках HTTP не передается заголовок
X-Pingback. - Сервисы не могут отправлять pingback-запросы через XML-RPC.
Проверить можно с помощью инструмента разработчика в браузере и плагинов безопасности.
Дополнительные рекомендации по безопасности и оптимизации
Отключение Pingback и Trackback — важный шаг, но для комплексной безопасности стоит рассмотреть следующие меры:
- Ограничение доступа к XML-RPC через файрвол или .htaccess.
- Использование плагинов для защиты от спама, например, Akismet или встроенных возможностей Clearfy.
- Регулярное обновление WordPress, тем и плагинов.
Если вы хотите автоматизировать эти процессы и интегрировать их с другими функциями сайта, плагин WPAddons отлично подойдет для расширенного контроля.
Итог
Автоматическое отключение Pingback и Trackback помогает защитить сайт от спама, снизить нагрузку на сервер и повысить безопасность. Для этого можно использовать простой код в functions.php или надежные плагины, такие как Clearfy или WPAddons. Обязательно проверяйте результат и дополняйте меры безопасности другими способами.