Вступление
Удалить пользователей WordPress можно двумя способами:
- без плагинов из административной панели и/или из базы данных;
- с помощью специальных плагинов.
Но для начала поймем, откуда берутся спам пользователи и кому нужно регистрироваться на сайте?
Кто такие спам пользователи
Если на вашем сайте растет количество подписчиков через форму регистрации на сайте, это не значит, что растет ваша база реальных подписчиков. К сожалению, большинство таких регистраций это спам регистрация, то есть «пришел-зарегистрировался-ушел навсегда».
Меня всегда было любопытно, откуда появляются спам пользователи и зачем это нужно. Я не говорю о спаме в комментариях, вопрос, зачем нужна спам регистрация. Ответ может быть прост. Сайт попадает в базу, по которой проходит автоматическая регистрация пользователей и дальнейшее рассылка спам комментариев. И здесь неважно, открыто комментирование или нет, боты этого не видят.
Кстати, на «слепоте» ботов рассчитан и метод защиты от user spam (спам регистрации), который я описал тут. Эта статья о другом. Напомню, в этой статье мы массово удаляем пользователей сайта WordPress.
Приведу пример, который и возьмем для демонстрации. На одном из сайтов у меня за некоторое время набралось более 1000 пользователей. Очевидно, что большинство из них фейки, и совершенно не нужны, но «бросить их жалко». Вдобавок, когда я экспортировал пользователей в лист MailChimp, робот почтовика определил, что около 40% импортируемых адресов не отвечают.
План статьи
- Как удалить пользователей из административной панели сайта;
- Как удалить пользователей из базы данных;
- Плагины для удаления пользователей и групп пользователей.
Как удалить пользователей WordPress из административной панели сайта
В административной панели все пользователи, которые зарегистрировались на сайте «лежат» на вкладке «Пользователи». Список пользователей разбивается, по умолчанию, на листы по 20 строк (Количество пользователей на странице можно увеличить: вверху ползунок «Настройка»).
Для пользователей предусмотрен показ следующих данных:
- Email (столбец перестраивается);
- Имя пользователя (столбец перестраивается);
- Роль;
- Количество публикаций.
К сожалению очень не хватает даты регистрации и как вывести дату регистрации пользователей, я написал в статье: тут.
Массовое удаление пользователей из административной панели сайта проводим по следующему алгоритму:
- Перестраиваем список пользователей по нужному параметру или фильтруем список пользователей по почтовой службе;
- Выделяем галочкой приговоренных к удалению пользователей. Можно выделить всех пользователей на этой странице;
- Кнопка «Удалить» удалит выбранных пользователей.
В мусорной корзине пользователи будут «лежать» по умолчанию 30 дней, если вы не перестраивали время очистки корзины, о чем можно почитать в статье: http://www.wordpress-abc.ru/administrirovanie/musornaya-korzina-wordpress.html.
Это метод прост и не требует ни плагинов, ни лишних «авторских» колов. Если нужно удалить пользователей без публикаций, фильтруете по количеству постов и удаляете у кого 0 публикаций. Если нужно удалить пользователей с почтовым ящиком в Яндекс (например), в фильтр вставляете @yandex.ru и удаляете выбранных. Кстати, самое большое количество спама от пользователей с ящиком у @yahoo.org.
Но этот способ удалить пользователей WordPress не удобен и может не сработать, если нужно удалить тысячи пользователей. Для более массовых удалений пользователей смотрим прямое удаление user из базы данных.
Как удалить пользователей WordPress из базы данных
- Идем в phpMyAdmin базы данных сайта;
- В базе данных сайта ищем и открываем таблицу [wp-user];
- Перестраиваем таблицу по нужному ключу, например по дате регистрации;
- Выделяем, что нужно удалить и удаляем.
Примечание: Чтобы перестроить таблицу по нужному ключу, достаточно нажать на заголовок нужного столбца.
Важно! Не удалить администратора (себя). В этом случае будут проблемы с доступом и придется добавлять себя phpMyAdmin.
SQL запросы
Конечно, более профессиональным будет работа с таблицей [wp-user] по SQL запросам. Для безопасности не забываем сделать резервную копию Базы Данных.
Например, можно сделать такой SQL запрос на удаление (wp префикс, менять на свой). Это приведет к удалению всех пользователей, кроме администратора с ID=1.
DELETE FROM `wp_users` WHERE ID>1
Или выберем пользователей по дате регистрации (формат даты и префикс должны быть ваши).
SELECT `user_registered` FROM `wp_users` WHERE `user_registered` > '2010-08'
Или сразу удалить по дате регисстрации
DELETE FROM `wp_users` WHERE `user_registered` > '2010-08'
Плагины для удаления пользователей
Назову два плагина WordPress, у которых есть удаление пользователей по их роли:
- BulkDelete (удобная метелка для всего сайта, а не только пользователей);
- WangGuard (комплексная защита от спама, удаляет до 5000 спам регистраций в день бесплатно).
Выводы
Для сайта, взятого для примера, я поступил следующим образом:
- Удалил всех пользователей, зарегистрированных не в текущем (2016) году;
- Оставшимся, отправил письма с просьбой отписаться от рассылки, если она не нужна. Сделал это через MailChimp. Заодно проверил адреса;
- Для дальнейшей работы установил плагин «Антиспам защита от CleanTalk (без CAPTCHA)».
P.S. Я опробовал плагин CleanTalk в бесплатном варианте. Плагин хорош, но дорог. Он без всяких Капч, определяет битые и автоматически созданные email пользователей, сравнивая их со своей базой данных. При попытке зарегистрировать битый email плагин пишет, что введенный адрес некорректен, а сам адрес помещает в базу данных и запрещает регистрацию на него. При этом страница регистрации не меняется.
Игорь Серов, www.wordpress-abc.ru
Еще статьи
- Настройки постоянных ссылок WordPress
- Хостинг для WordPress: параметры хостинга сайта WordPress
- Как экспортировать пользователей WordPress
- Как убрать из архивов WordPress миниатюры и ссылку подробнее
- Сайдбар и виджеты WordPress
- Как добавить рамки на все фото сайта WordPress
- Первые настройки WordPress
- Что такое тема WordPress
- Создание базы данных для WordPress
- Как удалить пользователей WordPress: массовое удаление пользователей
Добрый день! Удален второй администратор и все записи этого пользователя. Не связали содержимое. Возможно ли исправить?
При удалении пользователя с его записями, пользователь удаляется навсегда, а его записи попадают в корзину. Восстановите записи из корзины и прикрепите их к новому автору. Если корзину очистили, то восстановить записи можно из резервной копии сайта до момента удаления. НЕ базы данных, а всего сайта. Других вариантов я не знаю.
Спасибо большое