Key takeaways
- SEO answers “can this URL be found and understood by a crawler.” CRO answers “can a person buy, and will they buy more.”
- Mixing title tags with add-to-cart into one score produces a 73 that nobody can staff.
- Run an SEO pass on templates. Run the CRO Audit for Shopify stores on a live product URL (or a domain that resolves to a bestseller).
- Core Web Vitals matter to both, but a slow LCP from three popups is a CRO stack problem, not a missing H1.
- If they already buy traffic, and budget is one afternoon, run the CRO Audit for Shopify stores first.
Use a CRO audit and an SEO audit on Shopify as two separate scores. SEO asks whether a crawler can find and understand the URL. CRO asks whether a person can buy, and whether the page asks for a larger basket. Combining them into one grade hides the next action.
Agencies love a single “site health” number. Shopify stores suffer for it. Title tags and add-to-cart buttons are not the same job, and averaging them trains the merchant to install an SEO app when the button is gone on scroll.
Two different questions
SEO audit: Can a crawler fetch the URL, understand the entity, and is the template eligible to rank? Titles, canonicals, schema, internal links, indexation, sometimes Core Web Vitals as a ranking input.
CRO audit: Can a shopper add this product, does the page or cart ask for a larger order, and is the buy box fighting itself? Buy path, then AOV, then hygiene, then a note after checkout.
The CRO Audit for Shopify stores is the second question only. It will not congratulate you for a perfect meta description on a PDP with no price. It does not check meta titles. On purpose.
A ChatGPT SEO check is closer to the first family: can AI systems read and cite the store. That is still not a buy-button audit. Keep the artefacts apart.
What each audit is for
Run SEO when you care about organic discovery: collection templates, canonicals, product schema, internal links, robots. Staff writers, a developer on theme JSON-LD, Search Console.
Run CRO when paid or email traffic already lands on a product page: can they add to cart, does the page ask for more, is the stack fighting itself. Staff a theme ticket or one AOV app, not a content retainer.
Most stores with a media budget are in the second bucket and still commission an SEO PDF. If nobody can find the page, SEO first. If the ad already lands on a PDP that cannot add to cart, CRO first.
Why mixed scores lie
Suppose 20 SEO checks pass and 2 CRO constraints fail. A blended 90 looks “fine.” Paid traffic still dies.
Suppose SEO is a mess and the PDP is a buying machine. A blended 55 triggers a content retainer while AOV work waits a quarter.
Staff the red items in the system they belong to. Do not staff the average. Mixing title tags with add-to-cart into one score produces a 73 that nobody can own.
How to run them without stepping on each other
- SEO: templates and collections, Search Console, one sample PDP for schema.
- CRO: paste
yourstore.comor the product in the ad. Get the punch list. Fix theme constraints. Install one AOV owner if the miss is an app row. Homepages resolve to a bestseller so you are not hunting URLs. - Performance: if LCP collapsed after the stack, that is now a CRO/engineering ticket, not an H1 ticket.
Password-protected stores work too if the merchant shares the store password. Custom stores we cannot open like a normal Shopify shop still fail unless you expose a URL a shopper can load. That is a platform choice, not an audit bug.
If you paste a collection, the CRO audit will pick a product from that collection (bestseller when it can) and score the PDP. Collection SEO is a different artefact. Do not treat that PDP score as a collection ranking review.
What Core Web Vitals belong to
Core Web Vitals matter to both, but they are not the same ticket. A missing H1 is SEO. A slow LCP from three popups is a CRO stack problem.
App embeds that block LCP can hurt SEO. Theme app extensions that load async usually do not. That is a performance review, not a reason to skip the drawer.
Do not “fix CWV” by deleting the cart drawer if the real issue is a script in theme.liquid on every page. And do not “fix SEO” by rewriting titles while add-to-cart dies on scroll.
What to tell a client
“We will not put keywords and cart drawers on the same slide.” Show the SEO deck and the CRO punch list separately. The CRO badge is optional theatre for the number; the PDF is the work.
How we score is the basis for the CRO number: Ninety9’s product-page rubric, not a conversion-rate prediction, and it will not fit every store or situation.
If they only have budget for one afternoon, and they already buy traffic, run the CRO Audit for Shopify stores first. Discovery without a buy button is a hobby.
Accessibility is neither exclusively CRO nor SEO. The audit does not dump WCAG. Broken add-to-cart for keyboard users is still a constraint — if the control is missing in the DOM, it fails for everyone.
Frequently asked questions
What is this score based on?
Ninety9’s product-page rubric — defaults we apply the same way on every public Shopify PDP. It is not a conversion-rate prediction, and it will not fit every store or situation. How we score.
Should I fix SEO or CRO first?
If nobody can find the page, SEO. If paid traffic already lands on a PDP that cannot add to cart, CRO. Most stores with a media budget are in the second bucket and still commission an SEO PDF.
Does the CRO Audit for Shopify stores check meta titles?
No. On purpose.
Will a CRO fix hurt SEO?
App embeds that block LCP can. Theme app extensions that load async usually do not. That is a performance review, not a reason to skip the drawer.
Can I use the CRO audit for collections?
It will pick a product from that collection (bestseller when it can) and score the PDP. Collection SEO is a different artefact.
Is accessibility CRO or SEO?
Neither exclusively. The audit does not dump WCAG. Broken add-to-cart for keyboard users is still a constraint — if the control is missing in the DOM, it fails for everyone.



