ホーム › フォーラム一覧 › YASAKANI Cache フォーラム › AMPプラグインと併用で不具合
-
投稿者投稿
-
2020年4月6日 11:01 AM #7781
Anonymous
メンバーこの半年ほどYASAKANI Cacheプラグインの更新をサボっていて、最新版に更新したところ、AMPのプラグイン(https: // wordpress.org/plugins/amp/のやつ)が正しくAMP出力できなくなりました。
AMPのプラグインが、AMP用に追加するべきタグを出力しなかったり、AMP用に変換すべきタグを変換しなかったりという症状です。明らかなエラーを出力するということではないようですが正常に機能しない状態になります。
YASAKANI CacheプラグインとAMPプラグインを併用しなければ避けられる問題ですが、更新前(バージョン失念)までは正常だったので残念です。
2020年4月7日 10:50 AM #7782enomoto
キーマスターこの情報だけでは原因ははっきりしませんが、いずれにせよAMPで問題が出るといることはCSS絡みと思われます
正常に機能しないというのはどういう状態?CSSがあたっていない感じですか
不具合はすべてのページ、あるいは特定のページだけでしょうか?
“CSS ファイルを非同期ロード / CSS Tree Shaking で縮小して埋め込み” の設定を有効化していましたか
この設定を無効化してどうなるか試してみてもらえますか?
この設定を有効化するとCSSの非同期ロードのためCSSのメディア属性を最初に print にしているところか、あるいはCSS容量を削減するために未使用のCSSを取り除く CSS Tree Shaking 機能になんらかの不具合があるのかも知れません
2020年4月7日 4:38 PM #7783enomoto
キーマスターちょっと原因がわかってきました
AMPプラグインの動作モードによる違いと思われます。Reader(classic mode) だとAMPに変換出来ると思いますが、Transitional だとAMP変換前の出力をキャッシュしてしまっているようです
キャッシュするための ob_start() 関数の実行タイミオングが AMP プラグインより後のタイミングとなってしまっているのが原因と思われます
AMPプラグインでは、template_redirect フックで ob_start を呼び出し、shutdown フックで通常の HTML を取得して、それを AMP HTML へ変換するという、なかなかのエグいタイミングで処理しています
従って、AMPプラグインより先に ob_start させることで、AMP HTML 変換後の出力を取得し、キャッシュすれば良さそうです。
修正と確認にはちょっと時間がかかりそうなので対応バージョン公開(数日中)まで少しお待ち下さい
2020年4月8日 5:47 PM #7785enomoto
キーマスターキャッシュ処理のタイミングを変えてAMPプラグインと併用できるように修正したバージョン 2.6.0 を公開しました
試してみて下さい
2020年4月8日 8:00 PM #7786Anonymous
メンバー速っ。ありがとうございます。
試した限りでは解決されているようです。その正しい出力がキャッシュであることも確認しました。キャッシュ再開で快適です。実は、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>に変換されないとかでした。
2020年4月9日 11:15 AM #7787enomoto
キーマスターAMPプラグインの変換処理タイミングはなかなかなので、他のキャッシュプラグインでも結構問題が起きるのではと思っています
貴重な報告で対応できてよかったです (^^)
PS. ちなみに返信で上げてくれている症例が、リンクとして表示されてしまっていたので 管理者(私ですが)によりurl 部分を code で囲む修正を加えさせていただきました
-
投稿者投稿
- このトピックに返信するにはログインが必要です。