Scale. Optimize. Succeed.

Home  ›  Resources  ›  Checklists  ›  Website audit

Website Audit Checklist

A technical health pass on an eCommerce site: what can be crawled, what is indexed, how fast it renders, whether the markup is right and whether the measurement can be trusted. This is the site-level layer. If you want the commercial layer — margin, channels, retention — that is the growth assessment instead.

CHECKS

42 checks

TIME TO RUN

Half a day with a crawler

LAST UPDATED

September 2026

LEVEL

Technical marketer or developer

Developer editing code on a laptop screen

Site health is a precondition, not a strategy. Clearing it does not grow revenue; failing it caps everything else.

What this covers, and what it deliberately does not

There are two different things people mean by an audit. This is the technical one.

Analytics workspace showing eCommerce performance charts

This checklist answers a narrow question: is the site technically sound enough that marketing effort is not being wasted? Crawlability, indexation, speed, redirects, markup, accessibility and whether analytics tells the truth.

It does not tell you what to do next. A site can pass every check here and still be unprofitable, because margin, channel mix, retention and pricing are not technical questions. That is what the growth assessment covers — twelve checks across six disciplines with published thresholds, aimed at finding your binding constraint rather than your technical debt.

SECTION 01

7 checks

Crawlability

Whether search engines can reach what you want them to reach, and are not spending their time on what you do not.

Fetch robots.txt on the live domain and read every line

Not the setting in your admin — the file the server actually returns. Disallow rules survive redesigns and outlive the person who added them.

Crawl the full site with JavaScript rendering enabled

Then crawl again with it disabled and compare. Content that disappears may never be indexed.

Confirm the XML sitemap is present, current and contains only indexable URLs

A sitemap listing redirected or noindexed pages wastes crawl budget and signals neglect.

Check crawl depth: nothing important more than three clicks from the homepage

Depth correlates with crawl frequency. Pages buried five levels down get visited rarely.

Identify orphan pages with no internal links

Compare your sitemap against your crawl. Anything in one and not the other is effectively invisible.

Review parameter handling for filters, sorting and internal search

Faceted navigation can generate millions of URLs from a few hundred products. This is the most common source of crawl waste on an eCommerce site.

Check server response times under crawl load

A site that slows to a crawl when crawled will be crawled less. Watch the response time distribution, not the average.

SECTION 02

7 checks

Indexation

What is actually in the index, versus what you intended. The gap between those two numbers is usually the finding.

Compare indexed page count against the pages you intend to rank

More than about 20% above is bloat; well below suggests a blocking or quality problem.

Review every Search Console exclusion reason, not just the totals

Crawled but not indexed, discovered but not crawled, and duplicate without canonical each mean different things and need different fixes.

Confirm every page self-canonicalises unless it deliberately should not

Cross-domain canonicals, canonicals to the homepage and canonical chains are all silent killers.

Check for pages that are both noindexed and in the sitemap

A direct contradiction, and a common one after a migration or a plugin change.

Find duplicate or near-duplicate content across templates

Supplier descriptions, near-identical category pages and printer-friendly variants all qualify.

Verify pagination is indexable and self-canonical

Page two canonicalising to page one hides everything that only appears deeper in the list.

Confirm staging, development and CDN subdomains are not indexable

A crawlable duplicate of your site is competing with you using your own content.

SECTION 03

7 checks

Performance

Measured on the devices and templates your traffic actually uses, from field data rather than a lab score.

A tablet showing a rising performance graph

Field data over 28 days, on the template with the most sessions. A homepage lab score proves nothing.

Measure Largest Contentful Paint on mobile for your top three templates

Under 2.5 seconds is Google’s published boundary for good. Collection and product pages matter more than the homepage.

Check Interaction to Next Paint, particularly on filter and variant controls

Heavy JavaScript on faceted navigation is where eCommerce sites fail this metric.

Confirm Cumulative Layout Shift is under 0.1 on product and checkout pages

Late-loading banners and review widgets shifting a buy button is a conversion problem before it is a metric.

Audit third-party scripts and remove anything unused

Chat, reviews, popups, heatmaps, tag managers. Most sites carry several nobody has opened in a year.

Confirm images are compressed, correctly sized and lazily loaded below the fold

Serving a 2000px image into a 400px slot is the most common single performance defect there is.

Check caching headers and CDN coverage for static assets

Cheap, invisible and frequently misconfigured after a platform change.

Test on a mid-range Android over a throttled connection

Your newest phone on office wifi is not your traffic, and it will hide everything in this section.

SECTION 05

7 checks

Markup and accessibility

Whether the page is structured so that both search engines and assistive technology can read it. These overlap far more than most teams assume.

Confirm exactly one H1 per page, containing the page subject

Themes that put the logo in the H1 quietly demote every page on the site. Check the rendered source, not the design.

Check heading hierarchy does not skip levels

An H2 followed by an H4 is confusing to a screen reader and to a parser. It is also trivial to fix.

Validate Product, Breadcrumb and Organization structured data on rendered pages

Test the live output. Theme documentation describes intent rather than reality.

Confirm every meaningful image has descriptive alt text and decorative images have empty alt

Both matter. A logo inside a link with empty alt leaves that link with no accessible name at all.

Check colour contrast on body text, buttons and form labels

Fails most often on muted grey helper text and on button states nobody designed.

