✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Плагин WP-Rocket Автоматическая перезапись HTTPS не проходит проверку AMP

37

Плагин WP-Rocket Автоматическая перезапись HTTPS не проходит проверку AMP

AMP (Accelerated Mobile Pages) — это очень строгая спецификация HTML5 . Если есть критические проблемы с AMP, Google не будет их индексировать. Например, в AMP вы не должны использовать // — протокол для представления URL-адреса HTTP или HTTPS в зависимости от текущего протокола страницы (но в HTML5 вы можете)

Плагин WP-Rocket Автоматическая перезапись HTTPS не проходит проверку AMP

CloudFlare HTTPS Rewrite не проходит проверку AMP

К сожалению, модуль [Automatic HTTPS Rewrites] плагина ~CloudFlare~ WP Rocket не проходит проверку AMP, поэтому вы должны отключить его, иначе вы получите такие ошибки, как:

  • Тег «сценарий» запрещен, за исключением особой формы.
  • Обязательный тег «сценарий amphtml engine v0.js» отсутствует или неверен.

Обновление: оказывается, это НЕ вина CloudFlare. Это плагин WP Rocket WordPress, который принудительно разрешает перезапись HTTPS (в //) даже на страницах AMP.

Модуль WP Rocket Plugin [Automatic HTTPS Rewrites] переписывает все изображения, таблицы стилей и скрипты с использования http:// или https:// на использование только // для поддержки гибкого SSL.

Плагин WP-Rocket Автоматическая перезапись HTTPS не проходит проверку AMP

wprocket-плагин-https-протокол-переписать

CloudFlare запустил тот же HTML-код через тестовый домен в Cloudflare с включенной автоматической перезаписью HTTP и подтвердил, что это не вызвано CloudFlare.

  • CloudFlare специально отключает функции перезаписи для AMP. Но у плагина WP-Rocket есть эта опция на панели инструментов, которая снова включает его.
  • Автоматическая перезапись HTTPS не перезаписывает URL-адреса в // — она использует только полные абсолютные ссылки, например https://

Плагин WP-Rocket Автоматическая перезапись HTTPS не проходит проверку AMP

cloudflare-automatic-https-переписывает

Если вы используете плагин WP-Rocket, вы можете написать плагин или добавить в свой шаблон следующую функцию, например functions.php. Следующее отключает только эту «Автоматическую перезапись HTTPS» на страницах AMP, например 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 не основан на Cloudflare, но имеет опции для настройки Cloudflare.

  • Автоматическая перезапись HTTPS на Cloudflare безопасна для использования с AMP
  • Плагин WP-Rocket имеет собственную логику для перезаписи HTTPS, которую следует отключить, если вы используете AMP.

Источник записи: helloacm.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее