Terms exist for the moment something goes wrong. At that moment the question is what they said on a specific date, and a page that has been quietly replaced cannot answer it.

This guide covers versioning, dates, and the record that actually matters.
Three parts
A current address. Always shows the terms in force. This is the one you link from everywhere: the footer, the checkout, the contract, the invoice.
A dated address per version. Each previous version at its own permanent address, unchanged, with its effective period stated.
A version list. Linked from the current page, listing every version with its dates.
That structure takes an afternoon to set up and answers the only question that ever gets asked about terms.
The effective date
At the top of the page, in normal text.
Terms without a visible date cannot be tied to a transaction. Somebody agreed to your terms in March; which terms were those? Without a date on the page and a version history, nobody knows.
Write it plainly: in effect from a date, replacing a previous version.
| Page replaced each time | Dated versions kept | |
|---|---|---|
| Shows current terms | Yes | Yes |
| Shows March's terms | No | Yes |
| Ties to a transaction | No | Yes |
| Customer can check what changed | No | Yes |
| Costs | Nothing | Almost nothing |
Notifying changes
Most jurisdictions require notice of material changes, and it is sensible regardless.
Send it rather than posting it quietly. Include the effective date, a short summary of what changed, and a link to both the new version and the one it replaces.
A customer who can see exactly what changed rarely objects. One who discovers a change later, after it affected them, reasonably does.
Record what each customer agreed to
This is the part that actually settles disputes, and it is the part most often missing.
When somebody agrees to terms, record which version. A version identifier stored with the account, the order, or the signature.
Then the question of what they agreed to has an answer rather than an argument. Without it, having the version history helps and still leaves you inferring from dates.

Keep an archived copy
Alongside the pages, keep a copy of each version as a file, dated, somewhere that is not the website.
If there is ever a question about whether a page was altered after the fact, an independent copy with a timestamp is better evidence than a page you control.
This is a small habit. It costs a minute per version and it is the kind of thing that only matters once.
For the surrounding ground, see How to share a contract as a link and Canonical URL: which address is the real one.
Put it at an address
Effective date at the top, every version at its own dated address, a version list linked from the current page, customers notified with the date, and a record of which version each customer agreed to.
Then the question of what the terms said on a given day has an answer.