This is the first study in my Hotel Website Audits series, where I take a city and measure every hotel website in it. I started with Dortmund because it is where I live and work, so I know these hotels and half these streets. For how I choose which hotels count and what each measurement means, see my methodology and metrics glossary.
Key findings
- Structured data is almost entirely missing. 13 hotels have none at all, and only 2 have it done properly. It will not transform anyone’s ranking overnight, but it is the clearest gap to tidy up.
- Mobile speed is the soft spot. The average mobile score is just 57, only one hotel breaks 90, and six sit in the red.
- A strong reputation does not always match a fast or technically tidy website. Several of the best-reviewed hotels in town are also among the slowest on a phone.
- Your Google rating is probably your most flattering one. These hotels score a little higher on Google than on Booking in 19 of 22 cases, and the gap is widest at the best-reviewed places.
- The photography is a mixed bag, and I have opinions. One site genuinely impressed me, plenty are perfectly good, and a few made me wince (one has room photos turned sideways).
How Dortmund hotels are rated
Before I get into the technical side, here is where the reputations stand across the three platforms guests actually check. Booking.com uses a 10-point scale while Google and Tripadvisor use a 5-point scale, so do not read the Booking numbers as directly comparable to the other two.
- Google: mean 4.24, range 3.2 to 4.6, total reviews 16,546
- Tripadvisor: mean 3.60, range 2.3 to 4.4, total reviews 2,932 (21 hotels carry a Tripadvisor rating)
- Booking.com: mean 8.06, range 6.5 to 8.7, total reviews 28,450
Reputations here are solid rather than spectacular. Google and Booking scores cluster comfortably in the good range, with a few weaker outliers pulling the averages down. What stands out is the split between platforms: Dortmund hotels do noticeably better on Google and Booking than on Tripadvisor, where the mean sits at just 3.60. Across all three, that is close to 48,000 reviews of accumulated reputation.
The platforms
Dortmund is a WordPress town, which as a WordPress developer I was quietly pleased to confirm. Half the hotels run on it, with Typo3 (a familiar face on German business sites) trailing well behind.
- WordPress: 11 hotels (50%)
- Undetected: 9 hotels (41%), where I could not identify the platform from the outside, which is common with custom builds or sites served through a booking system
- Typo3: 2 hotels (9%)
Performance and Core Web Vitals
This is where most of Dortmund has the most to gain. On mobile, the average PageSpeed score is 57, with a median of 58, and six hotels score below 50, which Google flags as poor. Desktop is a much happier story, averaging 83. But your guests are on their phones, often standing on a platform or sitting on a train, so the mobile number is the one that actually loses bookings.
Only one hotel, Hotel Gildenhof at 91, lands in Google’s “good” range. That score comes with an asterisk, though: it is fast mainly because it is an older, largely static site with almost no media on it. Speed with nothing to load is easy. The real trick is being fast and rich, which is the balance most of these hotels are still chasing.
Core Web Vitals, which come from real visitors rather than a lab test, back this up. Google only has enough real-user data for 12 of the 22 hotels. The other 10 simply do not get enough traffic yet for Google to report it, which tells you something in itself. Of the 12 with data, 7 Pass and 5 Fail.
The photography, in my honest opinion
Photography is my other trade, so this is the part of the study I cannot stay neutral about. It is my personal opinion, not a measured score, and it judges how the photos are used as much as how good they are (the full criteria are in my methodology). On a hotel website, good imagery does more selling than any paragraph of copy.
The spread across the 22 hotels:
- Very good: 1
- Good: 10
- Normal: 4
- Bad: 6
- Very bad: 1
Nearly half the city presents its rooms well, but almost a third sits at “bad” or worse, and for a hotel that is real money quietly walking out the door.
The standout is l’Arrivée Hotel & Spa, the only site I rated very good, with photography that genuinely sells the place. At the other end I will spare names, but the lowlights surprised me: one hotel reuses the same three photos across six different room types, one shows no room photos at all, and one (I promise I am not inventing this) has room photos rotated 90 degrees, so you have to tilt your head to see the bed.
None of these are expensive to fix, which is exactly why they are frustrating to see. Good photography is something I do myself, so if this is your weak spot, my hotel photography page explains how I approach it.
Booking systems
If performance is the worry, booking is the bright spot, and it honestly surprised me how strong Dortmund is here. Nearly every hotel lets a guest book directly through a proper booking engine, and not a single one leans solely on sending visitors to Booking.com. That is a great position to be in, because the hard part, the engine itself, is already done.
19 of 22 hotels (86%) run a booking engine. Only 3 (14%) rely on a contact or enquiry form alone.
The market behind those engines is fragmented, with no single provider running the town. Counting each system separately across the 19 hotels that use one:
- DIRS21: 5 hotels
- Viato: 4 hotels
- MEWS: 3 hotels
- SiteMinder: 2 hotels
- Beds24, HotelNetSolutions, Resavio, Smartness, and one generic engine: 1 hotel each
Structured data: the clearest gap to tidy up
Structured data is the quiet bit of code that describes a page to machines: that this is a hotel, with its rating, its rooms, its location. I want to be careful not to oversell it, because adding it will not magically lift your Google ranking, and rich results are never guaranteed. But it is genuinely low-effort technical hygiene, it is becoming more useful as AI assistants and AI search start reading sites on a guest’s behalf, and right now in Dortmund it is almost entirely absent.
The numbers: 13 hotels (59%) have no structured data at all, 7 (32%) have a limited or incomplete version, and only 2 (9%) have it done well, Hotel Biedermeier and Hotel Neuhaus. So 20 of 22 hotels are either skipping it or doing it incompletely.
And “limited” often means “broken,” not just “basic.” l’Arrivée, the best-looking site in the city, has structured data with real mistakes in it. I emailed them about it several weeks ago and have not heard back. That is the nature of this stuff: easy to add, easy to get subtly wrong, and almost nobody is checking.
A strong reputation, a slower website
The most useful pattern in this data is how little a hotel’s guest reputation tells you about the technical state of its website. Hotel Esplanade holds the joint-highest Google rating in Dortmund (4.6) but fails Core Web Vitals and scores just 43 on mobile. Hotel Unique Dortmund carries a 4.5 across more than 1,700 reviews, yet fails Core Web Vitals and scores 36 on mobile. Der Lennhof, also a 4.4, passes Core Web Vitals but limps in at 32 on mobile.
These are well-loved hotels with booking engines already in place. The gap sits on the technical side of the website, which happens to be the most fixable part of all.
What the ratings reveal
Since I gathered Google, Booking, and Tripadvisor scores for nearly every hotel, it is worth seeing what they say together. Across the 22 hotels, the average is 4.24 on Google, 8.06 on Booking, and 3.60 on Tripadvisor. The same hotels consistently look strongest on Google and toughest on Tripadvisor, which is partly just the culture of each platform: Tripadvisor reviewers tend to be more critical, and fewer reviews there means each harsh one carries more weight.
The more interesting pattern is between Google and Booking. Putting Booking on the same 5-point scale (so 8.6 becomes 4.3), guests rate these hotels a little higher on Google than on Booking in 19 of the 22 cases. The gap is small on average, but it is real, and it is widest at the better hotels. Hotel Unique Pearl is the clearest example: a strong 4.5 on Google, but the equivalent of 3.8 on Booking.
I would not read too much precision into the exact decimals, because a 5-point and a 10-point scale never map perfectly onto each other. But the direction is worth knowing if you run one of these hotels. Booking.com guests, who have usually paid and stayed, often judge a little more harshly than the broader mix of people leaving Google reviews. If your Google rating is the one you quote on your homepage, that is fair enough, just know it is probably your most flattering number.
Who does it best
Some hotels clearly put real care into their website, and they deserve to be named for it.
- l’Arrivée Hotel & Spa is my number one. It is the best hotel website in the city for presentation and style, with professional video playing quietly in the header. It is not flawless (there is room to improve performance, and that structured data still needs fixing), but as a complete piece of work it is ahead of everyone else, and it is the only site I rated very good on photography.
- Hotel Esplanade is my number two. It has genuinely good room descriptions and clear, confident booking buttons that leave no doubt about what to do next. The typography gets a little chaotic in places, but the fundamentals of selling a room are all there.
I also want to credit Hotel Biedermeier and Hotel Neuhaus here, as the only two hotels in Dortmund with structured data done properly. Hotel Gildenhof posts the fastest mobile score in town, though as I mentioned that owes more to a sparse, static site than to clever optimisation, so I would love to see it keep that speed while giving guests a lot more to actually look at.
A few cautionary examples
It would not be an honest study if I only showed the good. These are not meant as criticism for its own sake, they are the clearest examples of money being left on the table, and every one of them is fixable.
The one I will name, because it is a plain factual issue rather than a matter of taste: SleepinRoomz Boutique Hotel Dortmund-West links to its own Booking.com profile in the website footer, and the direct price matches the Booking.com price exactly. So a guest who arrived ready to book direct is handed an easy route to an OTA instead, with no reason to stay. The hotel pays commission it did not need to, and loses the direct relationship with that guest. Removing that link, and offering even a small direct-booking perk, would change the maths overnight.
Two more I will leave unnamed, because they are more about polish than hard facts. One hotel’s site feels like it has been patched and re-patched over many years, with mismatched spacing and inconsistent alignment adding up to a chaotic impression. To be fair to it, it also has the most upside of anyone in this study, a tidy rebuild would transform it. And another, otherwise pleasant, undercuts itself with the rotated-photo problem I mentioned earlier. None of this is hard to fix, which is the whole point.
The full list, hotel by hotel
All 22 qualifying hotels, listed by Google rating from highest to lowest. The number is just the position in that order, not my verdict on the website: as you have seen, a strong Google rating and a strong website do not always go together. Definitions for each field are in the metrics glossary. The stars are each hotel’s official class, the ratings show Google, Booking, and Tripadvisor with review counts in brackets, and the booking line shows the actual system in use, or “Form” where a site relies on an enquiry form.
Ratings: Google 4.6 (725) · Booking 8.6 (1,977) · Tripadvisor 4.3 (180)
- Platform: Typo3
- Core Web Vitals: Fail
- Booking: MEWS
- Structured data: Limited
Ratings: Google 4.6 (584) · Booking 8.4 (2,164) · Tripadvisor 3.5 (8)
- Platform: Undetected
- Core Web Vitals: Pass
- Booking: DIRS21
- Structured data: None
Ratings: Google 4.5 (1,753) · Booking 7.9 (3,173) · Tripadvisor 3.5 (632)
- Platform: WordPress
- Core Web Vitals: Fail
- Booking: MEWS
- Structured data: None
Ratings: Google 4.5 (525) · Booking 7.6 (5,390) · Tripadvisor 2.3 (31)
- Platform: WordPress
- Core Web Vitals: Pass
- Booking: MEWS
- Structured data: None
Ratings: Google 4.5 (296) · Booking 8.4 (872) · Tripadvisor 4.4 (86)
- Platform: Undetected
- Core Web Vitals: Fail
- Booking: Viato
- Structured data: Good
Ratings: Google 4.5 (65) · Booking 8.3 (445)
- Platform: WordPress
- Core Web Vitals: No data
- Booking: Form
- Structured data: None
Ratings: Google 4.4 (1,524) · Booking 8.7 (753) · Tripadvisor 3.8 (209)
- Platform: WordPress
- Core Web Vitals: Pass
- Booking: Viato
- Structured data: Limited
Ratings: Google 4.4 (1,506) · Booking 8.5 (1,193) · Tripadvisor 3.9 (142)
- Platform: WordPress
- Core Web Vitals: Fail
- Booking: DIRS21
- Structured data: Limited
Ratings: Google 4.4 (1,201) · Booking 8.6 (1,201) · Tripadvisor 4.0 (141)
- Platform: WordPress
- Core Web Vitals: No data
- Booking: HotelNetSolutions
- Structured data: Limited
Ratings: Google 4.4 (1,022) · Booking 8.3 (2,905) · Tripadvisor 4.2 (303)
- Platform: Undetected
- Core Web Vitals: No data
- Booking: Resavio
- Structured data: None
Ratings: Google 4.4 (845) · Booking 8.2 (710) · Tripadvisor 4.0 (131)
- Platform: WordPress
- Core Web Vitals: Pass
- Booking: Viato
- Structured data: None
Ratings: Google 4.4 (608) · Booking 8.6 (1,259) · Tripadvisor 4.1 (62)
- Platform: Undetected
- Core Web Vitals: Pass
- Booking: SiteMinder
- Structured data: None
Ratings: Google 4.4 (372) · Booking 8.4 (435) · Tripadvisor 4.0 (71)
- Platform: Undetected
- Core Web Vitals: No data
- Booking: Viato
- Structured data: None
Ratings: Google 4.4 (138) · Booking 8.1 (1,122) · Tripadvisor 3.8 (261)
- Platform: Typo3
- Core Web Vitals: No data
- Booking: SiteMinder
- Structured data: Limited
Ratings: Google 4.3 (313) · Booking 8.3 (859) · Tripadvisor 2.7 (9)
- Platform: Undetected
- Core Web Vitals: Pass
- Booking: Form
- Structured data: Good
Ratings: Google 4.3 (259) · Booking 7.9 (263) · Tripadvisor 4.2 (17)
- Platform: Undetected
- Core Web Vitals: No data
- Booking: Form
- Structured data: None
Ratings: Google 4.1 (1,629) · Booking 8.0 (1,640) · Tripadvisor 3.7 (427)
- Platform: WordPress
- Core Web Vitals: Fail
- Booking: Engine
- Structured data: Limited
Ratings: Google 4.1 (1,457) · Booking 7.8 (256) · Tripadvisor 3.2 (37)
- Platform: WordPress
- Core Web Vitals: Pass
- Booking: DIRS21
- Structured data: Limited
Ratings: Google 4.1 (306) · Booking 8.1 (135) · Tripadvisor 3.8 (26)
- Platform: WordPress
- Core Web Vitals: No data
- Booking: DIRS21
- Structured data: None
Ratings: Google 3.5 (729) · Booking 7.3 (63) · Tripadvisor 2.8 (69)
- Platform: WordPress
- Core Web Vitals: No data
- Booking: Smartness
- Structured data: None
Ratings: Google 3.2 (358) · Booking 6.5 (526) · Tripadvisor 2.8 (61)
- Platform: Undetected
- Core Web Vitals: No data
- Booking: Beds24
- Structured data: None
Ratings: Google 3.2 (331) · Booking 6.9 (1,109) · Tripadvisor 2.6 (29)
- Platform: Undetected
- Core Web Vitals: No data
- Booking: DIRS21
- Structured data: None
The one fix for Dortmund
If I had to point every hotel here at a single starting point, it would be mobile performance. The gap between the city’s desktop average (83) and mobile average (57) points straight at heavy pages that struggle on a phone, which is exactly where guests browse and book. For most of these sites it begins with image optimisation, and it needs no redesign at all.
The close second is tidying up structured data, missing or incomplete on 20 of 22 sites. I would not promise anyone a wave of new traffic from it, but it is cheap to do, and it quietly positions a hotel for the AI-driven search that is coming, while almost none of the competition has bothered. Easy wins are rare, and this is one of the easier ones.
If your hotel is in this study and you would like to know exactly where it stands and what to fix first, get in touch for a free closer look. And if you run a hotel in another city and want yours measured next, just tell me.