"SEO audit" gets used loosely — sometimes it means a five-minute look at a homepage's meta tags. We recently ran a proper one: 21 pages of alpineholidayinn.com, a boutique hotel in Kufri near Shimla, checked programmatically for titles, meta descriptions, H1 usage, schema markup, and Open Graph coverage, plus a manual pass on image weight and load behavior. Here's what actually turned up, and why each one matters more than it looks.
1. Structured data placement matters as much as having it
The site had exactly one well-built Hotel schema block, with NAP, geo-coordinates, and social links — genuinely good work. It just lived on the Contact page. Google generally expects primary entity markup on the homepage or a dedicated "about the business" URL, not the page a visitor reaches last. Writing the schema is half the job; putting it where a search engine expects to find it is the other half.
2. A missing H1 is invisible to visitors, not to Google
Every page on the site had exactly one H1 — except the homepage, which had none. Visually, nobody notices; the hero heading still reads fine styled as a <div> or a <p>. But H1 remains one of the strongest on-page topical signals Google uses, and the homepage is usually the page carrying the most link equity on the whole site. It's an easy thing to lose in a template rebuild, and an easy one-line fix once you know to look for it.
3. Duplicate title tags quietly cannibalize your best pages
The homepage and the blog index shared an identical title and meta description, word for word. When two pages tell Google the same thing about themselves, Google has to guess which one actually deserves to rank for a given query — and that guess doesn't always go the way you'd want. This is one of the more common findings in real audits: not that a page's SEO is bad, but that it's indistinguishable from another page on the same site.
4. Social preview tags are easy to leave half-finished
og:type was present on all 21 pages — and empty on all 21 pages. Almost certainly a template variable that was never populated. Facebook and LinkedIn fall back to a default when it's blank, so nothing looked obviously broken. But paired with a total absence of Twitter Card tags, it meant links shared on X rendered as a bare URL with no image, no title, no preview — for a hospitality business, exactly the kind of page that depends on looking good when someone shares it.
5. Image weight is still the easiest Core Web Vitals win
The homepage alone loaded close to 4.9MB across 30 images, and only a quarter of the site's <img> tags used lazy loading — including images well below the fold that had no reason to load immediately. Most of the site's images were already in modern WebP format, which made this one clearly fixable: a handful of files re-compressed and a loading="lazy" attribute added where it was missing, rather than a rebuild.
The lesson that wasn't about SEO at all
While mapping the site's structure, we found a full site backup — including server-side source code and a live credential in plaintext — sitting in the public web root with no authentication standing between it and anyone who found the URL. We flagged it as the first fix, ahead of anything on the SEO list. It's the strongest argument for a real audit rather than a quick glance: the highest-priority finding on this project had nothing to do with search rankings at all.
See the full audit case study for the complete, prioritized fix list.
Want to know what's actually on your site?
We'll map every page, flag what's broken, and hand you a prioritized fix list.
Book a Strategy Call