How to Add WordPress Profanity Filters
Spam and profanity are a big problem for anyone with a WordPress site. Whether yours is a simple website with a few pages or a multi-user platform that hosts tons of user-generated content, you need to be wary of both.
We’ve covered the best anti spam WordPress plugins on the blog before, and while spam may include profanity not all profanity is spam. Which is why we’ve put together this post!
While words “may never hurt you” as the nursery rhyme says, profanity can be harmful in a number of ways:
Of course there are exceptions to every rule, and depending on the type of website (or community) you run, profanity may or may not be a problem. For example what might be a mean b-word to refer to a woman on a couponing forum, might also be a totally normal word on a site about breeding dogs. Similarly, if you run a website targeting adults you may be a bit more lax when it comes to filtering out certain words than you would if you had a blog about Roblox with a younger audience. So use your own discretion when defining what is profanity and an acceptable level for your own site.
Below we will share three ways you can kick profanity to the curb to provide a better user experience, maintain your brand and potentially protect SEO for your WordPress site.
1. Enable Built-in WordPress Comment Filters
An easy and free way to prevent profanity on your WordPress site is to simply add a list of banned words to your site. Just navigate to Settings > Discussion and scroll to the Disallowed Comment Keys section.
Then just add your list of forbidden words, one word per line. Once you save, any time a comment containing one of the specified words is submitted it will be immediately sent to the trash.
If you would rather approve a potentially offensive comment then you can instead use the Comment Moderation section, so that a comment with a specified word is held for approval rather than deleted.
Pros: Completely free option and you can add specific words for comments to be moderated or deleted.
Cons: The process of adding every “bad” words is going to be very labor intensive, and it’s very likely you won’t get them all. Also, the way the WordPress moderation filter works is that it matches specified words always, even when they’re inside of other not-bad words. So depending on which words you add to your list something like the word “class” could be blocked.
2. Use Akismet to Stop Spam and Profanity
Already using Akismet? Then you’re in luck – in addition to preventing spam Akismet also maintains their own extensive list of prohibited words.
Akismet is a very popular anti-spam plugin that will help even the beginner WordPress user to eliminate spam and coincidentally a lot of profanity.
While the number of downloads shouldn’t necessarily mean anything as far as effectiveness goes, I feel that the millions of users who have downloaded and use the plugin is a significant sign that it must work.
Akismet, which launched way back in 2005, has a complex filtering engine that keeps track of all comments, trackbacks and pingbacks on your blog. Using this data, it performs rigorous tests to filter out junk. The plugin then pushes all spam comments into your spam folder in case you need to counter-check.
Akismet can be overenthusiastic at times, blocking even comments from genuine readers. However, the plugin has become quite intelligent since it learns as you continue using it. So hopefully the longer you have it on your site, the more accurate the spam and profanity filtering.
Pros: Free for a personal website, can be installed from your WordPress dashboard and includes a regularly updated list of banned words, phrases, emails, ip addresses, etc.
Cons: For commercial sites plans start at about $100 per year and to my knowledge there are no ways to edit the block list. You can of course manually un-mark comments mistakenly placed in your spam folder, and Akismet should use machine learning to understand that a comment was ok according to you, but it may still mark similar comments as spam in the future.
3. Use the WebPurify Profanity Filter
Another option is to invest in a dedicated profanity filter like WebPurify. This give you better, more comprehensive profanity filtering across the board.
WebPurify is probably one of the best profanity filters out there. Firstly, you don’t need to create a list of profane words/phrases to filter out since the plugin comes with an extensive list not only in English but also in Spanish, French, Arabic, Italian, Portuguese, German, Hindi, Japanese, Russian, Thai and Turkish plus additional languages for Chinese, Korean and Punjabi are in beta.
Whenever a user posts profane content, let us say, via the comment section, the plugin uses WebPurify Profanity Filter API to replace the profane words with asterisks immediately.
But that’s not all – WebPurify can do much more than text filtering. Sorting through content is an uphill task, but the service can also sort through images or videos and offer realtime statistics to show you just how well it’s working. WebPurify is a premium service, but plans start at just $5/mo for word and phrase moderation for one site which is well worth it to save you some valuable time.
Pros: WebPurify is the most comprehensive profanity filtering option and offers options to custom block/allow lists via their API or admin area.
Cons: There is a 14 day free trial, but there is no longer a completely free version. While you can still find the WebPurify plugin in the WordPress repository, it hasn’t been updated in 2 years so we wouldn’t necessarily recommend installing it (just go for the premium version).
There you have it. Three straightforward ways to manage profanity on your WordPress site. Of course there are other options (like the SpeedPlus AntiMat plugin that enables you to replace bad words, so you could have a bit of fun make bad words turn into compliments or Pokemon names) but the methods we’ve mentioned are the best in our opinion.
But we want to hear from you. Do you know of any other WordPress profanity filter options that were not mentioned in the article? Let us know in the comment section below!