Skip to main content

OG-Bild lädt nicht? Server vs. CDN

6 min read

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
SchichtSymptomTypische Ursache
Origin403, 401, 500Auth nötig, App-Fehler, falscher Dateipfad
CDN403 nur für BotsBot Fight Mode, Geo-Block, Hotlink-Schutz
DNS / SSLVerbindung fehlgeschlagenZertifikat-Mismatch, abgelaufen
Anwendung200 aber HTML BodyRewrite 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:

SignalGutSchlecht
HTTP-Status200301-Schleife, 403, 404, 502
Content-Typeimage/jpeg, image/png, image/webptext/html, application/json
Response-ZeitUnter 2 SekundenTimeout oder 5+ Sekunden
Content-LengthPasst zur Dateigröße0 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:// in og: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.

LinkedIn

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

  1. og:image-URL in Seitenquelltext bestätigen (Tag existiert).
  2. curl -I liefert 200 mit Image Content-Type.
  3. curl -I mit Crawler User Agent liefert 200 (nicht 403).
  4. Bild öffnet im Inkognito ohne Login.
  5. Datei unter 1 MB, ideal unter 300 KB.
  6. CDN-Cache nach Änderungen gepurgt.
  7. Seite mit OpenGraph Check scannen - Bild in Vorschauen sichtbar.
  8. 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.