Research
The State of Dive Shop Websites (2026)
We checked the websites of 177 independent dive shops across 22 of the most popular dive destinations. Here is what they get right, what most of them skip, and what it means if you run a shop.
Data checked: October 4, 2026 · Sites analyzed: 154 of 177 · Published by: ScubaDock
A dive shop's website does a few jobs at once. It has to show up, load on a phone, answer "how much?", and make it easy to book or at least start a conversation. We wanted to know how well established dive shops actually do those jobs, so we checked.
We took the independent dive operators from our destination guides (well-reviewed shops in places like Maui, Cozumel, Bonaire, Roatan and Bali) and ran the same set of automated checks on every website. Every number below comes from that data. Nothing is estimated, and no individual shop is named.
Key findings
- Fewer than half of dive shop websites offer online booking. We found a booking system on 66 of 154 sites (42.9%).
- Where you are matters more than anything else. 81.8% of US shop sites have online booking, compared with 21.2% outside the US.
- Outside the US, WhatsApp does the selling. 48.5% of non-US sites have a WhatsApp link or button, against 3.6% of US sites. In Bali, 9 of 11 sites have one and none has online booking.
- FareHarbor dominates booking. It powers 39 of the 66 sites with online booking (59.1%). In Hawaii, 22 of 27 shop sites use it.
- Prices are rarely on the homepage. Only 27.3% show a price on the homepage. Look a page or two deeper and 72.1% do.
- The technical basics are mostly done. 96.1% have valid HTTPS and 97.4% have a mobile viewport tag.
- Only about 3 in 10 sites have all four basics: valid HTTPS, a mobile viewport tag, online booking and a visible price (46 of 154, 29.9%).
- One in three sites offer no instant way to book or chat. 33.1% have neither online booking nor a WhatsApp link, so inquiries go through phone, email, a form or social media.
- Mobile viewport tag97.4% (150 of 154)
- Valid HTTPS96.1% (148 of 154)
- Price shown (any checked page)72.1% (111 of 154)
- Online booking detected42.9% (66 of 154)
- WhatsApp link or button32.5% (50 of 154)
- Price shown on homepage27.3% (42 of 154)
Share of 154 dive shop websites with each signal. Source: ScubaDock, data checked Oct 4, 2026.
Online booking: the big divide
We counted a site as having online booking if its pages load a known booking system, such as FareHarbor, Peek, Rezdy, Bokun, Xola, the DiveShop360 course calendar, Wix Bookings or a WordPress booking plugin. A contact form doesn't count, and neither does a hotel-only room booking engine.
| Region | Sites analyzed | Online booking | WhatsApp link | Price on homepage | Price on any checked page |
|---|---|---|---|---|---|
| USA | 55 | 81.8% | 3.6% | 32.7% | 70.9% |
| Mexico | 27 | 40.7% | 59.3% | 14.8% | 66.7% |
| Caribbean | 38 | 15.8% | 36.8% | 21.1% | 73.7% |
| Central America | 23 | 17.4% | 39.1% | 39.1% | 82.6% |
| Bali (Indonesia) | 11 | 0% | 81.8% | 27.3% | 63.6% |
| All | 154 | 42.9% | 32.5% | 27.3% | 72.1% |
USA = Hawaii, California and Florida. Caribbean = Bonaire, Curacao, Aruba, Grand Cayman and Puerto Rico. Central America = Roatan, Utila and Ambergris Caye. Mexico = Cozumel, Playa del Carmen and Cabo San Lucas.
Within the US, Hawaii leads (24 of 27 sites, 88.9%), followed by California (12 of 14) and Florida (9 of 14).
The Caribbean surprised us. Islands like Bonaire, Curacao and Grand Cayman are household names among divers, yet the region has the lowest booking rate in the sample outside Bali: 6 of 38 sites. Central America is similar at 4 of 23.
One more comparison: more sites link to or embed TripAdvisor (84 of 154, 54.5%) than let you book a dive online.
USA
n=55
Mexico
n=27
Caribbean
n=38
Central America
n=23
Bali (Indonesia)
n=11
Share of analyzed sites with online booking and with a WhatsApp link, by region. Bali is based on 11 sites. Source: ScubaDock, data checked Oct 4, 2026.
Two ways to sell a dive: booking engines and WhatsApp
The split between the US and everywhere else isn't just "has booking" versus "doesn't". It looks like two different sales models.
US shops mostly sell through a booking calendar: pick a date, pay, done. Shops in Mexico, the Caribbean, Central America and Bali lean on conversation, very often on WhatsApp. Only 13 sites in the whole sample have both.
Neither model is wrong. But a third of all sites (51 of 154) offer neither. On those, a diver planning a trip at 11 PM has no way to get an answer or lock in a spot until someone reads an email.
Who powers dive shop booking
| Booking system | Sites using it | Share of sites with booking |
|---|---|---|
| FareHarbor | 39 | 59.1% |
| DiveShop360 | 8 | 12.1% |
| Wix Bookings | 6 | 9.1% |
| Peek | 3 | 4.5% |
| Rezdy | 2 | 3.0% |
| Xola | 2 | 3.0% |
| Bokun | 2 | 3.0% |
| Checkfront | 0 | 0% |
| Other (BookWithBuddy, Trytn, TicketingHub, TimeTrade, WordPress plugins, in-house) | 10 | 15.2% |
4 sites use more than one system, so the shares add up to more than 100%.
FareHarbor's lead is almost entirely a US story: 33 of its 39 sites are US shops. Outside the US, only 6 of 99 sites use it.
- FareHarbor39
- DiveShop3608
- Wix Bookings6
- Peek3
- Rezdy2
- Xola2
- Bokun2
- Checkfront0
- Other (BookWithBuddy, Trytn, TicketingHub, TimeTrade, WordPress/WooCommerce booking plugins, in-house)10
66 sites with online booking. 4 use more than one system. Source: ScubaDock, data checked Oct 4, 2026.
Already on FareHarbor? A shop site can sit in front of that booking calendar. FareHarbor website
Prices: mostly one click away
For a traveler comparing shops, "how much is a two-tank dive?" is an obvious early question. Most shops do publish prices, but not up front. 42 sites (27.3%) show a price on the homepage. Another 69 show one on a linked booking, pricing or courses page. The remaining 43 (27.9%) showed no price on any page we checked.
Having online booking didn't make a shop more likely to show prices: 72.7% of sites with booking showed a price on a checked page, against 71.6% of sites without it.
The technical basics are in good shape
| Check | Sites passing | Share |
|---|---|---|
| Valid HTTPS certificate | 148 | 96.1% |
| HTTP redirects to HTTPS | 142 | 92.2% |
| Mobile viewport tag | 150 | 97.4% |
That's good news. Among established dive shops, a missing certificate or a desktop-only layout is now the exception.
Speed is more mixed. The median homepage HTML was 191 KB, and 33 sites (21.4%) sent more than 500 KB of HTML alone, before any images or scripts. Median time to first byte was 0.54 seconds, but 32 sites (20.8%) took more than a second to start responding.
Stale footers
The year in a site's footer copyright notice is a rough signal of whether anyone is looking after the site. Of the 102 sites that show a year, 63 (61.8%) show 2026. But 28 (27.5%) show 2024 or earlier, and 18 (17.6%) show 2023 or earlier. The oldest year we found was 2010.
A stale year doesn't prove the rest of the site is out of date. It does tell a visitor that nobody has touched the footer in a while.
We also found a few sites that weren't serving a working shop website at all: one domain parked and listed for sale, one redirecting to an unrelated gambling site, one showing a DNS error, and one blank page. That's at least 4 of 177 sites.
What dive shop sites are built on
| Platform | Sites | Share |
|---|---|---|
| WordPress | 82 | 53.2% |
| Wix | 21 | 13.6% |
| DiveShop360 | 6 | 3.9% |
| Squarespace | 5 | 3.2% |
| Shopify | 2 | 1.3% |
| Weebly | 2 | 1.3% |
| Other identified builders and frameworks | 16 | 10.4% |
| Custom or unidentified | 20 | 13.0% |
WordPress is the most common platform in all five regions. We didn't detect any sites on GoDaddy's website builder.
What this means for shop owners
- Give people a way to commit right now. If you take bookings, put a real booking calendar on your site. If your customers prefer to chat, add a WhatsApp button that's visible on mobile. A third of shops have neither.
- Put a price on the homepage. Even a "2-tank boat dives from $X" line answers the first question most visitors have. Fewer than 3 in 10 shops do it.
- Don't let the basics slip. HTTPS and a mobile layout are table stakes now. The shops that are missing them stand out, and not in a good way.
- Update the footer year, or make it automatic. It takes a minute and removes a small doubt.
- Check your domain. We found one dive shop domain listed for sale and another redirecting to a gambling site. Make sure yours is on auto-renew and your registrar contact details are current.
- Watch page weight. If your homepage HTML alone is over 500 KB, the page is likely to feel slow on a weak mobile connection, which is where a lot of travelers browse.
See what a dive shop website costs before you rebuild. Dive shop website cost calculator
Methodology
Sample. 178 shop listings (177 unique websites) from ScubaDock's destination guides covering 22 destinations: Maui, Oahu, Kona, Kauai, San Diego, Monterey, Catalina Island, Key Largo, Key West, the Florida Keys, Cozumel, Playa del Carmen, Cabo San Lucas, Puerto Rico, Bonaire, Curacao, Aruba, Grand Cayman, Roatan, Utila, Ambergris Caye and Bali. These are independent, well-reviewed shops found through public map listings and directories. They are not a random sample of all dive shops, and they lean toward destinations popular with US travelers.
Coverage. 154 sites were analyzed. 19 could not be checked because they blocked automated requests or dropped the connection. 4 did not serve a working shop site.
What we checked. On October 4, 2026, a script fetched each homepage and up to two linked pages (a booking page and a pricing or courses page) using plain HTTP requests, a standard browser user agent, timeouts and a pause between requests. It then looked for: a valid HTTPS certificate, a mobile viewport tag, known booking systems, WhatsApp links and widgets, currency amounts in the page text, platform fingerprints, the footer copyright year, homepage HTML size and time to first byte.
Limits. Online booking and prices are lower bounds: we only checked up to three pages per site and can miss custom systems or prices shown in images. Speed figures come from one request per site from one US location and cover the HTML document only. Regional figures for Bali (11 sites) and Central America (23 sites) rest on small numbers.
The full methodology and the anonymized dataset are available for download.
Download the anonymized dataset (CSV) · License: CC BY 4.0
Full methodology
Date checked: Sunday, October 4, 2026. Checks ran from 1:51 PM to 2:09 PM PT (one first pass and one slower retry for sites that failed).
Who checked: ScubaDock, using a script that makes plain HTTP requests. No paid tools, logins, or Google scraping.
Raw data: dive-shop-websites-2026.csv, one row per shop listing. It names sites and is for internal use. dive-shop-websites-2026-public.csv is the anonymized version that can be shared: no domains, no prices, no ratings.
Sample
| Item | Count |
|---|---|
| Shop listings in our destination guide data | 178 |
| Unique websites (one site was listed in two destinations) | 177 |
| Sites that loaded a usable homepage and were analyzed | 154 |
| Could not be checked: bot-protection challenge (SiteGround captcha, Cloudflare, Sucuri, JS challenge, HTTP 429/403) | 13 |
| Could not be checked: TLS connection dropped by the server before any page was returned | 6 |
| Not serving a working shop site: parked domain for sale | 1 |
| Not serving a working shop site: redirects to an unrelated (gambling) site | 1 |
| Not serving a working shop site: DNS/configuration error page | 1 |
| Not serving a working shop site: blank page | 1 |
Where the shops come from. They are the independent dive operators in ScubaDock's "Best Dive Shops in <Destination>" data for 22 popular destinations: Maui, Oahu, Kona, Kauai, San Diego, Monterey, Catalina Island, Key Largo, Key West, Florida Keys, Cozumel, Playa del Carmen, Cabo San Lucas, Puerto Rico, Bonaire, Curacao, Aruba, Grand Cayman, Roatan, Utila, Ambergris Caye and Bali. Shops were found through public map listings, local directories and web search, then ranked by review score. Every shop in that data has a website, so shops without one are not in the sample.
What this means. The sample is well-reviewed, findable shops in big-name destinations that are popular with US travelers. It is not a random sample of all dive shops in the world. Results should be read as "established shops in major dive destinations".
Regions (analyzed sites / sites in sample). We only report a region separately if it has at least 10 analyzed sites.
| Region | Destinations | Analyzed / in sample |
|---|---|---|
| USA | Hawaii (Maui, Oahu, Kona, Kauai), California (San Diego, Monterey, Catalina), Florida (Key Largo, Key West, Florida Keys) | 55 / 65 |
| Caribbean | Bonaire, Curacao, Aruba, Grand Cayman, Puerto Rico | 38 / 41 |
| Mexico | Cozumel, Playa del Carmen, Cabo San Lucas | 27 / 31 |
| Central America | Roatan, Utila (Honduras), Ambergris Caye (Belize) | 23 / 28 |
| Bali (Indonesia) | Bali | 11 / 12 |
Puerto Rico is a US territory but is grouped with the Caribbean because of its market. US states (Hawaii 27, California 14, Florida 14 analyzed) are shown as a secondary breakdown.
How each signal was detected
All percentages use the 154 analyzed sites as the denominator unless stated otherwise.
Pages checked. For each site: the homepage, plus up to 2 internal pages linked from it. The first is the first link whose text or URL suggests booking ("book", "reserve", "schedule", "calendar", "availability"). The second is the first link that suggests prices ("price", "rates", "cost"), or, if none, courses or trips ("courses", "dive trips", "fun dives", "tours", "services" and similar). 74 sites had 2 extra pages checked, 63 had 1, and 17 had none (no matching link).
Politeness. A normal desktop Chrome user agent, at most 6 different sites at a time, a 2-second pause between requests to the same site, a 10-second connect and 25-second read timeout, and about 4 to 6 requests per site. Failed sites were retried once, one at a time.
| Signal | How it was detected | Main limits |
|---|---|---|
| Site loads | Homepage returns HTTP status below 400 with real HTML, and is not a bot challenge, parked page, error page or blank page. Parked and redirect cases were confirmed by reading the page. | A site blocking our server is "not checked", not "down". |
| Valid HTTPS | The https:// version of the homepage loads with a certificate that passes standard verification (Python requests with the certifi CA bundle). We also recorded whether http:// redirects to https:// (142 of 154, 92.2%). | Mixed-content and certificate expiry dates were not checked. |
| Mobile viewport tag | A <meta name="viewport"> tag in the homepage HTML. 146 of the 150 tags include width=device-width. | A viewport tag does not prove the design works well on phones. |
| Online booking | The page source of the checked pages contains a known booking system. Found on at least one site: FareHarbor, Rezdy, Peek, Bokun, Xola, DiveShop360 (course calendar and cart), Wix Bookings (booking pages present in the Wix site), WooCommerce Bookings, Amelia and Tourmaster (WordPress booking plugins), Trytn, BookWithBuddy, TicketingHub, TimeTrade, or a dedicated reservations site. Also searched for and not found on any site: Checkfront, TrekkSoft, Bookeo, Rezgo, Regiondo, Zaui, Ventrata, TripWorks, Resova, Bookingkit, Acuity Scheduling, Calendly, SimplyBook, Setmore, Square Appointments. | This is a lower bound. Booking hidden deeper in a site, custom systems, and booking taken only by form, email or phone are not counted. Hotel-only booking engines (4 sites) and generic shop carts or PayPal buttons are not counted. |
A WhatsApp link (wa.me, api.whatsapp.com/send, web.whatsapp.com/send, whatsapp://, chat.whatsapp.com, wa.link) or a common WhatsApp chat widget (Joinchat, Click to Chat, WP WhatsApp) in the checked pages. | A phone number labeled "WhatsApp" with no link is not counted (6 more homepages mention WhatsApp only in text). | |
| Prices shown | Visible page text (scripts and styles removed) contains a currency amount, such as $95, USD 110, EUR 75, IDR 450.000 or MXN 3,400. Reported for the homepage alone and for any checked page. | Can count amounts that are not dive prices (for example a park fee or a shipping threshold). Prices shown only in images or loaded by JavaScript are missed. |
| CMS or builder | Fingerprints in the HTML and headers: generator meta tag, platform asset domains (wixstatic, squarespace, cdn.shopify, editmysite, wsimg, wp-content), and platform-specific code. | Sites with no clear fingerprint are "custom/other". Some may be on a platform we did not recognize. |
| Footer copyright year | The latest year (1995 to 2027) next to a ©, "(c)" or "Copyright" in the homepage text, or next to "All rights reserved". Ranges like "2019 - 2025" count as 2025. Script-generated years are recorded as "dynamic". | 52 of 154 homepages show no year (38 had no notice found, 10 had a notice without a year, 4 generate it with a script). A stale year is a staleness signal, not proof the content is stale. |
| Page weight and speed | Size of the homepage HTML document after decompression, and time to first byte, from one request per site. | HTML only, not images, scripts or fonts, so it is not full page weight. One run from one server in the US (Washington State, egress through Cloudflare). Google PageSpeed Insights was not used: the keyless API returned "quota exceeded" on the first test. |
| Google rating and review count | Copied from our existing destination data (shown on Exa Places public listings; the underlying platform is not named there). Google itself was not scraped. Available for 116 of the 154 analyzed sites. | Not used in the headline findings. |
Accuracy checks we ran
- Booking provider matches were reviewed by reading the matched code on each site. One hotel engine (WebRez) was moved to "hotel-only", and a link to a provider's homepage with no booking path was dropped.
- Wix sites carry booking widget code even when no booking page exists. We tested this: 3 of the Wix sites that only had the widget code returned 404 for
/book-online. So Wix Bookings only counts when booking pages appear in the site's page list or are linked. - WhatsApp matches were reviewed. Plain "joinchat" and "click-to-chat" text matches were narrowed to the actual widget markup, because plugin CSS can load on pages that show no button.
- One site served Brotli-compressed HTML that the first pass could not read. It was fetched again after adding Brotli support.
- "$100 bills" style mentions are excluded from prices.
Rules for the published report
- Aggregates only. No shop is named or identifiable.
- Every number comes from the CSV. Nothing is estimated.
- Where a group has fewer than 10 analyzed sites it is merged into a larger group.
Reproducing
Scripts are in report/work/: crawl.py (fetching), analyze.py (signal detection), build.py (CSV and stats). work/raw_results.jsonl holds the fetched HTML, work/stats.json the computed numbers, and work/region_table.csv the regional table.
Reading the CSV
load_statusisloadedfor the 154 analyzed sites. All other rows have blank signal columns, including the HTTPS columns, because a blocked or dropped connection does not tell us whether the certificate is valid.duplicate_site_in_sample = Truemarks the second listing of a site that appears in two destinations. It is excluded from all counts.dive_tour_booking_detectedexcludes hotel-only engines.booking_providers_any_checked_pagelists everything matched, including those.ecommerce_signals,ota_linksandtripadvisor_linkare extra context and are not headline metrics.
How to cite this data
You're welcome to use these findings in articles, posts and presentations. Please credit and link to this page:
ScubaDock, "The State of Dive Shop Websites (2026)", data checked October 4, 2026, sample of 154 dive shop websites. https://scubadock.com/research/dive-shop-websites-2026
If you'd like the anonymized dataset or a chart in a different format, get in touch.
This report is published by ScubaDock, a website builder for independent dive shops ($99 a month). If your site is missing a few of the basics above, take a look.