How Shopify Handles 404 Errors
On Shopify, a 404 error occurs when a visitor requests a URL that no longer exists or was never created โ a deleted product, a renamed collection, or a mistyped path. Unlike self-hosted platforms, Shopify serves these errors through a theme file called 404.liquid, which sits inside the Templates folder of every theme. Store operators can edit this file directly in the theme code editor to control exactly what a visitor sees when they land on a broken URL.
Shopify routes unmatched URLs through its own CDN and storefront layer before passing the 404 response to the theme. This means the platform itself decides whether a URL returns a 200 (found), a 301 (redirected), or a 404 (not found) status code โ and store operators cannot override that routing logic with server configuration files like .htaccess the way they can on Apache or NGINX hosts. Working within Shopify's redirect system is the only native option.
The Most Common Sources of 404s on Shopify
Product deletions generate the largest share of Shopify 404s. When a product is removed from the admin, its URL โ typically /products/product-handle โ disappears immediately with no automatic redirect. The same applies to deleted collections (/collections/collection-handle), blog posts (/blogs/news/post-handle), and pages (/pages/page-handle). Any external link, email campaign, or Google index entry pointing to that old URL will return a 404 until a redirect is manually created.
Handle changes are the second most common source. Shopify auto-generates URL handles from product titles. When a merchant edits a product title, Shopify offers to update the handle but does not automatically create a redirect for the old one. Accepting the handle change without checking the redirect option in the admin leaves the old URL broken. Theme migrations and domain switches also produce waves of 404s, especially when the new theme restructures collection hierarchies or page slugs.
Paid traffic campaigns compound the damage. A product URL baked into a Facebook or Google ad continues sending clicks to a 404 page long after the product is deleted or renamed. Unlike organic traffic, paid clicks that hit a 404 represent direct, measurable ad spend converted into zero revenue โ making 404 monitoring more financially urgent for stores running active campaigns.
Shopify's Native Redirect Tool and Its Limits
Shopify provides a built-in URL redirect manager under Online Store โ Navigation โ URL Redirects. Merchants enter an old path (e.g., /products/old-handle) and a destination path (e.g., /products/new-handle), and Shopify issues a 301 permanent redirect. The tool works without any app or code change and handles an unlimited number of redirects. Redirects created here take effect immediately across the storefront.
The native tool has real limitations at scale. It has no bulk-import capability beyond a CSV upload, and that CSV must follow a strict two-column format with no extra headers or formatting. There is no built-in detection mechanism โ the redirect manager does not surface URLs that are currently returning 404s. Merchants must discover broken URLs through external tools like Google Search Console, Ahrefs, or Screaming Frog, then manually compile and upload redirects. For stores with hundreds of SKU changes per month, this workflow becomes a maintenance burden without additional tooling.
Redirect chains are another native limitation. If a redirect points to a destination that is itself redirected, Shopify follows the chain but does not warn the merchant. Chains of three or more hops slow page load and dilute link equity. Periodically auditing the redirect list to flatten chains โ making each old URL point directly to its final destination โ is a necessary hygiene task the native tool does not automate.
Apps and Third-Party Tools for Shopify 404 Management
Several apps in the Shopify App Store extend the platform's native redirect functionality. Apps in this category typically do three things the native tool does not: log 404 hits in real time, suggest redirect destinations based on URL similarity, and apply bulk redirects automatically when products or collections are deleted. These apps install a script tag or use Shopify's ScriptTag API to intercept 404 page loads and record the requested URL alongside referrer data.
Google Search Console remains essential regardless of which app is in use. Shopify stores connected to Search Console receive crawl error reports that identify which indexed URLs are returning 404s, how many impressions those URLs received, and when Google first detected the error. This data is more authoritative for SEO purposes than app-level logs because it reflects Google's crawl perspective, not just visitor behavior. Merchants should review the Coverage and Pages reports in Search Console at least monthly.
Screaming Frog and Ahrefs Site Audit are standard tools for bulk 404 detection on larger Shopify catalogs. Screaming Frog crawls the storefront the same way a search engine does and exports a list of all URLs returning 4xx status codes along with the pages that link to them. Ahrefs' backlink index identifies external sites linking to broken Shopify URLs โ a signal that a 301 redirect preserves link equity that would otherwise be lost.
Customizing the Shopify 404.liquid Template
The 404.liquid template controls the on-page experience for every visitor who lands on a broken URL. The default template on most themes is minimal โ a short message and a link to the homepage. Replacing this with a more functional template reduces bounce rate from 404 pages. Effective 404 pages on Shopify include a search bar using the platform's native search input, links to top collections, and optionally a dynamically rendered set of featured products using a section schema.
Shopify's section-based themes (Online Store 2.0 and later) allow the 404 template to use JSON template files and drag-and-drop sections, the same as other page types. This means the 404 experience can be managed from the theme editor without touching Liquid code directly. Merchants on older vintage themes must edit 404.liquid in the code editor. Either way, the 404 page should be tested by navigating to a known non-existent URL like /products/this-does-not-exist to confirm the template renders correctly before changes are published.
A Practical Process for Reducing Shopify 404s
Start by connecting the store to Google Search Console and pulling the current list of crawled URLs returning 404 errors. Cross-reference that list against the store's current sitemap โ Shopify auto-generates a sitemap at /sitemap.xml โ to confirm which URLs are genuinely missing versus temporarily indexed. Prioritize redirects for URLs that appear in backlink profiles or that historically received paid traffic.
Establish a pre-deletion workflow in the admin: before deleting a product or collection, create its 301 redirect in the URL Redirects tool. This single habit prevents the most common source of new 404s. For stores processing large catalog changes, export the current URL list from Screaming Frog before making changes, then re-crawl after the changes and diff the two exports to catch any missed redirects.
Review and flatten redirect chains quarterly. Export all redirects from the Shopify admin as a CSV, identify any destination URL that also appears as a source URL in the same list, and update the chain's origin entry to point directly to the final destination. Audit the 404.liquid template annually to ensure it renders correctly in the current live theme, especially after theme updates.