Shopify Theme Updates & Custom Pages: Why Your Templates Might Disappear (and How to Fix It!)

Hey everyone! As a Shopify migration expert who spends a lot of time sifting through the community forums, I often come across really insightful discussions that highlight common pain points for store owners. Recently, a thread popped up that perfectly illustrates one of those "wait, what just happened?!" moments many of you might have experienced: custom page templates seemingly vanishing after a theme update.

Let's dive into a recent conversation that started with a store owner, anon26642340, using the popular Horizon theme. They noticed something frustrating: after updating their theme, any new pages they had created since the last update — like a "podcast" page with its own custom template — would revert to the default page template. Older pages were completely fine, but these newer ones just seemed to lose their custom styling, even though the Shopify Admin still showed them assigned to the correct custom template. It was as if the template itself was there in name, but not in function.

Sound familiar? It's a head-scratcher, and as anon26642340 mentioned, they had even lost two other pages in a previous update, thinking it was a fluke. But two times makes a pattern, not a fluke!

The Mystery of the Disappearing Templates: What's Really Going On?

Thankfully, Vlad_Gerasimchuk, a helpful voice in the community, stepped in with a brilliant explanation that really clarifies things. It turns out, this isn't you doing anything wrong, and it's not some random glitch. It's all about how theme updates, especially with themes like Horizon, interact with your custom page templates.

Here's the technical breakdown:

  • When you create a new custom page template in the Shopify theme editor (like that "podcast" one), Shopify saves it as a dedicated
    .json
    file within your theme's directory, specifically under
    templates/page.podcast.json
    (or whatever you named it).
  • When a theme update happens, like going from Horizon 4.1.1 to 4.1.3, the updater essentially replaces the theme's core files with the new version's files.
  • The crucial part: any template
    .json
    files that came with the *original* theme version you installed (or were part of a previous official update) usually survive this merge process. However, a custom template
    .json
    file that *you created yourself* since your last update isn't part of what the updater expects to merge. So, it can get overlooked, dropped, or reset during the update process.
  • Once that custom
    .json
    file is gone or corrupted, the page that was assigned to it has nothing to point to. Shopify, in its wisdom, then falls that page back to the generic
    page.json
    template. This perfectly explains why old pages are fine, but only pages created since the last update get "booted" off their custom templates.

Vlad_Gerasimchuk confirmed this pattern, noting that if you check the code editor on the broken version, you'd likely find

templates/page.podcast.json
either missing or reset to a default body. This confirms that the update dropped the file, and the Admin assignment reverting is just a symptom.

Your Pre-Update Checklist: Preventing Future Headaches

So, how do we avoid this frustrating cycle? The community discussion laid out some excellent, actionable steps. Think of these as your essential pre-update ritual:

Step 1: Duplicate Your Live Theme (Non-Negotiable!)

Before you ever hit that "Update" button, always, always, always duplicate your live theme. This is your safety net, your rollback point. If anything goes sideways with the update, you have a completely functional copy of your store exactly as it was before. Remember, the version history in the code editor doesn't always fully restore custom

.json
files, so a full theme duplication is critical.

  • Go to your Shopify Admin.
  • Navigate to Online Store > Themes.
  • Find your live theme, click the ... (three dots) menu, and select Duplicate.

Step 2: Back Up Your Custom Page Template JSON Content

This is the secret sauce for preserving your custom layouts. You need to manually copy the raw content of your custom template

.json
files:

  1. In your Shopify Admin, go to Online Store > Themes.
  2. On your live theme (or the duplicate you just made, before updating), click Actions > Edit code.
  3. In the code editor, navigate to the
    templates/
    directory.
  4. Look for your custom page templates, which will usually be named something like
    page.your-custom-name.json
    (e.g.,
    page.podcast.json
    ).
  5. Open each of these custom
    .json
    files.
  6. Copy the entire raw content of each file into a separate text document (like Notepad, Sublime Text, or a Google Doc). Save these files somewhere safe on your computer. Make sure you clearly label which JSON belongs to which template.

The Fix: Restoring Your Custom Templates After an Update

Now that you've got your backups, here's how to proceed with the update and restore your templates if they go missing:

  1. Perform the Update on Your Duplicate: Go ahead and update your duplicated theme to the new version (e.g., Horizon 4.1.3). Never update your live theme directly without testing first!
  2. Check for Missing Templates: After the update, check the code editor (under
    templates/
    ) and your pages in the Admin to see if your custom templates are still there and functioning correctly.
  3. Recreate Custom Templates (If Needed): If your custom templates are gone or reset:

    • In the code editor of your *updated* duplicate theme, go to the
      templates/
      directory.
    • Click Add a new template.
    • Choose Page as the template type and give it the exact same name as your original custom template (e.g.,
      podcast
      ). This will create a new empty
      page.podcast.json
      file.
    • Open this newly created
      .json
      file.
    • Paste the raw content you saved earlier from your text file into this new
      .json
      file, completely replacing any default code. Save your changes.
  4. Reassign Pages: Go to the specific pages in your Shopify Admin (Content > Pages) that use these custom templates. Even if they *still show* the custom template assigned, select the custom template again from the dropdown and save the page. This refreshes the connection.

It sounds a bit tedious, I know, but as Vlad_Gerasimchuk pointed out, this method is far more robust for future updates than simply editing the default template. The theme updater tends to leave files it doesn't recognize (like your newly pasted custom JSON) alone.

Finally, if you're dealing with a reproducible issue like this across multiple updates, it's definitely worth reporting to Shopify support. As Vlad suggested, having "before and after" screenshots of a page's template assignment is exactly what they'd need to investigate a possible Horizon updater bug.

Managing your online store, especially when it comes to keeping themes updated, can feel like walking a tightrope. But with these proactive steps, you can save yourself a lot of headaches and ensure your beautiful custom pages stay exactly where they belong. And if you're thinking about starting your own online journey or upgrading your current setup, remember that Shopify offers a robust platform that, with a little expert know-how, can handle pretty much anything you throw at it!

Share:

Start with the tools

Explore migration tools

See options, compare methods, and pick the path that fits your store.

Explore migration tools