Content Health reads your own posts and tells you what is holding them back.
Activate it, click Scan my site, and you get nine counts:
Click any number to see exactly which posts, with a link straight to the editor. A “Fix these
first” shortlist ranks the posts with the most to gain, so a site with hundreds of flagged posts
has an obvious place to begin, and a single Health score next to the scan button gives
one number to track between scans instead of nine separate counts.
Past the per-post checks, the Report tab also compares every post against every other post:
This is Tier 1 like the rest of the audit: no AI, no network call, computed entirely from your
own post content during the scan.
A Link health view sits alongside those four: every active redirect, every orphan page, and
every broken link or image found by the optional link checker described below, gathered onto one
screen instead of scattered across separate reports.
The audit is the whole free plugin. No account, no sign-up, no external service, and no
time limit. It reads your database and nothing else.
Meta descriptions and title tags belong to whichever SEO plugin you use, so this plugin reads
and writes that plugin’s own fields rather than inventing competing ones. Supported:
The scan runs in batches with a progress bar and a handful of queries per batch. It never
renders your posts, so it does not run every other plugin on your site thousands of times.
There are no cron jobs and no background activity of any kind.
The Link health tab has its own Check links button. Unlike the rest of the free audit, this
one has to leave your database: it requests every link and image address found in your content —
your own pages and any outside site you have linked to — the same way a browser would, just to
see whether each one still responds. No account, no API key and no credits — this is free like
the rest of the audit — but it is the one check that contacts something other than your own
site, so it runs only when this button is clicked, never automatically and never as part of
Scan my site. Nothing about your site is sent to those addresses beyond the ordinary request
needed to check a page exists.
If you would rather not write forty meta descriptions by hand, the plugin can generate them
through netotraffic.com, an AI content service. This part is entirely optional, requires an
API key you paste in yourself, and is described in full under External Services below.
Every description it writes is backed up first, so any change can be undone with one click.
The title tag is the clickable headline in search results. The report flags the ones that are
too long to show in full and the ones so short they waste the space, and the AI can rewrite them
one at a time or in a reviewed batch.
It writes your SEO plugin’s title field, never the post’s own name — nothing on your site is
renamed. The old value is backed up first, so one click puts it back.
Alt text is what a screen reader announces in place of an image, and what search engines read it
by. For posts with images that have no alt attribute at all, the plugin can suggest a line for
each one. You see every image next to its suggested description, edit anything you like, and only
then save.
Images that are deliberately marked decorative (an empty alt) are left alone — that is correct
markup, not a mistake, and it is never reported as one.
For posts with no internal links, the plugin can ask the same service where a link would fit:
it returns a few anchor phrases that already appear in your post, each paired with one of your
own other posts to link to.
These are suggestions only. The plugin never edits your post content — it hands you the
ready-made HTML to copy, and you paste it wherever you want it. Nothing is written, so there
is nothing to undo.
For posts flagged as thin, the plugin can write a full draft for that page without you leaving
the report. You get an outline first and can edit, reorder or delete any heading before the
article is written. When it comes back you read the whole draft in the plugin and decide: save
it to the post, add it below what is already there, or throw it away.
Nothing reaches your site until you click Save. The text that was in the post is backed up
first, so one click puts it back, and WordPress keeps its own revision as well.
A dedicated LLMs & crawlers page (under the Content Health menu, not another tab) covers how
machine readers find your site. Crawler controls run locally with no network call; only the
optional llms.txt site summary can use AI credits:
/llms.txt,The existing “hard to skim” check now also scores how many of a post’s question-shaped headings
lead straight into a real answer, 0-100, shown as its own tile next to the Health score.
Posts with no question headings are left out of the average rather than scored — there is
nothing to grade.
Three small blocks for the post editor — TL;DR, FAQ and Pros & Cons — with shortcode fallbacks
for the classic editor, each with an optional “Generate with AI” button. An FAQ block saves as a
real heading-and-paragraph pair, so it counts toward Answer Density automatically.
Job title, credentials and social profile links can be added to each author’s own profile screen,
alongside their existing bio. These feed an optional [bach_author_card] shortcode — nothing here
is AI-written.
This plugin can optionally connect to netotraffic.com, an AI content generation service,
to write meta descriptions and title tags for your posts, suggest internal links, write image alt
text, draft articles for thin pages, generate a Content Block, and write an llms.txt site
summary. This is used only by the “Fix with AI”,
“Suggest links”, “Write alt text”, “Draft with AI”, a Content Block’s “Generate with AI” button,
and Generate site summary on the llms.txt tab.
Nothing is sent to netotraffic.com unless you have pasted an API key into the plugin’s
settings and clicked a button that generates a description, asks for link suggestions or drafts
an article. With no key saved, the plugin makes no requests to netotraffic.com at all. It also
makes no requests to netotraffic.com on activation, on a schedule, or in the background — every
request is the direct result of a click.
Separately, the Link health tab’s Check links button requests the link and image addresses
found in your own content — which can include outside sites you have linked to, not only your
own — to check whether each one still responds. This needs no account and no API key, and is
unrelated to netotraffic.com; it is disclosed here because it is the one feature in this plugin
that contacts a URL other than your own site. It runs only when that button is clicked, never
automatically. What is sent is an ordinary HTTP request (a HEAD, or a small ranged GET if a
server refuses HEAD) — nothing about your site, its content or its visitors is included beyond
what any browser sends just by visiting a page.
Endpoint contacted:
https://api.netotraffic.com/v1/plugin
What is sent, and when:
No personal data about your visitors, users or customers is ever transmitted. Your credit
balance is updated from the responses to the requests above; the plugin never calls out
merely to refresh a number.
The service is operated by NetoTraffic. Use of it is subject to their terms and privacy policy:
Generating descriptions, requesting link suggestions and drafting articles consume credits from
your netotraffic.com account, at a different rate each — the plugin shows every price before you
click. New accounts include a number of free credits. You can revoke a key at any time from your account there,
which stops this plugin’s access immediately.
This plugin can also optionally connect to Google Search Console, to add real click and
impression data to the stale-content check and to “Fix these first”. This is entirely separate
from netotraffic.com — it is your own Google Cloud project, created by you, holding your own
OAuth Client ID and Client Secret; netotraffic.com is never involved in this connection and never
sees your Search Console data.
Nothing is sent to Google unless you have created your own Google Cloud project, pasted its
Client ID and Client Secret into this plugin’s settings, and clicked “Connect Google Search
Console”. With nothing connected, the plugin makes no requests to Google at all, and every
report card behaves exactly as it does today. It makes no requests to Google on activation, on a
schedule, or in the background — every request either happens during a scan you started, or the
account-linking step itself (initial connection, and refreshing an expired access token, both
required by Google’s own OAuth protocol).
What is sent, and when:
oauth2.googleapis.com) using your own Client ID and Client Secret. This exchange, and thewww.googleapis.com/webmasters/v3) asking for your own site’s click and impression counts perNo personal data about your visitors, users or customers is ever transmitted to Google by this
plugin. The data it reads back (page URLs, click counts, impression counts) never …