Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
acb2d50
feat: add JSON-LD structured data for the Ethereum 10th Anniversary page
corwintines Sep 4, 2025
a8a6a13
feat: add JSON-LD structured data for apps, individual app, and categ…
corwintines Sep 4, 2025
f3ba881
feat: add JSON-LD structured data for the assets page, including brea…
corwintines Sep 4, 2025
1eea784
feat: add JSON-LD structured data for the bug bounty page, including …
corwintines Sep 4, 2025
078e748
feat: add JSON-LD structured data for the collectibles page, includin…
corwintines Sep 4, 2025
ba1178f
feat: add JSON-LD structured data for the community page, including m…
corwintines Sep 4, 2025
e7aaa84
feat: add JSON-LD structured data for translation program pages, incl…
corwintines Sep 4, 2025
53c35c1
feat: add JSON-LD structured data for developers pages, including met…
corwintines Sep 4, 2025
ca9316e
Merge branch 'dev' into jsonLD
corwintines Sep 4, 2025
9a56cd5
feat: add JSON-LD structured data for the enterprise page, including …
corwintines Sep 4, 2025
c0dff45
feat: add JSON-LD structured data for the Ether page, including metad…
corwintines Sep 4, 2025
d9422f2
feat: add JSON-LD structured data for the founders page
corwintines Sep 4, 2025
34716d3
feat: add JSON-LD structured data for the gas page
corwintines Sep 4, 2025
2f0f28c
feat: add JSON-LD structured data for the get-eth page
corwintines Sep 4, 2025
f67d150
feat: add JSON-LD structured data for Layer 2 pages
corwintines Sep 4, 2025
3a4d2ed
feat: add JSON-LD structured data for the Learn page
corwintines Sep 4, 2025
dd02574
feat: enhance Quizzes page with JSON-LD structured data
corwintines Sep 4, 2025
f825756
feat: add JSON-LD structured data for the Resources page
corwintines Sep 4, 2025
b6267ec
feat: add JSON-LD structured data for the Roadmap and Vision pages
corwintines Sep 5, 2025
3ca2b91
feat: add JSON-LD structured data for the Run a Node page
corwintines Sep 5, 2025
c13ffca
feat: add JSON-LD structured data for the Stablecoins page
corwintines Sep 5, 2025
1e6259a
feat: add JSON-LD structured data for the Staking and Deposit Contrac…
corwintines Sep 5, 2025
b7a7563
feat: add JSON-LD structured data for the Start page
corwintines Sep 5, 2025
868813b
feat: add JSON-LD structured data for the Trillion-Dollar Security page
corwintines Sep 5, 2025
cfdeb07
feat: add JSON-LD structured data for Wallets and Find Wallet pages
corwintines Sep 5, 2025
ad48ac9
feat: add JSON-LD structured data for the What is Ethereum page
corwintines Sep 5, 2025
56789d1
feat: add JSON-LD structured data for the homepage and organization
corwintines Sep 5, 2025
de770a9
feat: add JSON-LD structured data for slug pages with breadcrumb navi…
corwintines Sep 5, 2025
a8b9b75
fix: make locale property optional in PageWithContributorsProps type
corwintines Sep 5, 2025
3ad64c0
feat: add normalizeUrlForJsonLd helper util
wackerow Sep 5, 2025
a549b82
change request test
corwintines Sep 9, 2025
0455fe6
Merge branch 'jsonLD' of https://github.com/ethereum/ethereum-org-web…
corwintines Sep 9, 2025
3ec5f29
apps jsonld refactor
corwintines Sep 9, 2025
d427e15
slug jsonld refactor
corwintines Sep 9, 2025
c955827
json-ld refactor
corwintines Sep 10, 2025
7e155b8
jsonld develoeps refactor
corwintines Sep 10, 2025
7c1e831
jsonld refactor, make /wallets SSR
corwintines Sep 10, 2025
643f1b4
fix export
corwintines Sep 10, 2025
9274288
Merge branch 'dev' into jsonLD
corwintines Sep 10, 2025
fdb24cb
Merge branch 'dev' into jsonLD
corwintines Sep 16, 2025
86767c1
refactor: update JSON-LD logo URL and integrate EthPageJsonLD compone…
corwintines Sep 16, 2025
f98eb86
Add initial author and reviewedBy attributes for JSON-LD
corwintines Sep 16, 2025
603abf5
feat: add contributor information to JSON-LD across multiple pages
corwintines Sep 16, 2025
b67013e
replace favicon image with eth logo png image
pettinarip Sep 17, 2025
070c35d
fix wrong translation key
pettinarip Sep 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 143 additions & 0 deletions app/[locale]/10years/page-jsonld.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
import { getTranslations } from "next-intl/server"

