サイト内検索
Cocoonフォーラム
書き込みの前に以下の3点をご確認ください。
何を書き込んだら良いか分からない場合は、以下のテンプレートをコピペしてご利用ください。
不具合・カスタマイズ対象ページのURL:
相談内容:
不具合の発生手順:
解決のために試したこと:
※文字だけでは正しく伝わらない可能性があるため、スクショ画像の添付もお願いします。
※高速化設定をしている場合は無効にしてください。
環境情報:※↑こちらに「Cocoon設定 → テーマ情報」にある「環境情報」を貼り付けてください。
環境情報の取得方法はこちら。
→ https://wp-cocoon.com/theme-report/
高速化設定を無効にするにはこちら。
→ https://wp-cocoon.com/theme-trouble/
フォーラム利用ガイドリンク
- フォーラムガイドライン
- よくある質問と答え(FAQ)
- サポート対象外のケース
- 原因不明の不具合用トラブルシューティング
- トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw)
- 真っ白画面でのエラーメッセージの確認方法
- ブラウザ環境チェックツール
- Cocoonカスタマイズ依頼
フォーラム質問後、問題等が解決した場合は結果を書き込んでいただけると幸いです。同様の問題で調べている方には、結果が一番気になる部分となります。
Topic starter
2018年12月20日 04:13
いつも大変お世話になっております。
現在、新しいサイトを立ち上げ中で、Cocoonを使用させて頂いております。使っていると、本当に素晴らしいテーマだと感激することが多々あります。
AMPページのAdSenseの広告をテーマCocoonの機能を使用せずに、マニュアルで設置しているのですが、一部のページで時折、amp-adのスクリプトが<head>タグ内に自動挿入されてしまう現象が発生しています。
子テーマの方にスクリプトコードを入れると、スクリプトが重複している警告となります。子テーマのスクリプトコードを削除すると、時折、amp-adのスクリプトがないと警告を受けます。
キャッシュを削除すると、直ることもあるのですが、断続的にこの現象が発生します。広告のスクリプトの自動挿入は、テーマの機能ではないかと推測しております。
テーマの機能を使用しないでAMPページに広告を設置する場合には、できれば、スクリプトコードの自動挿入を無効にして頂けると、大変助かります。
<head>タグ内に挿入する広告表示用スクリプト
https://cdn.ampproject.org/v0/amp-ad-0.1.js
お手数をおかけしますが、よろしくお願い致します。
Topic starter
2018年12月20日 04:16
すみません。
スクリプトコードをそのまま入力し投稿しましたら、コードのURLのリンクとなってしまいました。以下のコードです。
https://cdn.ampproject.org/v0/amp-ad-0.1.js
2018年12月20日 23:50
コードがうまく貼り付けられない場合は、以下の記事で紹介されているツールを利用して貼り付けていただければと思います。
https://wp-cocoon.com/notepad-pw/
また、どういったエラーが出ているのか、警告メッセージをそのまま貼り付けていただければと思います。
あと、その警告が出ているURLも提示していただけると助かります。
子テーマのスクリプトコードを削除すると、時折、amp-adのスクリプトがないと警告を受けます。
これが、テーマの機能だけを利用ということであれば、Google Search Consoleで確認しましたが、僕の環境ではそういったAMP警告はないようです。
カスタマイズで、対応する場合は案内にもあるように、サポートの対象外となる可能性もあります。
必ずしも対応できるかは分からないのでご了承ください。
Topic starter
2018年12月21日 02:56
お返事、ありがとうございます。
これが、テーマの機能だけを利用ということであれば、Google Search Consoleで確認しましたが、僕の環境ではそういったAMP警告はないようです。
テーマの機能だけを利用していれば、問題ないと思います。テーマの機能を利用せずに、広告コードを設置した場合に発生する事象です。長くなり、恐縮なのですが、状況を以下に書きます。
Cocoonの機能を使わずにマニュアルで、AMPページに広告を設置しているのですが、ページ内に広告コードを設置していると、amp-adが自動的に<head>タグ内に挿入されることが多いです。AMPでの広告コードの設置は問題ありません。また、広告も表示されています。
通常は、問題がないのですが、ある時にSearch Consoleでamp-ad extension .js scriptが無い旨の警告が表示される時があります。(添付画像)
この警告が表示された時に、該当するAMPページのソースコードを見ると、amp-adが<head>タグ内になくなっていることが多いです。(そのために警告が表示されています。)サーバー側のキャッシュをクリアすると、問題が解決する(amd-adが<head>タグ内に再び自動的に挿入される。)ことも良くあります。
しかし、キャッシュをクリアしてもamp-adが挿入されない場合もあります。その際は、マニュアルでコードを設置するとしばらくすると警告はなくなります。
尚、現状、<head>タグ内に設置するamp-ad のスクリプトは、無くても動作します。(AMPの説明にも記載されています。)
Topic starter
2018年12月21日 03:12
続きです。
amp-adのスクリプトを<head>タグ内にマニュアルで設置しすると、警告がなくなることもあるのですが、しばらくすると、今度は、「ドキュメントに AMP コンポーネントの「script」タグが複数あります。」との警告が表示されることがあります。
該当するAMPページを見ると、<head>タグ内に2つamp-adのスクリプトが挿入されている状態となります。一つは、テーマから自動挿入されたものと、もう一つは子テーマにマニュアルで設置されたものと思われます。
この場合は、マニュアルで設置したコードを削除すれば、警告は後でなくなります。
しかし、しばらくすると、今度は「amp-ad」で必要なタグ「amp-ad extension .js script」がない旨の警告が表示されたりすることがあります。(添付画像)これは、一つ前の投稿の状態です。
現状、警告が表示された場合には、スクリプトコードをマニュアルで設置し、しばらくして、今度はスクリプトが重複すると警告表示された場合には、マニュアルで設置したスクリプトを削除して対応しています。
テーマが、AMPページ内に広告コードがあると、<head>タグ内にamp-adを自動挿入させるようになっているのかどうか不明なのですが、もしその場合は、テーマの機能を使わずに広告コードを設置している場合は、<head>タグ内のスクリプトコードの自動挿入を無効にして頂けると大変、助かります。
Topic starter
2018年12月21日 04:18
変な話をしてしまい、すみません。多分、今書いたことだけでは、分からないかと思います。。
次回、警告が表示されて、マニュアルでコードを設置した後しばらくして、amp-adが自動挿入されて、重複となって警告が表示された場合は、URLをお知らせ致します。
お忙しいところ、お手数をおかけしてしまい、すみません。
追記・備考:
同様の現象が、時折、AMP for WPと言うプラグインでも過去に発生しました。公式プラグイン、AMP for WordPressの場合は、<head>タグ内のスクリプトは、自動挿入されるもの(AMPコンポーネントの種類にもよります)が多いです。
2018年12月21日 10:32
ページ内に amp-ad タグがあると、amp-ad スクリプトを自動的に読み込むのが、Cocoon の仕様です(amp-ad タグがない時は、amp-ad スクリプトを読み込まない)。
なので、子テーマで amp-ad スクリプトを読み込む必要はありませんし、子テーマで読み込むと 100% 確実にそのような警告が出ます。
今回のケースで問題なのは、ページ内に amp-ad タグがあるのに、Cocoon が amp-ad スクリプトを読み込んでくれないことです。
原因として考えられるのは、サーバー設定やプラグイン、amp-ad タグの設置方法だと思います。
サーバーのキャッシュをクリアすると問題が解決することがあるとのことですので、まずはサーバー設定を見直されてはいかがでしょうか。
わいひら reacted
2018年12月21日 20:29
Akiraさんの投稿と初めの投稿を見ただけですが、amp-adを読み込まないように子テーマでしても無理なんですね?
試してないのでそっとしておいたのですが。※試したうえでのご回答かとおもったのでついでに返信しました。
あと(ヘッダーだけでなく)bodyにも入れてね。とCocoon機能を使わない状態ではあったはず?との記憶があります。どちらも重複されエラーが出た記憶だけあるように思いますが確認してません※ほかの方が後から見て、分かりやすければと思ったまでです。
2018年12月21日 23:47
そもそも、Cocoonのamp-ad-0.1.jsを利用せずに、自前で設置する意図はなんでしょうか?
できれば、独自タマイズのために、コードを複雑化させたくはありません。独自カスタマイズで想定されるケースを考慮してコード書き出すと、膨大な可能性に対応する必要があるというのも理由の一つです。
独自カスタマイズをするのであれば、スクリプトの読み込みもカスタマイズで対応していただければと思います。
tmp/amp-header.phpの以下の部分のコードを変更すれば、対応できるかと思います。
Topic starter
2018年12月22日 03:40
皆様、
お返事ありがとうございます。
akiraさんがご回答されたように私も認識しておりました。
ページ内に amp-ad タグがあると、amp-ad スクリプトを自動的に読み込むのが、Cocoon の仕様です(amp-ad タグがない時は、amp-ad スクリプトを読み込まない)。
そして、わいひらさんのご質問について:
そもそも、Cocoonのamp-ad-0.1.jsを利用せずに、自前で設置する意図はなんでしょうか?
元々、子テーマの方には、amp-adを入力していませんでした。そして通常は、問題がないのですが、断続的に(恐らくタイミング的には、WordPressやテーマの更新などとの間接的な関連性)コードが、Cocoonの方で自動挿入されないページが発生し、Search Consoleで警告が発生することがあります。(記事を更新したり、サイトを何も更新していなくても、時折起こることがあります。)
この現象は、別サイトなどで使用しているAMP化のプラグインでも過去にありました。(最近は発生していません。)恐らく、色々な条件などが間接的に絡んでいるように思います。
通常は、サーバーのキャッシュやCocoonのキャッシュをクリアすることで、再び自動挿入されることも多い(7-8割の確率)のですが、何度やっても自動挿入されないことが時折あります。
その場合は、一時的な解決策として、子テーマの方にスクリプトを挿入して対応します。しばらくすると、テーマの方で自動挿入されるので、スクリプトが重複している旨の警告がSearch Consoleで表示されるため、その際は、子テーマのスクリプトを削除していました。
できれば、独自タマイズのために、コードを複雑化させたくはありません。独自カスタマイズで想定されるケースを考慮してコード書き出すと、膨大な可能性に対応する必要があるというのも理由の一つです。
良く分かりました。多くは、Cocoonの機能を使用して広告を設置しており、マニュアルのみで設置する方が例外だと思います。マニュアルのみの広告設置の対応のためにコードが複雑化することを避けたいというのは至極ごもっともなお話だと思います。
お書き下さった様にスクリプトの読み込みのカスタマイズを検討致します。さらに、amp-header.php の該当部のコードを教えてくださり、誠にありがとうございます! 本当に助かります。
わいひら reacted
2018年12月22日 22:09
確かに、amp-header.phpの以下の部分を削除すれば、Cocoonが自動的にamp-adを本文中から探し出して、ない場合はamp-ad-0.1.jsを挿入するということは無くなりますね。
'amp-ad' => 'amp-ad-0.1.js',
問題の解決に至った場合には、トピック冒頭の「解決済み」をクリックしていただけますと幸いです。
また、有用な回答があった場合は返信右下にある「いいね!」もご活用ください。回答者の励みになります。
(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。
フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。
最近の書き込みはこちら。
詳細なカスタマイズ依頼をするならこちら。