Transparensea, Glass Bottom Boat Tours

WordPress and Elementor out, Astro in. Islamorada's glass-bottom boat went from a 35 mobile PageSpeed score to 100 on every page, with FareHarbor booking that no longer drags the site down.
Numbers on the manifest.
- mobile PageSpeed
- 35 → 100 PSI, Sept 23 baseline vs. all 46 routes, Sept 28
- axe WCAG 2.2 AA violations
- 0 axe-core, 45 routes at 390px
- blog posts kept at their old URLs
- 32 migration log
- page weight, mobile
- 8 MB → <190 KB Lighthouse, old homepage vs. new pages
The Challenge
Transparensea runs two-hour glass-bottom boat tours out of Islamorada: reef by day, reef by night, and a bayside sunset cruise. The old site was WordPress and Elementor Pro, and on a phone it scored 35 on Google PageSpeed. The homepage pulled down about 8 MB, took over 8 seconds to show its main image, and loaded Microsoft Clarity three times per page across two different projects.
There was a bigger problem hiding in the copy. The boat had moved docks to World Wide Sportsman, but the homepage, the structured data and a couple of blog posts still sent guests to the old marina. For a tour business, that’s a customer standing at the wrong dock at departure time.
The Build
We rebuilt the whole thing in Astro. All 32 blog posts came over at their original URLs, so nothing that already ranked had to be redirected. Each post went through a migration pass: 45 broken or outdated links fixed, duplicate headings and images stripped out, bylines moved into proper author fields. About 40 AI and stock images got dropped in favor of 18 real photos of the boat and the reef, served as AVIF and WebP at the right size for each screen. Thirty redirect rules in Netlify cover the old WordPress archives, tags, feeds and retired pages.
Booking stays on FareHarbor, because that’s where the owner runs the business. The trick was making it stop hurting the site. The synchronous calendar embed dropped tour pages to a mobile score in the 20s and 30s, so the calendar now loads when you scroll to it. FareHarbor’s 1.9 MB Lightframe only loads for mouse and trackpad users once they interact, and phones skip it and go straight to the booking page. Google Tag Manager waits for a real tap or click too. Every page got a sticky “Check availability” bar with the starting price, which had been missing from 42 of 46 pages on mobile.
The dock move got fixed everywhere it appeared, plus a “We moved” post with the new address, the mile marker, and when to check in.
The Result
Google PageSpeed went from 35 to 100 on mobile, across all 46 routes, on desktop too. Pages weigh 61 to 189 KB. axe-core finds zero WCAG 2.2 AA violations on any page, every page has LocalBusiness structured data, and the tour pages carry TouristTrip markup. Guests get a fast page, the right dock, and a booking button that’s always in reach.
> Live now atTransparensea(glassbottomtour.com)
