Automatisches HTTPS-Umschreiben des WP-Rocket-Plugins schlägt AMP-Validierung fehl
AMP (Accelerated Mobile Pages) ist eine sehr strenge HTML5- Spezifikation. Wenn es kritische Probleme mit AMP gibt, wird Google sie nicht indizieren. Beispielsweise sollten Sie in AMP nicht // verwenden – das Protokoll, um je nach aktuellem Seitenprotokoll eine HTTP- oder HTTPS-URL darzustellen (aber in HTML5 können Sie).
CloudFlare HTTPS Rewrite schlägt AMP-Validierung fehl
Leider schlägt das [Automatic HTTPS Rewrites]-Modul des ~CloudFlare~ WP Rocket Plugins bei der AMP-Validierung fehl, also müssen Sie es deaktivieren, andernfalls erhalten Sie Fehler wie:
- Das Tag „Skript“ ist außer in einer bestimmten Form nicht zulässig.
- Das obligatorische Tag „amphtml engine v0.js script“ fehlt oder ist falsch.
Update: Es stellt sich heraus, dass es NICHT die Schuld von CloudFlare ist. Es ist das WP Rocket WordPress Plugin, das HTTPS-Umschreiben (zu //) auch auf AMP-Seiten zwangsweise ermöglicht.
Das [Automatic HTTPS Rewrites]-Modul des WP Rocket Plugins schreibt alle Bilder, Stylesheets und Skripte von der Verwendung von entweder http:// oder https:// auf die Verwendung von nur // um, um Flexible SSL zu unterstützen .
wprocket-plugin-https-protocol-rewrite
CloudFlare hat denselben HTML-Code über eine Testdomäne auf Cloudflare mit aktivierten automatischen HTTP-Umschreibungen ausgeführt und bestätigt, dass er nicht von CloudFlare verursacht wird.
- CloudFlare deaktiviert Rewrite-Funktionen speziell für AMP. Aber das WP-Rocket Plugin hat diese Option im Dashboard, die es wieder einschaltet.
- Automatisches HTTPS-Umschreiben schreibt URLs nicht in // um – es verwendet nur vollständige absolute Links, z. B. https://
cloudflare-automatic-https-rewrites
Wenn Sie das WP-Rocket-Plugin verwenden, können Sie ein Plugin schreiben oder die folgende Funktion zu Ihrer Vorlage hinzufügen, z. B. functions.php. Das Folgende deaktiviert nur dieses ‚Automatische HTTPS-Rewrite‘ in den AMP-Seiten, z. B. is_amp_endpoint()
add_action( 'wp', 'disable_cloudflare_automatic_https_rewrite_amp' );
function disable_cloudflare_automatic_https_rewrite_amp() {
if (defined( 'AMP_QUERY_VAR') && function_exists( 'is_amp_endpoint') && is_amp_endpoint()) {
$do_rocket_protocol_rewrite = apply_filters( 'do_rocket_protocol_rewrite', false );
if (( get_rocket_option( 'do_cloudflare', 0) && get_rocket_option( 'cloudflare_protocol_rewrite', 0) || $do_rocket_protocol_rewrite)) {
remove_filter( 'rocket_buffer', '__rocket_protocol_rewrite', PHP_INT_MAX );
remove_filter( 'wp_calculate_image_srcset', '__rocket_protocol_rewrite_srcset', PHP_INT_MAX );
}
}
}
WP-Rocket basiert nicht auf Cloudflare – bietet aber Optionen zur Konfiguration von Cloudflare.
- Automatische HTTPS-Umschreibungen auf Cloudflare können sicher mit AMP verwendet werden
- Das WP-Rocket- Plugin hat eine eigene Logik für das HTTPS-Umschreiben, die deaktiviert werden sollte, wenn Sie AMP verwenden



