Case study · WordPress sites
Spa Fleet: WordPress, WooCommerce and technical SEO for a mobile sauna rental business
A mobile sauna rental site on WordPress and WooCommerce: night-based booking packages, delivery pricing, a Yoast baseline and an SEO audit.
At a glance
- Who it's for
- A small rental business that delivers a mobile sauna to customer addresses and events in the states the site names (New York, New Jersey and Connecticut, with Pennsylvania, Massachusetts and Vermont added on some pages), and takes bookings online.
- Core stack
- WordPress 7.1.3, WooCommerce 11.2.1, Yoast SEO 28.7, Divi Builder 4.27.9, the ova-brw booking plugin 2.0.5, Stripe gateway
- What sets it apart
- Hotel-style booking: a package per night count, an availability calendar, and a cart that works out the delivery fee from the customer's state, city and zip code.
The live site
The homepage and the pricing and availability page, captured in October 2026. Each opens the live page.


The challenge
Spa Fleet rents out a physical product that travels. A customer needs to see what the sauna is, pick dates, learn what delivery to their address costs, and pay, all without calling. The same business also takes event bookings with an attendant, and sells gift certificates, which do not fit a normal checkout.
The business also names several states under one small brand. The site has to say where it works, keep prices clear, and give search engines a clean set of pages to read.
What is built
The site runs on WordPress with WooCommerce. A booking page lists the Cloudberry mobile sauna as nine night packages, from 1 to 56 nights, each with an extra-nights selector and a Check Availability button. The cart prices delivery from the state, city and zip code, and the pricing page notes that New York deliveries carry 8% sales tax.
Event rentals, gift certificates, a news page for offers, a Q and A page and a downloadable rental agreement sit around the booking flow. Yoast SEO writes titles, canonicals (tags that tell search engines which address is the main one), Open Graph tags (tags that control how a link previews when shared), schema (structured data that describes the page to search engines) and the XML sitemaps.
Key pages and structure
Counts come from the site's own XML sitemaps and page source, October 2026.
- 01
Booking and pricing
The book page shows nine packages (1, 7, 14, 21, 28, 35, 42, 49 and 56 nights) with an availability check on each. The pricing page explains the nightly model: delivery by 5 p.m. on the first day, pickup by noon the day after the last night.
Pattern: one booking page, one pricing page, one cart.
- 02
Products and add-ons
The product sitemap lists 8 URLs: the Cloudberry Mobile Sauna, a cold dunk tank, a single and a set of two cold dunk sit tubs, rental towels and a birch whisk, plus two entries that look like leftovers (
/product/test-2/and/sauna-culture-2/). A separatemobile-saunacontent type lists 2 URLs.Pattern:
/product/cold-dunk-tank/. - 03
Event rentals and gift certificates
The event page sets out the terms for larger events: an attendant at $50 per sauna run-time hour, room and board or a $200 per night per diem, and an optional insurance listing fee. The gift certificate page is a form with a sum question and a cheque or PayPal choice.
Both pages end with a contact form or an email address.
- 04
Questions and news
The Q and A page has 8 questions headed "Q:" on use, cost, rental terms, cancellation, fire safety and delivery site needs, with a user manual and rental agreement to download. The news page holds a summer offer dated 11 August 2026.
- 05
Supporting pages
About (the Cloudberry features), contact form, privacy policy, a rental agreement page, gallery, press room and sauna culture pages. The page sitemap holds 20 URLs, including
/checkout/,/checkout-test-2/and/sauna-culture-old/.Contact: an info@ email address; no phone number or street address was found.
Technical SEO baseline
What is in place on spafleetrental.com, read from the page source, robots.txt (the file that tells search engines which areas to skip), sitemaps and response headers.
- Booking and product pages/book/, /product/, /pricing-availability/
- Yoast SEO 28.7title, canonical, Open Graph, schema
- Sitemaps and robots.txt14 child sitemaps, 7 blocked bots
- Cart and checkout/cart/ with /checkout/ canonical to it
- Delivery and paymentstate, city, zip fee; Stripe gateway
- Every public page checked has a canonical tag and Open Graph tags. The schema is a Yoast graph of WebPage, WebSite (with a search action) and BreadcrumbList. No Product, Offer, Organization, LocalBusiness or FAQPage markup was found on the pages checked, including one product page.
- robots.txt blocks seven crawlers outright (Baiduspider, AhrefsBot, MJ12bot, BLEXBot, DotBot, SemrushBot, YandexBot), allows everything else, and names one sitemap file under
/wp-content/uploads/. The Yoast index at/sitemap_index.xmllists 10 post sitemaps plus page, product, mobile-sauna and product category sitemaps. - No robots meta tag (a tag that tells search engines whether to index a page) was found on any page checked, so the cart and checkout can be indexed;
/checkout/shows the cart and points its canonical to/cart/. An unknown URL returns a real 404, and the REST API at/wp-json/is open.
Audit findings
Where the site still has room to improve.
Several H1 headings on one page
The site title in the header is an H1 (the main page heading that search engines read) on every page, so each page has that H1 before its own heading. The homepage has four H1 elements, one of them empty, and two more read "Have A Look At Our" and "Video!". The book page has ten H1s, one for each package, and the news page has only the site title H1. Using H2 or H3 (second- or third-level headings) for package and offer titles is commonly recommended.
Titles and descriptions
The homepage title says "Mobile Spa & Sauna Rental" while the visible brand says "Mobile sauna rental". The about page title does not include the brand name. The cart, event rentals, gift certificates and news pages have an empty meta description, and the FAQ description has a typo ("Frequental"). Service-area text differs between pages: the book and about titles name NY, NJ and CT, the pricing title adds PA, MA and VT, and the privacy page description names only CT, MA, PA and VT.
Image alt text
The homepage has 3 images, and two logos have no alt attribute while a third has an empty one. The about page has 10 images with no alt attribute, and the pricing, cart, event rentals, FAQ and privacy pages each have 2. Alt text is present on the book page's package image ("Mobile Sauna Rental"), so the fix is to add it to the rest.
Schema is thin for a rental business
There is no Organization or LocalBusiness data, so no logo, contact point or service area is machine-readable. The product pages have no Product schema, and the homepage breadcrumb has one item. The booking packages are not marked up as offers.
Test and duplicate pages
The sitemaps include
/checkout-test-2/(titled "Checkout_old"),/sauna-culture-old/,/sauna-culture-2/and a product called "Cloudberry Mobile Sauna 2" at/product/test-2/. All return 200 and have their own canonical. The contact page answered a request sent with a generic browser user-agent string with a 403 error and a noindex tag (an instruction telling search engines to leave a page out of results). Headless Chrome rendered the form normally, so real visitors are not blocked, but a crawler that sends a similar user-agent string could be.Local signals and analytics
The service area is written in text, but no phone number, street address or map was found on the pages checked. No Google Analytics or Tag Manager ID appears in the page source. None of the homepage's three images is lazy loaded, while the about page lazy loads 7 of its 10.
Caching and freshness
A product page is sent with
cache-control: no-store, no-cacheand anx-cache-enabled: Falseheader. The newest news item is dated 11 August 2026, and the news page also carries cleaning and virus-safety text. PHP version could not be confirmed, as no header reports it.
Technology stack
Taken from the page source and response headers.
- Platform
- WordPress 7.1.3
- WooCommerce 11.2.1
- Make theme with a child theme
- Divi Builder 4.27.9
- SEO
- Yoast SEO 28.7
- JSON-LD graph
- XML sitemap index
- Bookings and payments
- ova-brw 2.0.5 booking plugin
- WooCommerce Stripe Gateway
- Calendar sync plugin (vr-calendar-sync)
- reCAPTCHA reference
- Hosting
- nginx
- No page cache on checked product page
Business value
What the setup enables. No ranking, traffic or booking numbers are claimed.
- Lets a customer check dates, see a quote and pay online, with delivery priced by address in the cart rather than by phone call.
- Covers the other ways people rent: events with an attendant, gift certificates and add-on tubs and towels.
- Answers common buyer questions in plain text on a Q and A page and a pricing page.
- Turns the audit above into a short fix list, starting with headings, schema, alt text, descriptions and test pages.
Need SEO and WordPress work like this?
Tell us what the site needs to do and we will scope it with you on a call.