feat(seo): add visible wallet evaluation methodology on find-wallet#18025
Conversation
Surfaces listing criteria, attribution, verification policy, and most recent listing update directly on /wallets/find-wallet/ so Google and AI crawlers receive the E-E-A-T signals this page has been lacking. Closes ethereum#17720
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
- CollapsibleCard and WalletListingMethodology replaced with usage of ExpandableCard inside new reusable/generalized ListingMethodology component - Removes strings dedicated to component-listing-methodology.json namespace from page-wallets-find-wallet.json Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Refactor reviewThe first commit on this branch explicitly flagged this as worth doing later:
This refactor takes that follow-up rather than landing the bespoke Original PR vs this refactor
On the "forceMount causes flash" concern from the original PR
That happens when SEO parity verified
Post-hydration check (DevTools → Elements) shows the same content in real divs before the trigger is clicked. Anchor ID changeSection ID is now Latent footgun for future consumers
Net: same SEO outcome as the original Review by Claude Opus 4.7 |
Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>

Summary
Adds a visible "How we evaluate wallets" section at the bottom of
/wallets/find-wallet/so Google, AI crawlers, and readers can see the editorial methodology ethereum.org already applies to the wallet directory.Motivation
/wallets/find-wallet/is a YMYL (Your Money Your Life) finance page with ~35–40k monthly visits. The methodology behind the listing (8 must-have criteria, 6-month re-verification, core-team UX review) exists at/contributing/adding-wallets/but was completely absent from the wallet-finder page itself. Google's December 2025 core update specifically rewards YMYL comparison pages that surface evaluation methodology, attribution, and verification dates — this PR addresses that gap.Note: this does not fix issue #17717 (
ssr: falsehides the wallet table from bots). That's a separate, larger fix. This PR ensures that even while the product table remains client-rendered, the editorial trust signals are in the server HTML.What's visible by default
/contributing/adding-wallets/last_updatedacrosswallet-data.tsWhat's inside the collapsible panel
/contributing/adding-wallets/footnote-1/footnote-2translation keys used as the final disclaimerWhy a custom
CollapsibleCardinstead of the existingExpandableCardThis was the key decision and I want to flag it clearly.
The existing
ExpandableCard(used byNetworkMaturityon/layer-2/networks/) wraps RadixAccordionPrimitive.ContentwithoutforceMount. By default Radix unmounts the content element when the accordion is closed — the markup disappears from the DOM entirely. I verified this against production:That means Googlebot, GPTBot, ClaudeBot, and PerplexityBot receive none of the collapsed content. For an E-E-A-T fix where the entire goal is to surface methodology to crawlers, reusing that component would actively defeat the PR's purpose.
This PR ships a small, focused
CollapsibleCardcomponent that:hiddenattribute via React stateforceMountentirely — I tried it first and the height-based animation keyframes race with thehiddenattribute on initial mount, causing the panel to flash open on page loadaria-expandedandaria-controls, panel useshidden(which the accessibility tree respects)Verified via curl against the dev build that all collapsed content (every criterion bullet, the verification paragraph, the filter explanation, and disclaimers) is present in the initial server HTML.
Follow-up worth considering:
ExpandableCard/NetworkMaturitylikely have the same SEO hole. A separate PR could addforceMount+ proper height transitions there.Test plan
/wallets/find-wallet/— scroll to bottom, confirm the methodology section renderscurl -sL) — confirm every criterion, verification paragraph, filter paragraph, and disclaimer is present in the HTML even when the card is collapsedlast_updatedinwallet-data.tsFiles changed
app/[locale]/wallets/find-wallet/page.tsx— adds the section render + computes most recentlast_updatedsrc/components/FindWalletProductTable/WalletListingMethodology.tsx— the server component for the sectionsrc/components/FindWalletProductTable/CollapsibleCard.tsx— SEO-safe collapsible (new, scoped to this feature)src/intl/en/page-wallets-find-wallet.json— new translation keys (only theenlocale in this PR; Crowdin will pick up the rest)Preview link
https://deploy-preview-18025.ethereum.it/wallets/find-wallet
Related issue