feat(home): reposition homepage around Stage Profile (growth step 2) - #81
Merged
Conversation
Google Search Console data (10 days post-launch) showed the site's only
real traffic signals were generic English tool queries and one
in-Taiwan query ("gas prices in taiwan") — zero impressions for Stage
Profile, cycling, or any Chinese query. The homepage's flat 6-category
grid gave every one of 36 tools equal weight and no focal point, which
buries the one tool with real differentiation.
- New Hero.astro: Stage Profile becomes the homepage's headline act —
eyebrow + heading + one-liner + primary CTA (upload GPX) + secondary
anchor to the cycling toolkit below. Uses the existing README demo
GIF (copied into public/demo/, not swept into the service-worker
precache since .gif isn't in the injectManifest globPatterns
allowlist).
- HomeGrid.astro: cycling toolkit promoted right under the hero as
Stage Profile's supporting cast (gear calc, ride fuel, FTP zones,
tire pressure — Stage Profile itself excluded here since the hero
already covers it, confirmed via e2e so it can't silently
reappear). The other 5 categories (~28 tools) collapse into a single
de-emphasized "More tools" section with a compact card style —
still full server-rendered <a> links (SEO/crawlability unchanged),
just visually quieter.
- ToolCard.astro: new compact variant for the More-tools section. Its
favorite-star button is placed before the title in the DOM (CSS
order-* keeps the visual position at the end) so the link's
accessible name doesn't collapse into a match for the command
palette's row — same trick the original full card already relied
on, just made deliberate instead of accidental.
- Homepage <title>/<meta description> (zh + en) rewritten to lead
with the actual positioning; description lengths fit within the
50-160 char band the site's own URL Audit tool scores against.
Tests: typecheck:api / 551 unit / 66 e2e (+1: hero CTA + no duplicate
stage-profile card in the cycling grid). Screenshot-reviewed zh/en,
light/dark, and mobile widths.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Growth step 2 (of the deep-vs-broad strategy): reposition the homepage around Stage Profile, the site's one genuinely differentiated tool, instead of presenting all 36 tools as equals.
Why now
10 days after Search Console indexing kicked in, the data was unambiguous: 24 impressions, 0 clicks, average position ~69. Every query that surfaced was a generic English tool term (
world clock,gear calculator) plus one Taiwan-specific hit (gas prices in taiwan). Zero impressions for Stage Profile, cycling, or any Chinese query. A flat 6-category grid where every tool gets the same card size gives a first-time visitor no reason to remember the site — this fixes that without touching the long tail's crawlability.Changes
Hero.astro(new): Stage Profile becomes the homepage's headline — eyebrow, heading, one-liner, primary CTA (upload GPX), and a secondary anchor down to the cycling toolkit. Uses the existing demo GIF from the README (copied intopublic/demo/; confirmed.gifisn't in the PWA'sinjectManifestallowlist, so it won't get swept into the service-worker precache).HomeGrid.astro: cycling toolkit promoted right under the hero as Stage Profile's supporting cast — Stage Profile itself is excluded from that grid (already the hero; e2e-pinned so it can't silently duplicate). The other ~28 tools collapse into one de-emphasized "More tools" section with a compact card style — still real server-rendered<a>links, so nothing's SEO-invisible, just visually quieter.ToolCard.astro: newcompactvariant. Worth flagging: the favorite-star button had to move before the title in the DOM (CSSorder-*keeps it visually last) — otherwise the link's accessible name reads as "icon + title + star," which collapses into a substring match against the ⌘K command palette's result row and breaks two e2e tests via strict-mode violation. The original full-size card already avoided this by accident (button came before the<h3>); this makes it deliberate.<title>/<meta description>(zh + en) rewritten to lead with the actual positioning, lengths fit the 50–160 char band the site's own URL Audit tool scores against.Verification
typecheck:api✓ / 551 unit ✓ / 66 e2e ✓ (+1 new: hero CTA href, anchor scroll, and "no duplicate Stage Profile card in the cycling grid")api/untouched, no production verification step needed🤖 Generated with Claude Code