Title: Crawlmint SEO Content Audit and Fixer
Author: Hitesh Patel
Published: <strong>September 28, 2026</strong>
Last modified: September 28, 2026

---

Search plugins

![](https://ps.w.org/crawlmint-seo-content-audit/assets/banner-772x250.png?rev=3717021)

![](https://ps.w.org/crawlmint-seo-content-audit/assets/icon-256x256.png?rev=3717021)

# Crawlmint SEO Content Audit and Fixer

 By [Hitesh Patel](https://profiles.wordpress.org/hitesh94/)

[Download](https://downloads.wordpress.org/plugin/crawlmint-seo-content-audit.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/crawlmint-seo-content-audit/#description)
 * [Reviews](https://wordpress.org/plugins/crawlmint-seo-content-audit/#reviews)
 *  [Installation](https://wordpress.org/plugins/crawlmint-seo-content-audit/#installation)
 * [Development](https://wordpress.org/plugins/crawlmint-seo-content-audit/#developers)

 [Support](https://wordpress.org/support/plugin/crawlmint-seo-content-audit/)

## Description

Crawlmint scans every post, page and custom post type you choose and reports the
SEO and content problems holding them back, then offers a fix rather than just a
red cross.

**Checks included**

 * Missing meta description, and descriptions that are too short or too long
 * Duplicate titles
 * Thin content and completely empty pages
 * Missing H1, multiple H1s, skipped heading levels
 * Broken internal links (including links to drafts and trashed content)
 * Broken external links
 * Orphan pages that nothing links to
 * Images with no ALT attribute
 * Missing schema markup
 * Incorrect or foreign canonical URLs
 * Outdated content, including pages still referring to a past year
 * Readability: reading ease score, long sentences, wall-of-text paragraphs
 * Content that reads as unedited generated text

**Fixing, not just reporting**

Where a fix is safe to automate, the plugin does it: writes the meta description,
stores ALT text on the attachment, resets a canonical URL, demotes surplus H1s, 
unlinks a dead link. A revision is saved first, so anything can be rolled back from
the post editor.

**Suggestions**

Suggested wording can be generated three ways, and which one is used is entirely
your choice in the settings:

 1. WordPress AI client (default where available). On WordPress 7.0 and later the plugin
    calls the AI client built into WordPress core, so generation is routed through 
    whichever provider the site owner has already configured at site level. No extra
    API key, no provider lock-in.
 2. Your own Anthropic or OpenAI key. If the core AI client is not available, or you
    prefer a specific provider, you can enter your own key. See “External services”
    below for exactly what is sent.
 3. Offline. With no AI configured, the plugin falls back to suggestions built locally
    from the excerpt, attachment titles and the post title. Every check still runs,
    and the plugin remains fully usable with no external AI at all.

**Works with your SEO plugin**

Yoast SEO, Rank Math, All in One SEO and SEOPress are detected automatically, and
meta is read from and written to the right place. With no SEO plugin active, the
auditor outputs its own meta description, canonical and schema tags.

**Privacy**

This plugin does not track you. It collects no usage statistics, sends no telemetry,
registers no analytics and contacts no home server. The only outbound requests it
ever makes are the ones described in “External services” below, and each one is 
triggered by an action you take.

### What is included

Everything: every check, unlimited scanning and issue reporting, offline and AI 
suggestions, one-click and bulk fixes, external link checking, scheduled audits 
with email reports, and CSV export. There is no paid tier and nothing is locked.

### External services

This plugin can connect to the external services listed below. Nothing is sent anywhere
until you enable the relevant feature.

**1. Anthropic API (Claude)**

Used only when AI suggestions are enabled and the provider is set to “Anthropic 
API”, which also requires you to supply your own Anthropic API key.

 * What it is used for: generating the suggested replacement text for a single issue,
   for example a proposed meta description, ALT text or rewritten heading.
 * What data is sent: the title, excerpt or relevant content extract of the one 
   post you requested a suggestion for, the type of problem found, and your API 
   key for authentication. Nothing else from your site is transmitted, and no personal
   data about your visitors is included.
 * When it is sent: only at the moment you select “Suggest” on an issue, or run 
   a bulk suggest action. Scanning itself never contacts this service.
 * Endpoint: https://api.anthropic.com/v1/messages
 * Terms of service: https://www.anthropic.com/legal/consumer-terms
 * Privacy policy: https://www.anthropic.com/legal/privacy

**2. OpenAI API (ChatGPT models)**

Used only when AI suggestions are enabled and the provider is set to “OpenAI API”,
which also requires you to supply your own OpenAI API key.

 * What it is used for: generating the suggested replacement text for a single issue,
   exactly as above.
 * What data is sent: the title, excerpt or relevant content extract of the one 
   post you requested a suggestion for, the type of problem found, and your API 
   key for authentication. Nothing else from your site is transmitted, and no personal
   data about your visitors is included.
 * When it is sent: only at the moment you select “Suggest” on an issue, or run 
   a bulk suggest action. Scanning itself never contacts this service.
 * Endpoint: https://api.openai.com/v1/chat/completions
 * Terms of service: https://openai.com/policies/row-terms-of-use/
 * Privacy policy: https://openai.com/policies/row-privacy-policy/

**3. The provider configured for the WordPress AI client (WordPress 7.0 and later)**

When the provider is set to “WordPress AI client”, the plugin does not contact any
AI service itself. It calls the AI client in WordPress core, and core forwards the
request to whichever provider the site owner has configured in WordPress. The data
sent is the same single-post extract described above. Which company receives it,
and under which terms and privacy policy, is determined entirely by that site-level
configuration, so please refer to the documentation of the provider you have configured
in WordPress.

**4. Websites linked to from your own content (broken external link checking)**

Used only when the “Broken external links” check is enabled in the settings.

 * What it is used for: confirming whether the external URLs already present in 
   your content still resolve, so dead links can be reported.
 * What data is sent: an ordinary HTTP request to each external URL found in your
   content, exactly as a visitor’s browser would make when following that link. 
   No content of yours, no credentials and no visitor data are included. Responses
   are cached, so a given URL is not requested repeatedly.
 * When it is sent: during a scan, and only for the external URLs that appear in
   your own posts and pages.
 * Which services: whichever third-party websites you have chosen to link to. Their
   respective terms and privacy policies apply.

## Screenshots

[⌊The audit dashboard with issue counts by severity.⌉⌊The audit dashboard with issue
counts by severity.⌉[

The audit dashboard with issue counts by severity.

[⌊The issues list with inline suggest-and-fix controls.⌉⌊The issues list with inline
suggest-and-fix controls.⌉[

The issues list with inline suggest-and-fix controls.

[⌊The settings screen.⌉⌊The settings screen.⌉[

The settings screen.

## Installation

 1. Upload the `crawlmint-seo-content-audit` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the Plugins screen.
 3. Open Crawlmint > Settings to choose what to scan.
 4. Open Crawlmint > Dashboard and select Run audit.

To keep an API key out of the database, add it to `wp-config.php` instead of the
settings field:

    ```
    define( 'CRMT_ANTHROPIC_API_KEY', 'sk-ant-...' );

    define( 'CRMT_OPENAI_API_KEY', 'sk-proj-...' );
    ```

## FAQ

### Does this send my content to a third party?

Only when you enable AI suggestions, and only the single page you ask a suggestion
for. Which provider receives it depends on the Provider setting; see the “External
services” section above for the full details of each, including links to their terms
and privacy policies. Scanning itself is entirely local. External link checking 
sends a plain request to the linked site and nothing more.

### Does the plugin track me or collect analytics?

No. There is no telemetry, no usage tracking and no analytics of any kind.

### Do I need an API key?

No. On WordPress 7.0 and later the built-in WordPress AI client is used and no key
is needed. With no AI at all, the plugin still runs every check and falls back to
suggestions generated locally.

### Will it change my content without asking?

No. Fixes only ever run when you select Apply fix on an issue, or choose a bulk 
action. Every content change saves a revision first.

### The scan stops partway through.

Lower Items per batch in the settings, or run `wp crawlmint scan` from WP-CLI, which
has no browser timeout.

### Is the “generated text” check a detector?

No. It is a heuristic that counts filler phrases and structural tells, and it flags
content worth reading again by a human. Treat it as a prompt to edit, never as proof
of anything.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Crawlmint SEO Content Audit and Fixer” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ Hitesh Patel ](https://profiles.wordpress.org/hitesh94/)

[Translate “Crawlmint SEO Content Audit and Fixer” into your language.](https://translate.wordpress.org/projects/wp-plugins/crawlmint-seo-content-audit)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [broken links](https://wordpress.org/plugins/tags/broken-links/)[content audit](https://wordpress.org/plugins/tags/content-audit/)
   [image alt](https://wordpress.org/plugins/tags/image-alt/)[meta description](https://wordpress.org/plugins/tags/meta-description/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/crawlmint-seo-content-audit/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/crawlmint-seo-content-audit/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/crawlmint-seo-content-audit/reviews/)

## Contributors

 *   [ Hitesh Patel ](https://profiles.wordpress.org/hitesh94/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/crawlmint-seo-content-audit/)