Cache in Shoporama
How caching works in Shoporama. How often caches are built, when your changes take effect, and how to force a reset.
Shoporama uses caching in several places so your online store is fast for customers. This also means that your changes don't always take effect immediately. Here's an overview of the cache layers that exist, how often they are built, and how to force an update if you're in a hurry.
The short answer: Click View Online Store in the top right of the admin. This opens the shop with a token that resets the cache for you. The rest of the article explains which cache layers exist and exactly when they update themselves.
How often is the main cache built?
The classic page cache sits on top of the front page, category pages and product pages. It is built continuously as your customers visit the pages. The first customer to hit a page after a change triggers a new build and all subsequent customers see the new version. You can always force a fresh build manually.
How to reset the cache manually
There are two easy ways:
- Quick: Click View Online Shop in the top right corner of the admin. This opens the shop with a token that resets the cache automatically.
- Deliberate: Click the gear in the top right corner, go to Orders, scroll down and click Save and reset cache.
See the full guide in How to reset cache.
Block cache
In addition to the main cache, there is a block cache that is controlled by your theme developer. Block caching is applied to specific parts of the theme (e.g. a bestseller block or a menu) with an individual lifetime. This means that the heavy part is only built once in a while, while the rest of the page is fully dynamic. The two caching layers work together, not against each other.
Cache on your own feeds
If you build your own feed (e.g. Google Shopping, Facebook or a comparison service) from a landing page, the feed file is stored in a cache so it doesn't need to be recalculated for each call. The file is rebuilt every hour on the hour at minute 47 (10:47, 11:47, 12:47, etc.). This means that changes in the products included in the feed are reflected the next time minute 47 hits.
The comparison service itself fetches the feed with its own interval on top. Google Merchant Center typically fetches once a day, so it can take up to 24 hours from when the change is in the feed until it appears in the ads.
Cache on the /ajax endpoint
If your theme uses the /ajax endpoint for filtering or infinite scroll, each unique URL is cached for up to 12 hours. This makes filtered product lists lightning fast, but also means that a price change is only visible when the cache expires. You can force a rebuild of a specific URL by adding rebuild=1 to the call.
Caching on built-in Google Shopping and product feeds
The feeds Shoporama provides out of the box (Google Shopping and similar) are built in two stages:
- The Google Shopping feed is updated every hour at minute 17.
- The general product feed is updated every two hours at minute 15 (00:15, 02:15, 04:15, etc.).
For the built-in feeds, you usually don't need to do anything. They are automatically rebuilt as soon as the next times hit.
Cached stock and prices
Stock status is regularly updated in the background independently of the page cache, so customers rarely see the wrong quantity. Promotional prices are also synchronized several times an hour, so active promotions are quickly reflected on the products included.
When do changes take effect?
- Product texts and prices: At the next cache build, or immediately upon manual reset.
- Stock status: Updated regularly in the background, independent of the page cache.
- Images: Visible immediately.
- Theme changes: Visible immediately. Smarty automatically recompiles your templates when files are changed.
- Custom feeds (custom feeds via landing page): Updated every hour at minute 47.
- Built-in Google Shopping feed: Updated every hour at minute 17.
- Filtered product lists via /ajax: Updated after the 12-hour cache lifetime or with rebuild=1.
Tip: If you edit many products at a time, wait to reset the cache until after all changes are saved. This saves the server unnecessary work and avoids waiting for a cache rebuild that will be overwritten soon after anyway.
Frequently asked questions
Why can't I see my new price in the shop?
Usually because the cache has not yet been updated. Click View Online Shop in Admin (this will reset the cache automatically) or use Save and reset cache in Settings. Also check that you don't see an old version in your browser cache. Do a hard reload with Ctrl+F5 (Windows) or Cmd+Shift+R (Mac).
My Google Shopping feed still shows the old price. What should I do?
If you build the feed yourself via a landing page, it will update every hour at minute 47. If you use Shoporama's built-in Google Shopping feed, it updates every hour at minute 17. Wait for the next update. Google Merchant Center typically fetches your feed once a day, so it can take up to 24 hours from when the change is in the feed until it appears in the ads.
Do I need to clear the cache every time I edit a product?
No, you don't. The cache is built automatically as soon as a customer visits the site. You only need to reset manually if you are in a hurry to see the change or if you update many products at the same time and want to make sure the whole shop is fresh at once.
How long does the /ajax endpoint cache for?
Up to 12 hours per unique URL. This makes for lightning-fast filtered lists, but also means that a newly changed price can take time to show through on a filtered view. Add rebuild=1 to the call to force an update or reset the entire cache via Save and reset cache.
Does caching affect my SEO?
Caching is predominantly good for SEO because it makes the shop faster and speed is a ranking factor in Google. If you make important text or title changes, reset the cache and ask Google to re-index via Search Console.
What is the difference between block cache and main cache?
The main cache is the classic page cache that covers the entire front page, category pages and product pages. Block cache is a more fine-grained cache that the theme developer can set on individual parts of the theme, for example a "popular products" block that is only built once an hour. The two cache layers work together, not against each other.
My designer has made changes to the theme, but it doesn't show the new design?
Templates are automatically compiled, so design changes are usually visible right away. If it's still spinning, reset the cache and do a hard reload in your browser. It's typically your browser that is holding on to the old CSS or JS file.
Can customers see different versions of the cache?
The cache is common to all visitors, but some dynamic parts (e.g. cart, login status and personalized prices) are not cached, so each customer always sees their own data there. This also means that seller logic like B2B pricing or membership discounts are always correct for each customer.
I just created a new custom feed. When will it be available?
The first time a feed URL is called, the file is built and cached. If you want a fresh version of an existing feed, wait for the next build at minute 47 or reset the cache via Save and reset cache.
My campaign is activated, but the price is still displayed as normal. What's wrong?
Campaign prices are synchronized several times per hour and the page cache is rebuilt on the next visit. First check that the campaign is active (start and end date), then reset the cache via Watch Online Shop and do a hard reload. If the price is still wrong after a few minutes, write to support.
Do you need help? Contact us at support@shoporama.dk.
Related articles
How do you reset cache?
Guide to resetting the cache on your Shoporama online store so that changes take effect immediately.
Ajax filtering
Technical documentation for Shoporama's /ajax endpoint for filtering products. For developers and theme designers.
Build your own feeds
Guide to building your own product feeds in CSV, XML or JSON format with Shoporama's custom feed feature.
Split your feeds into multiple pages
How to paginate self-built XML feeds from landing pages with the query parameter ?p=. Avoid timeouts on large feeds.
Set up Google Shopping Feed
Guide to setting up Google Shopping Feed in Shoporama so that your products appear in Google Shopping.