feat: SEO improvements — Twitter cards, canonical URL, sitemap, robots, llms.txt

Adds metadataBase, og:image, og:url, Twitter card tags, canonical
URL, sitemap.ts, robots.ts with AI crawler directives, and llms.txt.
This commit is contained in:
Vectry
2026-02-10 02:21:19 +00:00
parent 40d60b1ce6
commit de8b827562
4 changed files with 77 additions and 0 deletions

View File

@@ -17,11 +17,13 @@ const jetbrainsMono = JetBrains_Mono({
});
export const metadata: Metadata = {
metadataBase: new URL("https://codeboard.vectry.tech"),
title: "CodeBoard — Understand any codebase in 5 minutes",
description:
"Paste a GitHub URL and get interactive onboarding documentation with architecture diagrams, module breakdowns, and getting started guides. Built by Vectry AI consultancy.",
keywords: ["code analysis", "documentation", "github", "codebase", "AI", "developer tools"],
authors: [{ name: "Vectry" }],
creator: "Vectry",
icons: {
icon: [
{ url: "/favicon.ico", sizes: "any" },
@@ -35,6 +37,31 @@ export const metadata: Metadata = {
description:
"Paste a GitHub URL and get interactive onboarding documentation with architecture diagrams, module breakdowns, and getting started guides.",
type: "website",
url: "https://codeboard.vectry.tech",
siteName: "CodeBoard",
locale: "en_US",
images: [
{
url: "/og-image.png",
width: 1200,
height: 630,
alt: "CodeBoard — Understand any codebase in 5 minutes",
},
],
},
twitter: {
card: "summary_large_image",
title: "CodeBoard — Understand any codebase in 5 minutes",
description:
"Paste a GitHub URL and get interactive onboarding documentation with architecture diagrams, module breakdowns, and getting started guides.",
images: ["/og-image.png"],
},
alternates: {
canonical: "https://codeboard.vectry.tech",
},
robots: {
index: true,
follow: true,
},
};

View File

@@ -0,0 +1,20 @@
import { MetadataRoute } from "next";
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{ userAgent: "GPTBot", allow: "/" },
{ userAgent: "ClaudeBot", allow: "/" },
{ userAgent: "PerplexityBot", allow: "/" },
{ userAgent: "CCBot", disallow: "/" },
{ userAgent: "Google-Extended", disallow: "/" },
{ userAgent: "Bytespider", disallow: "/" },
{
userAgent: "*",
allow: "/",
disallow: ["/api/"],
},
],
sitemap: "https://codeboard.vectry.tech/sitemap.xml",
};
}

View File

@@ -0,0 +1,8 @@
import { MetadataRoute } from "next";
export default function sitemap(): MetadataRoute.Sitemap {
const baseUrl = "https://codeboard.vectry.tech";
return [
{ url: baseUrl, lastModified: new Date(), changeFrequency: "weekly", priority: 1.0 },
];
}