AMPプラグインと併用で不具合

ホーム フォーラム一覧 YASAKANI Cache フォーラム AMPプラグインと併用で不具合

  • このトピックには5件の返信、2人の参加者があり、最後にenomotoにより4年前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #7781
    Anonymous
    メンバー

    この半年ほどYASAKANI Cacheプラグインの更新をサボっていて、最新版に更新したところ、AMPのプラグイン(https: // wordpress.org/plugins/amp/のやつ)が正しくAMP出力できなくなりました。

    AMPのプラグインが、AMP用に追加するべきタグを出力しなかったり、AMP用に変換すべきタグを変換しなかったりという症状です。明らかなエラーを出力するということではないようですが正常に機能しない状態になります。

    YASAKANI CacheプラグインとAMPプラグインを併用しなければ避けられる問題ですが、更新前(バージョン失念)までは正常だったので残念です。

     

    #7782
    enomoto
    キーマスター

    この情報だけでは原因ははっきりしませんが、いずれにせよAMPで問題が出るといることはCSS絡みと思われます

    正常に機能しないというのはどういう状態?CSSがあたっていない感じですか

    不具合はすべてのページ、あるいは特定のページだけでしょうか?

    “CSS ファイルを非同期ロード / CSS Tree Shaking で縮小して埋め込み”  の設定を有効化していましたか

    この設定を無効化してどうなるか試してみてもらえますか?

    この設定を有効化するとCSSの非同期ロードのためCSSのメディア属性を最初に print にしているところか、あるいはCSS容量を削減するために未使用のCSSを取り除く CSS Tree Shaking 機能になんらかの不具合があるのかも知れません

     

     

    #7783
    enomoto
    キーマスター

    ちょっと原因がわかってきました

    AMPプラグインの動作モードによる違いと思われます。Reader(classic mode) だとAMPに変換出来ると思いますが、Transitional だとAMP変換前の出力をキャッシュしてしまっているようです

    キャッシュするための ob_start() 関数の実行タイミオングが AMP プラグインより後のタイミングとなってしまっているのが原因と思われます

    AMPプラグインでは、template_redirect フックで ob_start を呼び出し、shutdown フックで通常の HTML を取得して、それを AMP HTML へ変換するという、なかなかのエグいタイミングで処理しています

    従って、AMPプラグインより先に ob_start させることで、AMP HTML 変換後の出力を取得し、キャッシュすれば良さそうです。

    修正と確認にはちょっと時間がかかりそうなので対応バージョン公開(数日中)まで少しお待ち下さい

     

    #7785
    enomoto
    キーマスター

    キャッシュ処理のタイミングを変えてAMPプラグインと併用できるように修正したバージョン 2.6.0 を公開しました

    試してみて下さい

     

    #7786
    Anonymous
    メンバー

    速っ。ありがとうございます。
    試した限りでは解決されているようです。その正しい出力がキャッシュであることも確認しました。キャッシュ再開で快適です。

    実は、Reader(classic mode)で発生していました。他のモードは使用していないのでわかりません。
    < s cript async="" src="https://cdn.ampproject.org/v0.js">< / script>
    を含むAMPプラグインが自動追加する筈の幾つかのHTMLヘッダが付かないとか<i mg hoge />が<amp-img hoge<noscript></noscript></amp-img>に変換されないとかでした。

     

     

    #7787
    enomoto
    キーマスター

    AMPプラグインの変換処理タイミングはなかなかなので、他のキャッシュプラグインでも結構問題が起きるのではと思っています

    貴重な報告で対応できてよかったです (^^)

    PS. ちなみに返信で上げてくれている症例が、リンクとして表示されてしまっていたので 管理者(私ですが)によりurl 部分を code で囲む修正を加えさせていただきました

     

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。
go-to-top