Übersicht

Der AMP-Cache von Google stellt im Cache gespeicherte Kopien von gültigen, im Web veröffentlichten AMP-Inhalten bereit. Inhalte, die direkt aus dem Google AMP Cache abgerufen werden, sind noch schneller verfügbar.

Wenn du den Google AMP Cache nutzen möchtest, muss eine AMP-URL mit dem Format für den AMP Cache direkt aus dem Cache abgerufen werden. Jedes Mal, wenn ein Nutzer auf AMP-Inhalte aus dem Cache zugreift, werden diese automatisch aktualisiert. Der nächste Nutzer sieht die neuen Versionen, sobald die Inhalte im Cache gespeichert wurden.

URL-Format des AMP Cache

Das URL-Format des AMP Cache setzt sich aus den folgenden Komponenten zusammen:

Komponente Beschreibung
Name der Subdomain

Vom Google AMP Cache erstellte Subdomains sind für Menschen lesbar, sofern Zeichenbeschränkungen und technische Spezifikationen dies zulassen, und ähneln stark der Domain des Publishers. Wenn möglich, werden die Subdomains anhand der folgenden Schritte erstellt:

  1. Die Domain des AMP-Dokuments wird von IDN (Punycode) in UTF-8 konvertiert.
  2. Jeder "-" (Bindestrich) wird durch "--" (zwei Bindestriche) ersetzt.
  3. Jeder "." (Punkt) wird durch einen "-" (Bindestrich) ersetzt.
  4. Der Name wird wieder in IDN (Punycode) konvertiert.

Zum Beispiel wird pub.com dann pub-com.cdn.ampproject.org zugeordnet. Sollten technische Einschränkungen eine für Menschen lesbare Subdomain unmöglich machen, wird stattdessen eine Einweg-Hashfunktion verwendet.

Inhaltstyp Es gibt die folgenden Inhaltstypen: "c" für ein AMP-HTML-Dokument, "i" für ein Bild und "r" für eine Ressource, zum Beispiel eine Schriftart. Für Ressourcen, die diesen Inhaltstypen nicht entsprechen, gibt der Google AMP Cache einen 404-Fehler zurück. Weitere Informationen dazu findest du hier.
Optionales "s" Wenn ein "s" vorhanden ist, ruft Google den Inhalt mit TLS (sicheres HTTPS) von der Quelle ab. Ist kein "s" vorhanden, wird der Inhalt nur über HTTP abgerufen.
URI URI des abzurufenden Inhalts. Der URI darf kein Schema enthalten, also weder "http://" noch "https://".

Name der Subdomain suchen

In der Regel ist der Name der Subdomain für eine URL des AMP-Cache von Google eine für Menschen lesbare Abwandlung der ursprünglichen URL, die anhand der oben beschriebenen Schritte konvertiert wurde. Das ist jedoch nicht immer der Fall. Daher werden URLs des AMP-Cache von Google für Produktions-Apps am besten über die Google AMP Cache URL API abgerufen.

In anderen Fällen kannst du mithilfe des interaktiven Tools Using the Google AMP Cache (AMP-Cache von Google verwenden) auf amp.dev feststellen, welchen Subdomain-Namen der AMP-Cache von Google generiert.

Beispiel für die Anfrage eines Dokuments über TLS

So sieht eine Anfrage für ein AMP-HTML-Dokument (durch das Präfix /c angegeben) aus, das von https://example.com/amp_document.html abgerufen wird:

https://example-com.cdn.ampproject.org/c/s/example.com/amp_document.html

Da /s auf das Präfix /c folgt, wird das Dokument über TLS von example.com abgerufen.

Beispiel für die Anfrage eines Bildes über HTTP

So sieht eine Anfrage für ein Bild (durch das Präfix /i angegeben) aus, das von http://example.com/logo.png abgerufen wird:

https://example-com.cdn.ampproject.org/i/example.com/logo.png

Da auf das Präfix /i kein /s folgt, ruft Google das Bild über HTTP von example.com ab, nicht über HTTP Over TLS.

Beispiel für Abfrageparameter

Das URL-Format des AMP-Cache kann auch Parameter im Abfragestring enthalten. So sieht eine HTTPS-URL mit Parametern aus: https://example-com.cdn.ampproject.org/c/s/example.com/g?value=Hello%20World

Aktualisierung des AMP-Cache von Google

