This product was not featured by Product Hunt yet.
It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).

Product upvotes vs the next 3

Waiting for data. Loading

Product comments vs the next 3

Waiting for data. Loading

Product upvote speed vs the next 3

Waiting for data. Loading

Product upvotes and comments

Waiting for data. Loading

Product vs the next 3

Loading

Lucid Search & Replace

Search and replace that survives serialized data

Change a domain and most search and replace tools quietly miss the URLs inside page builders. Elementor stores layouts as JSON inside PHP serialized values, with slashes escaped. Search for https://oldsite.com and you match nothing. Search the escaped form and replace as text and you corrupt the row, because serialization stores byte lengths that stop matching. Lucid unserializes, walks the tree, decodes the JSON leaves, and keeps the original escaping. Preview first, snapshot, undo.

Top comment

maker here. the bug that made me write this is more interesting than the plugin.

 

page builders like Elementor store a whole page layout as JSON, and that JSON sits inside a PHP serialized value. PHP escapes forward slashes when it encodes JSON, so the two strings below are the same URL. the first is what is actually in your database. the second is what you would type into a search box.

https:\/\/oldsite.com\/shop
https://oldsite.com/shop

search for the second and you match nothing. the replace reports success, changes hundreds of other rows, and every page still points at the old domain. you find out when someone opens one.

 

searching for the escaped form is worse. PHP serialization writes a byte length before each string, so a 19 character domain is stored behind s:19. swap it for a 22 character one as plain text and the prefix still says 19, unserialize() hits the wrong boundary and returns false, and the row is gone. that is the "search and replace corrupted my database" story.

 

the part that took longest: you have to preserve the original slash escaping when you re-encode. two JSON encodings of the same data are both valid and different lengths, so you can decode, replace correctly, re-encode correctly, and still hand back a value that no longer matches its own length prefix.

 

it previews representative matches before writing anything, can snapshot first, and can undo. GPL, no paid tier, nothing held back.

 

disclosure: I also sell a separate WordPress backup plugin. this is not a lite version of it and there is no upgrade path being sold here.

 

happy to be told I have missed a case. I only verified Elementor properly and would like to know how other builders store things.

About Lucid Search & Replace on Product Hunt

Search and replace that survives serialized data

Lucid Search & Replace was submitted on Product Hunt and earned 0 upvotes and 1 comments, placing #152 on the daily leaderboard. Change a domain and most search and replace tools quietly miss the URLs inside page builders. Elementor stores layouts as JSON inside PHP serialized values, with slashes escaped. Search for https://oldsite.com and you match nothing. Search the escaped form and replace as text and you corrupt the row, because serialization stores byte lengths that stop matching. Lucid unserializes, walks the tree, decodes the JSON leaves, and keeps the original escaping. Preview first, snapshot, undo.

On the analytics side, Lucid Search & Replace competes within Open Source, WordPress, GitHub and Development — topics that collectively have 138k followers on Product Hunt. The dashboard above tracks how Lucid Search & Replace performed against the three products that launched closest to it on the same day.

Who hunted Lucid Search & Replace?

Lucid Search & Replace was hunted by Ibrahim Hajjaj. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.

For a complete overview of Lucid Search & Replace including community comment highlights and product details, visit the product overview.