Moving a Sydney photo booth business off WordPress, onto Astro
Bondi Booths already had a website, and it already took bookings and card payments. The job was to rebuild it on the same domain without breaking either.
Synetra's role: Website rebuild for the client, 2026. A site already existed; the business, its content and its media are its own. Published with the client's permission.
A working site on ageing foundations
Bondi Booths hires photo booths and event gear across Sydney, working out of Bondi Junction for weddings, parties and corporate functions. It came into the engagement with a WordPress site built on Elementor, and that site was working: customers were booking online and paying by card through it.
When the existing site already converts, the brief is to move it onto foundations that will hold for the next few years without interrupting what already earns money.
A page assembled by a visual builder carries the weight of that builder on every load, and the plugin surface underneath it is a standing maintenance and security commitment.
Rebuild on the same domain
The rebuild started with a crawl of the existing site and a URL map covering every legacy address, because the old URLs are what the rankings are attached to. The new build is Astro, statically rendered, deployed to Vercel's Sydney region, with serverless endpoints handling only the three things that need a server: booking, enquiries, and the payment webhook.
The existing booking and card payment path was carried across. Customers who had used the old flow found the same booth names and the same price points on the other side of the cutover.
The structure was then widened. Where the old site covered its services broadly, the rebuild gives each booth type and each serviced part of Sydney a page of its own, so the site can be found for the specific thing someone is searching for.
Astro, statically rendered
Pages ship as HTML. The three dynamic endpoints run as serverless functions.
Same domain, mapped URLs
Every legacy address was captured and mapped before the cutover.
Booking and payments preserved
The existing Stripe checkout path was carried through the migration.
Per-service and per-location pages
Each booth type and serviced area has its own page.
Hardened headers
Strict content security policy, HSTS with preload, and no third-party subresources on the home page.
Self-hosted fonts
No external font requests, which removes a render-blocking third party from every page load.
Live, with no analytics on it
The site is live at bondibooths.com.au, running the booking and payment flow it came in with, on a structure that now covers each service and each area separately.
This site carries no analytics. That was a deliberate decision about the visitor experience, and it means there is no before and after to show you. The platform changed, the URLs were preserved, and the booking flow survived the move.
The guide to rebuilding without losing your rankings covers the migration mechanics in detail.