Wenn ein Nutzer ein AMP-Dokument aus dem Google AMP Cache abruft, fordert der Cache automatisch Aktualisierungen an, um dem nächsten Nutzer den neuen, im Cache gespeicherten Inhalt bereitstellen zu können. Bei diesem Modell werden Aktualisierungen von AMP-Dokumenten automatisch und schnell verbreitet. Nur wenige Nutzer sehen anschließend die ältere Version.

Der Cache funktioniert nach dem Prinzip "stale-while-revalidate". Anhand der Cache-Header der Quelle, z. B. Max-Age, wird entschieden, ob ein bestimmtes Dokument oder eine bestimmte Ressource veraltet ist. Fordert ein Nutzer veraltete Inhalte an, wird eine neue Kopie abgerufen, damit der nächste Nutzer den aktualisierten Inhalt erhält.

Damit die Publisher-Websites nicht überlastet werden, stuft der Google AMP Cache jedes Dokument mindestens 15 Sekunden lang und jede Ressource mindestens eine Minute lang als aktuell ein. Beachte, dass sich diese Intervalle in Zukunft ändern können, da wir immer ein optimales Verhältnis zwischen Aktualität und Belastung der Publisher-Websites anstreben.

Cache-Optimierungen und -Änderungen

Der Google AMP Cache führt verschiedene Optimierungen und Änderungen durch, zum Beispiel:

  • Er überprüft, ob der Inhalt wirklich im AMP-Format vorliegt und alle AMP-Leistungsziele erfüllt.
  • Er speichert zusätzlich zu AMP-Dokumenten auch Bilder und Schriftarten.
  • Die maximale Bildgröße wird begrenzt, um Probleme mit der Reaktionsschnelligkeit und der Arbeitsspeichernutzung des Browsers zu verhindern.
  • Es werden verschiedene Anpassungen vorgenommen, um die Bereitstellung von Bildern über das amp-img-Tag zu verbessern. Beispiele:
    • Daten, die nicht sichtbar oder schwer erkennbar sind, werden entfernt, z. B. bestimmte Metadaten.
    • Konvertierung von Bildern in kleinere und für Mobilgeräte optimierte Bildformate, z. B. die Konvertierung von Bildern im GIF-, PNG- und JPEG-Format in WebP in Browsern, die dieses Format unterstützen
    • Die Bildqualität wird reduziert, wenn die Anfrage den Save-Data-Header enthält.
    • Es werden Versionen in unterschiedlichen Größen generiert und srcset-Attribute hinzugefügt, um die Bereitstellung von Bildern mit flexibler Größe zu unterstützen.
  • Die Bereitstellung erfolgt über einen sicheren Kanal (HTTPS) unter Verwendung der neuesten Webprotokolle (SPDY und HTTP/2).
  • Er bereinigt AMP-Dokumente, um XSS-Angriffe aufgrund von falsch schließenden HTML-Tags, Kommentaren oder anderen Fehlern zu verhindern.

Bei den oben genannten Anpassungen ignoriert der Google AMP Cache den Header "Cache-Control: no-transform".

HTML-Bereinigung

Der Google AMP-Cache ändert alle Dokumente, um das Parsen zu standardisieren. Beispiele:

  • Alle HTML-Kommentare werden entfernt.
  • Für alle Tag- und Attributnamen wird Kleinschreibung verwendet.
  • Attributwerte werden konsistent mit Anführungs- und Escapezeichen versehen.
  • Alle Tags werden geschlossen, mit Ausnahme von void-Elementen bei HTML5.
  • Leerzeichen in Tags werden entfernt.
  • Text wird mit Escapezeichen versehen.
  • Codierte Textzeichen werden mit UTF-8-äquivalenten Zeichen vereinfacht.
  • Elemente, die nur im body vorkommen dürfen, werden in den body verschoben.
  • Ausgehende Links werden in absolute Links umgewandelt, damit sie auch weiterhin funktionieren, wenn das Dokument vom AMP-Cache von Google statt von der Publisher-Quelle bereitgestellt wird.

Prefetch-Tags einfügen

Der AMP-Cache von Google fügt verschiedene Prefetch-Hinweis-Tags für Browser ein, damit Ressourcen früher geladen werden können. Zum Beispiel ändert sich <link href='https://fonts.googleapis.com/css?family=Lato' rel='stylesheet’> zu:

<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<link href="https://fonts.gstatic.com" rel="preconnect">
<link href="https://fonts.gstatic.com" rel="dns-prefetch">