(更新) WordPress
AMPは、Accelerated Mobile Pagesの略。詳細はウィキペディア(Accelerated Mobile Pages)で確認したりググって調べる。
実例としては、Googleのオーガニック検索結果で検索結果の上部に表示されるエリア(参考:キャプチャは、「iphone」で検索した場合の結果画面)。これはAMP対応していないと表示されることはない。逆にいえばAMP対応することで、検索結果上部に表示される可能性が0ではなくなるとも言える。
実装するには、記事ページを作成した際に、それとは別にAMP用のHTMLファイルを用意する必要がある。テンプレートを自前で用意するのもアリだが、WordPressを使ってることもあり、プラグインを使ってサクッと終わらせてしまおうと思う。
まずはGoogleアナリティクスで計測できるようにするまでの全体の流れを確認。
記事URLの末尾に「/amp」もしくは「?amp」を付与してページを確認します。
例えば、記事URLが「/sample/」で終わる場合は、「/sample/amp/」もしくは「/sample/?amp」とします。また拡張子「.html」や「.php」で終わる場合は、「.html?amp」や「.php?amp」とします。
プラグインを有効化するだけで、URLを入力すると自動で画面が生成されます。
下記の画像は自動はこの例でAMP HTMLが自動で生成された画面です。
https://support.google.com/webmasters/answer/7320015?hl=ja&ref_topic=4589289
これらのエラーを放置してしまうと、Google検索結果の上部にあるAMPエリアに表示されないらしい。それは困るので修正する。
修正するには、functions.php の中に2枚の画像を設定します。
/**
* AMPの Google構造化データテストツールで「「logo」フィールドの値は必須です。」が表示された場合
*/
function amp_modify_json_metadata($metadata, $post) {
$metadata['publisher']['logo'] = array(
'@type' => 'ImageObject',
'url' => 'https://www.simplesimplesdesign.com/wp-content/themes/smplsmpldsn/assets/logo-amp.png',
'width' => '238px',
'height' => '60px'
);
$metadata['image'] = array(
'@type' => 'ImageObject',
'url' => 'https://www.simplesimplesdesign.com/wp-content/themes/smplsmpldsn/assets/amp.png',
'width' => '1200px',
'height' => '630px'
);
return $metadata;
}
add_filter('amp_post_template_metadata', 'amp_modify_json_metadata', 10, 2);
画像のパスと画像の幅・高さは適時修正が必要。$metadata['publisher']['logo']の画像は、横600px以内、高さ60px以内である必要があるそうです。また、$metadata['image']の画像は、横659px以上である必要があるそうです。これは記事に画像がない場合に代替画像として使用されるそうです。
もう一度テストしてみると、無事にエラーが消えました!
以上でAMPの設定は終わり。続いてGoogleアナリティクスの設定。
Googleアナリティクスを開く。
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
これにて完了。
5年くらい前に購入した書籍「インタラクションデザイン」。この書籍内ではたくさんの事例が紹介されている。残念ながらその多くは現在閲覧することができなくなっていた・・・
WordPressを自作する上でもはや欠かせないプラグインの一つが、「Advanced Custom Fields」。 名前を変更しようと思って、Wor・・・
配列の場合 /** * 配列の重複を削除する * * @param {array} ary* * @return {array} 処理後のary・・・
5年以上前と比べると、アップデートが簡単で驚く。とくに記事にするまでもないと思いつつ、一応備忘録。 インストールすると、既存のディレクトリはそのままに別・・・
プラグインを更新中に、誤って、違うページにアクセスしまいました。すると、管理画面だけでなく、公開中のすべての画面が「briefly unavailable f・・・
Gulp。いつもは正常に動いている環境をそのままコピーして再利用するようにしている。そうすることで、案件ごとに毎回環境作りをする手間を省くことができ、何よりG・・・
書籍「LEAN UX リーン思考によるユーザエクスペリエンス・デザイン」から抜粋。 「前提の宣言」「MVPの作成」「実験の実行」「フィードバックとリサー・・・
LEAN UX は、コラボレーションと部門/領域横断的な手法によって、製品の本質を素早く明らかにするための実践的手法であり、これによって文書への過度な依存を減・・・
オブジェクト指向 クラス定義 JavaScriptは厳密にはクラスがない、プロトタイプベースのオブジェクト指向言語。ES6でclass構文が導入さ・・・
書籍「メンテナブルJavaScript」と Google JavaScript Style Guide 和訳 を参考に自分なりのJavaScriptスタイルガ・・・
めっちゃ参考になるページを見つけた。 絞り込みをするたびに色々ググっていたが、これがあればほとんどのことが解決できそうな気がする。 参考: これは便利!Word・・・
まずはサンプル。 これは、overflowをautoにした要素のスクロール位置を変更するサンプルです。 これは、overflowをautoにした要素のスクロ・・・
http://localhost:8888/ での参照ではなく、http://localhost/ で参照できるようにします。 MAMPの設定を変更する M・・・
<?php $args = array( 'paged' => 1, 'posts_per_page' => 20, 'post・・・
iframeで呼び出した際、iframe自体はスクロールさせずに高さを取得してiframe全体を表示させます。 サンプル:iframeの高さを自動調整するデモ・・・
【2020年07月13日】 macOS Catalina(10.15.5) / Adobe iLLustrator 2020(24.2.1) にて動作確認済・・・
ポイントを使ったり、増やしたりしたときに、結果のポイント数に差し替えるのではなくて、カウントアップしたり、カウントダウンして動的に動かそうと思って作ってみた。・・・
やりたいこと カテゴリー一覧ページで、そのカテゴリー一覧ページに属する記事一覧を取得するためにループさせるのとは別に、タイトルやカテゴリー別にデザインを変・・・
MAMPを使用していて、日時の情報を制御しようとしたとき、取得している日時が日本時間ではないことに気がついた。 時差を計算してPHPでプログラミングしていたが、・・・
WordPressの管理画面。「投稿」や「固定ページ」の一覧は、公開日順に並んでいる。ところが、カスタム投稿を追加した場合、公開順ではなく名前順に並んでいること・・・