The og/ route was disabled during the initial setup. Currently Meta.svelte uses the cover image directly via getCoverUrl() instead of a purpose-built 1200x630 OG image. Social sharing previews are either missing or use an arbitrarily sized cover.

Current State

  • No src/routes/og/ route exists
  • Meta.svelte sets og:image to the raw cover image src (getCoverUrl(cover))
  • OG image meta tags claim 1200x630 PNG but the actual image may be a different size and format

Tasks

  • Create src/routes/og/[...path]/+server.js route that generates 1200x630 OG images
  • Decide on generation approach (satori, puppeteer, canvas, or static template)
  • Update Meta.svelte to point og:image at the generated OG endpoint instead of the raw cover
  • Ensure OG images are prerendered at build time for static hosting

OG images

Better social sharing

A static site template built with SvelteKit.

Sveleton, 2025