2017年8月ごろに、
それなりの
結果を
[TOC]
前提
使用している
OS
cat /etc/redhat-release CentOS release 6.9 (Final)
ブログシステム
Django (1.10.7) Mezzanine (4.2.3)
AMPページの
テーマに ついて
Mezzanine AMP 対応のテーマを 作成してみました。 | Monotalk
で作成した AMP Start - Accelarated Mobile Pages Templates の SIMPLE BLOG
を元にした Django テンプレートを 使用しています。 その
他最近やったこと
ブログ投稿は、mezzanine-pagedown 1.0 : Python Package Index を 使って マークダウン形式で 投稿していますが、 Markdown 変換時に 適用されていた HTML フィルタを 外し、 HTML の 出力形式を 変更しました。
変更した際の 記事が 以下に なります。
Python Markdown のhtml フォーマットを 変更する | Monotalk
また、Project Jupyter | Home の NoteBook から Markdown 形式で 出力した Note を 投稿するようになりました。
Google Search Console 上で 出力されている 問題
以下のような
問題 | 重大度 | 問題のあるページ |
---|---|---|
1 | HTML タグの禁止された用法、無効な用法 | 致命的 |
2 | 同等の AMP タグがある HTML タグの使用禁止 | 致命的 |
3 | 無効な CSS スタイルシート | 致命的 |
4 | AMP タグの無効な用法 | 致命的 |
5 | ページにユーザー作成の JavaScript がある | 致命的 |
6 | サポート終了のタグまたは属性の使用 | 重要ではない問題 |
HTML タグの 禁止された 用法、 無効な 用法
ドリルダウンして、
タグ「 wicket:header-items 」は
許可されていません。 タグ「 a 」の
属性 「 href 」に 無効な 値「 https://.... 」が 設定されています。 タグ「 string, 」は
許可されていません。 タグ「 searchresult 」は
許可されていません。 タグ「 install_apps 」は
許可されていません。
これは
同等の AMP タグが ある HTML タグの 使用禁止
詳細な
- タグ「 iframe 」は
タグ 「 noscript 」の 子孫と してのみ 使用できます。 「 amp-iframe 」では ありませんか?
これは、
iframe 向けの
Add convert iframe to amp-iframe · kemsakurai/mezzanine-theme-amp-start-blog-post@f051786
無効な CSS スタイルシート
詳細な
- AMP ドキュメントで
インラインの 「 style 」 属性を 使用する ことは できません。 「 style amp-custom 」 タグを 代わりに 使用してください。
これは、Jyupiter NoteBook で 出力した Markdown 形式の 投稿で 出力されています。
タグのstyle 属性を 無理矢理インライン化する filter が 必要なのかもしれません。
すぐには対応できそうに ないので、 後日対応しようかと 思います。
AMP タグの 無効な 用法
詳細な
- 属性「border」は
タグ 「amp-img」で 使用できません。
これは、Amazon アフィリエイトの リンクで 出力されていました。 Wordpressで Amazonアソシエイトの 商品リンクを AMP仕様に する 方法 のようなやり方で タグ変換を 実装する 必要が あります。
すぐには対応できそうに ないので、 後日対応しようかと 思います。
サポート終了の タグまたは 属性の 使用(重大ではない 問題)
詳細な
- このページで
拡張機能 「amp-analytics」が 検出されましたが、 この 拡張機能は 使用されていません( 「amp-analytics」 タグが 見つかりません)。 これは 今後 エラーとなる 可能性が あります。
これは、amp-analytics
の
過去に
base.html の
記述 <body id="{% block body_id %}body{% endblock %}"> {% if settings.AMP_GOOGLE_TAG_MANGER_ID %} <amp-analytics config="https://www.googletagmanager.com/amp.json?id={{settings.AMP_GOOGLE_TAG_MANGER_ID}}>m.url=SOURCE_URL"data-credentials="include"></amp-analytics> {% endif %} {% if settings.AMP_GOOGLE_ADS_CLIENT_ID_OVERLAY %}
settings.py の
記述 ######### # AMP ######### AMP_GOOGLE_TAG_MANGER_ID = "GTM-XXXXXXXXXX"
AMP テンプレート作成後の 経過観察での 感想
以下、
アフィリエイト関連タグに
AMP 向けでない 記述が 混じり、 エラーと なることが あるので 独自変換実装が 必要に なる。
iframe をamp-iframe に 変換するだけでは、 AMPと して 使用できない 属性が 含まれる ため、 エラーと なります。
独自に変換処理を 実装する 必要が あります。 Mezzanine の
RichTextFilter は 優秀なので 特段理由が ない 限りは、 OFFに しない ほうが いい。
私は、Iframe を 使用したかったので OFF に しましたが、 予想外の 場所で タグのような 記載が あり、 AMPエラーと なりました。
特段やりたいことがなければ、基本は ON に したほうが いいかと 思います。
セキュリティ観点でのFilter ON が 推奨されます。 AMP の
妥当性チェックは 定期的に 実行した ほうが いい。
チェック内容が少しずつ 変化していますので、 スケジューラ等で 定期的に 実行は しておいた ほうが いいです。
私はそれで、 気づきました。
以上です。
コメント