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.