Scheduled updates for a store content asset (page, product, block, etc.) are not displayed on storefront immediately after the start time of the update. This happens when updates have been scheduled using the Content Staging functionality.
Due to Fastly's Soft Purge functionality (enabled by default), the Magento storefront still receives the old (stale) cached content when sending the first request for the updated asset to Fastly.
After we schedule an update for a content asset using Content Staging, Magento sends a request to update the cache to Fastly. Then, Fastly invalidates the previous cached content (without deleting such a content) and starts serving the updated content.
The problem is that Fastly still serves the stale content when receiving the first request for the updated content, and starts sending the regenerated content only after receiving the second request. This behavior has been implemented to reduce server load by renewing the cache only in areas with proven traffic, allowing not to regenerate cache for the entire website but update cache gradually (saving the application resources).
So, until the second request for the updated content, Fastly may serve stale content.
If serving stale content even for the first request is unacceptable for you, you may disable Soft Purge and enable Purge CMS page:
- Log in to your local Magento Admin as an administrator.
- Go to Stores > Configuration > Advanced > System > Full Page Cache.
- Expand Fastly Configuration, then expand Advanced.
- Set Use Soft Purge to No.
- Set Purge CMS page to Yes.
- Click Save Config at the top of the page.