Automated SEO for WordPress: what automation can and cannot do
Plugins handle the mechanical layer and stop there. What the WordPress REST API actually reaches, which SEO work is genuinely automatable, and which is not.
On this page
- What we'll cover
- Where the plugin stops
- What the WordPress API actually reaches
- Internal linking, the best case for automation
- Building it with CodeWords
- The audits worth running on a schedule
- Monitoring what actually changed
- What automation should not touch
- Deciding what to do with a stale page
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
- Related reading
An SEO plugin handles the mechanical layer well: titles, meta descriptions, sitemaps, canonical tags, structured data. That work is largely solved, and the reason sites still underperform is that the remaining work is not mechanical.
What is worth automating is the layer above the plugin — the monitoring, the internal linking, the auditing of a library that grew past what anyone can hold in their head. What is not worth automating is the part that determines whether a page ranks, and being clear about that boundary saves building something that produces volume and no result.
What we'll cover
- Where the plugin stops
- What the WordPress API actually reaches
- Internal linking, the best case for automation
- Building it with CodeWords
- The audits worth running on a schedule
- Monitoring what actually changed
- What automation should not touch
- Deciding what to do with a stale page
- Making it survive
- Limits worth knowing about
- What to build first
- Frequently asked questions
Where the plugin stops
It handles one page at a time. A plugin tells you a description is missing on the page you are editing; it does not tell you that eighty pages are missing one.
It has no view of the library. Which pages compete with each other, which have no internal links, which have not been touched in three years.
It does not watch anything. A page that lost its rankings last month produces no notification.
It cannot see performance. The plugin does not know which pages earn traffic and which are dead weight.
It stops at the site boundary. Search Console, analytics and your own content calendar are where the decisions come from, and the plugin reaches none of them.
Which is fine. The plugin's job is the mechanical layer and it does it. The automation worth building sits above it and uses it.
What the WordPress API actually reaches
Posts, pages and custom post types, readable and writable, which covers most content operations.
Taxonomies — categories and tags — including the orphaned and near-duplicate ones that accumulate.
Media, including alt text, which is one of the few genuinely bulk-fixable things on most sites.
Revisions, which matter because any automated edit should be reversible and visible.
Plugin-specific fields vary. SEO titles and descriptions are usually exposed by the major plugins, and how they are exposed differs between them, so this is worth checking rather than assuming.
Authentication is a decision. Application passwords are the ordinary route, and the account should have the narrowest capability set that works rather than administrator.
Internal linking, the best case for automation
The clearest win, because it is a library-wide problem that no per-page tool can see.
Find the orphans. Pages with no internal links pointing at them, which on a site of any age is always more than expected.
Find the opportunities. Existing pages containing a phrase that a newer page now covers, which is a suggestion nobody would otherwise generate.
Check for broken internal links after slug changes, since a rename breaks every link to the old path silently.
Watch link concentration. A handful of pages receiving nearly every internal link means the rest of the library is invisible.
Suggest, do not insert. Automated link insertion produces unnatural anchor text and links that do not serve the reader, which is visible to both readers and search engines.
Anchor text matters more than the link. A suggestion should propose the phrase as well as the target, and a person should decide whether it reads naturally.
Building it with CodeWords
CodeWords connects to more than 3,000 integrations, so WordPress, Search Console, analytics and wherever your team works can meet in one automation.
- Open CodeWords and start a new automation.
- Describe what should happen in plain language to Cody, the automation builder: which audits, which signals, and what is suggested rather than applied.
- Authorize the connections — WordPress via an application password, plus Search Console and analytics.
- Describe the exceptions: pages excluded from audits, recently published content, anything a person has overridden.
- Run it read-only first and review the findings before anything writes.
You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.
The audits worth running on a schedule
Missing or truncated titles and descriptions, as a list across the whole library rather than page by page.
Duplicate and near-duplicate titles, which is the most common symptom of pages competing with each other.
Thin and stale pages — short, old, and receiving no traffic — which is a list for a human to decide about.
Images without alt text, which is an accessibility obligation first and an SEO consideration second.
Redirect chains and broken outbound links, both of which accumulate invisibly.
Taxonomy sprawl. Tags used once, categories with near-identical names, and archive pages with nothing on them.
Monitoring what actually changed
Position changes by page, from Search Console, filtered to the ones that matter rather than every fluctuation.
Pages that fell out entirely, which is the alert worth having and the one nobody has.
Impressions without clicks, which usually points at a title or description problem and is the cheapest fix available.
Queries a page gains, which often reveals that a page ranks for something other than what it was written for.
Crawl errors and indexing changes, which are worth knowing about within days rather than at the next quarterly review.
Correlate with your own deploys. A ranking change three days after a template change is a strong hint, and nothing joins those two facts unless you do.
What automation should not touch
Writing the content. Generated content at scale is the approach search engines have specifically targeted, and the sites doing it are the ones that lose visibility in a bad update.
Deciding what to write about, which requires knowing what your business actually does well.
Rewriting titles in bulk, since a title is a promise to a reader and the bulk-rewritten ones read like it.
Inserting links automatically, for the reasons above.
Deleting pages. An automated audit can propose; a person decides, because a page with no traffic may still be the one a large customer reads.
Structural changes. URL structures, taxonomies and templates affect the whole site and need a human who understands the consequences.
Deciding what to do with a stale page
Every audit produces the same list eventually: a few hundred pages that are old, short, and earn nothing. What to do with them is the decision the audit cannot make, and there are only four sensible answers.
Update it where the topic still matters and the page is simply out of date, which is the highest-return work available on most established sites.
Consolidate it where several pages cover overlapping ground. One good page beats four thin ones, and the redirect preserves whatever the originals had earned.
Redirect it where the topic has moved elsewhere, permanently, to the closest genuine equivalent rather than to the home page.
Leave it alone where it serves an audience that does not arrive through search — documentation, an announcement somebody links to, a page a customer has bookmarked.
Deleting without a redirect is rarely right, and it is what happens by default when a list like this is handed to somebody in a hurry.
Check the internal links first. A page with no search traffic and twenty internal links is load-bearing in a way the traffic numbers do not show.
Making it survive
Use revisions. Every automated write should be reversible and attributable, and WordPress gives you that for free if you do not bypass it.
Rate-limit against the site, since a WordPress install is a live site and a bulk job can degrade it for real visitors.
Handle plugin field differences explicitly rather than assuming one plugin's shape.
Back up before any bulk write, and verify the backup rather than assuming the plugin did it.
Report the outcome: what was audited, what was found, what changed, and what needs a person.
Limits worth knowing about
Search Console data is delayed by a couple of days and is sampled at the tail, so small-volume queries are incomplete.
Position is averaged across devices, locations and time, which makes single-page position changes noisier than they look.
The REST API can be restricted by hosts and security plugins, and some managed hosts limit it by default.
Bulk writes are heavy on shared hosting, and the practical throughput is lower than the API suggests.
Caching means changes are not immediately visible, which produces false negatives when verifying a fix.
What to build first
The weekly page-level report joining Search Console position changes to your own content library, with pages that fell out of the index flagged first. It writes nothing, it needs no permissions beyond read access, and it answers the question that no plugin can: which of these several hundred pages needs attention this week.
Two habits make the difference. Suggest rather than apply for anything touching the content itself, since automated links and bulk-rewritten titles are visible as such to readers and to search engines. And record what changed on your own site alongside the ranking data, because most unexplained drops are explained by a deploy nobody connected to them.
Frequently asked questions
What can an SEO plugin not do?
Anything that requires a view of the whole library or of the world outside the site: which pages compete with each other, which have no internal links, which lost rankings last month, and which earn no traffic.
Is automated content generation a good SEO strategy?
No. Generated content at scale is what search engines have specifically targeted, and sites relying on it are the ones that lose visibility in an update. Automate the monitoring and auditing, not the writing.
Should internal links be inserted automatically?
Suggest them, do not insert them. Automated insertion produces unnatural anchor text and links that do not serve the reader, which is visible to both readers and search engines. The anchor phrasing matters as much as the target.
What does the WordPress REST API give me?
Posts, pages, custom post types, taxonomies, media including alt text, and revisions — readable and writable. SEO titles and descriptions depend on which plugin you use and how it exposes its fields.
Which audits are worth scheduling?
Missing and duplicate titles across the library, thin and stale pages with no traffic, images without alt text, redirect chains, broken internal links after slug changes, and taxonomy sprawl.
What is the alert nobody has but should?
Pages that fell out of the index entirely. Most monitoring watches position movements and misses disappearance, which is the more serious event.
How should automated changes be made safely?
Through revisions so they are reversible and attributable, rate-limited against a live site, with a verified backup before any bulk write, and with a report of exactly what changed.
Why do my rankings change with no obvious cause?
Frequently a deploy. A template or structural change three days before a ranking shift is a strong hint, and nothing joins those two facts unless your monitoring records both.
Can automation decide which pages to delete?
It can propose. A person should decide, because a page with no search traffic may still be the one a significant customer relies on.
What should I do with old pages that get no traffic?
Update, consolidate, redirect, or leave alone. Deleting without a redirect is rarely right, and a page with no search traffic but many internal links is load-bearing in a way the traffic numbers do not show.
Is consolidating thin pages worth it?
Usually. One good page beats four overlapping thin ones, and redirecting the originals preserves whatever they had earned rather than discarding it.