SEO.In build

Crawls the whole site and finds the slow leak. Indexation, schema, links, images, headings.

Why this one exists. Nothing breaks. The traffic just goes down and nobody can say when it started.

20Playbooks
108Steps written out
7That change anything
0Free on every plan

Every playbook it holds

Accessibility Sweep

agencyMonthlyNov 2026

Test the real pages against WCAG and report each failure with its fix.

1
Crawl the pages that matter

Templates rather than every post, because the failure is nearly always in the template.

Reads only
2
Test against WCAG

Contrast, labels, headings, focus order, keyboard reachability, alt text.

Reads only
3
Name the element

The selector and the page, not a score out of a hundred.

Reads only
4
Report with the fix

Each failure with the change that resolves it. It publishes nothing.

Reversible write
4 steps · reads only, never writes

Link Sweep

careWeeklySept 2026

Find dead links and bad redirect chains, propose a target, and fix on approval.

1
Crawl every link

Internal and external, including the ones inside page builder content.

Reads only
2
Separate dead from slow

A timeout is not a 404, and treating them the same creates noise.

Reads only
3
Propose a target

For internal links, the page that replaced it. For external, the archived copy or nothing.

Reads only
4
Fix on approval

Only after you approve, and through post revisions so every edit can be undone.

Reversible write
4 steps · changes the site, behind a restore point

Image Sweep

agencyMonthlySept 2026

List every image that fails to load, and the page it sits on.

1
Collect every image reference

Content, featured images, galleries, and page builder background images.

Reads only
2
Request each one

The actual file, not the attachment record, because the record can outlive the file.

Reads only
3
Group by cause

A CDN outage, a failed migration and a deleted file need different answers.

Reads only
4
Report by page

Sorted by the traffic the page gets. It edits nothing.

Reversible write
4 steps · reads only, never writes

Technical Crawl

agencyMonthlyOct 2026

A full crawl reported in the order that costs the most traffic.

1
Crawl the site

Every reachable page, following the same rules a search engine does.

Reads only
2
Check indexation

What is blocked, what is duplicated, what is orphaned, what is canonicalised to the wrong place.

Reads only
3
Check the structured data

Schema present, valid, and describing what the business actually is.

Reads only
4
Measure page speed

On the templates, on mobile, on the connection your customers actually have.

Reads only
5
Report by traffic cost

Ordered by what it is costing, not by severity in the abstract. It changes nothing.

Reversible write
5 steps · reads only, never writes

Page Optimise

agencyOn demandLater

Audit one page, propose every on-page fix, apply on approval, then recheck.

1
Read the page as it stands

Title, description, headings, alt text, schema, internal links, and what it currently ranks for.

Reads only
2
Propose the changes

Every one written out in full, so you read the actual words before anything happens.

Reads only
3
Wait

It never publishes on its own. This step has no timeout and no default yes.

Stops the run
4
Apply what you approved

Through post revisions and the SEO plugin you already use, so nothing is bypassed and everything is undoable.

Reversible write
5
Recheck

Confirm the change landed and nothing else on the page moved.

Reads only
5 steps · changes the site, behind a restore point

Sitemap Audit

agencyWeeklyOct 2026

Check the sitemap lists the pages you want found, only those, and that every address in it answers.

1
Fetch the sitemap index

Every child sitemap it names, and whether the file is valid XML at all. A broken sitemap fails silently and nothing tells you.

Reads only
2
Request every address in it

Status code, canonical tag and meta robots for each. A sitemap full of redirects and 404s spends the crawl budget on your worst pages.

Reads only
3
Compare against the crawl

Pages the site links to that the sitemap leaves out, and pages in the sitemap that nothing on the site links to.

Reads only
4
Check the dates are real

A last modified date that changes on every page every night tells a search engine nothing, which is the same as having no date at all.

Reads only
5
Report both directions

What is missing and what should not be there. This is a sitemap audit, not an indexation report. Only Search Console can say what Google actually indexed. It changes nothing.

Reversible write
5 steps · reads only, never writes

Indexation Audit

agencyWeeklyNov 2026

