Inside Cozmo
Under the hood: how ScanMySEO works
I built ScanMySEO because audits can give you plenty of information and still leave you doing the difficult bit: working out what actually matters. Here’s how we’re trying to change that.
An audit should leave you with less to figure out.
I kept seeing the same gap: someone receives a detailed SEO audit, then has to work out what deserves attention, who can fix it and how to tell whether the work helped. I don’t think you should need to become a technical SEO specialist to understand your own website.
So the idea behind ScanMySEO is bigger than a better list of issues. An audit should be the start of an increasingly useful understanding of the website something that helps you make a decision and follow it through. The report matters. I just don’t think it should be where that understanding stops.
Under the hood there’s quite a lot going on, but the idea is simple: Cozmo visits public pages, keeps the evidence behind its findings and connects them to the pages they came from. From there, we can explain the same result in ways that help you use it. The How ScanMySEO works page covers getting started; here I want to explain why we’ve built it this way.
First, be clear about what we’re looking at.
Cozmo starts with your public website address, the page allowance for the scan and the ways it can discover pages. A sitemap can help it find more addresses alongside the links on your site. That gives the crawl a clear scope.
We keep finding a URL and successfully reading it separate because they tell us different things. A page might be linked from somewhere but unavailable when Cozmo tries to open it. And even a page we can read may not provide everything a particular check needs.
Discovered
Cozmo found an address through the starting page, a link, a sitemap or another supported source.
Captured
The request gave Cozmo enough to record a response or useful page details.
Ready to check
We have what that particular check needs. Anything we couldn’t establish stays unavailable.
That distinction sounds small. It isn’t. I’d rather show you that Cozmo couldn’t establish something than give you a cleaner-looking report built on an assumption. Missing information is one of the things we deliberately keep visible.
The evidence behind the report
How Cozmo builds a picture of the site.
Each stage gives us a little more context about what’s happening on the website. Select a stage to look closer. This is an explanation of the process, rather than a live scan or a promise that every stage happens in a neat, separate block.
Set scope
Scope
The first job is to agree what belongs in this scan: the public website, its permitted boundary and the page allowance. Every later count refers back to that scope.
- What Cozmo does
- Starts from your submitted address, allowance and any extra discovery context.
- What we now know
- We have a clear scope for the crawl.
- What happens next
- Cozmo begins finding addresses inside it. We’ll learn which ones are reachable as the crawl runs.
Why start here? A report is much easier to use when you know what it covers.
Find pages
Discovery
Cozmo follows supported sources such as the starting address, internal links and a supplied sitemap to build its list of pages to visit. Finding a URL and successfully reading it are two different things, so it keeps those states separate.
- What Cozmo does
- Collects page addresses from the sources available to the scan.
- What we now know
- We have a list of eligible addresses to try.
- What happens next
- Cozmo requests those pages and records what comes back.
The useful distinction: An address is a place to investigate, not yet a checked page.
Read the response
Capture
Cozmo requests the eligible pages and keeps the response and usable page data. A redirect, an access block, an error and a successful page all tell us something different.
- What Cozmo does
- Visits the queued addresses and records the available results.
- What we now know
- We know the response outcome, final destination and whatever page details were captured.
- What happens next
- The checks use those details to work out which conditions are present.
Back to the example: The request to /book returned 404. Now we have a result to work with.
Check the page
Page checks
The checks work through the information we have: responses, metadata, search directives, links, headings, content and the other signals supported by the audit. Each check uses the page data relevant to its job.
- What Cozmo does
- Applies the relevant checks to what was captured.
- What we now know
- We can describe the conditions found on that page and where they came from.
- What happens next
- ScanMySEO compares the results across the pages it captured.
The principle: A useful finding keeps its source evidence close enough for you to inspect it.
Look across the site
Site patterns
Pages aren’t isolated documents. ScanMySEO can compare the captured results and group repeated observations. That helps you investigate whether several warnings point to the same template, destination or component.
- What Cozmo does
- Compares page results and the relationships available within the scan.
- What we now know
- We can see grouped findings, affected pages and recurring patterns in that scope.
- What happens next
- Those findings become part of the report, with the page context still attached.
Why we care: A repeated pattern can point you towards one shared fix. You still need to confirm the cause.
Make it useful
Your report
This is where the captured results become something you can work with. The dashboard and available exports organise the findings while keeping their affected pages and context close by.
- What Cozmo does
- Turns the findings into the report views and exports included with your account.
- What we now know
- You have a way to inspect what was found, choose a priority and share the work.
- What happens next
- You review the recommendation and decide what gets changed.
The point: The format should save you work, not leave you reconstructing what the audit meant.
Add context · optional
AI review
AI builds on the crawl. AI Enhanced Audit can review pages we have enough information to assess, and Ask Cozmo can help you question the saved report. We cover how those fit together just below.
- What Cozmo does
- Uses the saved report or suitable captured page information when the feature is available.
- What we now know
- You can get a deeper explanation or an answer grounded in the report.
- What happens next
- You check the interpretation against the page and what you want to achieve.
Our choice: Capture what happened first. Add interpretation afterwards.
Finding something is the start. Deciding what to do is the useful bit.
A response code tells us what came back. A finding explains the condition a check identified. A recommendation takes it one step further: what you might inspect or change. I think the audit should do more of that connecting work, rather than leave all of it to you.
/services/boiler-repair links to /book; /book returned 404 during the crawl.The Website Health Score has a related job: compress a complicated audit into a useful sense of where the site stands and where attention is concentrated. It’s ScanMySEO’s summary and prioritisation aid, based on the checks and evidence available to that audit not a Google metric or a ranking forecast. The underlying findings still matter. See Google Search's guidance on third-party SEO tools.
When a result surprises you, open the page and look at what triggered it. The content-quality false-positive guide shows why context can change what you choose to do about a warning.
We built the AI on top of the crawl, not in place of it.
We could put AI right at the front of the process. We deliberately start with what the website actually returned. Cozmo captures that first; AI can then help make sense of it, explain it differently or bring together context you’d otherwise spend time piecing together yourself.
First, what did the site return?
Rule-based checks turn the captured technical and page information into findings you can inspect.
Then, what deserves a closer look?
For pages where we have enough to work with, Enhanced Audit can go deeper into clarity, trust, freshness and what the page is communicating things a technical check alone may not explain well.
What do you want to know?
Ask what matters most, what your developer needs or how to explain a finding to a client. Cozmo answers from the saved report, so the conversation has something concrete behind it.
These features depend on your account and the material available for review; the full audit checklist and your account show the current scope. The core report remains useful on its own. AI can make mistakes, so check its interpretation before acting on it. You still decide what gets changed.
Different people. Same finding.
The finding stays the same. What you need from it doesn’t.
A 404 is a 404. But I don’t think a business owner, developer and agency should all have to consume it in exactly the same way. Select a perspective below: the facts stay put while the explanation helps you with a different decision.
/services/boiler-repair → /book → observed 404 during the example crawl
Does this need sorting now?
If this is how customers are meant to book, it deserves a closer look. Ask the person managing the website to confirm the intended destination and check whether the same link appears elsewhere.
Where would I start?
Get the intended booking route working. A shared button or template may explain several affected pages, so check that before paying for lots of individual edits.
Have we lost enquiries?
That needs your enquiry or analytics data. The crawl gives you a concrete problem to investigate; the commercial effect is a separate question.
How will I know it’s fixed?
Follow the link yourself and complete the booking journey. Ask for the source page and destination to be checked again too.
Where does this interrupt the journey?
Look at the action you’re asking visitors to take and how important it is to that page. That gives you a better starting point than treating every broken link as equally urgent.
What would I put first?
Restore the intended booking action, then check other service pages using the same destination or component.
What should I tell the content team?
Show the page, the action visitors are meant to take and the destination that failed. That’s enough to make the task concrete without guessing at lost demand.
How should we measure the difference?
First confirm the journey works. Then look separately at the relevant visits and enquiries over a period that makes sense for the business.
What did the crawl actually establish?
The source page contained the link, and the destination returned 404 during the audit. Start with that observation and the affected-page list, then investigate the wider pattern.
Is it the same problem in several places?
Compare destinations, link text and shared components across the captured pages. Several warnings may lead to one implementation task.
What should travel with the finding?
Keep the source and destination URLs, observed response, scan scope and repeat occurrences together. That makes the next review or re-test much easier.
How far does this conclusion reach?
It covers the captured pages and response conditions. Ranking effects and traffic changes need their own evidence.
What do I need to change?
On /services/boiler-repair, inspect the link to /book and confirm where it should lead. Correct the source link or restore the intended route, then test the response and the booking flow.
Should I check the template first?
Yes, when the button comes from a shared service-page component. Fixing the source of the link may cover more than one page.
What does a working fix look like?
The link leads directly to the intended destination, the response is right, the booking flow works and the related pages still behave as expected.
What should I re-test?
Check the original page, final destination and any pages using the same component. Compare the new result with the original finding, rather than just clearing the warning.
How would I explain this to the client?
“We found a booking link on a service page that led to an unavailable destination. Let’s confirm where it should go, repair the route and check it again.” That’s a useful next step without a dramatic claim about lost revenue.
What goes in the plan?
The affected journey, who will handle it, the agreed fix and how you’ll check the result. Keep the original page details with the task.
How much technical detail does the client need?
Enough to understand the problem and the decision. Keep the response codes and source URLs available for the team doing the work.
How do we show progress?
Show what changed on the website and what a later check found. Report business outcomes separately when you have the data to do so.
Put the audit to work
One audit, several ways to use it.
Once we’ve organised what the crawl found, the format can follow the job: explore it, share it, plan the work or ask a question. Each of these solves a real problem today. They also draw on the same underlying evidence and picture of the site. That is the bit I care about.
A quick distinction: the dashboard, PDF and workbook are ways to use the report; AI Enhanced Audit and Ask Cozmo add review or conversation. Availability depends on your account. CSV is a data export, rather than a formatted workbook.
See the finding alongside the pages behind it.
The dashboard lets you move between the site summary, priorities and affected pages. Open the detail that helps you decide what deserves attention.
Source: /services/boiler-repair
Destination: /book
Observed: 404 during the example crawl
Next: confirm where bookings should go.
- Useful for
- Exploring the results and choosing a priority.
- Your next step
- Open the affected page details before assigning the work.
Give someone the context without another login.
A shareable report helps you discuss the findings with a colleague or client. They can review the issue and next step without having to work through the application.
A booking link on a service page led to a destination that returned 404 during the audit. Confirm where it should go, then repair the link or destination.
- Useful for
- Sharing findings with colleagues and clients.
- Your next step
- Agree who will handle the issue and pass on the relevant page details.
Keep the task with the information needed to finish it.
A workbook gives you rows you can filter, assign and add notes to. You can use it to keep the finding, responsibility and follow-up together; the available columns depend on the report format.
Confirm the intended destination for the booking link, repair it and re-test the affected pages. Keep the original 404 result with the task.
- Useful for
- Planning and tracking implementation.
- Your next step
- Name the person doing the work and what a successful check should show.
Explore what the page is communicating.
For pages we have enough information to review, Enhanced Audit can add context around clarity, trust, content or the visitor journey. It builds on the page material the crawl captured.
If the booking link is the page’s main action, its role in the visitor journey makes it worth reviewing promptly. That’s context for the saved result, not a measurement of lost enquiries.
- Useful for
- A closer review of suitable captured pages.
- Your next step
- Compare the interpretation with the page and what you want visitors to do.
Ask the question you actually need answered.
You might want a starting point, an explanation for a client or a brief for your developer. Ask Cozmo works from the saved report, so you can have that conversation without assembling the context again.
Confirm the intended booking destination. Update the link or restore the route, then check the response and try the booking journey yourself.
- Useful for
- Questions, explanations and handing work to someone else.
- Your next step
- Check the answer, then give the task to the person who can make the change.
Today: Cozmo can crawl the site, preserve what it found and connect findings to affected pages. You can use the results in different forms, get additional interpretation and ask questions about the completed report.
Where we’re taking this: a better understanding of the website as a whole how pages relate, which problems may share a cause, what matters for this kind of business and what changes after work is done.
The direction: less time interpreting audits. More time making good decisions about the website.
From finding to fix
A finding shouldn’t lose its meaning on the way to a fix.
See it → Understand it → Act on it → Check it. That’s the short version. The steps below let you explore the handoffs in more detail. Whatever form the finding takes, keep the original signal with it so you can come back and check what changed.
01 · See it
What Cozmo saw
Keep the starting point concrete: the source page linked to /book, and that destination returned 404 during the example crawl.
- What you have
- The original source link and destination response.
- Who needs it
- Anyone reviewing or working on the finding.
- What confirms it
- The recorded response and the page that contained the link.
02 · Understand it
The result becomes a finding.
The report connects the broken-link finding to the affected page. That gives you something specific to review and prioritise, with the original result still close by.
- What you have
- A finding connected to the pages it covers.
- Who needs it
- You, or the person helping you choose what comes first.
- What confirms it
- The finding leads back to the captured link and response.
03 · Understand it · Optional
Add context when it helps.
An AI explanation can help you think about the page and its intended action. This is an optional step for suitable captured material; the link check already established the response.
- What you have
- Additional interpretation to review.
- Who needs it
- You or the person assessing the recommendation.
- What confirms it
- The explanation can be checked against the original result and page context.
04 · Understand it · Optional
Ask what you need to know.
You might ask where to start or what to send your developer. Cozmo can explain the saved finding in those terms while keeping the conversation grounded in the report.
- What you have
- An answer based on the saved report.
- Who needs it
- Whoever needs a clearer explanation or brief.
- What confirms it
- The answer stays consistent with the finding you’re discussing.
05 · Act on it
Give the work a clear starting point.
Show the developer the source page, the failed destination and what should happen instead. Ask them to correct the link or restore the intended route, then test the journey.
- What you have
- A practical implementation brief.
- Who needs it
- The person responsible for the website change.
- What confirms it
- The brief says what to change and how you’ll check it.
06 · Act on it
Keep track of the agreed work.
A workbook can help you keep the finding, owner, status and notes together. It’s one way to organise the handoff not an extra step every fix needs.
- What you have
- A row you can assign, update and review.
- Who needs it
- The team coordinating the work.
- What confirms it
- You can see both the current task status and the original result.
07 · Act on it
Make the change on the website.
You or your developer implement the agreed fix outside ScanMySEO. The report helps with the decision; you remain in control of what gets changed.
- What you have
- A deployed website change.
- Who needs it
- You or your developer.
- What confirms it
- Inspect the change and check the intended behaviour.
08 · Check it
Come back and see what changed.
A later crawl records a new result alongside the earlier one. Check that the link now leads to the intended booking destination and that the response is right. Then try the booking journey yourself a working response alone isn’t the whole job.
- What you have
- A new crawl result to compare with the earlier finding.
- Who needs it
- Whoever is checking the completed work.
- What confirms it
- The page change and the intended booking journey both work as expected.
You choose the route. Use the explanation, conversation or workbook when it helps. A clear finding can go straight to the right person, then on to a fix and a fresh check.
There are things an audit simply can’t know.
An audit is a record of what could be checked at a particular time. It gives you a much better starting point, but it can’t see pages it couldn’t reach or private settings it wasn’t given access to. It also can’t tell you that fixing a warning will cause a ranking or revenue change.
| When the report says… | What that means | Useful next step |
|---|---|---|
| A page returned an error. | That’s the response Cozmo received during this scan. | Try the address again and check the server or access settings before choosing the fix. |
| A check was unavailable. | Cozmo didn’t have enough reliable information to assess it. | Find out what was missing. Unavailable is different from passed or failed. |
| A finding affects several pages. | Those captured pages share the observed pattern. | Check for a shared template or component before editing each page. |
| A later crawl no longer shows the finding. | It wasn’t observed in the later scan’s captured pages. | Check that both scans covered the affected pages, try the intended journey and measure business outcomes separately. |
Keep the same distinction with AI: it can help you think through a report, but an answer can be incomplete or wrong. And the direction we’re describing here isn’t a claim that each crawl automatically trains a model or produces representative industry benchmarks. Those would need their own data and methods. The aim is useful context you can question, not certainty you’re asked to take on trust.
This is where we’ve got to. It isn’t where we want to stop.
What we’re gradually building underneath ScanMySEO is a better model of the website: its pages, the relationships between them, the signals they expose, the patterns that repeat and, over time, how those things change. By “model” I mean a more connected picture of the site not just a longer list of page checks.
We’re not pretending we’re all the way there today. But that direction influences the choices we make now. Keeping the original evidence means we can explain it differently without changing the facts. Recording a later crawl separately gives us something to compare. Looking across pages gives us a starting point for investigating shared causes rather than just counting symptoms.
Get better at seeing what connects.
We want Cozmo to understand how pages relate, what kind of site it’s looking at and which problems may come from the same cause and what that means for the person running it.
Help the decision lead somewhere.
Make it easier to choose the next action, get it to the right person and check what changed. Better understanding should reduce the work left for you after the audit finishes.
The long-term opportunity is bigger than producing a better list of SEO issues. It’s giving you a system that can understand the website, explain what matters, help turn that into action and come back later to see what changed. The reports and conversations are useful today. Together, they’re groundwork for that larger idea.
For all the machinery underneath, your part should feel simple.
There’s quite a lot of engineering behind making that look simple. That’s intentional. You shouldn’t have to care how many states, checks or report transformations sit underneath it. The experience we’re aiming for is much shorter:
- Give Cozmo the website.Start with its public address. Cozmo works through the pages it can check.
- Understand what matters.Look at the findings and affected pages, then choose something worth acting on.
- Get it to the right person and fix it.Use the report or a conversation with Cozmo to help explain the work.
- Check it again.Try the intended journey and use a later crawl to compare what changed.
For more help with the booking-link example, the broken-links guide explains how to choose an appropriate fix.
There’s plenty more I want Cozmo to understand. But the direction is fairly simple. Every time we make the system better at understanding the website, connecting what it finds and explaining what matters, there should be a little less work left for you on the other side of the report. That’s the product I want ScanMySEO to become.
Hansel McKoy founded ScanMySEO to make understanding and improving a website easier than the audit-to-spreadsheet-to-guesswork process. He believes the audit should do more of the figuring-out, not leave it all to you.
Founder, ScanMySEO