import { FileContributor } from "@/lib/types"

import PageJsonLD from "@/components/PageJsonLD"

import { normalizeUrlForJsonLd } from "@/lib/utils/url"

export default async function TenYearJsonLD({
locale,
contributors,
}: {
locale: string
contributors: FileContributor[]
}) {
const t = await getTranslations({
namespace: "page-10-year-anniversary",
})

const url = normalizeUrlForJsonLd(locale, "/10years/")

const contributorList = contributors.map((contributor) => ({
"@type": "Person",
name: contributor.login,
url: contributor.html_url,
}))

const webPageJsonLd = {
"@context": "https://schema.org",
"@type": "WebPage",
"@id": url,
name: t("page-10-year-anniversary-meta-title"),
description: t("page-10-year-anniversary-meta-description"),
url: url,
inLanguage: locale,
author: [
{
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
},
],
contributor: contributorList,
breadcrumb: {
"@type": "BreadcrumbList",
itemListElement: [
{
"@type": "ListItem",
position: 1,
name: "Home",
item: normalizeUrlForJsonLd(locale, "/"),
},
{
"@type": "ListItem",
position: 2,
name: t("page-10-year-anniversary-meta-title"),
item: url,
},
],
},
publisher: {
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
logo: {
"@type": "ImageObject",
url: "https://ethereum.org/assets/eth-logo.png",
width: "256",
height: "417",
},
},
reviewedBy: {
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
logo: {
"@type": "ImageObject",
url: "https://ethereum.org/images/eth-home-icon.png",
},
},
mainEntity: {
"@type": "Event",
"@id": `${url}#ethereum-10-year-anniversary`,
},
}

const eventJsonLd = {
"@context": "https://schema.org",
"@type": "Event",
"@id": `${url}#ethereum-10-year-anniversary`,
name: t("page-10-year-anniversary-meta-title"),
description: t("page-10-year-anniversary-meta-description"),
startDate: "2024-07-30",
endDate: "2024-07-30",
eventStatus: "https://schema.org/EventCompleted",
eventAttendanceMode: "https://schema.org/OnlineEventAttendanceMode",
url: url,
organizer: {
"@type": "Organization",
name: "Ethereum Foundation",
url: "https://ethereum.org",
},
location: {
"@type": "VirtualLocation",
url: url,
},
image: {
"@type": "ImageObject",
url: "https://ethereum.org/assets/10-years/10-years-hero.png",
width: "1200",
height: "630",
},
}

const videoJsonLd = {
"@context": "https://schema.org",
"@type": "VideoObject",
name: "Ethereum: 10 Years Anniversary",
description: t("page-10-year-anniversary-meta-description"),
thumbnailUrl: "https://i.ytimg.com/vi/gjwr-7PgpTC/maxresdefault.jpg",
uploadDate: "2024-07-30",
duration: "PT5M30S",
embedUrl: "https://www.youtube.com/embed/gjwr-7PgpTC",
publisher: {
"@type": "Organization",
name: "Ethereum Foundation",
url: "https://ethereum.org",
},
reviewedBy: {
"@type": "Organization",
name: "ethereum.org",
url: "https://ethereum.org",
logo: {
"@type": "ImageObject",
url: "https://ethereum.org/images/eth-home-icon.png",
},
},
}

return (
<PageJsonLD structuredData={[webPageJsonLd, eventJsonLd, videoJsonLd]} />
)
}
Loading