Удаляем нерабочие ссылки из комментариев

Я продолжаю облагораживать блог, на очереди переписывание некоторых статей, удаление битых ссылок, но возникла еще одна задача — удалить «плохие» ссылки из комментариев. Так как плагин из прошлой темы может правильно определить только ссылки с ошибкой 404, а ссылки, которые ведут на парковки он не покажет, а также потому как я планирую оставить в ссылках комментаторов только ссылки на личные блоги, придется пройтись по всем комментариям.

Всего у меня в блоге около 5000 комментариев, порядок действий такой:

1. Экспортировать из базы данных все уникальные ссылки из комментариев.
2. Составить список из «плохих» ссылок
3. Удалить ссылки на «Плохие» сайты с помощью SQL-запроса в базу данных

1. Экспорт

Зашел в базу данных блога через PHPMyAdmin, далее в таблицу wp_comments. Сверху жмем «Структура», находим строку «comment_author_url», справа у нее есть стрелочка с текстом «Еще», если навести указатель на эту стрелку, то можно выбрать опцию «Обзор уникальных значений». Можно найти те же ссылки SQL-запросом:

SELECT COUNT( * ) AS `Строки` , `comment_author_url`
FROM `wp_comments`
GROUP BY `comment_author_url`
ORDER BY `comment_author_url`
LIMIT 0 , 30

Теперь можно изменить количество показываемых строк и скопировать их выделив, но так база данных можно зависнуть, поэтому идем в «Экспорт», выбираем способ «Обычный» и меняем формат на CSV для MS EXCEL, так мы получаем базу ссылок, у меня вышло 904 уникальных значения.

2. Собираем плохие ссылки

Самый трудный этап, если на блоге много комментариев. Нужно перейти по каждой ссылке и сделать пометку для плохих ссылок, в том же Экселе. Если не хочется заниматься этим, то можно проверить ссылки на ответ сервера и те, что отдают ответ 200 не трогать, все остальное проверить вручную. Вот хороший онлайн-сервис для массовой проверки ответа сервера — 4seo.biz/tools/31. Но я все же буду проверять каждую ссылку, пусть не за один день. Мне нужно сделать список ссылок активными ссылками, чтобы было удобно переходить по ним, копирую их все в NotePad++, жму «CTRL+H», выбираю «Регулярные выражения», убираю галочку с «и новые строки» и вводим такие данные:

Найти:

(^.*$)

Заменить

<a href=\1 target=_blank>\1</a><br/>

Регулярное выражение

Жмем кнопку «Заменить все» и сохраняем документ как 1.htm, открываем его. Зажимаем клавишу «CTRL» и кликаем по 10 ссылкам, бегло смотрим на открывшиеся сайт, ссылки, которые нам «не нравятся» сохраняем в отдельном файле.

3. Массовое удаление ссылок в MySQL

Теперь нам нужно снова зайти в PHPMyAdmin и сделать SQL-запрос для каждого плохого сайта:

UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'http://plohoi-site.ru', '' );

Можно сделать запрос сразу для всех плохих сайтов, собрав код с помощью регулярных выражений или с помощью Excel. Обратите внимание, что в конце ссылки не должно быть слеша, ссылка должна быть точно такой же, как и в блоге, поэтому копируйте ссылки со своего списка, а не в адресной строке сайта, на который перешли.

Все это очень долго, но что не поделаешь, чтобы быть «чистым» в глазах поисковых систем.

4 комментариев к записи “Удаляем нерабочие ссылки из комментариев

  1. Александр

    Я сразу делаю не рабочей ссылку в комментариях, при модерации. Это и то при условии, если коммент уникальный. А то обычно ссылки раскидывают спамеры, которые не утруждают себя написанием оригинальных комментариев. Такие в спамм.
    Ильдар, а вообще ссылки на сайты комментаторов (которые в поле «сайт» забиваются) можно удалить из всех записей? Я например не одной ссылки не продавал, а у меня показывает 360 исходящих ссылок.. Говорят это и на траст может влиять и вообще, хоть не большой, но вес уходит с сайта.
    Вручную слишком много работы.

  2. Ильдар Хакимов Автор статьи

    Скорее всего это можно сделать в MySQL или в файле /wp-include/comments.php, вторым способом я полностью убирал поле «Сайт», но сейчас сразу не вспомню как.

  3. Александр

    Поле «сайт» пока не собираюсь убирать, а вот от ссылок бы старых избавился. Наверное не получиться так автоматически сразу все убрать.

  4. Александр

    Так а смысл тогда открывать поле сайт при написании комментария? Если делаете dofollow блог, то зачем закрывать ссылку, а если нет, то просто уберите поле сайт при написании комментария.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *