Shopify SEO Audit: the Six Counts That Matter
A Shopify SEO audit worth running is six counts on your catalogue, not a 120-point report. How to count each one, and which gap to close first.
A Shopify SEO audit that changes anything is six counts, not a 120-point report. How many products have no description, no meta title, no meta description, no image, no tags and no vendor. Six numbers, one afternoon, and they tell you where the traffic is not coming from.
The reason a generic SEO audit disappoints on Shopify is that most of what it checks is not yours. Robots.txt, canonical tags, URL structure, the sitemap: the platform generates them, they are the same on every store, and no report is going to hand you an action on any of them. What is yours is the catalogue, and that is exactly the part a crawler measures worst, because a crawler sees the pages you have rather than the fields you left empty.
What should a Shopify SEO audit actually count?
Six gaps. Each one is a page or a field that exists but says nothing, which is the only kind of SEO problem a merchant can fix on a Thursday afternoon.
| Gap | How to count it | What leaving it costs |
|---|---|---|
| Products with no description | Blank Body (HTML) in the product export |
A page with nothing on it that is yours to rank with |
| Products with no meta title | Blank SEO title in the export |
Google writes your title from the theme, usually the product name plus the store name |
| Products with no meta description | Blank SEO description |
Google writes the snippet from whatever text it finds, often a shipping line |
| Products with no image | Handles with no Image Src row |
No Google Images traffic, no Shopping surface, low trust on the page |
| Products with no tags | Blank Tags |
The product is invisible to automated collections and storefront filters |
| Products with no vendor | Blank Vendor |
Brand facets split, and feed items that need a brand get rejected |
Read the table as a priority order later, not now. First count.
Can you filter the Shopify admin by "no description"?
No, and this is the practical wall everybody hits an hour into an audit.
The product list filters by vendor, tag, status, category, sales channel, collection, publishing errors, gift cards, combined listings and metafield values. There is no filter for an empty description, an empty SEO field or a missing image. You can sort and search, but you cannot ask the admin the one question the audit is made of.
So the count comes from the export, or from an app that stores the products alongside what is missing from them. Nothing else in the admin answers it.
How to count each gap from the product export
Products, then Export, then all products as a CSV. It arrives by email for a catalogue of any size. Open it in a spreadsheet, and before anything else, deal with the shape of the file.
The export has one row per variant, not per product. A shirt in five sizes is five rows, and four of them carry a blank Title, blank Body (HTML) and blank SEO fields because those fields belong to the product, not the variant. Counting blanks without accounting for this reports a catalogue in far worse shape than it is. Two ways to handle it:
- Filter to rows where
Titleis not blank. That is one row per product, and it is the row that carries the product-level fields. - Or de-duplicate by the
Handlecolumn, keeping the first row of each handle.
Once you have one row per product, the six counts are six filters. The Shopify product CSV carries every field you need under these exact column names:
Body (HTML)for the descriptionSEO titleandSEO descriptionfor the search engine listingImage SrcandImage alt textfor the imagesTagsandVendor
Images need their own pass, because image rows are separate rows on the same handle. A product
with no photo is a handle that has no row with an Image Src value at all, not a product-level
row with a blank image cell.
Write the six numbers down, with the total product count next to them. A percentage is what turns "some products are missing descriptions" into a decision.
What a crawler adds, and what it does not
Run one anyway. A crawl finds things the export cannot: broken internal links, redirect chains left over from a migration, pages that return 404 while still sitting in your navigation, titles duplicated across different products.
What it will not give you is the six counts. A crawler reads rendered pages, and a product page with an empty description field still renders: it has a title, a price, a buy button and the theme's boilerplate. It looks like a page. The gap is only visible in the data behind it.
The other half of an audit lives in Search Console rather than in any tool: which of your pages are indexed at all, and which are crawled and deliberately left out. That is a different investigation, and the ordered version of it is in why your store is not showing on Google.
Which gap should you close first?
Not the biggest number. The one where a filled field changes what the page can rank for.
1. Descriptions. A product page with no description has nothing on it that is yours. Every other field is a label on top of the words, and if the words are missing there is nothing for Google to match a query against. This is first on any catalogue, and it is first by a distance.
2. Meta titles. Left blank, Shopify falls back to the product title and the theme usually appends the store name. That is not a disaster, it is just never the phrase a shopper types. The limits, and the three different numbers involved, are in Shopify meta description length.
3. Images. A product with no photo does not sell, before any SEO argument is made. It also sits out of Google Images entirely, which is traffic most stores never count.
4. Meta descriptions. These do not rank the page. They decide whether the result gets clicked, which is why they come after the three fields that decide whether the result appears.
5. Tags. Not an SEO field, and the reasons are worth reading before you spend a week on them. They matter because they feed automated collections and storefront filters, and a product in no collection is invisible to every category query.
6. Vendor. The smallest job on the list and the one with the tidiest payoff: consistent brand facets, and feed items that stop being rejected for a missing brand.
If your six counts come back near zero and the traffic still is not there, the problem is not the catalogue and the audit has done its job by saying so. The next place to look is the full Shopify SEO checklist, which covers the technical, collection and off-page work that sits outside the product fields.
How often should you re-run it?
Quarterly, and after every import.
The counts do not drift on their own. They jump, on the day someone adds forty products from a supplier feed, or migrates a catalogue, or launches a new range in a hurry. Re-running the export after each of those events is what stops a clean catalogue from quietly becoming a dirty one again, and it takes ten minutes once the spreadsheet exists.
FAQ
What is a Shopify SEO audit? A review of what is missing or broken across your store's pages and product data. On Shopify the useful version is narrow, because the platform generates the technical layer: it counts how many products are missing descriptions, meta titles, meta descriptions, images, tags and vendors, and checks which pages are indexed in Search Console.
Can I filter Shopify products by missing description?
Not in the admin. The product list filters by vendor, tag, status, category, sales channel,
collection, publishing errors, gift cards, combined listings and metafield values. To find
products with an empty description you export the catalogue to CSV and filter the Body (HTML)
column, or use an app that tracks the gaps for you.
Does the Shopify product export include SEO fields?
Yes. The product CSV includes SEO title and SEO description columns, along with Image alt text, Tags, Vendor and Body (HTML). Remember the file has one row per variant, so filter
to rows with a non-blank Title before counting.
How long does a Shopify SEO audit take? The counting takes under an hour on any catalogue size, because it is one export and six filters. Fixing what it finds is the long part, and it scales with how many products came back in each count.
Do I need an SEO audit tool for Shopify? For the six catalogue counts, no: an export and a spreadsheet give you the same numbers. A crawler earns its place for broken links, redirect chains and duplicate titles across pages, which the export cannot see. A comparison of the apps in this space is in the best Shopify SEO apps.
How often should I audit my Shopify store? Every quarter, and after any bulk import or migration. Those events are what move the numbers, not the passage of time.
The counting is the easy half. The reason most audits die is the second half: you now have a list of 380 products missing a description, and the bulk editor gives you one text box at a time.
Yikfy starts from the same six counts. You filter the catalogue by what is missing, no description, no meta title, no meta description, no image, no tags, no vendor, save that filter so it is one click next month, and generate the missing fields for the whole selection at once. Everything lands in a review queue first, so you approve what goes to the store rather than finding out afterwards.
What it does not do is the other half of the audit. It will not crawl your theme, chase redirect chains or read Search Console for you. It fills the fields the export says are empty, which is the part of an audit that is measured in hundreds of products rather than in findings.