Title: AI Slop Checker
Author: tampawebtech
Published: <strong>August 25, 2026</strong>
Last modified: August 25, 2026

---

Search plugins

![](https://ps.w.org/ai-slop-checker/assets/banner-772x250.jpg?rev=3666051)

![](https://ps.w.org/ai-slop-checker/assets/icon-256x256.jpg?rev=3666051)

# AI Slop Checker

 By [tampawebtech](https://profiles.wordpress.org/jadeslair/)

[Download](https://downloads.wordpress.org/plugin/ai-slop-checker.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/ai-slop-checker/#description)
 * [Reviews](https://wordpress.org/plugins/ai-slop-checker/#reviews)
 *  [Installation](https://wordpress.org/plugins/ai-slop-checker/#installation)
 * [Development](https://wordpress.org/plugins/ai-slop-checker/#developers)

 [Support](https://wordpress.org/support/plugin/ai-slop-checker/)

## Description

Two problems, one plugin.

**1. Pasted chat sessions.** When someone copies an answer out of ChatGPT or Claude
and drops it into the editor, the reply usually comes with its packaging: a “Certainly!
Here’s the article you asked for” on top, and a “Would you like me to expand on 
any section?” at the bottom. The pattern scanner looks for that packaging. It runs
locally, costs nothing, and needs no API key.

Hits near the end of a long post are weighted more heavily, because that is where
the tail of a chat reply lands.

**2. Facts that have moved on.** A model writes confidently from training data with
a cutoff date. Version numbers, prices, “the current largest”, “as of 2023” — all
of it can be quietly wrong by the time it publishes. The plugin pulls the most checkable
sentences out of a post and runs them past a search-grounded model. Anything contested
or low-confidence gets a second look from Google.

Verdicts are one of: accurate, outdated, inaccurate, or unverifiable. “Outdated”
is the one to care about — it means the claim used to be true, which is exactly 
the failure mode a knowledge cutoff produces.

#### Choosing a fact-check provider

You can use **Perplexity**, **Gemini**, or both.

Both are grounded: Perplexity searches at request time by default, and the Gemini
requests always attach the Google Search tool. That grounding matters more than 
which model you pick. An ungrounded model answers a fact-check from its own training
data, which means it carries the same cutoff blind spot the plugin exists to find—
it would be checking stale facts against stale facts.

Running both costs twice as much but is meaningfully stronger: claims the two agree
on are reported with higher confidence, and claims they split on are marked **disputed**
so a human decides rather than the plugin guessing.

#### What it looks at

 * Dangling offers to keep working (“Would you like me to…”, “Let me know if you’d
   like…”, “3 more prompts”)
 * Assistant self-reference (“As an AI language model”, “I don’t have access to 
   real-time data”)
 * Prompt echoes and delivery framing (“Certainly! Here’s a draft”, “As requested”)
 * Unfilled scaffolding (`[Insert company name]`, “Word count: 1,450”, stray SEO
   briefing fields)
 * Raw markdown that never converted (`**bold**`, `## headings`)
 * Knowledge-cutoff language (“as of my last update”, “the latest version is”)
 * Stock generated phrasing (“delve into”, “in today’s fast-paced world”, “a testament
   to”)

The last category is deliberately low-weight. Plenty of human writers say “it’s 
important to note”. On its own it proves nothing, and the scoring reflects that.

### External services

Pattern scanning is entirely local. The plugin makes no network requests at all 
until you add an API key and turn on AI mode.

When you do enable fact-checking, the plugin sends data to whichever services you
have configured. In every case what leaves your site is the same: **individual sentences
extracted from the post being checked**, plus the post title and its publication
date for context. Never the full post, never user accounts, never visitor data.

**Perplexity AI** — used to fact-check claims when Perplexity is the selected provider.

Data sent: extracted claim sentences, post title, post publication date. Sent to:
https://api.perplexity.ai/chat/completions Terms: https://www.perplexity.ai/hub/
legal/terms-of-service Privacy: https://www.perplexity.ai/hub/legal/privacy-notice

**Google Gemini API** — used to fact-check claims when Gemini is the selected provider.
Google Search grounding is enabled on these requests, so your claim text is used
as a search input.
 Data sent: extracted claim sentences, post title, post publication
date. Sent to: https://generativelanguage.googleapis.com/ Terms: https://ai.google.
dev/gemini-api/terms Privacy: https://policies.google.com/privacy

Note that Google treats its free and paid Gemini tiers differently. On the free 
tier, Google’s terms state that submitted content may be used to develop Google 
products and that human reviewers may read it. On a paid tier it is not used to 
improve their products. If you are checking unpublished drafts, read those terms
before using a free key.

**Google Fact Check Tools API** — optional. Looks for published fact-checks matching
a claim.
 Data sent: keywords derived from a single claim sentence. Sent to: https://
factchecktools.googleapis.com/ Terms: https://developers.google.com/terms Privacy:
https://policies.google.com/privacy

**Google Programmable Search (Custom Search JSON API)** — optional, and only active
if you supply a Search Engine ID. Used to corroborate contested claims and judge
how recent the supporting sources are.
 Data sent: keywords derived from a single
claim sentence. Sent to: https://www.googleapis.com/customsearch/v1 Terms: https://
developers.google.com/terms Privacy: https://policies.google.com/privacy

Responses are cached for 24 hours so repeated checks of unchanged content do not
re-send anything.

## Screenshots

[⌊Editor sidebar flagging a post with leftover chat residue.⌉⌊Editor sidebar flagging
a post with leftover chat residue.⌉[

Editor sidebar flagging a post with leftover chat residue.

[⌊The dashboard: site-wide scan progress and the flagged list.⌉⌊The dashboard: site-
wide scan progress and the flagged list.⌉[

The dashboard: site-wide scan progress and the flagged list.

[⌊Settings.⌉⌊Settings.⌉[

Settings.

## Installation

 1. Upload the `ai-slop-checker` folder to `/wp-content/plugins/`.
 2. Activate it.
 3. Open **AI Slop** in the admin menu.

Pattern checking works immediately. For fact-checking, switch Check Mode to “Patterns
+ AI”, pick a provider, and add that provider’s key:

 * **Perplexity** — key from perplexity.ai  Settings  API.
 * **Gemini** — key from Google AI Studio. There is a free tier.

The Gemini model ID is a free-text field on purpose. Google retires and releases
IDs faster than this plugin ships, so you can type a current one without waiting
for an update.

The separate Google Search & Fact Check section is optional and independent of Gemini.
The Fact Check Tools API needs only an API key; web corroboration also needs a Programmable
Search Engine ID set to search the whole web.

## FAQ

### Does this prove something was written by AI?

No, and it does not try to. It finds evidence of a specific, sloppy workflow: pasting
a chat reply in without reading it. A high score means artifacts of a chat session
survived into the published text. That is a real editorial problem whether or not
you care how the draft was produced.

A well-edited AI-assisted post scores clean here. That is the intended behaviour.

### Will the check slow down publishing?

No. The pattern scan runs inline and takes milliseconds. If AI mode is on, the fact-
check is queued to run just after the save completes, so hitting Publish never waits
on a network call.

### Can I close the tab during a site-wide scan?

Yes. The scan keeps a cursor in the database and runs server-side on WP-Cron, so
it survives page navigation and picks up where it stopped.

If your host has WP-Cron disabled, or blocks the loopback requests it depends on,
the scan still completes as long as the dashboard is open — the page drives the 
work itself rather than waiting on cron. Leaving the tab open is the reliable option;
closing it relies on cron working.

A scan that dies part way through, for any reason, loses at most the single post
it was working on. If a particular post crashes the scanner twice, it is stepped
over and reported at the end rather than retried forever.

### How much does a site scan cost?

Pattern-only scans are free and make no network requests, so running one across 
a whole site costs nothing.

With AI fact-checking enabled, each post costs one call to your chosen provider —
two if you have both selected — plus up to a couple of Google calls for contested
claims. Across a large site that adds up, and free API tiers have rate limits a 
full crawl will hit. Check your provider’s limits before starting one.

“Skip posts already checked since their last edit” is on by default so repeat scans
stay cheap, and API responses are cached for 24 hours. A practical approach on a
large site is to run the pattern scan over everything first, then enable AI only
for the posts it flags.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“AI Slop Checker” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ tampawebtech ](https://profiles.wordpress.org/jadeslair/)

[Translate “AI Slop Checker” into your language.](https://translate.wordpress.org/projects/wp-plugins/ai-slop-checker)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/ai-slop-checker/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/ai-slop-checker/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/ai-slop-checker/)
by [RSS](https://plugins.trac.wordpress.org/log/ai-slop-checker/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[ChatGPT](https://wordpress.org/plugins/tags/chatgpt/)
   [content quality](https://wordpress.org/plugins/tags/content-quality/)[fact checking](https://wordpress.org/plugins/tags/fact-checking/)
 *  [Advanced View](https://wordpress.org/plugins/ai-slop-checker/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/ai-slop-checker/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/ai-slop-checker/reviews/)

## Contributors

 *   [ tampawebtech ](https://profiles.wordpress.org/jadeslair/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/ai-slop-checker/)