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',
}
OptionDescriptionBest Practice
titleBrowser tab & search resultsInclude server name + keywords, 50-60 chars
descriptionSearch result snippetCompelling summary, 150-160 characters
keywordsSEO keywordsComma-separated, relevant terms
siteUrlCanonical URLFull URL with https://
faviconBrowser icon32x32 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 TypeImage SizeBest For
summary_large_image1200x630Most websites, announcements
summary144x144 (min)Simple shares, less prominent

Additional Settings

seo: {
  // ... other settings
  
  // Browser theme color (mobile address bar)
  themeColor: '#8b5cf6',
  
  // Search engine directives
  robots: 'index, follow',
}
OptionDescription
themeColorColors the browser UI on mobile (use hex)
robotsTell 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