Site audit & broken links
How to use it
- Run a full-store audit. It scores every product and collection against the signal set.
- Work the priority panels — they surface the highest-value failures rather than the first alphabetically.
- Use AI fix on the ones you accept, reviewing the diff before applying.
- Scan for broken links, then fix them in revenue order.
- Schedule the audit so the score trend keeps building.
⏱ ~15 min first pass · 💳 Free (AI fixes and automation Starter+) · 🎯 Fix what costs money first
The audit
Every product and collection is scored across the signal set — title, meta description, headings, content depth, images and alt text, structured data, canonical and indexability, internal links, and URL structure. Each entity gets a grade, and the store gets a rolled-up score.
| Surface | What it gives you |
|---|---|
| Score ring + trend | The store score today and its history, so improvement is visible |
| Category bars | Which signal families are dragging the score |
| Revenue at risk | What the failing entities are worth, so the list has a business order |
| Audit table | Every entity, filterable by grade and score, with inline SEO editing |
| Priority panels | The highest-impact failures, surfaced above the table |
| Detail drawer | Per-entity signal breakdown |
| Scheduled audits | Recurring runs on a cadence you set, with an emailed report |
Inline editing and AI fixes
You can edit a title or meta description inline, directly in the table — the write goes to Shopify against the correct mutation for the entity type, so a collection edit does not run the product mutation and fail.
The AI fix flow proposes replacements, shows you a diff against the current value, and applies only what you accept. Fixes can be run in bulk as a tracked background job, with progress narrated as it goes.
Every SEO field change is written to revision history, so you can see what changed, when, and by whom — and those revisions feed the change timeline on Technical health when you are diagnosing a regression.
Broken links
A broken link is a URL on your site that returns an error. The manager tracks them from discovery through to fixed, with a status per row.
Four discovery sources
| Source | What it finds | Signal quality |
|---|---|---|
| Catalogue scan | Dead handles across your products, collections and content | Potential breakage |
| Site crawl | Dead URLs found by following your real link graph, with the pages that link to them | Potential breakage |
| Live 404 beacon | Real 404 hits from visitors and Googlebot, fired from your storefront's not-found page | Actual breakage, happening now |
| Manual / import | URLs you know about | As you enter them |
The live 404 beacon is the one that changes prioritisation. Every other source tells you what could be broken; the beacon tells you a dead URL is taking 500 hits a day right now. It requires the storefront app embed to be enabled.
Revenue at risk
Each row carries a calibrated revenue-at-risk figure computed from one shared model, so the number on the row, the number in the digest email and the number the risk register reports are always the same. Attributed revenue, organic clicks and real 404 hits all feed it.
That figure drives the priority grading:
| Priority | Rule |
|---|---|
| Critical | 5xx — the server is failing, not just the URL |
| High | 4xx that demonstrably costs something — revenue, organic clicks, or real hits |
| Medium | Everything else |
Fixing
For each broken URL, the suggester finds the closest still-live candidate using handle similarity, token overlap and title overlap, and grades its confidence.
Creating a Shopify redirect to whatever target was typed produced two failure modes that are painful to unpick: a redirect from a URL to itself (an instant loop), and a redirect to another dead page (a silent broken target that only shows up later as a chain problem).
Preflight validates the target before the redirect is written. Applied redirects are then annotated with chain health, so a redirect that has since become part of a chain or landed on a dead page is visible rather than assumed fine.
Three fix paths:
| Path | What it does |
|---|---|
| Apply redirect | Creates a validated Shopify URL redirect |
| Fix the source page | Rewrites the dead URL inside the linking page's body HTML, so the broken link stops existing |
| Ignore | Records the decision without fixing |
Rollback undoes a previously applied redirect using the recorded audit entry, so a wrong fix is reversible rather than permanent.
Supervised auto-fix
Auto-fix is opt-in and deliberately narrow. When enabled, it applies only the safest subset of stored suggestions without a human: a genuine match — never a tiered fallback — at or above the confidence bar, and at or below the money guardrail.
The reasoning is that a triage backlog never empties if every fix needs a human, but an automated redirect on a high-value URL with a low-confidence match is exactly the change you want a person to look at.
Operational view
| Metric | What it tells you |
|---|---|
| MTTR | How long a broken link survives before it is fixed |
| Backlog age burndown | Whether the backlog is shrinking or just being added to |
| High-value 404s past SLA | The rows that are bleeding and overdue |
A weekly digest emails the same picture.
Plan tiers
| Capability | Free | Starter | Pro | Agency | Enterprise |
|---|---|---|---|---|---|
| Full-store audit + scoring | ✓ | ✓ | ✓ | ✓ | ✓ |
| Score trend + category bars | ✓ | ✓ | ✓ | ✓ | ✓ |
| Inline SEO editing | ✓ | ✓ | ✓ | ✓ | ✓ |
| Broken-link scan + manual fixes | ✓ | ✓ | ✓ | ✓ | ✓ |
| Redirect preflight + rollback | ✓ | ✓ | ✓ | ✓ | ✓ |
| Revenue at risk | — | ✓ | ✓ | ✓ | ✓ |
| Live 404 beacon | — | ✓ | ✓ | ✓ | ✓ |
| Redirect suggestions | — | ✓ | ✓ | ✓ | ✓ |
| Source-page rewrite | — | ✓ | ✓ | ✓ | ✓ |
| SLA, MTTR and burndown | — | ✓ | ✓ | ✓ | ✓ |
| AI fixes (single + bulk) | — | ✓ | ✓ | ✓ | ✓ |
| Scheduled audits + emailed report | — | ✓ | ✓ | ✓ | ✓ |
| Supervised auto-fix | — | — | ✓ | ✓ | ✓ |
Revenue at risk depends on Search Console and attribution data.
Best practices
- Enable the 404 beacon. It is the only source that tells you what is breaking now rather than what might be.
- Fix in revenue order, not in scan order. The list is already sorted for you; overriding that is how a week gets spent on URLs nobody visits.
- Prefer fixing the source page over adding a redirect. A redirect is a permanent tax on every request; removing the dead link is free afterwards.
- Review the AI diff. The proposals are good, not infallible, and the diff takes five seconds to read.
- Schedule the audit weekly. The score trend is the artefact that makes SEO work visible to everyone else.
- Turn on auto-fix only after two manual passes. You want to see the suggester's confidence calibration on your own catalogue first.
See also
- Site crawler — one of the four discovery sources, and the remediation workbench
- Technical health — indexability and regressions
- Risk register — where audit and link findings are ranked together
- Opportunities — the revenue-side worklist