現在デフォルトスキンとして「Season (Autumn)」を適用中。

AMPページで「amp-iframe」属性「width」に無効な値「100%」が追加されてしまう。 | Cocoonテーマに関する質問 | Cocoon フォーラム

書き込みの前に以下の3点をご確認ください。
  1. 1つのトピックにつき1つの質問を書き込んでください
  2. 不具合・カスタマイズ対象ページのURLを提示してください
  3. 該当部分のキャプチャ・環境情報とともに書き込んでいただけると助かります

フォーラム利用ガイドリンク

  1. フォーラムガイドライン
  2. よくある質問と答え(FAQ)
  3. サポート対象外のケース
  4. 原因不明の不具合用トラブルシューティング
  5. トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw
  6. 真っ白画面でのエラーメッセージの確認方法 
  7. ブラウザ環境チェックツール

フォーラムの内容は、CCライセンス(CC BY-ND 2.1)準じていれば(リンクを貼っていただければ)転載も自由です。カスタマイズ記事を書く際にコード等をコピペ利用していただいて構いません。

フォーラムの使い方がよくわからない場合は、テストトピックで自由にテストしていただいて構いません。

詳細なカスタマイズ依頼をするならこちら。

フォーラムのTwitterアカウント(@CocoonForum)はこちら

スポンサーリンク
Share:

[解決済] AMPページで「amp-iframe」属性「width」に無効な値「100%」が追加されてしまう。  


k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年5月28日 15:06  

当該ページ:  https://www.com-support-co.jp/blog/9097?amp=1  

Search Consoleでのエラーメッセージ

AMP HTML タグの属性で指定されたレイアウトが無効です。

「amp-iframe」の属性「width」に無効な値「100%」が設定されています。

