OPERATIONS · PERFORMANCE · CRO · 15 MAY 2026 · 6 MIN READ
The free store audit: what a senior engineer actually looks at
Most free audits are a crawler’s output with a logo on it. Here is what can genuinely be established from the outside, what cannot, and how to tell the difference.
A Shopify store audit done from the outside covers four things properly: how the store loads for a real visitor on a real phone, what the theme and its apps are actually shipping to the browser, whether the path from landing to checkout has anything broken or confusing in it, and whether the technical SEO layer — structured data, canonicals, indexation signals — says what you think it says. It cannot tell you your conversion rate, which apps you pay for, why a specific page underperforms, or what your team has already tried. Anything free that claims to know those is guessing, and an audit that guesses is worse than none because it sends you fixing the wrong thing.
IN SHORT
- An external audit can establish what the store does; only admin access and analytics can establish what it costs you.
- The four areas genuinely checkable from a URL are loading behaviour, what the theme and apps ship, the buying path, and technical SEO signals.
- A prioritised list of fixes is the deliverable; an unprioritised list of findings is a crawler report with a logo on it.
- The most valuable output is usually a small number of items with an owner and an order, not the longest list anybody can produce.
- Ask any auditor what they could not see. An honest answer to that question tells you more than the findings do.
- A free audit is a sample of judgement, not a substitute for a paid engagement — and it should be useful even if you never reply.
What a free audit is for
It is a sample. You give an agency a URL, they spend an hour or two on your store, and you find out whether they notice things you had not — and whether they can explain why each one matters without reaching for a pitch. That is a low-risk way to judge whether the people are any good, which is genuinely hard to establish from a case study.
It is not a diagnosis of your business. An audit from the outside works with public evidence only: the pages anyone can load, the scripts they request, the markup they emit, the checkout as a shopper experiences it. That is a lot more than people expect and considerably less than a full engagement, and being straight about the boundary is the first thing worth looking for in one.
Our own audit promises a prioritised list of fixes within three business days, written so any developer can act on it. The word doing the work there is *prioritised*. A crawler will hand you four hundred findings in twenty seconds. Deciding which six matter is the part that requires somebody who has fixed this before.
One: how it actually loads
Not a score. A score is a summary of a measurement someone else chose to take, and optimising it directly produces work that is hard to defend later.
What gets looked at instead is the shape of the load on a mid-range phone on a throttled connection, because that is the device most of your traffic is using and the one your team is least likely to be testing on. Specifically: what renders first and how long the shopper stares at nothing; which resource is the largest content paint and whether the theme has told the browser it matters; what blocks parsing before any content appears; and how many separate third-party origins the page connects to before it is usable.
The last of those is the most useful number on the list, and it is not a performance metric — it is an inventory. A store connecting to fourteen third-party domains has fourteen relationships, most of which nobody in the building remembers agreeing to. That finding alone routinely accounts for the largest available win, and it costs nothing to act on.
What an outside audit cannot see: your field data. Shopify reports real-visitor performance inside the admin, and that is the version that reflects your actual traffic mix rather than one engineer’s test. An external audit is a lab measurement — directionally right, and worth confirming against the field data once anybody has access.
Two: what the theme and its apps are shipping
You can read a great deal about how a store has been maintained from what its pages request, without seeing a line of the theme’s source.
- Scripts with no visible feature behind them. An app was removed and its code was not. Extremely common, entirely free to fix, and a good sign of how change is managed generally.
- The same platform loaded twice. Analytics hardcoded into the theme and also present via a tag manager. Both fire, the data is fine, the page pays twice.
- Sitewide code serving one template. A reviews widget or a size guide loading on the homepage to appear on product pages. This is usually a configuration change rather than a removal, which makes it the easiest item on any list to get agreed.
- Anti-flicker snippets with no experiment running. A testing tool that hides the page until it responds, left enabled between tests. The shopper pays a blank screen for nothing.
- Duplicated or unused web fonts. Four weights downloaded, two rendered, sometimes from an external host that adds a connection to the critical path.
Three: the path a buyer takes
This is the part that a tool cannot do and the part clients most often find surprising, because it consists of somebody actually trying to buy something.
The route is the obvious one: a search result or an ad, a collection page, a product page, add to cart, checkout, up to the payment step. On a phone, first, and preferably as a new visitor with an empty cart and no prior session. What gets noted is anything that made the buyer hesitate, work, or wonder — a variant selector that does not make clear what is out of stock, a delivery promise that appears for the first time at checkout, a discount field that invites hunting for a code that does not exist, a cookie banner that covers the add-to-cart button on a small screen.
None of these are bugs. That is why they survive: everyone internal has a session, a saved address and the muscle memory to get past them. An audit’s advantage here is ignorance, and it is a wasting asset — the second time somebody visits your store they have lost it.
What an outside audit cannot see: whether any of it costs you money. That needs analytics, and preferably a funnel someone has already been watching. An honest audit says "this is friction and here is where to check whether it is expensive", not "this is costing you X per cent".
Four: the technical SEO layer
The public-facing signals are all in the markup, so this part is fully checkable without access, and it is the area where an audit most often finds something with real money attached.
Structured data is first, because it is both high value and easy to get subtly wrong — product markup that disagrees with the visible price, review markup pointing at nothing, a breadcrumb trail in the schema that differs from the one on the page. Then canonicals and pagination behaviour, particularly on filtered collection URLs, which is where Shopify stores most commonly generate crawl paths nobody intended. Then the basics that are embarrassing rather than difficult: robots.txt, the sitemap, whether staging is indexable, whether internal links point at redirects.
What an outside audit cannot see: Search Console. Coverage, queries and the history of what changed when all live behind your login, and they are where a ranking problem is usually diagnosed rather than merely suspected.
How to read one you have been sent
Four tests, applicable to any audit from anyone, including ours.
- Is it prioritised? A list in no order is a list nobody will action. The first three items should be the ones worth doing first, and the document should say why.
- Does it say what could not be checked? An audit that presents itself as complete when it was performed without admin access, analytics or Search Console is either careless or selling. The limits should be stated, not discovered.
- Is each finding actionable by someone who is not the author? "Improve page speed" is a category. "The hero image on the product template is lazy-loaded and should not be" is a fix. Our audits are written so any developer can act on them, including a developer who does not work for us — that is deliberate, and it is a fair thing to require of anyone.
- Are the numbers sourced? If a figure appears, it should be clear where it came from — a measurement of your store, a named tool, or a documented vendor statement. A conversion uplift percentage attached to a fix nobody has made yet is marketing.
What we will tell you that costs us work
Two things come up often enough to say in advance, because both point away from a project rather than towards one.
The first is that the fix is usually configuration, not development. A meaningful share of what an audit finds is an app setting, a theme setting or a piece of dead code, and none of it needs an agency. If your team can action the whole list, that is a good outcome and we would rather say so than pad it.
The second is that a rebuild is rarely the answer to the symptom people ask about. A store that is slow because of eleven apps will be slow after a redesign, because the business still wants the eleven things. A store with a confusing product page does not need a new theme; it needs the product page fixed. Where the honest answer is a smaller piece of work, we will say so — the ongoing relationships worth having start that way more often than they start with a large first invoice.
And if the list turns out to be short, that is also a result. A store that has been looked after well should audit well, and being told so by somebody with no incentive to say it is worth an hour of anyone’s time.
Questions this raises
What does a Shopify store audit cover?
Done from the outside, four areas: how the store loads for a real visitor on a mid-range phone, what the theme and its apps ship to the browser, the buying path from landing page to checkout, and the technical SEO layer — structured data, canonicals, indexation and crawl behaviour. Admin access adds app spend, theme source, field performance data and analytics, which is where the commercial impact of any finding is established.
Is a free store audit worth having?
It is worth having as a sample of judgement. You learn whether an agency notices things you had not, and whether they can explain why each one matters without pitching. It is not worth treating as a diagnosis of your business, because an external audit cannot see your analytics, your app costs or what your team has already tried.
What can an audit not tell you without admin access?
Your conversion rate and where it drops, which apps you are paying for and how much, real-visitor performance data as opposed to a lab measurement, Search Console coverage and query history, and the theme’s source. Anything free that presents conclusions about those is inferring, and should say so.
How long should an audit take?
An external review of a single store is a few hours of work, so a few working days is a reasonable turnaround — ours is three business days. Anything returned within minutes is a crawler report, which has its uses but is not a senior engineer’s opinion. Anything taking weeks has probably become a proposal.
Will the audit just be a sales pitch?
It should not be, and the test is whether it is useful if you never reply. A good audit is prioritised, states what could not be checked, and is written so any developer can act on it — including one who does not work for the agency that wrote it. If a finding cannot be actioned without buying something, treat that as a finding about the auditor.
What usually comes top of the list?
More often than people expect, it is removal rather than building: orphaned code from uninstalled apps, duplicate analytics, sitewide scripts serving a single template, and testing snippets left enabled with no experiment running. These cost nothing to fix, need no development, and are frequently the largest single win available on a mid-market store.
NEXT STEP
Free store audit
A senior Shopify engineer reviews your storefront, theme performance and checkout, then sends a prioritised list of fixes.
