IndexNow for Shopify
Shopify handles this for you now. The manual setup most guides describe cannot work on Shopify, and here is precisely why.
Quick answer
Shopify has native IndexNow support, confirmed by Microsoft in
May 2025. Most stores need to do nothing. You cannot publish a key file at your Shopify
domain root, and the common workaround — uploading it to Shopify Files and pointing
keyLocation at the
cdn.shopify.com URL — is invalid, even
though it returns a success code.
Start by checking whether it is already working
In a May 2025 post on IndexNow and shopping surfaces, the Bing Webmaster team wrote: "Using Shopify? You're already covered; Shopify has integrated IndexNow support."
That changes the question from "how do I set this up" to "is it working". Verify before you build anything:
- Add and verify your store in Bing Webmaster Tools — use the meta tag or DNS method, since HTML file verification cannot work on Shopify for the same reason the key file cannot.
- Open the IndexNow section and look for submissions attributed to your store.
- Publish or update a product, wait, and check whether the URL appears.
If submissions are arriving, you are done, and any app or manual workaround adds nothing but a second thing to maintain.
Why the manual setup cannot work here
The protocol proves domain control by having you publish a file on the host whose URLs you are
submitting. Shopify does not let you put a file at your storefront root — there is no filesystem to
write to and no route you can define. Files uploaded through
Content → Files are served from
cdn.shopify.com.
The CDN workaround fails twice over
Plenty of guides tell you to upload the key to Shopify Files and pass that CDN URL as
keyLocation. Two independent rules
make that invalid:
- Wrong host. The key file must live on the same host as the URLs you submit.
cdn.shopify.comis notyourstore.com, and it is shared by every Shopify store, so a key there could not prove control of yours even in principle. - Wrong scope. A key's own path limits what it authorises — a key at
/s/files/1/…/key.txtvalidates only URLs beginning with that path. Your product pages are not under it.
The reason this advice spreads is the same reason it is hard to disprove: submit with it and the
shared endpoint answers 202 Accepted.
The key is validated afterwards and the submission is dropped without a word. Try the same request
against Naver or Seznam, which validate during the request, and you get a
403 immediately.
If native support is not enough
Bing Webmaster Tools, directly
URL submission in Bing Webmaster Tools needs no key file, because you have already proven ownership by verifying the site. For a handful of urgent URLs this is the shortest path, and its API is the same mechanism the better Shopify apps use underneath.
A reverse proxy in front of the storefront
The only genuine way to serve a file at your Shopify root is to put something in front of it. If
your DNS is on Cloudflare, a rule or Worker can answer
/{key}.txt before the request ever
reaches Shopify, from your real hostname. This is a real fix rather than a workaround — but given
the native integration, it is rarely worth the moving parts.
An app — after you check what it actually does
Apps in the Shopify App Store handle IndexNow submission, and some are well reviewed. They face the same platform limitation you do, so the question to ask is how they prove domain ownership. Going through the Bing Webmaster Tools API is legitimate; claiming to publish a key file at your root is not something Shopify permits.
Shopify things that break indexing regardless
The store is still password protected
A pre-launch password page returns an authentication wall to every crawler. Nothing gets indexed and no submission changes that. Surprisingly common on stores that have "been live for weeks".
.myshopify.com competing with your real domain
Two hostnames serving the same catalogue. Make sure your primary domain is set correctly, and submit and canonicalise consistently to it.
Products reachable at several URLs
Shopify serves products under collections as well as at /products/handle. Canonical tags handle it by default — submit the canonical URL, not the collection-scoped one.
An edited robots.txt.liquid
Shopify allows theme-level robots.txt overrides. Worth reading yours if pages are missing — a rule added during a migration outlives the reason for it.
Being straight about it
This site sells IndexNow submissions, and the honest position for a Shopify store is that you probably do not need it: the platform already submits for you, and the key file this tool verifies is one you cannot publish. Where it still earns its place is checking that a key you control elsewhere resolves, and submitting for properties that are not on Shopify.