Say which pages Google has indexed, which it has dropped and why, from Search Console rather than from a guess.

1
Confirm Search Console is connected

Nothing outside Search Console can tell you what Google has indexed. Without it the run exits here rather than reading a sitemap and calling it indexation.

Stops the run
2
Pull the coverage report

Every page Google knows about, the state it assigned, and the date it last crawled it.

Reads only
3
Match it against the crawl

Pages you publish that Google has not indexed, and pages Google has indexed that you never meant to publish.

Reads only
4
Group by the reason Google gave

Crawled and not indexed, duplicate without a canonical, blocked by robots, and soft 404. Each of those needs a different answer.

Reads only
5
Rank by what the page was worth

A dropped service page matters. A dropped tag archive does not, and mixing them buries the one that does.

Reads only
6
Report with the fix

Each group with the change that resolves it. It requests no indexing and changes nothing on the site.

Reversible write
6 steps · reads only, never writes

Canonical Audit

agencyMonthlyOct 2026

Find the pages pointing search engines at a different address, which quietly hands their ranking to something else.

1
Read the canonical on every page

The tag in the head, the one in the HTTP header, and the one the sitemap implies. Three sources that can disagree with each other.

Reads only
2
Find the pages pointing elsewhere

A page whose canonical names another address is asking not to rank. Sometimes that is correct, and often it is a plugin default nobody chose.

Reads only
3
Follow each target

A canonical pointing at a redirect, a 404, or a page that canonicals somewhere else again is worse than having none.

Reads only
4
Check the protocol and the host

http against https, www against the plain address, and a trailing slash that does not match. Each one splits a single page into two.

Reads only
5
Report by traffic at risk

Ordered by what each page earns rather than by how many pages are affected. It edits nothing.

Reversible write
5 steps · reads only, never writes

Redirect Chains

agencyMonthlyNov 2026

Flatten the redirect chains that make every visitor and every crawler take three hops to reach one page.

1
Follow every internal redirect

From the link to the final address, counting the hops on the way. If nothing chains, it exits here and edits no rule.

Stops the run
2
Export the redirect table

Every rule as it stands today, from whichever plugin or host layer holds it. Nothing is rewritten until that export exists.

Stops the run
3
Point the first hop at the last address

One rule at a time, and only where the chain ends in a page that answers. A chain ending in a 404 is a different problem and is reported instead.

Writes
4
Leave the loops alone

Two rules pointing at each other cannot be flattened safely. They are listed for you and nothing is touched.

Stops the run
5
Restore from the export

The step two export puts every rule back exactly as it was, in one action, with no rule left half rewritten.

Reversible write
6
Follow every link again

Confirm each one now reaches its page in a single hop, and that nothing which worked before this run now returns a 404.

Reads only
6 steps · changes the site, behind a restore point

Duplicate Meta

agencyMonthlyNov 2026

Find the pages sharing a title or a description with another page, and give each one its own.

1
Collect every title and description

From the page as it is served, not from the SEO plugin's fields, because a template can override what the field says. If nothing is duplicated, it exits here.

Stops the run
2
Group the exact and the near matches

Twelve location pages differing by one town name are the same finding as twelve identical ones.

Reads only
3
Write the replacements out in full

Every proposed title and description in the words that would be published. It waits here, with no timeout and no default yes.

Stops the run
4
Save what you approved

Through the SEO plugin already installed and through post revisions, so nothing is bypassed and nothing is written twice.

Writes
5
Undo

Each change is one field in the SEO plugin, with the previous value held in the post revision. Putting a page back is one action.

Reversible write
6
Recheck what is served

Request each changed page again and confirm the new title is what actually comes back, not just what is stored.

Reads only
6 steps · changes the site, behind a restore point

Heading Structure

agencyMonthlyDec 2026

Find the pages whose headings do not describe the page, which is the cheapest on-page problem to fix and the most common one.

1
Read the headings on every page

In document order, with the level of each one recorded.

Reads only
2
Find the pages with none or several

A page builder styling text to look like a heading is not a heading. It reads the tag, not the size.

Reads only
3
Find the levels that skip

