Skip to content

Commit ae0bc99

Browse files
ChengaDevclaude
andcommitted
SEO improvements: title/H1, body text, WebSite/BreadcrumbList schemas
- Add 'online' keyword to home page title and meta description - Update H1 to 'Free Online Basketball Shot Clock' - Add subtle body text below clock for Google indexing - Add WebSite schema with author sameAs links (LinkedIn, GitHub, personal site) - Add BreadcrumbList schema on all inner pages Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent efbee62 commit ae0bc99

3 files changed

Lines changed: 66 additions & 4 deletions

File tree

src/components/SEO.tsx

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,43 @@ const SEO: React.FC<SEOProps> = ({ title, description }) => {
3030

3131
const isHome = pagePath === '/';
3232

33+
const breadcrumbSchema = !isHome ? {
34+
"@context": "https://schema.org",
35+
"@type": "BreadcrumbList",
36+
"itemListElement": [
37+
{
38+
"@type": "ListItem",
39+
"position": 1,
40+
"name": "Home",
41+
"item": "https://www.24shotclock.com"
42+
},
43+
{
44+
"@type": "ListItem",
45+
"position": 2,
46+
"name": title,
47+
"item": canonical
48+
}
49+
]
50+
} : null;
51+
52+
const webSiteSchema = {
53+
"@context": "https://schema.org",
54+
"@type": "WebSite",
55+
"name": "ShotClock Pro",
56+
"url": "https://www.24shotclock.com",
57+
"description": "Free online basketball shot clock for referees, scorekeepers, and players.",
58+
"author": {
59+
"@type": "Person",
60+
"name": "Chen Gazit",
61+
"url": "https://chengazit.com/",
62+
"sameAs": [
63+
"https://chengazit.com/",
64+
"https://github.com/ChengaDev/",
65+
"https://www.linkedin.com/in/chengazit/"
66+
]
67+
}
68+
};
69+
3370
const webAppSchema = {
3471
"@context": "https://schema.org",
3572
"@type": "WebApplication",
@@ -74,8 +111,18 @@ const SEO: React.FC<SEOProps> = ({ title, description }) => {
74111
))}
75112
<link rel="alternate" hrefLang="x-default" href={getLangUrl('en')} />
76113
{isHome && (
114+
<>
115+
<script type="application/ld+json">
116+
{JSON.stringify(webSiteSchema)}
117+
</script>
118+
<script type="application/ld+json">
119+
{JSON.stringify(webAppSchema)}
120+
</script>
121+
</>
122+
)}
123+
{!isHome && breadcrumbSchema && (
77124
<script type="application/ld+json">
78-
{JSON.stringify(webAppSchema)}
125+
{JSON.stringify(breadcrumbSchema)}
79126
</script>
80127
)}
81128
</Helmet>

src/components/ShotClockPage.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,16 @@ const ShotClockPage = () => {
99
return (
1010
<PageContainer>
1111
<SEO
12-
title="ShotClock Pro – Basketball Shot Clock Simulator & Trainer"
13-
description="Free basketball shot clock simulator for referees and scorekeepers. Practice 24-second and 14-second resets with real-time buzzer sound, following FIBA regulations."
12+
title="ShotClock Pro – Free Online Basketball Shot Clock"
13+
description="Free online basketball shot clock — start, stop, and reset in seconds. Practice on any device, no installation needed."
1414
/>
1515
<GlobalStyle />
1616
<ShotClock />
17+
<PageBlurb>
18+
ShotClock Pro is a free online basketball shot clock you can use directly in your browser.
19+
Start the 24-second countdown, apply the 14-second reset after an offensive rebound,
20+
and hear the buzzer when time runs out — just like a real game.
21+
</PageBlurb>
1722
</PageContainer>
1823
)
1924
}
@@ -67,4 +72,14 @@ const Container = styled.div`
6772
}
6873
`
6974

75+
const PageBlurb = styled.p`
76+
text-align: center;
77+
max-width: 600px;
78+
margin: 0 auto 2rem;
79+
padding: 0 1.5rem;
80+
font-size: 0.85rem;
81+
line-height: 1.6;
82+
color: rgba(255, 255, 255, 0.35);
83+
`
84+
7085
export default ShotClockPage

src/localization/locailzation.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ type AppLocalizationType = {
66

77
const AppLocalization: AppLocalizationType = {
88
en: {
9-
title: 'Basketball shot clock practice',
9+
title: 'Free Online Basketball Shot Clock',
1010
subtitle: 'Practice your 24 shot clock operation skills',
1111
startLabel: 'Start',
1212
stopLabel: 'Stop',

0 commit comments

Comments
 (0)