Warum Ihr neues Thumbnail immer noch das alte zeigt

Sie haben das Thumbnail geändert, Studio zeigt das neue, und der Feed zeigt weiter das alte. Nichts ist kaputt: die Bild-URL ändert sich nie, und das CDN sagt jedem Cache, er dürfe seine Kopie zwei Stunden behalten — ein Header, den ich gemessen und nicht geraten habe.

Trennen Sie zuerst die zwei Probleme

„Mein Thumbnail aktualisiert sich nicht“ und „mein Thumbnail wird nicht angezeigt“ sehen von außen gleich aus und haben nichts miteinander zu tun. Das Erste ist eine Cache-Frage und löst sich selbst; das Zweite ist eine Datei- oder Rechtefrage und löst sich nicht, bis Sie etwas tun.

Der Test dauert zehn Sekunden: ist das alte Bild zu sehen, oder überhaupt kein Bild? Ein altes Bild heißt eine Kopie im Cache, und alles in den nächsten Abschnitten gilt. Ein grauer Kasten, ein schwarzes Bild oder ein Videostandbild, das Sie nicht gewählt haben, heißt, dass das eigene Thumbnail gar nicht gesetzt ist — springen Sie zu den letzten zwei Abschnitten. Wenn Sie eigentlich ein Thumbnail ersetzen wollen — die Schritte, was das zurücksetzt, ob ein altes Video es wert ist —, steht das in dem Guide zum Wechseln eines Thumbnails.

Die eine Zahl, die es erklärt

Thumbnails werden von i.ytimg.com ausgeliefert, und dieser Host veröffentlicht seine Caching-Regeln in jeder Antwort. Ich habe drei verschiedene Dateien angefragt — ein statisches hqdefault.jpg, ein statisches maxresdefault.jpg und einen der parametrisierten WebP-Zuschnitte, die die Oberfläche wirklich verwendet — und alle drei antworteten gleich:

In den meisten Fällen sind die zwei Stunden die ganze Geschichte. Es ist nicht YouTube, das Ihre Änderung langsam verarbeitet — die Änderung ist längst erledigt. Es sind alle Caches zwischen YouTubes Speicher und Ihren Augen, denen zu Recht gesagt wurde, sie dürften weiter ausliefern, was sie haben.

Und die URL ändert sich nie

Das ist der Teil, der die zwei Stunden wichtig macht. Ein Thumbnail liegt auf einem Pfad, der aus der Video-ID gebaut ist — i.ytimg.com/vi/<id>/hqdefault.jpg —, und darin steht nichts darüber, welche Version des Bildes es ist. Ersetzen Sie das Thumbnail, bleibt die Adresse Byte für Byte dieselbe, also hat ein Cache mit den alten Bytes keine Möglichkeit zu wissen, dass er aufhören sollte.

Ich habe geprüft, ob sich die parametrisierten Varianten anders verhalten, denn sie tragen etwas, das wie Signaturen aussieht. Tun sie nicht: das rs-Token zu verfälschen lieferte trotzdem ein gültiges Bild, und den sqp-Parameter zu verfälschen lieferte ein anders großes Bild statt eines Fehlers. Diese Parameter beschreiben den Zuschnitt, sie sind kein Versionsstempel. Nichts im URL-Raum ist einer.

Das heißt: der Mechanismus hat keinen Invalidierungsschritt, den Sie auslösen könnten. Ein Thumbnail im Cache wird nicht gelöscht — es läuft ab.

Wer eine Kopie hält

Vier getrennte Caches, vier getrennte Uhren — daher wirkt die Aktualisierung so widersprüchlich: neu auf dem Handy, alt auf dem Notebook, alt bei einem Freund, neu im Inkognito-Fenster.

Ihr Browser. Er hat das Bild auf der Platte, mit der Zwei-Stunden-Anweisung, und fragt bis dahin nicht nach.

Der CDN-Knoten, der Ihnen geantwortet hat. Der age-Header sagt, wie alt seine Kopie bei der Antwort war — bei derselben Datei sah ich Werte von 0 bis 2371 Sekunden. Anderer Knoten, anderes Alter: zwei Menschen in verschiedenen Netzen sehen legitim verschiedene Bilder.

Jede App, die eine Linkvorschau geholt hat. Messenger, Slack, Discord und Foren speichern ihre eigene Kopie des Vorschaubildes nach ihrem eigenen Zeitplan, der meist deutlich länger als zwei Stunden ist und nicht in Ihrer Hand liegt.

Einbettungen und Drittanbieter-Clients. Alles, was die statischen Pfade nutzt, erhält dieselbe Zwei-Stunden-Anweisung, und alles, was eine eigene Kopie speichert, behält sie so lange es will.

Wie Sie die aktuelle Datei sofort sehen

Sie müssen nicht warten, um zu wissen, ob Ihre Änderung angekommen ist — Sie warten nur darauf, dass andere sie sehen. Drei Prüfungen, die günstigste zuerst, und die erste genügt fast allen.

Der Trick dahinter: ein Cache schlüsselt über die gesamte URL, Query-String inklusive, also ist jeder erfundene Parameter ein neuer Schlüssel und damit garantiert ein frischer Abruf. Ich habe es überprüft: hqdefault.jpg?cb=12345 antwortete mit 200 und genau denselben Bytes wie die saubere URL, samt gleichem etag — genau das will man: eine frische Kopie der Wahrheit, nicht ein anderes Bild.

  1. Öffnen Sie die Datei mit einem erfundenen ParameterFügen Sie i.ytimg.com/vi/<ID Ihres Videos>/maxresdefault.jpg?cb=1 in einem neuen Tab ein. Nach dem Fragezeichen geht alles; ändern Sie es jedes Mal. Was Sie sehen, ist der aktuelle Inhalt von YouTubes Speicher, ohne Cache dazwischen.
  2. Prüfen Sie den etag im Terminal, wenn Sie einen Beweis wollencurl -I auf dieselbe URL zeigt cache-control, etag und age. Notieren Sie den etag, machen Sie die Änderung, fragen Sie erneut: ein anderer etag heißt, die gespeicherte Datei ist wirklich ein anderes Bild — egal was Ihr Browser noch zeigt.
  3. Erst dann in einen Feed schauenWenn die Datei selbst richtig ist, sind die verbleibenden Unterschiede Cache-Alter und nicht Ihr Upload. Nichts, was Sie an der Datei tun, lässt die Kopie eines anderen früher ablaufen.

Was tun und was nicht

Zu tun ist: nichts, zwei Stunden lang. Der Satz ist unbefriedigend und ist im häufigen Fall die ganze Abhilfe: die Änderung ist gespeichert, übrig bleibt die Uhr.

Was man nicht tun sollte, ist der Teil, der gesagt werden muss. Laden Sie das Video nicht neu hoch — das Thumbnail ist ein eigenes Objekt an derselben Video-ID, und ein neuer Upload wirft alle Impressionen und alle Kommentare des Videos weg, für ein Problem, das Warten gelöst hätte. Ändern Sie das Thumbnail nicht noch einmal, um es zu „erzwingen“: jede Änderung setzt nichts zurück und öffnet ein frisches Zwei-Stunden-Fenster auf einem neuen Bild — so wird aus zehn Minuten ein Nachmittag.

Und wenn das Video in einem laufenden Thumbnail-Test ist, ist eine Änderung mitten im Flug die eine Handlung, die wirklich etwas Messbares kostet — aus den Gründen in dem Leitfaden zu A/B-Tests: Sie wissen dann nicht mehr, welche Variante die Zahlen erzeugt hat, die Sie lesen.

Linkvorschauen sind ein Cache, den Sie nicht kontrollieren

Wird ein Link zu Ihrem Video in einen Messenger eingefügt, holt diese App die Seite einmal, liest og:image — das auf maxresdefault.jpg zeigt, wie in dem Leitfaden zu unscharfen Thumbnails gemessen — und behält ihre eigene Kopie der Vorschau. Von da an zeigt die App Ihnen ihren Schnappschuss, nicht YouTubes Datei.

Es gibt keinen allgemeinen Weg, das zu leeren, und der Zwei-Stunden-Header gilt nicht für eine Kopie, die die App selbst gespeichert hat. Zwei Plattformen veröffentlichen ein Werkzeug, um ihren eigenen Cache neu einzulesen — Facebooks Sharing Debugger und LinkedIns Post Inspector — und für alles andere lautet die praktische Antwort: ein vor der Änderung geposteter Link behält das alte Bild, ein danach geposteter bekommt das neue.

Wenn es überhaupt kein Cache ist

Wenn weder das alte noch das neue Bild da ist, ist der Cache nicht beteiligt und Warten hilft nicht. Drei Ursachen, in der Reihenfolge, in der sie sich als Antwort erweisen.

Eigene Thumbnails sind für das Konto nicht verfügbar. Der Upload fällt stillschweigend auf ein automatisch erzeugtes Standbild zurück. Dafür gibt es einen eigenen Leitfaden, weil sich die Voraussetzungen geändert haben und der alte Rat falsch ist: warum die Option für ein eigenes Thumbnail fehlt.

Die Datei wurde abgelehnt. Über der Grenze des Geräts, von dem Sie hochgeladen haben — 50 MB am Computer, 2 MB am Smartphone —, ein nicht unterstütztes Format oder eine Entfernung nach Richtlinien. Ein abgelehnter Upload lässt das vorige Thumbnail stehen, was sich genau wie „meine Änderung wurde nicht übernommen“ liest — prüfen Sie, dass die Datei unter der Grenze liegt und in einem der akzeptierten Formate ist, aufgeführt in dem Leitfaden zu Größe und Spezifikationen.

Die Variante, die Sie ansehen, existiert nicht. Nicht jede Größe existiert für jedes Video: bei einer Quelle unter 1280 Pixeln Breite gibt maxresdefault.jpg 404 mit einem kleinen Platzhalter-Körper zurück. Ich habe es an einem Upload von 2005 geprüft — maxres und sddefault beide 404, hqdefault einwandfrei. Wenn Sie mit einer URL statt in der Oberfläche testen, betrifft dieser 404 die Variante, nicht Ihr Thumbnail. Eine Entfernung nach den Thumbnail-Richtlinien sieht von außen identisch aus und ist überhaupt kein Cache-Problem.

Studio ist kein Beweis, und Ihr eigener Feed auch nicht

Studio zeigt Ihnen die Datei, die es gerade gespeichert hat, ohne CDN dazwischen — es aktualisiert sofort und sagt nichts darüber, was ein Zuschauer sieht. Ihr eigener Feed ist das Gegenteil: die Fläche mit der höchsten Wahrscheinlichkeit einer veralteten Kopie, weil Sie sie zuletzt besucht haben und Ihr Browser deshalb das älteste zwischengespeicherte Bild von allen hat.

Diese Asymmetrie ist der Grund, warum „bei mir ist es aktuell, bei meinem Abonnenten nicht“ und „bei denen ist es aktuell, bei mir nicht“ innerhalb derselben zwei Stunden beide normal sind — und warum keine der beiden Beobachtungen eine Handlung wert ist.

Die Prüfung, die das ganze Problem vermeidet

Fast jeder panische Thumbnail-Tausch ist eine Entscheidung, die vor der Veröffentlichung möglich gewesen wäre. Der Grund, warum Leute eine Stunde nach dem Upload das Thumbnail wechseln, ist, dass der Feed der erste Ort war, an dem sie es neben anderen Videos gesehen haben — und dann kostet die Änderung zwei Stunden veraltete Caches und, wenn ein Test läuft, den Test.

Es zuerst in einem Feed zu sehen, ist genau der Zweck von dem Vorschau-Werkzeug: Ihr Thumbnail zwischen echter Konkurrenz, in den echten gerenderten Größen, bevor ein Video daran hängt. Die beste Abhilfe für ein Cache-Problem ist, den zweiten Upload nicht zu brauchen.

Die Fragen, die alle stellen

Wie lange dauert es, bis ein YouTube-Thumbnail aktualisiert ist?

Die Änderung wird sofort gespeichert. Zeit brauchen die ablaufenden Caches: YouTubes Bild-CDN sendet cache-control: max-age=7200 — zwei Stunden —, also darf jede schon geholte Kopie bis dahin legitim ausgeliefert werden.

Wie erzwinge ich, dass YouTube mein Thumbnail neu lädt?

Sie können es nicht: die Bild-URL enthält keine Version, und die Caches, die sie halten, können sie nur ablaufen lassen. Sie können aber die aktuelle Datei selbst sehen, indem Sie der Bild-URL irgendeinen Parameter anhängen — das ist ein neuer Cache-Schlüssel und erzwingt einen frischen Abruf.

Warum erscheint auf manchen Geräten noch das alte Thumbnail?

Weil jeder Cache seine eigene Uhr hat: Ihr Browser, der CDN-Knoten, der Ihnen geantwortet hat, und jede App, die eine Linkvorschau gespeichert hat. Bei derselben Datei habe ich Knoten-Kopien von 0 bis 2371 Sekunden Alter gemessen — in diesen zwei Stunden werden verschiedenen Menschen wirklich verschiedene Versionen ausgeliefert.

Soll ich das Video neu hochladen, wenn sich das Thumbnail nicht ändert?

Nein. Das Thumbnail ist ein eigenes Objekt an derselben Video-ID, ein neuer Upload verwirft also alle Impressionen, Aufrufe und Kommentare — für ein Problem, das zwei Stunden Warten von selbst gelöst hätten.

Mein Thumbnail wird überhaupt nicht angezeigt — ist das dasselbe Problem?

Nein, und Warten hilft nicht. Ein altes Bild heißt Cache; gar kein eigenes Bild heißt, dass die Option für das Konto nicht verfügbar ist, dass die Datei wegen Größe oder Format abgelehnt wurde, oder dass Sie eine Variante anfragen, die für dieses Video nicht existiert.

Probier dein eigenes Thumbnail im Vorschau-Tool aus →