SEO & Social Cards
Optimize your site for search engines and create beautiful social media embeds.
○What This Controls
These settings affect how your site appears in Google search results, Discord embeds, Twitter cards, and Facebook shares.
Basic SEO
src/config/site.config.ts
seo: {
// Browser tab title
title: 'MyServer - Premium Minecraft Server',
// Search result description (keep under 160 characters)
description: 'Join MyServer for the best Minecraft experience...',
// Keywords for search engines
keywords: 'minecraft server, survival, skyblock, pvp',
// Your website URL
siteUrl: 'https://myserver.net',
// Favicon
favicon: '/favicon.png',
}| Option | Description | Best Practice |
|---|---|---|
| title | Browser tab & search results | Include server name + keywords, 50-60 chars |
| description | Search result snippet | Compelling summary, 150-160 characters |
| keywords | SEO keywords | Comma-separated, relevant terms |
| siteUrl | Canonical URL | Full URL with https:// |
| favicon | Browser icon | 32x32 or 64x64 ICO/PNG |
Open Graph (Discord & Facebook)
Open Graph controls how your site looks when shared on Discord, Facebook, LinkedIn, and other platforms.
seo: {
// ... basic settings
openGraph: {
// Large preview image (1200x630 recommended)
image: '/og-image.png',
// Site name in embeds
siteName: 'MyServer',
// Content type
type: 'website',
},
}OG Image Guidelines
- Size: 1200x630 pixels (1.91:1 ratio)
- Format: PNG or JPG
- Include your logo and server name
- Use eye-catching visuals
- Keep text readable at small sizes
- File size: under 1MB
△Discord Embeds
Discord caches images aggressively. If you update your OG image, add a query string like
/og-image.png?v=2 to force a refresh.Twitter Cards
Configure how your site appears when shared on Twitter/X.
seo: {
// ... other settings
twitter: {
// 'summary_large_image' = large preview
// 'summary' = small square image
card: 'summary_large_image',
// Twitter image (can reuse OG image)
image: '/og-image.png',
// Your Twitter handle (without @)
site: 'myserver',
// Creator handle (without @)
creator: 'serverowner',
},
}| Card Type | Image Size | Best For |
|---|---|---|
| summary_large_image | 1200x630 | Most websites, announcements |
| summary | 144x144 (min) | Simple shares, less prominent |
Additional Settings
seo: {
// ... other settings
// Browser theme color (mobile address bar)
themeColor: '#8b5cf6',
// Search engine directives
robots: 'index, follow',
}| Option | Description |
|---|---|
| themeColor | Colors the browser UI on mobile (use hex) |
| robots | Tell search engines how to index your site |
Robots Options
- "index, follow" - Allow indexing and link following (default)
- "noindex, follow" - Don't index but follow links
- "index, nofollow" - Index but don't follow links
- "noindex, nofollow" - Don't index or follow
Complete Example
seo: {
title: 'NexusCraft - Premium Minecraft Server',
description: 'Join 10,000+ players on NexusCraft. Custom game modes, active community, and 24/7 uptime.',
keywords: 'minecraft, server, survival, skyblock, factions, pvp, gaming',
siteUrl: 'https://nexuscraft.net',
favicon: '/favicon.png',
openGraph: {
image: '/og-image.png',
siteName: 'NexusCraft',
type: 'website',
},
twitter: {
card: 'summary_large_image',
image: '/og-image.png',
site: 'nexuscraft',
creator: '',
},
themeColor: '#8b5cf6',
robots: 'index, follow',
}Testing Your Setup
- Facebook: Use the Facebook Sharing Debugger
- Twitter: Use Twitter Card Validator
- Discord: Paste your URL in a chat
- Google: Search for "site:yourdomain.com"
- General: Use opengraph.xyz to preview all platforms