Dein og:image-Tag steht im HTML. Der Facebook Debugger zeigt die URL. Aber die Vorschau hat kein Bild oder einen kaputten Platzhalter. Das ist ein Lade-Problem, kein fehlendes Tag.
Dieser Guide behandelt Server-Fehler, CDN-Fehlkonfiguration und Bot-Blocking, wenn die Bild-URL existiert, Crawler sie aber nicht abrufen können. Fehlt das Tag selbst, lies Fehlendes OG-Bild beheben.
Kurzantwort
Existiert og:image, lädt das Bild aber nicht, öffne die Bild-URL im Inkognito-Tab und führe curl -I aus. Achte auf Nicht-200-Status, Redirects zu Login-Seiten, falschen Content-Type, Response-Zeiten über 2-3 Sekunden oder Bot-Challenges von Cloudflare und ähnlichen WAFs. Fixe Server-Zugriff für Crawler User Agents, CDN-Cache-Regeln und stelle sicher, dass der Origin Bild-Bytes ohne Auth liefert.
Server vs. CDN: wo es scheitert
Crawler → CDN Edge → Origin Server → Bilddatei
↑ ↑
Cache Miss 403, Timeout,
stale HTML falscher Pfad
| Schicht | Symptom | Typische Ursache |
|---|---|---|
| Origin | 403, 401, 500 | Auth nötig, App-Fehler, falscher Dateipfad |
| CDN | 403 nur für Bots | Bot Fight Mode, Geo-Block, Hotlink-Schutz |
| DNS / SSL | Verbindung fehlgeschlagen | Zertifikat-Mismatch, abgelaufen |
| Anwendung | 200 aber HTML Body | Rewrite liefert SPA-Shell statt Bild |
Das Meta-Tag passt. Die Bytes kommen nie beim Crawler an.
Schritt 1: Als Crawler reproduzieren
Öffne die exakte og:image-URL aus dem Seitenquelltext in einem Inkognito-Fenster. Kein Login, keine gecachte Session.
Dann per Kommandozeile:
curl -I "https://deineseite.de/images/og.jpg"Prüfen:
| Signal | Gut | Schlecht |
|---|---|---|
| HTTP-Status | 200 | 301-Schleife, 403, 404, 502 |
| Content-Type | image/jpeg, image/png, image/webp | text/html, application/json |
| Response-Zeit | Unter 2 Sekunden | Timeout oder 5+ Sekunden |
| Content-Length | Passt zur Dateigröße | 0 oder winzig (Fehlerseite) |
Auch mit Facebook-Crawler User Agent testen:
curl -I -A "facebookexternalhit/1.1" "https://deineseite.de/images/og.jpg"Liefert das 403, dein Browser aber 200, ist Bot-Schutz schuld.
Schritt 2: Server-seitige Probleme
Auth und Paywalls
Staging hinter Basic Auth blockt jeden Crawler. Produktionsseiten mit Membership-Plugins schützen manchmal /wp-content/uploads/. Das Bild muss ohne Cookies öffentlich lesbar sein.
Falscher Pfad oder Case Sensitivity
Linux-Server sind case-sensitiv. OG.jpg vs. og.jpg bricht in Produktion, funktioniert auf macOS lokal.
App-Route liefert HTML
Dynamische Image-Routen, die crashen, liefern HTML-Fehlerseiten mit Status 200. Der Crawler speichert Müll. URL öffnen und prüfen, ob du ein Bild siehst, kein Next.js-Error oder JSON.
Siehe Dynamische OG-Bilder erklärt für Route-Debugging.
Langsamer Origin
Übergroße PNGs (2 MB+) oder kalte Serverless-Starts verursachen Timeouts. Unter 300 KB komprimieren. Siehe Format-Guide.
Schritt 3: CDN-Probleme
Bot-Schutz (Cloudflare, Akamai, Sucuri)
WAF-Regeln challengen oder blocken Nicht-Browser User Agents. Social Crawler lösen keine JavaScript-Challenges.
Fix: Crawler User Agents allowlisten (facebookexternalhit, LinkedInBot, Twitterbot, Slackbot, Discordbot) oder Bot Fight Mode auf dem Bild-Pfad deaktivieren.
Hotlink-Schutz
CDNs, die Requests ohne passenden Referer blocken, brechen OG-Fetches. Crawler senden oft keinen Referer oder einen fremden.
Fix: Hotlink-Schutz für /images/ oder OG-Asset-Pfad deaktivieren.
Cache liefert Stale oder Falsches
CDN cached 404 oder alte HTML-Response für die Bild-URL. Nach Upload URL gezielt purgen.
Fix: CDN-Cache purgen, mit curl -I verifizieren, in Plattform-Debuggern re-scrapen. Siehe Open Graph Cache Busting.
Content-Negotiation-Mismatch
CDN liefert manchen Clients WebP und scheitert bei anderen. Dateiendung muss zu Bytes und Content-Type passen.
Schritt 4: SSL und Redirect-Ketten
Crawler folgen wenigen Redirects. Lange Ketten oder HTTP-zu-HTTPS-Fehlkonfiguration verursachen Ausfälle.
- HTTPS direkt in
og:image - Keine Image-URLs über URL-Shortener leiten
- Mixed Content fixen: nie
http://inog:image
Redirect zur Login-Seite liefert nach Redirect 200 HTML. Immer finale Destination curlen.
Schritt 5: robots.txt und Firewall
robots.txt blockt Bild-URLs selten direkt, aber manche Setups disallowen /media/ oder ganze CDN-Subdomains.
Corporate Firewalls und Geo-Blocking können US-Crawler (Meta, LinkedIn) von EU-only Origins fernhalten. Von externem Uptime-Monitor außerhalb deines Netzes testen.
Plattform-spezifisches Lade-Verhalten
Facebook und WhatsApp
Metas Crawler ist aggressiv, aber timeout-sensitiv. Bilder über 8 MB oder langsame TLS-Handshakes scheitern still. Facebook Sharing Debugger und Image-Scrape-Warnungen prüfen.
LinkedInBot holt og:image getrennt vom Seiten-HTML. Seite lädt in Browser-DevTools, scheitert aber, wenn die Bild-URL LinkedInBot blockt.
X (Twitter)
X validiert twitter:image und OG-Fallbacks. Card Validator zeigt Fetch-Fehler bei unerreichbarer Bild-URL.
Discord und Slack
Beide holen OG-Bilder beim Unfurl. Discord reagiert empfindlich auf langsame Responses. Slack cached pro Workspace; fixes Bild braucht ggf. neues Unfurl.
Fix-Checkliste
og:image-URL in Seitenquelltext bestätigen (Tag existiert).curl -Iliefert 200 mit Image Content-Type.curl -Imit Crawler User Agent liefert 200 (nicht 403).- Bild öffnet im Inkognito ohne Login.
- Datei unter 1 MB, ideal unter 300 KB.
- CDN-Cache nach Änderungen gepurgt.
- Seite mit OpenGraph Check scannen - Bild in Vorschauen sichtbar.
- In Plattform-Debugger re-scrapen.
Häufige Fehler
Tag fixen, obwohl Tag schon stimmt
Doppelte og:image-Tags oder Meta-Plugin-Wechsel helfen nicht bei 403 auf der URL. Erst Zugriff fixen.
Nur im eingeloggten Browser testen
Deine Session umgeht Auth. Crawler haben keine Session.
Erst Plattform-Cache beschuldigen
Cache zeigt altes Bild, nicht leeres. Gar kein Bild bedeutet meist Fetch-Fehler, nicht stale Cache. Siehe Link-Vorschau-Cache erklärt.
Alle Bots in robots.txt blocken
Disallow: / oder aggressive Bot-Regeln an CDN-WAF blocken Preview-Crawler mit SEO-Bots.
FAQ
Warum existiert og:image, wird aber nicht angezeigt?
Der Crawler kann die Datei nicht laden. Häufig: 403 Bot-Block, Auth-Wall, Timeout, falscher Content-Type oder URL liefert HTML statt Bild-Bytes.
Wie teste ich, ob Crawler mein OG-Bild erreichen?
curl -I -A "facebookexternalhit/1.1" DEINE_BILD_URL. Status 200 mit Image Content-Type. Dann mit OpenGraph Check scannen.
Blockiert Cloudflare Open-Graph-Bilder?
Bot Fight Mode und manche WAF-Regeln blocken Social Crawler. facebookexternalhit, LinkedInBot, Twitterbot, Slackbot, Discordbot auf dem Bild-Pfad allowlisten.
Warum lädt das Bild im Browser, aber nicht in Link-Vorschauen?
Browser hat Cookies, besteht JS-Challenges oder nutzt andere CDN-Edge. Crawler nicht. Inkognito und curl testen.
Kann ein CDN eine kaputte OG-Image-Response cachen?
Ja. Gecachte 404 oder HTML-Fehlerseite bleibt bis URL-Purge. Purgieren und mit curl prüfen.
Ist das anders als fehlendes og:image-Tag?
Ja. Fehlendes Tag heißt: Meta-Property fehlt im HTML. Nicht laden heißt: Tag zeigt auf URL, die Crawler nicht abrufen. Unterschiedliche Fixes.
Welche Response-Zeit ist zu langsam für OG-Bilder?
Unter 2 Sekunden bis First Byte anstreben. Über 5 Sekunden scheitern oft bei Meta- und Discord-Crawlern.
Fazit
Existierendes og:image mit kaputter Vorschau ist fast immer ein Fetch-Problem auf Server- oder CDN-Ebene. Bild-URL mit Crawler User Agents curlen, 403s und Timeouts fixen, CDN-Cache purgen und mit OpenGraph Check bestätigen. Tag-Syntax-Fixes gehören in den Guide für fehlende OG-Bilder.