I used Claude to audit sarahstahl.com after 18 months of weekly posts and almost zero search traffic. Here’s every broken SEO problem and exactly how we fixed it.
I want to tell you something that most marketing consultants don’t say publicly: my own website was broken for eighteen months and I had no idea. Not technically broken — pages loaded, links worked, nothing threw a 404. I was publishing every single week. I had a consistent posting schedule, a clear niche, and years of content behind me. By every surface measure, I was doing everything right.
But from a search visibility standpoint, the site I’d been building for a year and a half was almost completely invisible. Three months of Google data showed 22 total clicks across the entire site. Not per day. Not per week. Twenty-two clicks in ninety days. That’s not a slow-growth problem. That’s a structural one.
So, I did what I should have done much earlier. I used Claude to audit website SEO and what we found was genuinely embarrassing for someone who helps hospitality brands do exactly this work for a living.
This post is the full story. What was broken, why each problem was quietly working against everything I’d built, the specific fixes we made together, and what the data showed two weeks later. I’m sharing it because the problems I found aren’t unique to me. They’re the same five problems I find on nearly every hospitality brand website I audit and if you’re writing consistently and wondering why nobody’s finding you through search, this is probably your answer.
I’d been aware that sarahstahl.com wasn’t performing the way I wanted. But “not performing” is easy to rationalize when you’re busy — a slow month here, an algorithm shift there, the LinkedIn reach drop that everyone in the industry felt in early 2026. I kept attributing the problem to external forces instead of looking at my own foundation.
What finally forced the audit was the 18-month tracker I’d been keeping since completing Mark Schaefer’s Personal Branding Course. When I laid out the full page-view history in a spreadsheet, the shape of it was impossible to ignore:
The spike looked like growth. It wasn’t, and that’s exactly why early signs of growth had gone unnoticed. When I pulled the channel attribution for that period, 89.87% of the traffic was Direct — people typing the URL directly into the browser after hearing me on podcasts or attending industry webinars. When podcast invitations slowed down (a result of LinkedIn’s algorithm change reducing my reach), the Direct traffic fell off a cliff with them.
I hadn’t built a strong SEO channel to begin with. I’d built a podcast-dependent spike with no floor underneath it. And I’d been mistaking activity — weekly posts, consistent publishing, a growing library of content — for a functioning search strategy.
That’s when I decided to actually look at the data properly. I pulled Google Search Console, Google Analytics, the full query export sorted by position, the full pages export, and 18 months of channel attribution. Then I used Claude to work through all of it systematically. Not just to identify problems in isolation, but to understand how they connected and what to fix first.
Here’s what we found.
Three numbers tell the story:
Google Search Console — 3 months:
Google Analytics — 90 days:
The key distinction the impressions data reveals:
That 0.6% CTR sounds terrible. But impressions weren’t zero. The site was showing up in search results, just on page 2, where almost nobody scrolls. This is what told me exactly the kind of problems I was dealing with.
Zero impressions means Google doesn’t know what your site is about. Page 2 impressions with no clicks means Google knows, but doesn’t trust the page enough to rank it where people can see it. Those are completely different problems with completely different fixes. Most people treat them as the same problem and wonder why their efforts aren’t working.
When I pulled the full query list — not just the default top 10, but all of it sorted by position and mapped each query to the page actually ranking for it, the mismatch was immediate and obvious.
“How to market your vacation rental property” had 66 impressions and was ranking at position 12. But the page surfacing for it wasn’t a post written specifically for that query, it was a general piece that happened to mention the topic in passing. “Hotel booking abandonment” had 51 impressions and was landing on a 150-word stub page. “Direct booking strategy” was splitting its signal across six different posts simultaneously, none of which was winning.
My most-read Hotel-Online article — “Why Do Guests Abandon Hotel Bookings?” existed on sarahstahl.com as a 150-word teaser that sent readers to Hotel-Online to read the actual content.
That stub page was sitting at position 22 with 141 impressions for the hotel booking abandonment query cluster. The full content that should have been earning those impressions was living on someone else’s domain, under someone else’s authority.
This was the silent engine behind almost every other ranking problem on the site and it was entirely self-created.
Every week, I wrote a piece and published it simultaneously on sarahstahl.com, Hotel-Online, and LinkedIn Articles. Three near-identical versions of the same content, indexed by Google at the same time, competing against each other for the same ranking signal.
Since Hotel-Online has significantly more domain authority than sarahstahl.com, Google consistently chose their version as the more credible source and suppressed mine. LinkedIn Articles added a third competing signal. The result: 18 months of weekly writing, and my own site earned almost no search credit for any of it.
Two pages — /marketing-executive/ and /marketing-consultant/ in its original form — were pulling real impression volume for positioning that no longer matched the business.
/marketing-executive/ had 301 impressions with zero clicks. It had no external backlinks. It was attempting to rank for “marketing executive” — one of the most competitive generic phrases in existence, dominated by LinkedIn, Indeed, and major publications. There was no buyer intent behind the query, no realistic path to ranking for it, and the page’s existence was sending Google a diluted, mixed signal about what the site was actually about.
This one required the most careful reading to catch and it turned out to be the fastest fix of all five.
Several pages were ranking on page 1 — positions 3 through 6 — and had literally never earned a click. At first, that sounds like a relevance problem. But positions 3-6 with 0% CTR almost always means something different: the title tag and meta description appearing in the search result aren’t compelling or clear enough to earn a click, even when the content is fine.
The pattern was consistent across five pages. Every one used a clever, abstract headline as its title tag — the kind of headline that earns engagement on LinkedIn but tells a Google searcher nothing about what they’d actually find on the page. “The Room Where Decisions Are Made.” “The Feeling Is the Destination.” Good writing for a human audience. Zero signal value for a search result.
Two weeks is not enough time to see the full impact of SEO changes. Google typically takes 4–8 weeks to fully re-evaluate and re-rank pages after significant edits. What follows are early signals — leading indicators of movement, not final results. I’m sharing them anyway because the directional story is already clear.
Homepage:
Metric | Before | After | Change |
|---|---|---|---|
Clicks | 15 | 17 | +13% |
Impressions | 982 | 995 | +1% |
Position | 6.67 | 6.59 | Improving |
CTR | 1.53% | 1.71% | +12% |
Hotel Booking Abandonment page (rewritten from 150-word stub to ~1,800-word resource, renamed to /hotel-booking-abandonment/):
Metric | Before | After | Change |
|---|---|---|---|
Clicks | 0 | 1 | First click ever |
Impressions | 141 | 165 | +17% |
Position | 22.48 | 10.33 | -12 positions in 2 weeks |
This is the most significant single movement in the data. Position 22 to position 10 in two weeks, on a page that had been stuck at position 22 for the entire previous measurement period. That’s not a fluctuation — that’s the content depth rewrite working exactly as expected. The page hasn’t crossed into the top 5 yet, but it’s now on page 1 for the first time.
Direct Booking Framework (title/meta rewrite only — no content changes):
Metric | Before | After | Change |
|---|---|---|---|
Clicks | 0 | 1 | First click ever |
Position | 5.78 | 5.60 | Tightening |
This page was at position 5 for months and had never earned a click. Ten minutes of title tag work produced its first click. That’s the clearest possible proof of the page-1-rankings-not-converting problem.
About page (new URL, migrated from /marketing-executive/):
OTA Dependence post (brand new page):
“Booking abandonment” query (broader companion query):
Vacation Rental Profit Audit (renamed from “Niche ROI Playbooks”):
When I decided to use Claude to audit my own website, I expected to find one or two problems. What we actually found was five interconnected problems that had been quietly working against each other for 18 months. None of them was catastrophic in isolation. Together, they’d made a year and a half of consistent writing nearly invisible to the search engines I needed it to reach.
Here’s how to check whether you have the same problems:
Problem 1 — Wrong pages ranking for right queries: Export your full GSC query list, sort by impressions, and click into each query to see which page is surfacing. If it’s not the page you’d choose, the fix is internal links from the wrong page to the right one.
Problem 2 — Thin content on a good query: Find pages sitting at position 15-25 despite matching your topic correctly. Count the words. Under 600 words, mostly intro and CTA, no real depth — content is the ceiling on your position.
Problem 3 — Self-inflicted duplicate content: If you publish simultaneously on your own site and a higher-authority third-party platform, check whether the third-party URL is outranking yours for the same topics. If yes, you’ve been handing Google a decision and losing it every time.
Problem 4 — Legacy pages diluting topical signal: Look at your pages list. Are there pages describing a broader or older version of your positioning that you’re no longer leading with? Every page on your site contributes to Google’s topical model. Legacy pages are quiet saboteurs.
Problem 5 — Page-1 rankings not converting: Any pages at positions 3-7 with 0% CTR are title tag problems, not content problems. Go incognito, search the query, look at how your result actually appears. If the title reads like a LinkedIn post, rewrite the title tag — not the page.
The structural problems are fixed. What happens now is the slower, compounding work: building out the topical cluster that turns scattered authority into recognized expertise.
The four-week content plan ahead targets queries with proven search demand that have no dedicated pages yet — “vacation rental marketing strategy,” “repeat direct bookings,” “vacation rental email marketing,” “creator marketing for vacation rentals” — building the architecture that signals to Google this site is the authoritative source for a specific subject area, not just a collection of related posts.
The two-platform editorial system is in place so that every new piece of content strengthens the site instead of fragmenting it across domains.
And the data check-in is already scheduled for four weeks from now — when the pages we rewrote will have had enough time in Google’s re-evaluation cycle to show their real positions, not just the early signals.
When I decided to use Claude to audit my own website, I wasn’t sure what I’d find. What I found was humbling, specific, and completely fixable. The embarrassing part isn’t that the problems existed. The embarrassing part is how long they’d been there while I kept publishing and wondering why nothing was working.
If that sounds familiar, the audit is where to start.