Не так давно я решил сделать Инлайн немного более дружественным к поисковикам, и прописал для картинок (ну, по крайней мере для самых популярных) теги. После этого на меня посыпался вал trackback спама. Вообще я полагал, что функцию антиспама возьмет на себя Disqus. Но trackback оказались для него неизведанной материей, и когда количество ежедневных уведомлений у меня в почте перешло разумную грань, я решил, что пора что-то с этим сделать.
Что это вообще такое?
Само по себе явление trackback спама не новое. Суть состоит в том, что как только кто-то в своём блоге ставит ссылку на ваш блог, вам приходит уведомление. На первый взгляд, отличный способ отслеживать внешние ссылки на собственный блог. Если бы не спамеры, которые специально делают такую ссылку, только для того, чтобы вы прочитали короткое сообщение, которое будет в trackback уведомлении. При этом trackback спам захламляет не только WordPress, но и электронную почту.
Как бороться?
Рецептов в инернете много. Беглый поиск даст много результатов, но я привык всё записывать в свой собственный блокнот. Очень помогает потом, если нужно найти нужную информацию.
Делай раз
Идем в настройки WordPress и отключаем соответствующую опцию. Settings -> Discussion -> Allow link notifications from other blogs (pingbacks and trackbacks).
Если у вас русская версия, то будет что-то вроде “Настройки -> Обсуждения -> Разрешить получение уведомлений от других блогов”. Но не суть, здесь важно другое: убрав эту галку, мы отключим trackback только для новых записей, в то время как для старых ничего не поменяется.
Но это поправимо.
Делай два.
Второй шаг нужен, чтобы отключить trackback для записей и страниц, которые уже есть в блоге. Увы, здесь одной галочкой не ограничиться. Для второго шага нам придется внести изменения в базу данных, для чего нам понадобится phpMyadmin. Само собой, на всякий случай лучше сделать бэкап.
Открываем панель хостинга, ищем там phpMyadmin. В панели ISP его можно найти в разделе “Extra Applications” (не знаю как этот пункт правильно переводится в русской версии панели – какие-нибудь “дополнительные приложения). В CPanel phpmyadmin можно найти в разделе “Базы данных”. Правда, имя пользователя и пароль от блога здесь на подойдут – придется вспомнить имя пользователя и пароль от базы данных, которые вводили при установке WordPress.
Записали – молодцы, самое время достать записи. Нет – тоже ничего, вся эта информация есть в файле wp-config.php, который лежит в корневой директории сайта:
/** The name of the database for WordPress */ define('DB_NAME', 'Имя_Базы'); /** MySQL database username */ define('DB_USER', 'Имя_Пользователя_базы'); /** MySQL database password */ define('DB_PASSWORD', 'Пароль_к_Базе');
А дальше всё просто. В левой колонке phpMyadmin выбираем нашу базу. Затем в верхнем меню выбираем пункт SQL, вставляем в окошко вот такой текст:
UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'post'; UPDATE wp_posts SET ping_status='closed' WHERE post_status = 'publish' AND post_type = 'page';
Две строчки нужны для того, чтобы чтобы отключить trackback не только для записей, но и для страниц. Из самих строчек всё ясно, но на всякий случай уточню, что первая работает для записей, вторая – для страниц.
Теперь, всё, что нам остаётся, это нажать “Go”. После завершения операции phpMyadmin отчитается сколько именно записей было изменено.
Вместо заключения
Конечно, лучше отключить Pingback сразу после установки WordPress. Тем более, что сегодня практической ценности эти функции вроде бы не несут. Но даже если вы в своё время это не сделали. исправить ситуацию не сложно.
Leave a Reply