Shopify SEO check

What Shopify SEO check means for a Shopify store

You see whether the page is readable, and whether the product name, price, and stock match what a crawler is given. What that includes, and what it leaves out.

Key takeaways

  • Read the checks, not only the headline.
  • Confirm anything you might change in the admin, the ad account, or both.
  • If the result cannot see cost, sessions, or repeat rate, it cannot answer those questions.

What you actually get

Shopify SEO check asks a narrower question than a rank tracker. It fetches a public URL and checks whether a crawler can read it, and whether the product name, price, and availability in the structured data match the buy box.

It also looks for a robots.txt that is not blocking the relevant crawlers, and for an llms.txt file. llms.txt is a convention some tools look for. It is not a Google ranking factor, and publishing one does not put the product into an AI answer. The field-by-field explanation of a price mismatch is in product schema.

Shopify themes print the product structured data. A review app or a bundle app can print a second Product node, and that node survives a theme publish. Recheck the product URL you advertise, not the homepage.

What it leaves out

The check does not rank the page, and it does not ask ChatGPT about the store. Matching schema makes the product quotable. It does not place the page in an AI answer.

The steps for a single pass are in how to run Shopify SEO check.

What a Shopify SEO check can see on a public URL

The check fetches a URL the way a crawler can: the HTML of a public page, the robots.txt of the host, and whether an llms.txt file is present. It does not log into Shopify, it does not read Search Console, and it does not ask an assistant to cite you. The result is a reading of that page at that moment.

On a product URL the useful part is the product structured data. Google’s product guidance expects a name, a price, a currency, and an availability that describe the product on the page. When those match the buy box, the page is eligible for a product rich result. Eligibility is not a promise that Google will show one, and it is not a ranking boost. When they do not match, a shopper and a crawler are being shown different products.

A theme prints that data from the product in Shopify. The title, the price, and the stock should come from the same product the page renders. A review app, a bundle app, or an SEO app can print a second Product node. The second node is easy to miss because the page looks right. View the result field by field. If two prices appear, find the app that added the extra block before you rewrite the description.

robots.txt is the file that tells crawlers which paths they may fetch. On Shopify it is generated, and a theme can change it through robots.txt.liquid. A disallow on a product path is a decision with a consequence: the crawler that obeys robots.txt will not read that product. A firewall or a bot challenge can also block a crawler that robots.txt allows. The check can see the file. It cannot see every network rule in front of the store.

Which crawler does which job

Googlebot is the crawler that affects Google Search. If robots.txt blocks Googlebot, you are opting that URL out of Google’s normal indexing path. That is a serious change. Do it only when you mean the page to stay out of Search.

Google-Extended is a robots.txt token, not a second Googlebot. Google’s own crawler documentation says it does not affect inclusion or ranking in Search. It is the control for Gemini training and grounding. Blocking it is a training decision. Leaving it open is a training decision. Neither one is a ranking tactic.

OpenAI separates the jobs. GPTBot is the training crawler. OAI-SearchBot is the crawler for ChatGPT search. Opting out of OAI-SearchBot means you do not want the page used in ChatGPT search answers. ChatGPT-User is the fetch when a person asks ChatGPT to look at a URL. That one is not the training crawl, and it is controlled separately. There is also an ads crawler that checks landing pages. It is not a training bot. Confirm the names against OpenAI’s current crawler overview before you publish a disallow, because the list can change.

llms.txt is an optional file some tools look for as a guide to your content. Publishing one does not override robots.txt, does not rank the page, and does not place the product in an answer. If you add one, keep it accurate. A guide that points at draft collections and dead URLs is worse than no file.

What “the price matches” actually compares

The buy box shows the price of the selected variant, in the currency of the market the shopper is in. The structured data should describe that offer. A mismatch of a dollar is still a mismatch. A mismatch of currency is a mismatch. A product that is in stock on the page and marked out of stock in the data will look unavailable to a system that trusts the data.

Compare-at price is not the selling price. If the structured data uses the compare-at value as the price, the rich result can show a number the shopper will not pay. Set the offer price to the price. If you want the higher number represented, it belongs in the field your theme uses for that purpose, not in place of the price.

Markets and country pricing make this sharper. A check from one country can see one price. A shopper in another market can see another. Run the check on the URL you care about, and be aware that a VPN or a market redirect can change the HTML. If the store redirects by country, the result is the country the fetch landed in. Say that when you share it.

Availability should follow the variant. A product with one sold-out size and one in-stock size is not a single stock status. The data should not mark the whole product unavailable because one variant is gone, and it should not mark a sold-out variant as in stock because a sibling is available. Open the variant the ad uses and compare that one.

What a clean Shopify SEO check does not decide

A clean result means the page was readable and the fields that were checked agreed. It does not mean the product will rank for a keyword, and it does not mean an assistant will quote it. Ranking and citation depend on the rest of the web, the query, and the systems you do not control.

A failing result is more decisive about the thing that failed. A blocked Googlebot, a price that disagrees with the buy box, or a product URL that returns an error is a defect you can name. Fix that defect. Do not add a paragraph of keywords to compensate for it.

Content still matters, and it is a different job. The title, the description, and the images are what the shopper reads. The check does not grade whether the description is persuasive. Pair it with the product page itself when the question is the sale, and with Search Console when the question is whether Google is indexing the URL.

Shopify questions

Does Shopify SEO check need access to the Shopify admin?

No. Public tools read a URL anyone can open. Calculators use the numbers you type and do not connect to the store.

Can the result be wrong?

Yes. A public tool can read the wrong URL, miss an app that never loads, or match the wrong brand. A calculator repeats a cost you left out. The result is only as good as that input.