Skip to content

Target tbc audit intent: metadata pass + dedicated landing page - #9

Merged
alexandermayes merged 2 commits into
mainfrom
growth/seo-metadata-audit-intent
Jul 31, 2026
Merged

Target tbc audit intent: metadata pass + dedicated landing page#9
alexandermayes merged 2 commits into
mainfrom
growth/seo-metadata-audit-intent

Conversation

@alexandermayes

@alexandermayes alexandermayes commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Why

Investigating a suspected click decline turned up the opposite: clicks are up (July 991 vs June 941; last 14d 495 vs prior 409), average position improved 6.6 → 6.2. What's falling is CTR — and it's a composition effect, not a regression.

The homepage serves two unrelated query populations:

Group Impressions (28d) Clicks CTR
"analyzer" intent (tbc log analyzer, wow log analyzer) ~1,500 ~200 10–36%
Navigational (wow tbc logs, wow logs tbc, logs tbc) ~14,000 ~45 ~0.2%

Group B is people trying to reach warcraftlogs.com. We rank ~5th, they don't click, and no title fixes that — its growth is the entire CTR decline. Both commits here ignore Group B and target the one high-volume query with real tool intent: tbc audit, 3,280 impressions at position 4.9, 0.61% CTR.

Commit 1 — metadata

app/layout.tsx — title → Free WoW TBC Log Analyzer & Raid Audit — ParseForge. "Audit" was missing entirely, so the term never bolded in the SERP. "Log Analyzer" is preserved deliberately: that's the 30%+ CTR group.

app/guides/how-to-analyze-wow-classic-logs — 91% of this page's impressions are the navigational classic logs cluster at ~0.1% CTR. Retargeted at the genuine-intent queries it already surfaces for, and the description now matches the page's actual 7-step structure.

Commit 2 — /tbc-audit landing page

The raid-wide Buff & Gear Audit already exists as a tab but had no dedicated URL, so the homepage was competing for tbc audit alone.

This is a feature page, not a doorway. Every check described is one the CLA engine actually runs, verified against lib/cla-engine.ts and lib/constants.ts: enchants with the real severity tiers (error/warning/info → CRITICAL/WARNING/NOTE), empty sockets, wrong gem type, TBC weapon oils and sharpening stones, item level, flasks, battle/guardian elixir pairing, food, scrolls, class buff families including the Salvation-on-tank threat warning, and the 61-point TBC talent check.

  • URL form inline at the top — matches tool intent and gives the page a conversion path.
  • BreadcrumbList + FAQPage JSON-LD.
  • Linked from the homepage and added to the sitemap at priority 0.9. Load-bearing: the last round of guides sat in "Discovered – currently not indexed" precisely because nothing linked them.

Also fixed a stale claim in ReportUrlForm: it said "Supports Classic and Season of Discovery reports" while the app has handled TBC through Cataclysm for a while (EXPANSION_ID_TO_DOMAIN, 1000–1004). On a TBC page that read as a direct contradiction.

Tradeoff to review

The homepage title drops "Classic" to fit "Audit" under SERP truncation (51 chars). The data is heavily TBC-weighted — wow classic log analyzer is 22 impressions against TBC terms dominating the top 20 — so I judged it worth it, and "Classic" stays in the description, H1, and the new page's FAQ. If you'd rather keep both: Free WoW Classic & TBC Log Analyzer + Raid Audit — ParseForge is 61 chars and risks truncation.

Verification

npx tsc --noEmit and npm run lint clean. The new page was rendered locally and checked end to end: title 58 chars including the | ParseForge template (an earlier draft was 70 and would have truncated — caught by rendering it), canonical, both JSON-LD blocks, and the crawlable server-rendered homepage anchor. Visually confirmed against the site's existing styling.

No SEO invariants touched — canonicals, indexability rules, and recordRecentReport/getRecentReports are unchanged.

Expected impact

Modest and deliberately so: tbc audit moving 0.61% → ~1.5–2% is roughly +30–50 clicks/month from the metadata alone. The landing page is the larger and slower bet — it needs to index and earn its own ranking before it contributes, so judge it on a 4–8 week horizon, and track the tbc audit query specifically rather than site-wide CTR, which Group B's growth will keep dragging down regardless.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DzE8p4mzrJjXKSqMhj3YHN

Search Console shows two distinct query populations on the homepage:
"analyzer" queries (~1.5k impressions) convert at 10-36%, while
navigational "wow tbc logs"-style queries (~14k impressions, people
looking for warcraftlogs.com) convert at ~0.2%. The site-wide CTR
decline is that second group growing, not a regression — so this
change ignores it and targets the one high-volume query with genuine
tool intent instead.

- Homepage title: add "Raid Audit". `tbc audit` is 3.3k impressions at
  position 4.9 with 0.61% CTR; the word was absent from the title, so
  searchers never saw their term matched. Keeps "Log Analyzer" intact —
  those queries are the 30%+ CTR group. Drops "Classic" to stay under
  SERP truncation; it remains in the description and H1.
- Homepage description: lead with the paste-a-URL action and name the
  specific things audited.
- Guide: retarget from the navigational cluster (91% of its impressions,
  unwinnable against warcraftlogs.com) toward the genuine-intent queries
  it already surfaces for. Description now matches the page's actual
  7-step structure.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzE8p4mzrJjXKSqMhj3YHN
@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
parseforge Ready Ready Preview Jul 31, 2026 11:01pm

`tbc audit` is our largest non-navigational query — ~3,280 impressions
per 28d at position ~4.9, converting at 0.61%, with the general-purpose
homepage as the only thing ranking for it. Unlike the "wow tbc logs"
cluster (navigational, people looking for warcraftlogs.com), these
searchers want an auditing tool, which is exactly what the Buff & Gear
Audit tab is. That feature had no dedicated URL until now.

This is a feature page, not a doorway: every check described is one the
CLA engine actually runs, verified against lib/cla-engine.ts and
lib/constants.ts — enchants and severity tiers (error/warning/info →
CRITICAL/WARNING/NOTE), sockets, gem type, TBC weapon oils and
sharpening stones, item level, flasks, battle/guardian elixirs, food,
scrolls, class buff families incl. the Salvation-on-tank warning, and
the 61-point TBC talent check.

- New `/tbc-audit` with the URL form inline (matches tool intent), plus
  BreadcrumbList and FAQPage JSON-LD.
- Linked from the homepage and added to the sitemap at priority 0.9.
  Prior experience here is that unlinked pages sit in "Discovered –
  currently not indexed", so the internal link is load-bearing.
- Fixed a stale claim in ReportUrlForm: it said "Supports Classic and
  Season of Discovery reports" while the app has handled TBC through
  Cataclysm for a while (EXPANSION_ID_TO_DOMAIN, 1000-1004). It read as
  a direct contradiction on a TBC page.

Verified: tsc + lint clean; page rendered locally and checked end to
end (title 58 chars incl. the " | ParseForge" template, canonical,
JSON-LD, and the crawlable homepage anchor).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DzE8p4mzrJjXKSqMhj3YHN
@alexandermayes alexandermayes changed the title Retarget homepage + guide metadata at audit intent Target tbc audit intent: metadata pass + dedicated landing page Jul 31, 2026
@alexandermayes
alexandermayes merged commit e45a410 into main Jul 31, 2026
5 checks passed
@alexandermayes
alexandermayes deleted the growth/seo-metadata-audit-intent branch July 31, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant