Automatisierte OG-Bildgenerierung Erstellen Sie dynamische soziale Karten mit einer Screenshot-API
Hören Sie auf, Social-Preview-Bilder manuell zu erstellen. Erfahren Sie, wie Sie mit HTML-Vorlagen und einer Screenshot-API schöne OG-Bilder "on-the-fly" generieren. Tutorial mit vielen Codebeispielen.
Sie verbringen Stunden damit, den perfekten Blogbeitrag zu verfassen, klicken auf Veröffentlichen und teilen ihn auf Twitter. Und dann… eine langweilige graue Box. Keine Vorschau. Kein Bild. Nur ein trauriger, nackter Link, den niemand anklicken möchte.
Kommt Ihnen das bekannt vor? OG (Open Graph)-Bilder sind die unbesungenen Helden des Social Sharings. Sie sind buchstäblich der Unterschied, ob Ihre Inhalte übersehen oder angeklickt werden. Und wenn Sie sie immer noch manuell in Figma für jede Seite erstellen – müssen wir reden.
Was sind OG-Bilder (und warum sollten Sie sich darum kümmern)?
OG-Bilder sind die Vorschaukarten, die erscheinen, wenn Sie einen Link in sozialen Medien, Slack, Discord oder überall dort teilen, wo URLs aufgelöst werden. Sie werden in den HTML-Tags Ihrer Website definiert: <meta> Tags:
<meta property="og:image" content="https://yoursite.com/og/your-page.png" />
<meta property="og:title" content="Your Awesome Title" />
<meta property="og:description" content="A compelling description" />
Das Problem? Das manuelle Erstellen dieser Bilder ist nicht skalierbar. Haben Sie 100 Blogbeiträge? Das sind 100 Bilder. Haben Sie dynamische Produktseiten? Viel Glück, da Schritt zu halten.
Die Lösung: OG-Bilder "on-the-fly" generieren
Hier ist der Trick: Anstatt Bilder vorab zu generieren, rendern wir eine HTML-Vorlage und machen einen Screenshot davon in Echtzeit mit einer Screenshot-API. Der Ablauf sieht so aus:
- Erstellen Sie eine HTML-Vorlage für Ihre OG-Karte
- Hosten Sie sie mit dynamischen Parametern (Titel, Autor usw.)
- Richten Sie Ihr
og:imageMeta-Tag auf die Screenshot-API aus - Fertig. Jede Seite erhält eine einzigartige, schöne Vorschaukarte.
Schritt 1: Erstellen Sie Ihre OG-Vorlage
Erstellen Sie zuerst eine einfache HTML-Seite, die Ihre soziale Karte rendert. Dies kann eine dedizierte Route in Ihrer App oder eine statische HTML-Datei sein.
<!-- /og-template?title=Hello%20World&author=John -->
<!DOCTYPE html>
<html>
<head>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
width: 1200px;
height: 630px;
display: flex;
flex-direction: column;
justify-content: center;
padding: 60px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
font-family: system-ui, sans-serif;
color: white;
}
h1 {
font-size: 64px;
font-weight: 800;
line-height: 1.1;
margin-bottom: 24px;
}
.author {
font-size: 28px;
opacity: 0.9;
}
.logo {
position: absolute;
bottom: 40px;
right: 60px;
font-size: 24px;
font-weight: 600;
}
</style>
</head>
<body>
<h1 id="title">Your Title Here</h1>
<p class="author">by <span id="author">Author Name</span></p>
<div class="logo">yoursite.com</div>
<script>
const params = new URLSearchParams(window.location.search);
document.getElementById('title').textContent = params.get('title') || 'Untitled';
document.getElementById('author').textContent = params.get('author') || 'Anonymous';
</script>
</body>
</html>
Der Schlüssel hier: 1200 × 630 Pixel. Das ist die magische Größe für OG-Bilder. Twitter, Facebook, LinkedIn – sie alle spielen gut mit dieser Dimension.
Schritt 2: Machen Sie einen Screenshot mit einer API
Nun zum unterhaltsamen Teil. Anstatt Puppeteer auf Ihrem Server zu starten (und sich mit dem ganzen Headless-Chrome-Drama auseinanderzusetzen), verwenden Sie eine Screenshot-API, um Ihre Vorlage zu rendern.
Hier ist ein Node.js-Beispiel, das das allgemeine Muster zeigt:
// Generate OG image URL using a screenshot API
function getOgImageUrl(title, author) {
const templateUrl = encodeURIComponent(
`https://yoursite.com/og-template?title=${encodeURIComponent(title)}&author=${encodeURIComponent(author)}`
);
// Most screenshot APIs follow this pattern:
// Pass your template URL + dimensions, get back an image
return `https://your-screenshot-api.com/capture?` +
`url=${templateUrl}` +
`&width=1200` +
`&height=630` +
`&format=png`;
}
Schritt 3: Integrieren Sie es in Ihre Meta-Tags
Legen Sie in den <head>Tags Ihrer Seite dynamisch das OG-Bild fest:
// Next.js example (pages/_app.js or layout.tsx)
import Head from 'next/head';
export default function BlogPost({ post }) {
const ogImage = getOgImageUrl(post.title, post.author);
return (
<>
<Head>
<meta property="og:image" content={ogImage} />
<meta property="og:title" content={post.title} />
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content={ogImage} />
</Head>
<article>{/* Your content */}</article>
</>
);
}
Schritt 4: Fügen Sie Caching hinzu (wichtig!)
Sie möchten die API nicht jedes Mal aufrufen, wenn der Crawler von Twitter Ihre Seite überprüft. Richten Sie eine Caching-Schicht ein:
// Edge function example (Vercel/Cloudflare)
export default async function handler(req) {
const { title, author } = req.query;
// Call your screenshot API
const screenshotUrl = buildScreenshotUrl({
url: `https://yoursite.com/og-template?title=${title}&author=${author}`,
width: 1200,
height: 630,
format: 'png'
});
const response = await fetch(screenshotUrl);
const imageBuffer = await response.arrayBuffer();
return new Response(imageBuffer, {
headers: {
'Content-Type': 'image/png',
'Cache-Control': 'public, max-age=86400, s-maxage=604800', // Cache for a week
},
});
}
Jetzt verweist Ihr Meta-Tag auf Ihren eigenen Endpunkt, der das Ergebnis zwischenspeichert:
<meta property="og:image" content="https://yoursite.com/api/og?title=My%20Post&author=John" />
Profi-Tipps 🔥
- Verwenden Sie Webfonts: Google Fonts funktionieren hervorragend. Stellen Sie nur sicher, dass sie geladen sind, bevor der Screenshot erstellt wird.
- Fügen Sie Ihr Branding hinzu: Logos, Verläufe, Muster – machen Sie es in einem Feed erkennbar.
- Halten Sie den Text groß: Soziale Karten werden oft als Thumbnails angezeigt. 48px+ für Titel.
- Testen Sie mit Validatoren: Verwenden Sie den Kartengenerator von Twitter Und den Debugger von Facebook zum Vorschauen.
Realwelt-Beispiele
Dieses Muster wird von einigen der besten Entwickler-Blogs verwendet:
- Vercel/Next.js: Ihre OG-Bilder enthalten Titel, Datum und Lesezeit des Beitrags
- GitHub: Repo-Karten zeigen Sterne, Forks und Beschreibung
- Dev.to: Artikelkarten mit Autoren-Avatar und Reaktionsanzahl
Sie können dasselbe in 20 Minuten mit einer Screenshot-API tun. Keine Infrastruktur zu warten, keine Chromium-Binärdateien zu handhaben.
Der vollständige Ablauf
// Full working example with error handling
async function generateOgImage(title, author, category) {
const templateParams = new URLSearchParams({
title: title.slice(0, 60), // Truncate long titles
author,
category: category || 'Blog'
});
const templateUrl = `https://yoursite.com/og-template?${templateParams}`;
try {
// Adapt this to your screenshot API of choice
const response = await fetch(SCREENSHOT_API_ENDPOINT, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.SCREENSHOT_API_KEY}`
},
body: JSON.stringify({
url: templateUrl,
viewport: { width: 1200, height: 630 },
format: 'png',
waitUntil: 'networkidle' // Wait for fonts/images to load
})
});
if (!response.ok) throw new Error('Screenshot failed');
return await response.arrayBuffer();
} catch (error) {
console.error('OG generation failed:', error);
// Return a fallback image
return fetch('https://yoursite.com/default-og.png').then(r => r.arrayBuffer());
}
}
Warum eine Screenshot-API anstelle von Self-Hosting verwenden?
Sie könnten Puppeteer selbst ausführen. Aber so sieht das aus:
- 600 MB+ Docker-Images mit Chromium
- Speicherspitzen, die Ihren Server abstürzen lassen
- Zombie-Prozesse, die Ihre Container heimsuchen
- Probleme bei der Schriftdarstellung in verschiedenen Umgebungen
Oder Sie könnten es einfach… nicht tun. Eine Screenshot-API kümmert sich um all das, und Sie zahlen pro Screenshot statt pro Serverstunde. Für die meisten Websites ist das dramatisch günstiger.
Erste Schritte
Bereit, Ihre Social-Media-Beiträge professionell aussehen zu lassen? Schauen Sie sich Snapopa an, eine Screenshot-API, die speziell für diesen Anwendungsfall entwickelt wurde. Sie werden dynamische OG-Bilder in weniger als 30 Minuten haben.
Ihr Twitter-Auftritt wird sich verbessern. 📈
Das könnte Ihnen auch gefallen
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug wurde am 4. Februar 2026 hinzugefügt
