Skip to content

Commit 59e105e

Browse files
committed
Add SEO tags
1 parent e925c90 commit 59e105e

4 files changed

Lines changed: 143 additions & 8 deletions

File tree

web/app/docs/[slug]/page.tsx

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ import { getDocPage, getAllDocPages } from "@/lib/content/loader";
44
import MarkdownContent from "@/components/MarkdownContent";
55
import type { Metadata } from "next";
66

7+
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://ai-devkit.com";
8+
79
interface DocPageProps {
810
params: Promise<{ slug: string }>;
911
}
@@ -24,12 +26,43 @@ export async function generateMetadata({
2426
if (!doc) {
2527
return {
2628
title: "Page Not Found",
29+
description: "The requested documentation page could not be found.",
2730
};
2831
}
2932

33+
const pageUrl = `${siteUrl}/docs/${slug}`;
34+
const title = doc.metadata.title;
35+
const description =
36+
doc.metadata.description ||
37+
`Learn about ${doc.metadata.title} in the AI DevKit documentation.`;
38+
3039
return {
31-
title: `${doc.metadata.title} | AI DevKit Documentation`,
32-
description: doc.metadata.description,
40+
title,
41+
description,
42+
keywords: [
43+
doc.metadata.title,
44+
"AI DevKit",
45+
"documentation",
46+
"AI-assisted development",
47+
"structured workflows",
48+
"coding assistant",
49+
],
50+
openGraph: {
51+
title,
52+
description,
53+
url: pageUrl,
54+
siteName: "AI DevKit",
55+
locale: "en_US",
56+
type: "article",
57+
},
58+
twitter: {
59+
card: "summary_large_image",
60+
title,
61+
description,
62+
},
63+
alternates: {
64+
canonical: pageUrl,
65+
},
3366
};
3467
}
3568

web/app/docs/page.tsx

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,46 @@
11
import Link from 'next/link';
22
import { getAllDocPages } from '@/lib/content/loader';
3+
import type { Metadata } from 'next';
4+
5+
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://ai-devkit.com';
6+
7+
export const metadata: Metadata = {
8+
title: 'Documentation',
9+
description:
10+
'Complete documentation for AI DevKit - Learn how to set up structured AI-assisted development workflows, use slash commands, configure memory, and extend capabilities with skills.',
11+
keywords: [
12+
'AI DevKit documentation',
13+
'AI coding assistant setup',
14+
'structured development workflows',
15+
'slash commands',
16+
'skills',
17+
'AI development tools',
18+
'Claude Code',
19+
'Cursor IDE',
20+
'Codex',
21+
'Antigravity',
22+
'Open Code',
23+
'AI pair programming',
24+
],
25+
openGraph: {
26+
title: 'AI DevKit Documentation',
27+
description:
28+
'Complete documentation for AI DevKit - structured AI-assisted development workflows, commands, and skills.',
29+
url: `${siteUrl}/docs`,
30+
siteName: 'AI DevKit',
31+
locale: 'en_US',
32+
type: 'website',
33+
},
34+
twitter: {
35+
card: 'summary_large_image',
36+
title: 'AI DevKit Documentation',
37+
description:
38+
'Complete documentation for AI DevKit - structured AI-assisted development workflows, commands, and skills.',
39+
},
40+
alternates: {
41+
canonical: `${siteUrl}/docs`,
42+
},
43+
};
344

445
export default function DocsPage() {
546
const docs = getAllDocPages();
@@ -8,7 +49,7 @@ export default function DocsPage() {
849
<div className="bg-white py-16">
950
<div className="mx-auto max-w-4xl px-4 sm:px-6 lg:px-8">
1051
<h1 className="text-4xl font-bold mb-8">Documentation</h1>
11-
52+
1253
<p className="text-xl text-gray-600 mb-12">
1354
Everything you need to know about using AI DevKit for AI-assisted structured software development.
1455
</p>

web/app/roadmap/page.tsx

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,40 @@ import { getRoadmap } from '@/lib/content/loader';
22
import MarkdownContent from '@/components/MarkdownContent';
33
import type { Metadata } from 'next';
44

5+
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://ai-devkit.com';
6+
57
export const metadata: Metadata = {
6-
title: 'Roadmap | AI DevKit',
7-
description: 'The development roadmap for AI DevKit - see what we\'re building and where we\'re headed.',
8+
title: 'Roadmap',
9+
description:
10+
"The development roadmap for AI DevKit - see what we're building, current progress, and upcoming features for AI-assisted development.",
11+
keywords: [
12+
'AI DevKit roadmap',
13+
'AI DevKit features',
14+
'development roadmap',
15+
'upcoming features',
16+
'AI coding tools',
17+
'product roadmap',
18+
'AI DevKit plans',
19+
'feature requests',
20+
],
21+
openGraph: {
22+
title: 'Roadmap - AI DevKit',
23+
description:
24+
"See what we're building and where we're headed with AI DevKit - our development roadmap and upcoming features.",
25+
url: `${siteUrl}/roadmap`,
26+
siteName: 'AI DevKit',
27+
locale: 'en_US',
28+
type: 'website',
29+
},
30+
twitter: {
31+
card: 'summary_large_image',
32+
title: 'Roadmap - AI DevKit',
33+
description:
34+
"See what we're building and where we're headed with AI DevKit - our development roadmap and upcoming features.",
35+
},
36+
alternates: {
37+
canonical: `${siteUrl}/roadmap`,
38+
},
839
};
940

1041
const statusColors = {
@@ -35,7 +66,7 @@ export default function RoadmapPage() {
3566
<div className="bg-white py-16">
3667
<div className="mx-auto max-w-5xl px-4 sm:px-6 lg:px-8">
3768
<h1 className="text-4xl md:text-5xl font-bold mb-4">Roadmap</h1>
38-
69+
3970
<p className="text-xl text-gray-600 mb-12">
4071
Our development roadmap shows what we're working on and what's coming next for AI DevKit.
4172
</p>

web/app/vision/page.tsx

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,40 @@ import MarkdownContent from "@/components/MarkdownContent";
33
import { notFound } from "next/navigation";
44
import type { Metadata } from "next";
55

6+
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://ai-devkit.com";
7+
68
export const metadata: Metadata = {
7-
title: "Vision | AI DevKit",
9+
title: "Vision",
810
description:
9-
"The vision and purpose behind AI DevKit - bridging AI-assisted development with structured software engineering practices.",
11+
"The vision and purpose behind AI DevKit - bridging AI-assisted development with structured software engineering practices for better code quality and team collaboration.",
12+
keywords: [
13+
"AI DevKit vision",
14+
"AI-assisted development",
15+
"structured software engineering",
16+
"development best practices",
17+
"AI coding philosophy",
18+
"software development methodology",
19+
"code quality",
20+
"team collaboration",
21+
],
22+
openGraph: {
23+
title: "Vision - AI DevKit",
24+
description:
25+
"Discover the vision behind AI DevKit - bridging AI-assisted development with structured software engineering practices.",
26+
url: `${siteUrl}/vision`,
27+
siteName: "AI DevKit",
28+
locale: "en_US",
29+
type: "article",
30+
},
31+
twitter: {
32+
card: "summary_large_image",
33+
title: "Vision - AI DevKit",
34+
description:
35+
"Discover the vision behind AI DevKit - bridging AI-assisted development with structured software engineering practices.",
36+
},
37+
alternates: {
38+
canonical: `${siteUrl}/vision`,
39+
},
1040
};
1141

1242
export default function VisionPage() {

0 commit comments

Comments
 (0)