metaタグのルール
投稿日: / 更新日:
AMPにおけるmeta
要素のルールです。AMPの中では比較的、自由に利用できるタグですが、3点ほど、厳密なルールがあるのを覚えておきましょう。
charset (必須)
AMPではhead
要素内に、meta
要素でcharset
を指定する必要があります。記述がない場合、または、値がutf-8
じゃない場合にエラーが発生します。
<meta charset="utf-8">
head
要素内なら、どこに記述してもエラーは発生しません。ですが、後述のviewport
と併せて、最初に記述しておく方が忘れないし良いと思います。
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<title>SYNCER</title>
<link rel="canonical" href="syncer.html">
...
</head>
viewport (必須)
AMPではhead
要素内のmeta
要素で、viewport
を指定する必要があります。記述がない場合、エラーが発生します。
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
指定の内容ですが、width
とminimum-scale
が指定必須で、initial-scale
は推奨ですが省略可能です。下記の通りでも大丈夫ということですね。よほど特殊な事情がない限りは、省略する意味がないので、先述のコードを使うのが一番良いでしょう。
<meta name="viewport" content="width=device-width,minimum-scale=1">
必須のタグなので、head
要素内のはじめに記述しておくのがオススメです。
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<title>SYNCER</title>
<link rel="canonical" href="syncer.html">
...
</head>
http-equiv (禁止)
http-equiv
属性は禁止されています。指定するとエラーが発生するのでご注意下さい。今や使っている人はいないと思うので、ここは意識する必要はないでしょう。下記はhttp-equiv
の一例です。
<meta http-equiv="pragma" content="no-cache">
インデックスの拒否
meta
要素は、紹介してきた3つの厳格なルール以外は自由に使えます。例えば、「まだAMPをテスト中なのでGoogleにインデックスされたくない」という場合は、robots
属性を指定できます。
<meta name="robots" content="noindex">
Twitter Cardの指定
AMP特有の記述ではないため、あえて詳細は解説しませんが、meta
要素を利用して、オープングラフやTwitter Cardを指定することも可能です。
<meta property="og:title" content="SYNCER">
<meta property="og:url" content="https://syncer.jp/">
<meta property="og:image" content="https://syncer.jp/images/blog/logo.png">
<meta name="twitter:card" content="summary_large_image">
<meta property="og:site_name" content="SYNCER">
<meta name="twitter:site" content="@syncerjp">
...