Overview
This guide helps you safely migrate your Horizon theme to the latest version while preserving your customizations and store settings.Before You Begin
1
Backup your current theme
Download a copy of your current theme from the Shopify admin:
- Navigate to Online Store > Themes
- Find your current theme
- Click Actions > Download theme file
- Save the .zip file in a safe location
2
Review the release notes
Check the release notes to understand what’s changed in the new version and identify potential breaking changes.
3
Prepare a test environment
Create a duplicate of your store or use a development store to test the migration before applying it to production.
Migration Methods
Method 1: Pulling Upstream Changes (Recommended)
If you’re using Git to manage your theme, you can pull the latest changes from the Horizon repository.1
Navigate to your local theme folder
2
Verify your remotes
Check that you have both You should see:
origin and upstream configured:origin- your repositoryupstream- Shopify’s Horizon repository
3
Add upstream remote if needed
If you don’t see an
upstream remote, add one pointing to Shopify’s Horizon repository:4
Fetch and pull the latest changes
5
Resolve merge conflicts
If you encounter conflicts:
- Open each conflicted file in your code editor
- Look for conflict markers (
<<<<<<<,=======,>>>>>>>) - Decide which changes to keep (yours, upstream, or both)
- Remove the conflict markers
- Test the resolved code
Method 2: Manual File Comparison
For smaller updates or if you’re not using Git:1
Download the latest Horizon release
2
Compare settings files
Use a diff tool to compare:
config/settings_schema.jsonconfig/settings_data.json(your customizations)- Section schema files in
sections/
3
Update modified files
Carefully copy updates from new files to your theme, preserving your customizations.
4
Test thoroughly
Test all pages and functionality before deploying.
Version-Specific Migration Notes
Migrating to v3.4.0
Header link changes
Header link changes
Version 3.4.0 introduces text-style header links as an alternative to icons.Action required:
- Review your header settings in the theme editor
- Choose between icon or text display for Search, Account, and Cart links
- Update your color scheme if using text links to ensure proper contrast
Customer account updates
Customer account updates
The account menu has been replaced with a new web component version.Action required:
- Test all customer account functionality
- Verify login, logout, and account navigation work correctly
- Check that any custom account-related CSS still applies
Product card width controls
Product card width controls
New settings allow control over product card widths on desktop and mobile.Action required:
- Review product grids on collection pages
- Adjust new width settings in section configurations if needed
- Test responsive behavior on various screen sizes
Accessibility improvements
Accessibility improvements
Footer and header elements now use proper semantic HTML and ARIA roles.Action required:
- If you’ve customized header or footer markup, update to use semantic elements
- Test with screen readers to ensure accessibility is maintained
Post-Migration Checklist
After updating, verify the following:Theme functionality
Theme functionality
- Homepage loads correctly
- Collection pages display products properly
- Product pages show all variants and media
- Cart and checkout flow works
- Search functionality operates correctly
- Customer account login/logout works
- Mobile navigation functions properly
Visual consistency
Visual consistency
- Color schemes are correct
- Typography matches your brand
- Logo displays at the right size
- Images load with correct sizing
- Spacing and layout look appropriate
- Custom CSS is still applied
Performance
Performance
- Page load times are acceptable
- Images are optimized and loading
- No console errors in browser DevTools
- Theme Check passes without critical errors
Cross-browser testing
Cross-browser testing
- Chrome/Edge (Chromium)
- Firefox
- Safari (macOS and iOS)
- Mobile browsers (iOS Safari, Chrome)
Troubleshooting
If you encounter issues after migration:- Clear cache: Clear your browser cache and Shopify’s theme cache
- Check Theme Check: Run
shopify theme checkto identify problems - Review console: Check browser DevTools for JavaScript errors
- Compare files: Use a diff tool to compare your customized files with the upstream version
- Rollback if needed: Restore your backup theme if critical issues arise
Rolling Back
If you need to revert to your previous theme version:1
From Shopify Admin
- Go to Online Store > Themes
- In the Theme library, find your backup theme
- Click Actions > Publish
2
From Git
Best Practices
- Never modify core theme files directly - Use custom sections and snippets instead
- Document your changes - Keep notes on customizations you’ve made
- Update regularly - Don’t fall too far behind on updates
- Test on development stores - Always test updates before going live
- Use version control - Git makes migrations much easier
Next Steps
- Review Best Practices for theme development
- Learn about Theme Architecture
- Explore Customization Options