An h2 followed by an h4 tells a screen reader and a search engine that a section is missing.

Reads only
4
Check the h1 against the title

A page whose h1 says Home and whose title names the service is describing itself twice, differently.

Reads only
5
Report by template

Because one theme file is usually behind two hundred pages. It changes nothing.

Reversible write
5 steps · reads only, never writes

Link Depth

agencyMonthlyDec 2026

Show how many clicks from the homepage each page sits, because a page five clicks deep is crawled rarely and ranks badly.

1
Build the link graph

Every internal link on every page, including the ones inside page builder content and navigation menus.

Reads only
2
Measure the distance from the homepage

The shortest path in clicks, following only the links a crawler is able to follow.

Reads only
3
Find the pages nothing points at

Pages with a single internal link, and pages only the sitemap knows about.

Reads only
4
Match depth against value

A service page four clicks deep is the finding. A 2019 blog post four clicks deep is fine where it is.

Reads only
5
Name the page that should link

Which existing page is about the same subject and has the traffic to pass on.

Reads only
6
Report

A list of links to add, page by page. It adds none of them.

Reversible write
6 steps · reads only, never writes

Orphan Pages

agencyMonthlyDec 2026

Find the published pages nothing on the site links to, which usually means a menu item was removed and the page was forgotten.

1
List what is published

Every public post, page and product read through the connector, with its address and its date.

Reads only
2
Crawl what is reachable

Every page that can be reached by following links from the homepage.

Reads only
3
Subtract one from the other

What is left is orphaned. Nothing links to it, so nothing tells a search engine it matters.

Reads only
4
Decide whether it should exist

An orphaned page with traffic needs a link. An orphaned page from a theme demo import needs deleting, and it says which is which.

Reads only
5
Report with a suggested parent

Which page should link to it and where in that page. It publishes no link and deletes no page.

Reversible write
5 steps · reads only, never writes

Schema Validation

agencyMonthlyOct 2026

Check the structured data on every template is valid, and that it describes the business the site is actually for.

1
Collect the structured data

From every template, whether it sits in a script tag, in microdata, or is spread across both.

Reads only
2
Validate it

Against the published schema.org types and against Google's own required and recommended fields.

Reads only
3
Find what is described wrongly

Product schema on a site that sells nothing, an organisation with no address, a review with no reviewer. Each one is either ignored or held against you.

Reads only
4
Find what is missing

The types this business should have and does not. A local contractor with no LocalBusiness and no opening hours is invisible in the map results.

Reads only
5
Check the two do not disagree

The SEO plugin and the theme both writing an organisation block, with different names, is worse than neither of them doing it.

Reads only
6
Report per template

With the exact field to add or remove. It edits nothing.

Reversible write
6 steps · reads only, never writes

Hreflang Audit

agencyMonthlyLater

On a site in more than one language, check every page names its counterparts correctly, because one wrong tag drops a whole language out of the results.

1
Confirm there is more than one language

Which translation plugin is active and which languages it serves. On a single language site it exits here.

Stops the run
2
Read every hreflang set

From the head, the HTTP header and the sitemap, on every page in every language.

Reads only
3
Check the return links

If the English page names the German one and the German one does not name it back, Google ignores both of them.

Reads only
4
Check the codes are real

en-UK is not a language code. en-GB is. This mistake is common and completely silent.

Reads only
5
Check there is one default

One x-default, pointing at a page that answers with a 200 and does not redirect.

Reads only
6
Report by language pair

Which direction is broken and on which pages. It changes nothing.

Reversible write
6 steps · reads only, never writes

Robots Check

careWeeklySept 2026

Catch the single setting that tells every search engine to go away, which is left switched on more often than anybody admits.

1
Read the three sources

The robots.txt file, the WordPress discourage search engines setting, and the SEO plugin's own indexing rules. If all three agree and none of them blocks, it exits here.

Stops the run
2
Find where they disagree

A robots.txt blocking a folder the SEO plugin is asking to have indexed is a conflict, and the crawler settles it against you.

Reads only
3
Record the current values

The exact file contents and every setting, written down before anything changes.

