Skip to content

Commit 182970b

Browse files
seo: restore keyword/schema improvements + fix test types
- Root layout: long-tail keywords, authors field, @graph JSON-LD (WebApplication + Organization schema) - /about: own title, description, and canonical metadata - scoring.test.ts: align buildRepo with actual RepoData shape Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent a9b9f2c commit 182970b

3 files changed

Lines changed: 32 additions & 12 deletions

File tree

src/app/about/page.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
1+
import type { Metadata } from 'next'
12
import SubpageShell from '@/components/SubpageShell'
23

4+
export const metadata: Metadata = {
5+
title: 'About — commitmentissues',
6+
description: 'How commitmentissues works: real GitHub data, a death score algorithm, and a healthy dose of dark humor for your abandoned repos.',
7+
alternates: { canonical: 'https://commitmentissues.dev/about' },
8+
openGraph: {
9+
title: 'About — commitmentissues',
10+
description: 'How commitmentissues works: real GitHub data, a death score algorithm, and a healthy dose of dark humor for your abandoned repos.',
11+
url: 'https://commitmentissues.dev/about',
12+
},
13+
}
14+
315
const UI = `var(--font-dm), -apple-system, sans-serif`
416

517
const SECTIONS = [

src/app/layout.tsx

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ export const metadata: Metadata = {
3535
metadataBase: new URL('https://commitmentissues.dev'),
3636
title: 'commitmentissues — Death Certificates for Abandoned GitHub Repos',
3737
description: 'Paste any GitHub URL. Get an official death certificate for your abandoned repo. Cause of death, last words, and more.',
38-
keywords: ['github', 'dead repo', 'abandoned project', 'death certificate', 'side project', 'open source'],
38+
keywords: ['github', 'dead repo', 'abandoned project', 'death certificate', 'side project', 'open source', 'abandoned github repository', 'repo graveyard', 'unmaintained project', 'stale repository', 'github stats', 'commit activity'],
39+
authors: [{ name: 'Dot Systems', url: 'https://github.com/dotsystemsdevs' }],
3940
alternates: { canonical: 'https://commitmentissues.dev' },
4041
openGraph: {
4142
title: 'commitmentissues - Death Certificates for Abandoned GitHub Repos',
@@ -55,13 +56,23 @@ export const metadata: Metadata = {
5556

5657
const jsonLd = {
5758
'@context': 'https://schema.org',
58-
'@type': 'WebApplication',
59-
name: 'commitmentissues',
60-
description: 'Death certificates for abandoned GitHub repos',
61-
url: 'https://commitmentissues.dev',
62-
applicationCategory: 'DeveloperApplication',
63-
operatingSystem: 'Web',
64-
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
59+
'@graph': [
60+
{
61+
'@type': 'WebApplication',
62+
name: 'commitmentissues',
63+
description: 'Death certificates for abandoned GitHub repos',
64+
url: 'https://commitmentissues.dev',
65+
applicationCategory: 'DeveloperApplication',
66+
operatingSystem: 'Web',
67+
offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
68+
creator: { '@type': 'Organization', name: 'Dot Systems', url: 'https://github.com/dotsystemsdevs' },
69+
},
70+
{
71+
'@type': 'Organization',
72+
name: 'Dot Systems',
73+
url: 'https://github.com/dotsystemsdevs',
74+
},
75+
],
6576
}
6677

6778
export default function RootLayout({ children }: { children: React.ReactNode }) {

src/lib/scoring.test.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,12 @@ function buildRepo(overrides: Partial<RepoData> = {}): RepoData {
77
return {
88
fullName: 'example/dead-repo',
99
name: 'dead-repo',
10-
owner: 'example',
1110
description: 'old side project',
12-
htmlUrl: 'https://github.com/example/dead-repo',
13-
archivedAt: null,
1411
createdAt: '2017-01-01T00:00:00.000Z',
1512
pushedAt: '2018-01-01T00:00:00.000Z',
1613
lastCommitDate: '2018-01-01T00:00:00.000Z',
1714
lastCommitMessage: 'final commit',
18-
defaultBranch: 'main',
15+
commitCount: 12,
1916
language: 'TypeScript',
2017
isArchived: false,
2118
isFork: false,

0 commit comments

Comments
 (0)