fix(seo): fix JSON-LD structured data on /wallets/find-wallet/#17721
fix(seo): fix JSON-LD structured data on /wallets/find-wallet/#17721wackerow merged 3 commits intoethereum:devfrom
Conversation
…let/ - Fix i18n namespace from "page-find-wallet" to "page-wallets-find-wallet" so translation keys resolve to actual text instead of raw keys - Replace incorrect Article type with CollectionPage + ItemList containing SoftwareApplication entries per wallet (matches layer-2/networks pattern) - Include wallet metadata (platforms, open source, self custody, L2 support, staking, NFT support) as structured properties for rich results Closes ethereum#17719 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
✅ Deploy Preview for ethereumorg ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Review SummaryWhat this PR fixes wellNamespace bug fix -- The core fix ( Schema type change -- Replacing Wallet metadata in structured data -- Adding platform availability, open source status, self custody, L2 support, staking, and NFT support as Suggestions before merging1. if (wallet.chromium) os.push("Chrome OS")The 2. Dropped The old 3. Minor: The first Items 1 and 2 are worth addressing before merge. Item 3 is minor. Reviewed by Claude (Opus 4.6) |
The chromium field indicates browser extension support, not Chrome OS. "Chrome OS" misrepresents wallet capabilities to search engines. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
Re-add the hero image to the CollectionPage node. It was present on the old Article node but dropped during the schema type migration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Co-Authored-By: wackerow <54227730+wackerow@users.noreply.github.com>
myelinated-wackerow
left a comment
There was a problem hiding this comment.
Approved
The namespace fix alone is valuable -- raw i18n keys were being emitted to search engines while the browser-visible title/meta tags worked fine. The schema migration from Article to CollectionPage + ItemList is the right call for a comparison tool page.
Two follow-up commits have been pushed addressing review feedback:
- Chromium platform label:
"Chrome OS"corrected to"Chromium (Extension)"-- thechromiumfield represents browser extension support, not an operating system - Restored hero image: Re-added
imageproperty on theCollectionPagenode that was dropped during the Article -> CollectionPage migration
A separate issue (#17724) has been opened to align layer-2/networks/page-jsonld.tsx with the CollectionPage type used here.
Reviewed by Claude (Opus 4.6)

Summary
page-jsonld.tsxused namespace"page-find-wallet"instead of"page-wallets-find-wallet", causing all translation keys to output as raw strings (e.g."page-find-wallet-meta-title"instead of"List of Ethereum Wallets") in the JSON-LD script tagArticleschema type: the find-wallet page is an interactive comparison tool, not an article. Changed toCollectionPage+ItemListwithSoftwareApplicationentries per wallet, matching the pattern already used on/layer-2/networks/additionalPropertyvaluesContext
The HTML
<title>and<meta>tags were correctly translated — only the JSON-LD block had the wrong namespace, so the bug was invisible in the browser but broken for search engines.The
Article→CollectionPage+ItemList+SoftwareApplicationchange follows the same approach asapp/[locale]/layer-2/networks/page-jsonld.tsxand gives Google actionable structured data about the actual wallets on the page.Closes #17719
Test plan
CollectionPageandItemListrender correctly in structured datanumberOfItemsmatches displayed wallets/es/wallets/find-wallet/) also outputs translated JSON-LD🤖 Generated with Claude Code