Key Takeaways
- HTTP status codes are the server’s response to a URL request — they tell browsers and Googlebot what happened
- The codes that matter most for Shopify SEO are 200, 301, 302, 404, and 410
- Soft 404s (a URL returning 200 but with no real content) are harder to detect than hard 404s and equally damaging
- Most Shopify SEO problems with status codes come down to missing redirects and broken internal links
HTTP status codes are three-digit numbers your Shopify store’s server sends back every time a browser or Googlebot requests a URL. As a merchant, you don’t need to write code to manage them — but you do need to understand what they mean, because several of them directly affect your search rankings.
Here are the ones that matter.
200 — OK
The best status code. It means the request succeeded and the page loaded correctly.
When Googlebot crawls a URL and gets a 200, it reads the page content and (if the content is good) considers it for indexing and ranking. When a customer visits a URL that returns 200, they see your page.
What to watch for: A URL can return 200 but still be a problem. If the content Google receives is thin, duplicate, or irrelevant — for example, a search result page or an out-of-stock product with no description — Google may classify it as a soft 404 even though it technically returned 200.
301 — Moved Permanently
Tells browsers and search engines: “This URL has moved. Here’s the new address. Update your records.”
Google responds by updating its index to reflect the new URL, and approximately 90% of the link equity from the old URL is transferred to the new one.
Use 301 for almost everything on Shopify: deleted products, changed URL handles, restructured collections. It’s the default redirect type when you use Shopify’s URL Redirects tool.
What to watch for: Redirect chains — when a 301 points to another URL that itself has a 301. Each hop in the chain loses a fraction of link equity and adds latency. Audit your redirects periodically and flatten any chains.
302 — Found (Temporary Redirect)
Tells search engines: “This URL has temporarily moved. Keep the original URL in your index — we’ll be back.”
Google holds the link equity at the original URL rather than transferring it to the destination. This is correct for genuine temporary situations.
What to watch for: Using 302 when you mean 301 — this is a common mistake that permanently leaks link equity. If you’re setting up a redirect that you don’t intend to ever reverse, use 301. More on 301 vs 302 redirects.
404 — Not Found
No page exists at this URL. The server returns this when a URL has no corresponding content — a deleted product, a changed URL handle without a redirect, a mistyped URL.
From an SEO perspective: Googlebot records the URL as broken, stops passing authority through any links pointing there, and eventually removes the URL from its index. The crawl budget spent on 404s is wasted.
What to watch for: Most 404s on Shopify stores come from internal links that were never updated — blog posts linking to deleted products, product descriptions referencing removed pages. These links still exist in your content and generate 404s every time Google or a customer follows them. The fix is to update the link in the content itself, not just to add a redirect.
410 — Gone
A more definitive version of 404. Tells search engines: “This URL has been permanently removed and will never return.”
Google de-indexes 410 URLs faster than 404s. A URL returning 404 may stay in Google’s index for weeks or months. A URL returning 410 typically gets removed within days.
What to watch for: Shopify doesn’t return 410 natively — deleted pages return 404 by default. For most Shopify merchants, this is fine. The 410 is worth knowing about, but it’s rarely worth the technical effort to implement unless you’re dealing with URLs that need rapid de-indexing.
500 — Internal Server Error
Something went wrong on your server. Unlike 4xx errors (which are “client” errors — the URL doesn’t exist or you don’t have access), 5xx errors indicate a server-side problem.
On Shopify, 500 errors are rare because Shopify manages the hosting infrastructure. They can occur from faulty theme code, bad app installations, or Shopify outages.
What to watch for: If Googlebot repeatedly encounters 500 errors on important pages, it may reduce crawl frequency. Shopify’s status page (status.shopify.com) tracks any platform-wide issues.
503 — Service Unavailable
The server can’t handle the request right now — typically due to maintenance, overload, or a temporary outage.
If Googlebot hits a 503, it typically tries again later. A brief 503 during maintenance won’t damage your SEO. An extended or recurring 503 on important pages will reduce crawl frequency and can eventually affect rankings.
What to watch for: If you put your Shopify store in password-protected mode (during a migration or pre-launch), it returns 503 to search engines. Avoid leaving stores in this state for extended periods if they have existing rankings.
Soft 404 — Not Actually a Status Code
Soft 404 isn’t a real HTTP status code — it’s Google’s classification of a URL that returns 200 but serves content that Google determines is empty, irrelevant, or missing.
The most common cause on Shopify: redirecting all 404s to your homepage. When /products/old-boots redirects to your homepage, Google sees a 301 followed by a 200 on a page that has nothing to do with boots. It classifies the original URL as a soft 404.
Other causes: out-of-stock product pages with no content, thin auto-generated collection pages, search result pages that got indexed.
What to watch for: Soft 404s appear in Google Search Console under Indexing → Pages → “Soft 404” — not in the same place as hard 404s. Many merchants never check this section and have hundreds of soft 404s they don’t know about.
How Status Codes Connect to Broken Links
The common thread across almost all status code problems on Shopify is broken internal links.
When a product gets deleted and a blog post still links to it, that blog post generates a 404 every time someone follows the link. When you add a redirect but don’t update the blog post, that 404 becomes a redirect hop — eventually contributing to a chain. When you redirect to your homepage instead, the 404 becomes a soft 404.
The cleanest resolution to all of these is to fix the link at the source: find the blog post, update the URL, and the problem doesn’t exist anymore.
Relink scans every product description, blog post, page, and collection on your Shopify store and surfaces every broken internal link — showing you exactly which content needs updating so you can fix the link itself rather than managing status codes indefinitely.