Skip to content

Commit 8435ada

Browse files
committed
fix(seo): align metadata and structured data
1 parent f6bc5e6 commit 8435ada

79 files changed

Lines changed: 406 additions & 333 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/SEO-SEARCH-OPPORTUNITY-MAP.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,10 @@ AI Coding Stack has stronger structured catalog data than many editorial competi
6767
| P0 | Optimize `/models` for comparison intent | It is the strongest striking-distance page | Implemented in working tree |
6868
| P0 | Complete `/models/compare` metadata | The comparison route lacked canonical, hreflang, robots, and complete social metadata | Implemented in working tree |
6969
| P0 | Reposition homepage metadata around “AI coding tools directory and comparisons” | Aligns the broad landing page with non-brand discovery intent | Implemented in working tree |
70-
| P1 | Expand `/model-providers` selection guidance | Average position 14.3 indicates near-term potential | Planned |
70+
| P0 | Add the lowercase domain as a fallback WebSite name | Google indexed pages but exact brand and domain discovery remained weak; the WebSite schema lacked an `alternateName` fallback | Implemented in working tree |
71+
| P0 | Correct `/model-providers` canonical and hreflang paths | Production pointed canonical and alternates to the non-public `/modelProviders` path while the sitemap used `/model-providers` | Implemented in working tree |
72+
| P0 | Remove static meta-keyword lists and product examples | Google Search does not use the keywords meta tag for indexing or ranking; manually curated product names become stale and distract from visible, localized search-intent content | Implemented in working tree |
73+
| P1 | Expand `/model-providers` selection guidance | Average position 14.3 indicates near-term potential | Implemented in working tree |
7174
| P1 | Expand `/clis/codex-cli` with a direct answer and setup coverage | Multiple queries rank between positions 14.9 and 16.0 | Planned |
7275
| P1 | Expand `/ides/vscode` for “VS Code AI” intent | Highest observed product-query impressions | Planned |
7376
| P1 | Expand `/ides/kiro` for AWS/Kiro entity coverage | Multiple related queries already receive impressions | Planned |

src/app/[locale]/ai-coding-landscape/page.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
2020
basePath: 'ai-coding-landscape',
2121
title,
2222
description,
23-
keywords:
24-
'AI coding ecosystem, AI development landscape, AI tools, coding tools visualization, vendor comparison, product matrix',
2523
ogType: 'website',
2624
})
2725
}

src/app/[locale]/articles/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
2222
basePath: 'articles',
2323
title,
2424
description,
25-
keywords: tPage('keywords'),
2625
ogType: 'website',
2726
})
2827
}

src/app/[locale]/clis/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
1111
locale: locale as Locale,
1212
category: 'clis',
1313
translationNamespace: 'pages.clis',
14-
additionalKeywords: ['Gemini CLI', 'GitHub Copilot CLI', 'command line AI tools'],
1514
})
1615
}
1716

src/app/[locale]/curated-collections/page.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ export async function generateMetadata({ params }: LocalePageProps) {
2323
basePath: 'curated-collections',
2424
title,
2525
description,
26-
keywords:
27-
'AI coding resources, MCP protocol, Agent2Agent, development standards, AI coding articles, semantic versioning, conventional commits',
2826
ogType: 'website',
2927
})
3028
}

src/app/[locale]/docs/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
2323
basePath: 'docs',
2424
title,
2525
description,
26-
keywords: tPage('keywords'),
2726
ogType: 'website',
2827
})
2928
}

src/app/[locale]/extensions/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
1111
locale: locale as Locale,
1212
category: 'extensions',
1313
translationNamespace: 'pages.extensions',
14-
additionalKeywords: ['AI code completion', 'VS Code extensions', 'JetBrains AI'],
1514
})
1615
}
1716

src/app/[locale]/layout.tsx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,6 @@ export async function generateMetadata({
6161
locale: locale as Locale,
6262
title,
6363
description,
64-
keywords: [
65-
'AI coding tools',
66-
'AI code editor',
67-
'AI IDE',
68-
'AI coding assistant',
69-
'AI CLI',
70-
'LLM models',
71-
'AI coding directory',
72-
'coding tools comparison',
73-
].join(', '),
7464
canonical: canonicalPath,
7565
languageAlternates: buildLanguageAlternates(''),
7666
openGraph: {

src/app/[locale]/manifesto/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ export async function generateMetadata({ params }: LocalePageProps) {
1818
basePath: 'manifesto',
1919
title: buildTitle({ title: tShared('terms.manifesto') }),
2020
description: tPage('subtitle'),
21-
keywords: 'AI Coding Manifesto, AI development philosophy, AI coding principles',
2221
ogType: 'website',
2322
})
2423
}

src/app/[locale]/model-intelligence-index/page.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ export async function generateMetadata({ params }: { params: Promise<{ locale: s
2323
basePath: 'model-intelligence-index',
2424
title: buildTitle({ title: tPage('title') }),
2525
description: tPage('description'),
26-
keywords: tPage('keywords'),
2726
ogType: 'website',
2827
})
2928
}

0 commit comments

Comments
 (0)