Every ranking is a commission line
Hotel SEO gets sold as a traffic story and it should be sold as a P&L story. OTA commission in India generally runs somewhere between 15% and 25% of room revenue, depending on your contract, your city and whether you're paying into a visibility or genius-style programme. That's a range rather than a number because it genuinely varies by property — ask your revenue manager for the actual blended rate before anyone quotes you a retainer.
Once you have the rate, the business case writes itself. Take your OTA room revenue, assume a realistic shift to direct, multiply by the commission rate, and compare it to the fee. Here's the arithmetic at three property sizes, at an 18% blended rate and a 20% channel shift.
| Monthly OTA room revenue | 20% shifted to direct | Commission saved at 18% | Net against a ₹75,000 retainer |
|---|---|---|---|
| ₹10,00,000 | ₹2,00,000 | ₹36,000 / month | −₹39,000. Don't buy the ₹75,000 tier yet. |
| ₹24,00,000 | ₹4,80,000 | ₹86,400 / month | +₹11,400, and it compounds as the shift grows. |
| ₹60,00,000 | ₹12,00,000 | ₹2,16,000 / month | +₹1,41,000, roughly three times the fee. |
What a hotel search result actually looks like now
Before you plan content, look at the page you're planning for. A query like hotels in candolim doesn't return ten blue links. It returns a hotel module with dates, prices and filters, then a map, then a shrinking column of organic results below the fold.
Google also runs free booking links, which let a property's own rate appear alongside OTA rates in that module without paying per click. Getting in requires either a connectivity partner or a direct integration, and a large share of Indian independents have never switched it on — usually because nobody told them it existed. It sits outside classic SEO, but it's the single fastest way to put your own rate next to the OTA's on the page you already rank on.
- The hotel module — rates, dates, filters. Fed by OTAs, and by you if you're connected.
- The map pack — driven by your Google Business Profile, proximity to the searched area, and reviews.
- Organic results — where your pages live, and where generic queries leave you very little room.
- Things-to-do and travel modules — Google's own inventory, pushing everything else further down.
For a hotel, the Google profile is a rate display
Restaurants get a listing. Hotels get a booking surface — star class, check-in times, amenity filters and a rate comparison, all pulled from fields most properties never complete. It's the cheapest revenue work available to a hotel and it takes an afternoon.
- Primary category — Hotel, Resort Hotel, Extended Stay Hotel, Guest House, Homestay and Serviced Apartment surface for different searches. Pick the one that matches how guests describe you.
- Class and check-in/check-out times. Guests filter on these and OTAs already publish them, so an empty field just makes you look less real.
- Amenities — pool, free breakfast, airport shuttle, free parking, pet-friendly, EV charging, accessible entrance. These are filter inputs, not decoration.
- The booking link, pointed at your own engine, not at an OTA and not at your homepage.
- Photos: rooms, bathroom, and the actual view from the actual room. If a guest can't find a bathroom photo on your profile, they'll go find one in the OTA gallery — and finish the booking there.
- Q&A seeded by you: is there a lift, is the beach walkable, is there a generator, do you allow local IDs for couples.
The pages an OTA can't build
An OTA runs one template across two million properties. It cannot tell a guest that the shuttle takes eleven minutes at 6am and forty at 6pm, that the terrace is closed in July, or that the lawn holds 300 people seated. You can. Every one of those facts is a page, and each page targets a query where the aggregators have nothing specific to say.
- Near-landmark —
hotels near <airport> with free shuttle,hotels near <convention centre>,resorts near <temple>. Include real drive times, not distances in kilometres. - Amenity plus constraint —
pet friendly resorts near <city>,private pool villas in <area>,hotels with connecting rooms,hotels with a generator in <hill town>. - Stay type —
day use rooms near <airport>,long stay serviced apartments <area>,couple friendly hotels in <city>with your local-ID policy stated plainly. That last one is a high-volume Indian query and an honest answer converts better than silence. - Getting there — the road condition in monsoon, the last fuel stop, whether a sedan can make the final kilometre. This is the content guests screenshot and send to each other.
Banquets and weddings are the highest-value pages on the site
For most Indian city hotels and a lot of resorts, banqueting and weddings carry revenue that room nights can't touch, and the queries — banquet hall in <area> for 300 guests, destination wedding venue in <city> price, conference venue near <business district> — are almost entirely unserved by OTAs.
Build the page the way a planner reads it: capacity by layout (theatre, cluster, floating), a per-plate price band with what changes it, décor and outside-vendor policy, the alcohol licence position, parking count, the 10pm loudspeaker cut-off under India's noise rules and whether your district grants relaxations, and how many rooms you hold for the party. A planner comparing four venues will choose the two that published the numbers.
The booking engine is where the money leaks
This is the part that quietly wastes the whole retainer. You rank, the guest taps Book Now, and your site hands them to reservations.somevendor.com, which takes six seconds to load, shows a different logo, and asks them to create an account. They go back to the OTA, where they're already logged in. You paid for that click and the OTA banked the commission.
- Measure the handoff. The engine is usually a separate domain, so your analytics stops at the door unless cross-domain measurement is configured. Most hotels genuinely do not know their own funnel drop-off.
- Test on a mid-range Android on 4G, not on the GM's iPhone on office wifi. That's the device your guest is holding in a car.
- Keep the branding continuous — same logo, same property photo, same colours through to the payment page. A visual break reads as a scam to anyone paying attention.
- Put the engine on your own domain with a
book.yourhotel.comsubdomain rather than the vendor's. It's a support ticket to set up, and it fixes both trust and tracking. If you're deciding how to structure it, subdomain versus subfolder is worth ten minutes. - Offer UPI and Indian cards, not just an international gateway. A declined payment is indistinguishable from a sold-out hotel.
- Kill forced account creation. Guest checkout, then offer the account after the booking is confirmed.
Rate parity, reviews, and the offer that makes direct worth choosing
Ranking well and then showing the same rate as the OTA gives the guest no reason to switch. Many OTA contracts carry rate parity clauses, and those clauses have been contested and examined by competition regulators in India and in Europe — so read your own agreement rather than an article about someone else's. What matters practically is that parity almost always applies to publicly published rates, which leaves the levers below open.
Reviews do a different job here than they do for a restaurant. A guest comparing four properties reads the management replies, not the complaints. Reply weekly, on Google and on the OTAs, name the specific fix, and never argue with a one-star in public.
- Value-adds rather than price cuts: free breakfast, early check-in, guaranteed late checkout, an airport pickup, a category upgrade.
- A member rate behind a simple login. Not publicly published, therefore usually outside the parity clause.
- Best-rate messaging on the booking engine page itself, not only on the website.
- A direct-booking WhatsApp line for the guests who'd rather ask than fill a form. In India that's a lot of them.
What it costs, and what we actually promise
A single independent property sits at the ₹40,000 a month end of our SEO pricing. A resort with banqueting, a wedding business and multiple room categories, or a group with several properties, is ₹75,000 and up — more profiles, more engines, more pages, and a real cannibalisation risk between nearby properties.
We don't promise a ranking position. Nobody controls Google's index, and you'd be right to distrust anyone in hospitality who guarantees weather, occupancy or a search result. What we do is freeze your trailing-90-day count of qualified enquiries and direct bookings from organic search on day one, and if we haven't beaten that number in 90 days we keep working free until we do. We take three clients a month, which is the only reason that promise is affordable to make.