状況:ウィジェットのサイドバーに楽メールEx( https://www.raku-mail.com/ )のメルマガ登録をするiframeを埋め込んでいます。(タグは画像を添付します。)

1. height="239" width="251" の指定だと、width="100%" に変換され、『「amp-iframe」の属性「width」に無効な値「100%」が設定されています。』となります。

2.height、widthを指定しないと、必須属性「height」がタグ「amp-iframe」にありません。となります。

このタグは、通常時に表示されるテキストボックスが表示されるまでに表示される「読み込み中」を表示するiframeです。

なぜこのようになるのか、回避策はあるのか教示願えませんでしょうか。

----------------------------------------------
サイト名:コムサポートオフィスブログ
サイトURL: https://www.com-support-co.jp/blog 
ホームURL: https://www.com-support-co.jp/blog 
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/skin-season-spring/style.css
Wordpressバージョン:4.9.10
PHPバージョン:5.6.36
ブラウザ:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:1.7.8
カテゴリ数:21
タグ数:1
ユーザー数:2
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.0.7
----------------------------------------------
Gutenberg:1
AMP:1
PWA:0
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:1
HTML縮小化:1
CSS縮小化:1
JavaScript縮小化:1
Lazy Load:0
WEBフォントLazy Load:0
JavaScript(フッター):1
----------------------------------------------
利用中のプラグイン:
AddQuicktag 2.5.3
Akismet Anti-Spam 4.1.2
All In One SEO Pack 2.12.1
Back To Top Pro 1.1.8
EWWW Image Optimizer 4.7.4
Fancier Author Box 1.4
Google XML Sitemaps 4.1.0
Jetpack by WordPress.com 5.8
Search Regex 1.4.16
Speech bubble (ふきだしプラグイン) 1.0.3
TinyMCE Advanced 4.6.7
WebSub/PubSubHubbub 3.0.2
WordPress Popular Posts 4.2.2
----------------------------------------------

以下も付け加えておきます。
----------------------------------------------
サイト名:コムサポートオフィスブログ
サイトURL: https://www.com-support-co.jp/blog
ホームURL: https://www.com-support-co.jp/blog
コンテンツURL:/wp-content
インクルードURL:/wp-includes/
テンプレートURL:/wp-content/themes/cocoon-master
スタイルシートURL:/wp-content/themes/cocoon-child-master
子テーマスタイル:/wp-content/themes/cocoon-child-master/style.css
スキン:/wp-content/themes/cocoon-master/skins/skin-season-spring/style.css
Wordpressバージョン:4.9.10
PHPバージョン:5.6.36
ブラウザ:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36
サーバーソフト:Apache
サーバープロトコル:HTTP/1.1
言語:ja,en-US;q=0.9,en;q=0.8
----------------------------------------------
テーマ名:Cocoon
バージョン:1.7.8
カテゴリ数:21
タグ数:1
ユーザー数:2
----------------------------------------------
子テーマ名:Cocoon Child
バージョン:1.0.7
----------------------------------------------
Gutenberg:1
AMP:1
PWA:0
ホームイメージ:/wp-content/themes/cocoon-master/screenshot.jpg
----------------------------------------------
ブラウザキャッシュ有効化:1
HTML縮小化:1
CSS縮小化:1
JavaScript縮小化:1
Lazy Load:0
WEBフォントLazy Load:0
JavaScript(フッター):1
----------------------------------------------
利用中のプラグイン:
AddQuicktag 2.5.3
Akismet Anti-Spam 4.1.2
All In One SEO Pack 2.12.1
Back To Top Pro 1.1.8
EWWW Image Optimizer 4.7.4
Fancier Author Box 1.4
Google XML Sitemaps 4.1.0
Jetpack by WordPress.com 5.8
Search Regex 1.4.16
Speech bubble (ふきだしプラグイン) 1.0.3
TinyMCE Advanced 4.6.7
WebSub/PubSubHubbub 3.0.2
WordPress Popular Posts 4.2.2
----------------------------------------------


 

This topic was modified 4か月 前 2 times by k.ebisui

かうたっく
(@kautakku)
メンバーサイト Moderator
参加: 2年 前
投稿: 3415
かうたっく - Facebookかうたっく - Twitterかうたっく - Google+
2019年5月28日 15:45  

トピックにHTMLを貼り付ける方法(推奨ツール:notepad.pw

とりあえずHTMLをコピペしていただけますか。


わいひら 件のいいね!
k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年5月28日 15:55  

こちらが、全体のHTMLです。

https://notepad.pw/share/2nkmyi2zk


かうたっく
(@kautakku)
メンバーサイト Moderator
参加: 2年 前
投稿: 3415
かうたっく - Facebookかうたっく - Twitterかうたっく - Google+
2019年5月28日 16:01  

ありがとうございます❦

できたらスクショのiframeのコピペが良いかと思います。


k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年5月28日 16:06  

https://notepad.pw/share/q4dwh031l

iframe部分のみです。これのsrc違いで2カ所埋め込んでいます。

2x2カ所で計4つのエラーがSearch Consoleで表示されます。

 


ロコ
(@lococo)
Reputable Member
参加: 1年 前
投稿: 376
2019年5月28日 18:04  

AMPはあまり詳しくないのですが、ドキュメントを見てみた限りではamp-iframeのsandboxにallow-same-originが入っている点が問題っぽいです。

In concrete terms this means: If your main site is hosted on www.example.com, then you cannot include an iframe from www.example.com. Every other origin such as iframe.example.com or assets.example.com is fine.

https://github.com/ampproject/amphtml/blob/master/spec/amp-iframe-origin-policy.md

とあるので、Cocoonの仕様に合わせるのであれば、iframeを別オリジンに置くことで解決できるかもしれません。
現在は設置サイトと同じwww.com-support-co.jpから読み込むようになっていますが、例えばサブドメインiframe.com-support-co.jpを用意して、iframe.com-support-co.jpから読み込むようにするなど。


わいひら 件のいいね!
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6487
わいひら - Facebookわいひら - Twitter
2019年5月28日 19:49  

よろしければサイトのソースコードを見やすくするために、高速化設定を無効にして以下の状態にいただいてよろしいでしょうか。
https://wp-cocoon.com/theme-trouble/


k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年5月29日 09:42  

返信ありがとうございます。

今、高速化を無効にしました。

よろしくお願いします。


k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年5月29日 10:20  

ロコ様

返信ありがとうございます。以下の理解でよろしいでしょうか。

Cocoonではallow-same-originがセットされている。

⇒同じオリジンだとwidth="100%"がamp-iframeに変換される時にセットされる。

⇒オリジンを別にするとwidth="100%"はセットされない。

 

 


わいひら 件のいいね!
わいひら
(@yhira)
メンバーサイト Admin
参加: 2年 前
投稿: 6487
わいひら - Facebookわいひら - Twitter
2019年5月29日 19:58  

https://notepad.pw/share/q4dwh031l
こちらのコードを僕の環境で試してみました。
すると、僕の環境では以下のように問題なくAMPに変換されて表示してました(添付画像)。
width="311" height="209"がそのまま残っています。

<amp-iframe layout="responsive" sandbox="allow-scripts allow-same-origin allow-popups" src="https://www.com-support-co.jp/mailmag/acc.cgi?id=152152803350740&amp;pf=1&amp;im=1&amp;ir=1" width="311" height="209" frameborder="0">読み込み中…<amp-img layout="fill" src="https://cocoon.local/wp-content/themes/cocoon-master/images/transparence.png" placeholder></amp-img></amp-iframe>

しかし、実際のサイトでは、以下のようなwidth="311" height="209"が削除された形でamp-iframeが表示されています。

<amp-iframe layout="responsive" sandbox="allow-scripts allow-same-origin allow-popups" src="https://www.com-support-co.jp/mailmag/acc.cgi?id=152152803350740&amp;pf=1&amp;im=1&amp;ir=1" frameborder="0">読み込み中…<amp-img layout="fill" src="https://www.com-support-co.jp/blog/wp-content/themes/cocoon-master/images/transparence.png" placeholder></amp-img></amp-iframe>

Cocoonデフォルト状態では、widthやheightは取り除かれないようです。
こういうケースの場合、プラグインが怪しい場合があるのですが、一度全てのプラグインを無効化して、AMPキャッシュを削除して、動作チェックやAMPバリデーションを試してみていただけますでしょうか。

This post was modified 4か月 前 by わいひら

ロコ
(@lococo)
Reputable Member
参加: 1年 前
投稿: 376
2019年5月29日 20:11  

CocoonではiframeタグをAMP化する際、sandbox属性にallow-same-originを含んだ形で置換するようになっています。

この置換自体は問題なく、allow-same-originによってiframeが同じオリジン(com-support-co.jpドメイン)の場合でも許可されるわけですが、どうやらセキュリティの都合上、同一オリジン(www.com-support-co.jp)のみに限ってはダメなようで、読み込み時にエラーを出すような仕組みとなっているみたいです。

私の環境やAMP Validatorで確認した範囲では、

同じオリジンだとwidth="100%"がamp-iframeに変換される時にセットされる。

のエラーは見られなかったのですが、代わりに

Expected height to be available: null
Origin of <amp-iframe> must not be equal to container

とのエラーが出ていて、このエラーの原因になっているのは上記で説明した点なのかなと。


わいひら 件のいいね!
k.ebisui
(@k-ebisui)
Active Member
参加: 4か月 前
投稿: 6
2019年6月11日 15:42  

返信が遅くなりすいません。

回答、ありがとうございます。
私自身が全て対応できるサイト(制作や運用を請け負ったサイト)ではなく、ご自身で対応できるスキルをお持ちでもないので結局のところ、プラグインは必要最低限に絞っても解消せず(機能的にはずせないプラグインで、代替策をとれるほど技術に明るくない)、参照先URLを別ドメイン、サブドメインに変更するのも説明して対応し、動作確認してもらうのも大変そうなので、結果的にバナーを貼って(iframeを使わず)凌いだようです。

いろいろと対応頂き、ありがとうございました。


わいひら 件のいいね!
Share:
スポンサーリンク
わいひらをフォローする
おすすめサーバ

性能も兼ね備えながら安くブログ運営を開始したいのであればここ1択。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎東京・大阪でリージョン選択が可能
◎プランのアップ・ダウングレードが自由自在
◎同サービス内でドメイン管理が可能
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
◎ドメインとサーバー代のチャージ払いが可能
○サーバ引っ越しオプションあり(有料)
サービス運営期間:1年1ヶ月

1年以上の契約をする場合は、クーポンコード入力でさらに10%割引(※2019/12/31まで)。

クーポンコード:PK4JK4RJ

クーポンの使用方法はこちら

プラン変更で負荷対策が行えるので、ブログ向きのレンタルサーバーです。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎http/2・QUIC(高速化プロトコル)に対応
◎プランのアップ・ダウングレードが自由自在
◎転送量が多い
◎毎日無料バックアップ(14日分)
◎復元ポイントを指定して復旧可能(無料)
◎アダルト・出会い系サイト可
○サーバ引っ越しオプションあり(有料)
○サーバー料金をチャージ払いが可能
サービス運営期間:3年

安定感抜群のサーバーです。あまり急激なアクセス変動がないアフィリエイトサイトに向いています。

◎nginxを用いた高速サーバー(完全SSD)
◎老舗サーバーなので安定感抜群
◎ディスク容量が多い
◎転送量が多い
◎同サービス内でドメイン管理が可能
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
△DBは7日分だけ無料復旧可能(ファイルは有料)
×プラン変更でCPUのスペックアップができない
×プラン変更しても即時反映されない
×アダルト・出会い系サイト不可
サービス運営期間:16年

とにかく速い。サイトに表示スピードを求めるならココ。

◎nginxを用いた高速サーバー(完全SSD)
◎プランのアップ・ダウングレードが自由自在
◎ディスク容量が多い
◎転送量が多い
○http/2(高速化プロトコル)に対応
○毎日無料バックアップ(14日分)
○DB復旧は無料(ファイルは有料)
○サーバ引っ越しツールあり
○サーバー料金をチャージ払いが可能
△新しいサービスなので運営櫪がまだ短い
サービス運営期間:11ヶ月

格安な値段で始められる高機能サーバーです。
性能も備えつつ最安ならここ。
サイトを続けるうちにアクセスが増えれば、プランのアップグレートで対応可能です。

◎LiteSpeedを用いた高速サーバー(完全SSD)
◎激安プランが用意してある
◎値段あたりのスペックが高い(コスパ良し)
◎サーバ引っ越しオプションあり(無料)
◎アダルト・出会い系サイト可
○http/2(高速化プロトコル)に対応
△プランのアップは可能だがダウンは不可
△毎日自動バックアップ(1日分)
△前日のバックアップからのみ復元できる(無料)
サービス運営期間:3年

Cocoon
  
動作中

ログイン または 登録 してください

タイトルとURLをコピーしました