# Deleting lots of Suspect Users

**URL:** <https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406>\
**Category:** Support\
**Created:** [Mai 17, 2016, 8:38 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406 "2016-05-17T20:38:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![lrossouw](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lrossouw/32/121275_2.png) [@lrossouw](https://meta.discourse.org/u/lrossouw)\
**Post date:** [Mai 17, 2016, 8:38 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406/1 "2016-05-17T20:38:47Z")

</div>

I have a large number of suspect users I want to delete. They were migrated from our previous vbb forum and they have been sitting on our forum as suspect users for some time. Many of these have profile link spam.

My criteria are to delete any user meeting the following criteria:

- users that were last seen say more than 3 years ago
- users that have no posts
- users that have not read any posts
- (maybe users that have a web profile url)

I am able to select these using sql, but now want to bulk delete them.

How do I go about this?

---

<div class="post-metadata">

**Author:** ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)\
**Post date:** [Mai 17, 2016, 8:58 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406/2 "2016-05-17T20:58:34Z")

</div>

I don’t think there is any way to bulk delete users at the current time. The best you could do is script it from the Ruby command line.

---

<div class="post-metadata">

**Author:** ![lrossouw](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lrossouw/32/121275_2.png) [@lrossouw](https://meta.discourse.org/u/lrossouw)\
**Post date:** [Mai 18, 2016, 2:47 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406/3 "2016-05-18T14:47:05Z")

</div>

Ok deleted 80 by ✋ so it’s done.

---

<div class="post-metadata">

**Author:** ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)\
**Post date:** [Mai 18, 2016, 3:10 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406/4 "2016-05-18T15:10:46Z")

</div>



---

<div class="post-metadata">

**Author:** ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)\
**Post date:** [Mai 26, 2016, 6:04 UTC](https://meta.discourse.org/t/deleting-lots-of-suspect-users/44406/5 "2016-05-26T06:04:07Z")

</div>

For future reference, the best way to handle this currently is to identify the criteria, code that into the import script, and rerun the import on a clean Discourse database.

Of course, that doesn’t work if you’ve been writing posts on the current database for weeks…
