What is content versioning?
Content versioning is the practice of saving every version of a published text or data point with its date, its author and what changed, so you can compare them, know what was published at any given moment and go back to an earlier one. In an online store, content versioning covers product pages, metadata, structured data and FAQs.
Key takeaways
- Versioning means saving every change with its date, its author and what changed, not just the latest state.
- History, draft and published version are three different things: restoring an old version does not change the public page until it is published.
- A good history serves two purposes: going back after a mistake and knowing what the public saw on a specific date.
- A page's modified date moves only with a real change; changing it without changing the content is what Google advises against.
- A tool's history only records what was changed in that tool, not what another system later wrote to the store.
Versioning here is not the version control of a program's code, or a theme's version number, or one of the product variants: it is keeping dated versions of what you publish on the store. A description, a meta description, a product page's JSON-LD block, its FAQs. It matters because of two questions someone will eventually ask. The first, after a bulk change that went wrong: can we go back to what we had? The second, when a customer, a supplier or an AI assistant repeats something you no longer say: what exactly did the product page say on that date? Without versions, both get answered from memory.
How it works
A system with versions tells apart three states of the same content, and the IETF named them in April 2010, in RFC 5829, when it defined the link types for navigating between versions of a web resource. The version history (version-history) gathers all the saved versions. The latest version (latest-version) is the current one. The working copy (working-copy) is the one being edited, and it points to the version it came from. And each version can link to its predecessor and its successor in the history.[1]IETF (A. Brown, G. Clemm and J. Reschke, April 2010). RFC 5829: Link Relation Types for Simple Version Navigation between Web Resources
That separation is what matters in a store: the history saves, the draft is edited and the publication is what the public sees. Restoring an old version brings it back as a draft; the public page does not change until it is published. A good system saves, with each version, when it was made, who made it, which fields it changed and why.
The other use is auditing: knowing what was published at a given moment. RFC 7089, from December 2013, defines for the web a framework for date-based access to a resource's earlier states: it calls a Memento a resource that encapsulates a prior state of the original resource, and a TimeMap the list of those states.[2]IETF (H. Van de Sompel, M. Nelson and R. Sanderson, December 2013). RFC 7089: HTTP Framework for Time-Based Access to Resource States (Memento) It is the same idea applied to a whole page: a dated version that can be consulted later.
Dates get published too. Google recommends showing on the page when it was published and when it was updated, and that those dates match the datePublished and dateModified in the structured data.[3]Google Search Central. Influencing your byline dates in Google Search And among the signals of content made for search engines and not for people, it asks whether you change the date of pages to make them look recent when the content has not really changed.[4]Google Search Central. Creating helpful, reliable, people-first content A history that records what changed in each version is what lets you move the date only when it should move.
Platforms version some things and not others. In Shopify, the theme code editor keeps a timeline per file and lets you restore a file to an earlier version, with three limits its help spells out: it restores one file at a time, it does not recover deleted files or the whole theme, and the history is finite, so old versions may not be there. Restoring replaces the file's whole content, including changes you may want to keep, and Shopify advises duplicating the theme as a copy before editing it.[5]Shopify Help Center. Editing theme code That history is the theme code's. For product pages and their data, it pays to check what your platform or the tool that writes to it keeps.
In a store
A fictional example: the history of a coffee maker's description in a store that rewrote its catalog in March.
| Version | Date | Who | What changed | Status |
|---|---|---|---|---|
| 1 | January 10 | Manufacturer import | The manufacturer's original text | Archived |
| 2 | March 12 | Bulk rewrite | New text; capacity goes from 1.2 to 1.5 liters by mistake | Archived |
| 3 | March 20 | Restore of version 1 | The original text returns, with the correct capacity | Published |
| 4 | April 2 | Manual edit | Adds use on induction cooktops | Draft |
Three details make this table useful. Restoring does not delete version 2: it creates a new version, number 3, so the mistake stays documented and the restore can also be undone. The published version and the latest are not the same: version 4 exists, but the public keeps seeing version 3 until someone publishes it. And the "What changed" column is the one that answers the audit question without opening four texts and comparing them by eye.
Clione works this way with what it writes to the store: it saves a version of every enrichment and every manual edit, keeps the three most recent for each product with their notes and the elements that changed, and restoring one creates a new version; what was restored reaches the store with the next Push.
What people often confuse
That restoring a version in the dashboard undoes the change in the store. Restoring puts the version back as the draft or the saved data; the public page changes when it is published, and only a check of the live page says the change arrived. And a tool's history records what was changed in that tool: if the platform, a PIM or an app later rewrites the field, that change is not in the history.
How to check it
- Find where your store keeps the history of a product page: in the platform, in the PIM or in the tool that writes the data. Check that each version has a date, an author and what changed.
- Restore a version on a test product and open the page's source code (Ctrl+U) before publishing: if the page has already changed, the system does not tell draft and publication apart.
- Compare the published page with the latest published version in the history. If they do not match, something wrote over it afterward; it is a case for publication verification.
- Review the dates: the visible date and
dateModifiedhave to match and move only with a real change to the content.[3]Google Search Central. Influencing your byline dates in Google Search[4]Google Search Central. Creating helpful, reliable, people-first content - Before a bulk change, make a copy of what you are about to touch. In a Shopify theme's code, duplicate the theme before editing it.[5]Shopify Help Center. Editing theme code
Related concept: field overwrite
Field overwrite is the problem, and versioning is part of the defense. When one system writes a value over the one another had saved, the earlier one is lost without warning. With versions, the earlier value is not lost: it is in the history and can be restored. But the history only records the changes that pass through the system that keeps it; what another system rewrites afterward is not recorded, and to find out you need to look at the published page and watch for data drift. It is not the same as a backup either: a backup saves everything at once to recover from a disaster, and the history saves every change to every element to answer what changed, when and who did it.
To keep going, the publishing by platform reading path orders the rest of the terms.
Synonyms
- English
- content versioning, version history
- Español
- historial de versiones, control de versiones del contenido
Sources
- [1] IETF (A. Brown, G. Clemm and J. Reschke, April 2010). RFC 5829: Link Relation Types for Simple Version Navigation between Web Resources. Accessed . ↑
- [2] IETF (H. Van de Sompel, M. Nelson and R. Sanderson, December 2013). RFC 7089: HTTP Framework for Time-Based Access to Resource States (Memento). Accessed . ↑
- [3] Google Search Central. Influencing your byline dates in Google Search. Accessed . ↑ ↑
- [4] Google Search Central. Creating helpful, reliable, people-first content. Accessed . ↑ ↑
- [5] Shopify Help Center. Editing theme code. Accessed . ↑ ↑
Change history
- First English version.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
Field overwrite
Field overwrite: an app, a PIM or a sync overwriting a product value another system wrote, how it happens and how to catch it.
Data drift
What data drift is in an online store: a correctly published value that later changes on the page, its usual causes and how to catch it in time.
Publication verification
What publication verification is: checking that what you save in your store's admin reaches the public page, field by field, and how to do it.
Metafields
What Shopify metafields are, what parts they have, how they get from the admin to the product page's HTML and how to check your theme publishes them.
Webhook
What a webhook is, how Shopify and BigCommerce notify you of a catalog change and why a notification does not replace a periodic sync.
SSR
What SSR, or server-side rendering, is, how it differs from rendering in the browser, and why it decides what Google and AI bots read on your store.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.