Customize Branding, Navigation, and SEO
최규민
May 24, 20261 min read
Customize the public site
Code-accurate customization notes
✅
The footer currently renders Home, About, Template, and any non-empty social URLs. The Template link comes from brand.templateUrl. For larger footer navigation, edit src/components/layout/Footer.tsx.
- Dark mode uses the built-in useThemePreference hook and localStorage key theme; it does not depend on next-themes.
- Category names in Notion must match brand.categories[].name exactly for category filtering.
- brand.url drives canonical URLs, sitemap, RSS links, Open Graph URLs, and JSON-LD.
Most site-wide settings live in src/config/brand.ts. This file controls identity, metadata, colors, fonts, navigation, social links, assets, and optional integrations.
Site identity
typescript
name: "My Blog",
title: "Notes on building software",
description: "Long-form writing about engineering and product design.",
url: "https://example.com",
lang: "en",Update brand.url before production. It is used by canonical links, RSS, sitemap, Open Graph, and JSON-LD metadata.
Categories
The category name in Notion must exactly match the name in brand.ts. The slug controls the URL; the name controls filtering.
typescript
categories: [
{ name: "Development", slug: "development" },
{ name: "Design", slug: "design" },
{ name: "Product", slug: "product" },
]SEO checklist
- Use a real production domain.
- Provide a high-quality Open Graph image.
- Write useful summaries for posts.
- Keep slugs stable after publishing.