Revert Shopify SEO Fields Without Touching the Rest
You can revert one Shopify SEO field without rolling back the rest of the product. SO: Product History & Revert records SEO changes, shows the old and new values before confirmation, and returns the selected field to its previous value.
Which fields can point-in-time restore write?
Point-in-time restore covers title, description, handle, vendor, product type, tags, status, template and SEO. It compares those fields with the state stored at the selected history entry and writes only the values that actually differ. An unchanged handle or vendor therefore receives no write when you restore a moment containing an SEO title edit.
Variants, images, metafields and collections sit outside that operation. Point-in-time restore leaves all four untouched, while each remains individually revertible. A variant price edit, image change or collection-membership change recorded near the SEO edit does not need to join the SEO restoration.

How do you find the edited SEO title?
Open history from the product inside the app or use the entry in that product's action menu in Shopify admin. Narrow the Shopify product SEO title history with any combination of the available filters:
- Changed field
- Change type
- Date range
- Free text
Select the entry that contains the unwanted SEO title. The revert preview places the before and after values together before you confirm the write. This check separates the title you want back from a nearby SEO value that should remain current.
How do you revert only the SEO title?
Choose the individual-field revert on the SEO title entry rather than restoring the product to that entire moment. Individual fields can return to a previous value, so this action changes the selected title without applying the full point-in-time field set. Confirm the comparison only when the historical value is the one you want Shopify to hold.
The original SEO edit appears with author "Unknown." Shopify webhook payloads do not carry an actor, and only create, delete, publishing or unpublishing, and status changes have an attributable Shopify event. The app exposes that limitation in every Changed by tooltip, a banner on the product history page and a hint on the plan feature.
The completed revert has different attribution. Reverts, point-in-time restores and deleted-product restores are recorded under the staff member who triggered them.
How is the earlier SEO value reconstructed?
Each captured change is stored as a JSON Patch in the product's change log, with a full product checkpoint written every so often. These records preserve more than the latest saved state. They provide the history needed to reconstruct the product at the moment containing the earlier SEO title.

A newer checkpoint never removes an earlier point in time. The selected moment remains reconstructible while it falls inside the plan's retained history.
What happens if another edit reaches the webhook?
Before writing the revert to Shopify, the app records the intended changes in a short-lived Redis ledger. When the resulting webhook arrives, the worker removes only the parts of its difference accounted for by that ledger. If the webhook contains both the SEO revert and a separate product edit, the separate edit stays in the change record.
A revert operation is idempotent, so the same revert cannot be applied twice. Multiple changes can also be reverted together, although bulk point-in-time restore is limited to the Scale and Enterprise plans.
Why might the earlier SEO title be unavailable?
A request for a moment older than the plan's retention window is refused. The app reports the date from which history remains available instead of returning a newer product state. Reverts and snapshots are unlimited on every plan; plans differ only by the number of tracked products and the length of retained history.
A store at its tracked-product cap gets no history for new products. The home page and Billing warn about that condition, but a product captured after the cap was reached has no earlier SEO entry to restore.
More posts on the app are on the blog.