Skip to content

fix(seo): 404 hex compare pages + add curated pairs to sitemap - #764

Merged
Flotapponnier merged 1 commit into
devfrom
fix/compare-seo-hex-and-sitemap
Jun 26, 2026
Merged

fix(seo): 404 hex compare pages + add curated pairs to sitemap#764
Flotapponnier merged 1 commit into
devfrom
fix/compare-seo-hex-and-sitemap

Conversation

@Flotapponnier

Copy link
Copy Markdown
Collaborator

Why

Ahrefs flagged 1690 `/compare/-vs-` pages as "indexable but not in sitemap" — symptom of two distinct problems.

Pattern analysis

  • ~70% `0xHEX-vs-` (ex: `0xb290f2f3-vs-liquid-perps`): HL builder addresses auto-generated as ad-hoc compare slugs. Zero search demand, pure crawl-budget waste.fix drop journal framing #1
  • ~20% chain-vs-chain (ex: `aptos-vs-polygon`): kept as-is for now (some have real search demand, will revisit if traffic data justifies dropping).
  • ~10% legit provider-vs-provider (ex: `meowrpc-vs-publicnode`, `covalent-vs-mobula`): curated in `compare-pairs.ts` but missing from sitemap. → fix publish harnesses #2

Changes

  1. `resolveAdHocPair()` in `src/app/compare/[slug]/page.tsx` now rejects slugs matching `/^0x[0-9a-f]{4,}$/i` on either side. `/compare/0xb290f2f3-vs-*` → 404. Verified no curated pair uses hex slugs.
  2. `buildFullSitemap()` emits one entry per `COMPARE_PAIRS` entry (21 hand-picked pairs), each defensively re-validated via `getProvider` to skip dead pairs.

Chain-vs-chain comparisons kept — separate review needed if we want to dedupe them against `/chains` hubs.

Flow

Push dev → cherry-pick main.

@Flotapponnier
Flotapponnier merged commit d70b43a into dev Jun 26, 2026
1 check passed
Flotapponnier added a commit that referenced this pull request Jun 26, 2026
…s to sitemap (#764) (#765)

Co-authored-by: Florent Tapponnier <contact@mobula.io>
@Flotapponnier
Flotapponnier deleted the fix/compare-seo-hex-and-sitemap branch July 17, 2026 14:42
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