Shopify app help

Blog pages return 404

Your article published successfully but the store URL shows 404. That is a missing theme template, not a failed publish - here is how to confirm it and fix it.

Last updated 2026-08-23

What it does

Publishing an article does two separate things. Sphen writes it into Shopify - that part is done the moment the publish succeeds, and you can see it in Online Store › Blog posts. Showing it to a visitor is a second job, and it belongs to your theme: Shopify only renders /blogs/… URLs if the theme contains a blog template and an article template. A theme built without them answers every blog URL with 404, even though the article is stored, listed in your sitemap and served in your blog feed.

Sphen checks this from the outside - the same way a customer or a crawler would - and warns you in the app when the check comes back 404. The warning names the failing URL, links to your themes and offers Check again.

Why it matters

This failure is invisible everywhere you would normally look. Shopify admin shows the post as published. The sitemap lists it. The RSS feed serves it in full. Only the page a human or an AI assistant actually opens is missing - which means every article you publish in this state earns nothing at all, and search engines that fetch the URL see a 404 rather than your content.

It is also entirely fixable by you, in minutes, and no article has to be republished afterwards. The moment the templates exist, every article you already published becomes reachable at its existing URL.

Setup

  1. Confirm the diagnosis. Open https://your-domain.com/blogs/news in a browser - if it 404s, add .atom to the same URL. A working feed plus a 404 page is proof that the blog exists and only the template is missing. If both 404, your blog has a different handle than news or is not published to the Online Store; see Troubleshooting below.

  2. In your Shopify admin, go to Online Store › Themes and find the theme marked Current theme - templates only matter in the published one.

  3. Open the theme's menu and choose Edit code. The theme editor's template picker can only offer template types the theme already has, so a completely missing template has to be added here.

  4. In the Templates folder press Add a new template, choose blog, and create it. Repeat with article. Shopify creates both from the theme's own layout, so they inherit your styling.

  5. Save, then reload https://your-domain.com/blogs/news. If your theme came from an agency or a theme developer, this is the point to hand them these two template names instead of editing code yourself - the fix is the same, it is just their file.

  6. Back in Sphen, open Content and press Check again on the warning. A successful check removes the banner; from then on Sphen re-verifies on its own.

Reading the results

The warning appears in two places: on Overview, so a new store finds out during setup rather than after its first publish, and on Content, directly above the drafts it affects. Immediately after a publish, the same warning replaces the usual green confirmation - because a green banner with a dead link would read as a broken app rather than a theme gap.

Sphen only warns about this one specific, fixable state: the blog exists and is published, but no template renders it. If the storefront is unreachable, password-protected or answers something ambiguous, no banner appears at all - a warning you cannot act on is worse than none. A healthy result is re-verified about once a day; a failing one is re-checked every few minutes, so the banner disappears shortly after you fix the theme even if you never press Check again.

Troubleshooting

I added the templates and the page still 404s.

Almost always the templates went into a theme that is not the published one. Check Online Store › Themes and confirm the theme you edited carries the Current theme label - a duplicate created for editing does not serve traffic. Also give Shopify a moment and reload without cache.

The .atom feed 404s as well.

Then the URL you tested does not point at an existing blog. Open Online Store › Blog posts › Manage blogs and read the blog's handle - many stores renamed news to something else. Also confirm the blog itself is available on the Online Store sales channel. Once you know the real handle, test /blogs/<handle> again.

My storefront is headless (Hydrogen or a custom frontend).

Then the check is telling you the truth about the Shopify-rendered URL, and the fix belongs in your frontend: articles are served through the Storefront API and need a route of their own. Sphen still publishes correctly - the article is retrievable through the API the moment it is live.

I never want blog articles on my storefront.

Then do not publish them: keep drafts in Sphen and use the catalog and page recommendations instead. Publishing into a store that cannot render articles produces URLs that only ever answer 404, which is worse for you than not publishing at all.

Frequently asked questions

Do I have to publish my articles again after fixing the theme?

No. The articles are already stored in Shopify at their final URLs. Adding the templates makes those exact URLs render - nothing in Sphen needs to be repeated.

Does Sphen change my theme?

No. Sphen never edits theme files. The only theme-side thing it asks for is the app embed for structured data (see Theme integration), and that is a switch you flip yourself.

Which themes are affected?

Shopify's own free themes ship blog and article templates, so they are fine out of the box. The gap shows up in custom and agency-built themes where the blog was never part of the brief.

How does Sphen know, if Shopify reports the article as published?

Because it does not ask Shopify - it requests the public URL the way a visitor would, and compares that answer with the blog's feed. Templates live in the theme, and no admin API reports whether one exists.

Still stuck?

Support answers installation, catalog sync, audit, billing, privacy, and account questions for the SPHEN.AI Shopify app.

Contact support