Navigate the checkout using only a keyboard

If you cannot complete a purchase without a mouse, a portion of your customers cannot buy from you at all.

Confirm form inputs have associated labels and visible focus states

Placeholder text is not a label, and removing focus outlines for aesthetics breaks keyboard navigation entirely.

SECTION 06

7 checks

Measurement integrity

The section that determines whether anything else you measure can be believed. Run it first if you have never checked.

Reconcile analytics revenue against platform revenue for the last full month

Within about 5% is acceptable. Outside that, every downstream number is measured against something that is not real.

Confirm the analytics tag fires once per page, not two or three times

Duplicate tags inflate sessions and destroy conversion rate. Common after a migration or a tag manager change.

Check transactions are not being double-counted on the confirmation page

A refresh-triggered duplicate purchase event is one of the most common measurement faults on an eCommerce site.

Verify internal traffic and known bots are excluded

Your own team browsing the site can be a measurable share of sessions on a smaller store.

Confirm consent configuration is not silently dropping most of your data

A misconfigured banner can lose the majority of measurement, and the loss looks exactly like a traffic decline.

Check Search Console and analytics are both connected and retaining data

Free, and repeatedly discovered missing on sites that have changed hands or agencies.

Record the current state of every metric before you fix anything

Without a baseline, none of the work you are about to do can be shown to have helped.

Six ways a technical audit misleads

Mostly by producing a long list that nobody can act on, or a short list that is wrong.

Reporting by severity score instead of revenue impact

A crawler grades every issue the same way on every site. Forty red items sorted by tool severity is not a plan, and the first item is rarely the one that matters.

Trusting HTTP status over reality

A soft 404 returns 200. Any link checker that trusts status codes will pass a dead page forever — which is exactly how internal links to pages that never existed survive for months.

Using lab scores for performance

A lab test on one page from one location is a diagnostic, not a measurement. Field data over 28 days is what search engines use and what your customers experience.

Auditing the homepage

It is the least representative page on the site. Audit the templates that carry sessions: collection and product.

Auditing before checking measurement

If analytics does not reconcile, every prioritisation decision after that is made on invented numbers. Do the measurement section first.

Treating a clean audit as a growth plan

Technical health is a precondition. Passing every check here does not make a store profitable — it only removes the excuses.

If the result is a list of forty items, the audit has not finished. Rank them, pick one, and be able to say what metric it moves.

What to fix first

Ordered by consequence, not by how alarming the crawler made it look.

Order

What

Why here

Typical effort

First

Measurement integrity

Everything downstream is judged against these numbers. Fixing analytics before anything else is the only way the rest of the list can be prioritised honestly.

A day

Second

Crawl waste and indexation

Facets, tags, internal search and staging duplicates. Usually configuration rather than development, and it changes what every other report shows.

One to three days

Third

Broken links, chains and soft 404s

Cheap, mechanical, and it recovers signal that already exists rather than building new.

Two to five days

Fourth

Performance on the templates that carry traffic

Needs development and staging. Worth more than it looks, because it is both a ranking factor and a conversion one.

One to two weeks

Fifth

Markup and accessibility

Real obligations and real signals, but rarely the binding constraint. Schedule properly rather than squeezing in.

Ongoing

Nothing on this list grows revenue by itself. It removes ceilings, which is why it belongs before a growth programme rather than instead of one.

Where to go from here

01

SITE IS CLEAN

Technical health rules out one set of causes. The growth assessment covers the other five disciplines, with published thresholds.

02

SEARCH IS THE PROBLEM

Indexation and architecture fixed, but demand still not captured? That is a content and category question rather than a technical one.

03

AFTER A MIGRATION

Post-migration losses are almost always redirect gaps. Work through that checklist against your pre-migration crawl.

04

WANT IT RUN PROPERLY

Five working days, six disciplines, ranked by revenue impact rather than severity score, with a ninety-day sequence.

Website audit FAQs

Quarterly for an actively developed store, and immediately after any migration, redesign, theme update or platform change. Sites do not decay steadily — they decay in steps, and the steps are deployments.

This checks whether the site is technically sound. The growth assessment checks what is holding revenue back across six disciplines, including margin, channels and retention. A site can pass this completely and still be unprofitable.

A crawler that renders JavaScript is the only thing worth paying for, and most have a free tier that covers a small store. Everything else — Search Console, field performance data, analytics — is free.

A page that does not exist but returns a 200 status instead of 404. Search engines may index your error page, and any link checker that trusts status codes will report the link as healthy. It is why dead internal links survive for months unnoticed.

No. Crawlers grade every issue identically on every site and produce lists nobody can action. Rank by revenue impact against effort, fix the top item, then re-run. The sequencing table above is the order we use.

Yes, on two grounds. It is a legal requirement in a growing number of markets, and it overlaps heavily with the structural markup search engines read. Heading hierarchy, alt text and focus states serve both.

Then the cause is not technical. Check whether demand in your category has moved, whether the category layer covers what people search, and whether a competitor has changed. The growth assessment is built for exactly that question.

Forty findings and no idea which one matters?

That is the normal output of a crawler and the reason our audit ranks instead of scores. Five working days, six disciplines, one constraint.

Free account

Get the eCommerce benchmarks other agencies charge for

Register for free access to our quarterly benchmark reports, the growth audit template we run on every new client, and the Margin Memo newsletter.