Stops the run
4
Clear the block on approval

The discourage setting, and any disallow rule covering pages you want found. One at a time, and only the ones you approve.

Writes
5
Put it back

The file and the settings return to what step three recorded, in one action. Nothing else in robots.txt is rewritten at any point.

Reversible write
6
Confirm what is served

Request robots.txt and the affected pages again, and confirm the file being served is the file that was written and the meta robots tag now agrees with it.

Reads only
6 steps · changes the site, behind a restore point

Alt Text Sweep

agencyMonthlyNov 2026

Find every image on the site with no alt text, and write one for the images that actually carry meaning.

1
Collect every image on every page

With its alt attribute as served and the page it sits on. If coverage is already complete, it exits here and writes nothing.

Stops the run
2
Separate decorative from meaningful

A background flourish should carry an empty alt. A product photo should not. Treating both the same is why automatic alt text is usually wrong.

Reads only
3
Write the proposals out in full

Every alt string in the words that would be saved, with the image next to it. It waits here and publishes nothing on its own.

Stops the run
4
Save what you approved

Into the media library record and into the post content, through post revisions.

Writes
5
Undo

Any string you reject afterwards is cleared from the media record, and the post revision returns the content exactly as it was.

Reversible write
6
Recheck coverage

Request the changed pages again and report the share of meaningful images carrying alt text, before and after.

Reads only
6 steps · changes the site, behind a restore point

Breadcrumb Schema

careOn demandOct 2026

Give Google the path to each page so the search result shows your structure instead of a raw address.

1
Check what is there already

Whether the theme or the SEO plugin already outputs a breadcrumb list, and whether it validates. If a valid one is present, it exits here.

Stops the run
2
Record the current settings

The SEO plugin's breadcrumb configuration and any theme option, before either one changes.

Stops the run
3
Switch the markup on

Through the SEO plugin already installed, so that plugin stays the single place breadcrumbs are configured.

Writes
4
Set the path to match the menu

The path a visitor would actually take, not the folder structure of the address, because those two are often different.

Writes
5
Undo

One setting returns to what step two recorded and the markup goes with it. No template file is edited at any point.

Reversible write
6
Validate on three templates

Fetch a post, a service page and an archive, and confirm the breadcrumb list parses and names the right parents.

Reads only
6 steps · changes the site, behind a restore point

Pagination Check

agencyMonthlyDec 2026

Check the second and later pages of every archive are handled properly, because this is where sites quietly lose half their category pages.

1
Find every paginated series

Blog, categories, tags, author archives and any product listing, with how many pages each one runs to.

Reads only
2
Follow each series to the end

Page two through to the last page, checking each one answers and each one links to the next.

Reads only
3
Check the canonical on page two

A page two canonicalised to page one is asking to be dropped, and everything only reachable from page two goes with it.

Reads only
4
Check the titles and descriptions

Every page in a series sharing one title is a duplicate finding that has nothing to do with the content on them.

Reads only
5
Find the series with no end

An archive that keeps serving pages past the last real one hands a crawler an unlimited number of empty pages to find.

Reads only
6
Report by series

Which archive, which page, and what to change. It edits nothing.

Reversible write
6 steps · reads only, never writes

Thin Content

agencyMonthlyLater

Find the pages with too little on them to rank, and the pages that are near copies of each other, which is usually one location page template.

1
Read the main content of every page

The content area only, with navigation, sidebar and footer taken out, because those inflate every word count by the same amount.

Reads only
2
Count what is left

Pages under the threshold you set, with the template that produced them named.

Reads only
3
Compare the pages against each other

Near duplicates, where only a town name or a product code differs. Twenty location pages built from one paragraph compete with each other and none of them wins.

Reads only
4
Check what each one earns

A thin page with steady traffic is not a problem. A thin page with none, duplicating a page that has some, is.

Reads only
5
Say what to do with each

Expand it, merge it into the stronger page, or remove it and redirect. One decision per page, never a bulk instruction.

Reads only
6
Report

Grouped by template, because the fix is usually one template rather than two hundred pages. It changes nothing.

Reversible write
6 steps · reads only, never writes