GitHubにheadタグ内で使われる100種類以上のエレメントが紹介されています。
CC0ライセンスのパブリック・ドメインとして公開されています。一部コメントを追加して、紹介したいと思います。
目次
<head>の最小構成
ie=edge
はIEの互換表示を無効にします。CSSやJSファイルの読み込みより前に記述する必要があります。
<meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Page Title</title>
基本要素
base href=""
はページ内の相対URLの基準となるURLを指定できます。
<!-- Document Title --> <title>Page Title</title> <!-- Base URL to use for all relative URLs contained within the document --> <base href="https://example.com/page.html"> <!-- External CSS --> <link rel="stylesheet" href="styles.css"> <!-- In-document CSS --> <style> /* ... */ </style> <!-- JavaScript --> <script src="script.js"></script>
META要素
<meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <meta name="application-name" content="Application Name"> <meta name="description" content="150 chars"> <meta name="subject" content="your website's subject"> <meta name="robots" content="index,follow,noodp"> <meta name="googlebot" content="index,follow"> <meta name="google" content="nositelinkssearchbox"> <meta name="google-site-verification" content="verification_token"> <meta name="generator" content="program"> <meta name="abstract" content=""> <meta name="topic" content=""> <meta name="summary" content=""> <meta name="classification" content="business"> <meta name="url" content="https://example.com/"> <meta name="identifier-URL" content="https://example.com/"> <meta name="directory" content="submission"> <meta name="category" content=""> <meta name="coverage" content="Worldwide"> <meta name="distribution" content="Global"> <meta name="rating" content="General"> <meta name="referrer" content="never"> <meta http-equiv="Content-Security-Policy" content="default-src 'self'"> <!-- Disable automatic detection and formatting of possible phone numbers --> <meta name="format-detection" content="telephone=no"> <!-- Geo tags --> <meta name="ICBM" content="latitude, longitude" /> <meta name="geo.position" content="latitude;longitude" /> <meta name="geo.region" content="country[-state]" /><!-- Country code (ISO 3166-1): mandatory, state code (ISO 3166-2): optional; eg. content="US" / content="US-NY" --> <meta name="geo.placename" content="city/town" /><!-- eg. content="New York City" -->
非推奨のMETA要素
非推奨の一覧です。未だにmeta name="keywords"
を使ってるサイトを見かけますね。。
<!-- Used to declare the document language, but not well supported. Better to use <html lang=""> --> <meta name="language" content="en"> <!-- Google disregards & Bing considers it an indicator of spam --> <meta name="keywords" content="your,keywords,here,comma,separated,no,spaces"> <!-- No evidence of current use in any search engines --> <meta name="revised" content="Sunday, July 18th, 2010, 5:15 pm"> <!-- Provides an easy way for spam bots to harvest email addresses --> <meta name="reply-to" content="[email protected]"> <!-- Better to use <link rel="author"> or humans.txt file --> <meta name="author" content="name, [email protected]"> <meta name="designer" content=""> <meta name="owner" content=""> <!-- Tells search bots to revisit the page after a period. This is not supported because most Search Engines now use random intervals for re-crawling a webpage --> <meta name="revisit-after" content="7 days"> <!-- Google strongly advises not to use this. Better to set up server-side (e.g. Apache, nginx) redirects instead --> <meta http-equiv="refresh" content="300;url=https://example.com/"> <!-- Cache Control --> <!-- Better to configure cache control server side --> <meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache">
LINK要素
<link rel="copyright" href="copyright.html"> <link rel="stylesheet" href="https://example.com/styles.css"> <link rel="alternate" href="https://feeds.feedburner.com/martini" type="application/rss+xml" title="RSS"> <link rel="alternate" href="https://example.com/feed.atom" type="application/atom+xml" title="Atom 0.3"> <link rel="alternate" href="https://es.example.com/" hreflang="es"> <link rel="me" href="https://google.com/profiles/thenextweb" type="text/html"> <link rel="me" href="mailto:[email protected]"> <link rel="me" href="sms:+15035550125"> <link rel="archives" href="https://example.com/2003/05/" title="May 2003"> <link rel="index" href="https://example.com/" title="DeWitt Clinton"> <link rel="start" href="https://example.com/photos/pattern_recognition_1_about/" title="Pattern Recognition 1"> <link rel="prev" href="https://example.com/opensearch/opensearch-and-openid-a-sure-way-to-get-my-attention/" title="OpenSearch and OpenID? A sure way to get my attention."> <link rel="search" href="/open-search.xml" type="application/opensearchdescription+xml" title="Search Title"> <link rel="self" type="application/atom+xml" href="https://example.com/atomFeed.php?page=3"> <link rel="first" href="https://example.com/atomFeed.php"> <link rel="next" href="https://example.com/atomFeed.php?page=4"> <link rel="previous" href="https://example.com/atomFeed.php?page=2"> <link rel="last" href="https://example.com/atomFeed.php?page=147"> <link rel="shortlink" href="https://example.com/?p=43625"> <link rel="canonical" href="https://example.com/2010/06/9-things-to-do-before-entering-social-media.html"> <link rel="amphtml" href="https://www.example.com/url/to/amp-version.html"> <link rel="EditURI" href="https://example.com/xmlrpc.php?rsd" type="application/rsd+xml" title="RSD"> <link rel="pingback" href="https://example.com/xmlrpc.php"> <link rel="webmention" href="https://example.com/webmention"> <link rel="manifest" href="manifest.json"> <link rel="author" href="humans.txt"> <link rel="import" href="component.html"> <!-- Prefetching, preloading, prebrowsing --> <link rel="dns-prefetch" href="//example.com/"> <link rel="preconnect" href="https://www.example.com/"> <link rel="prefetch" href="https://www.example.com/"> <link rel="prerender" href="https://example.com/"> <link rel="subresource" href="styles.css"> <link rel="preload" href="image.png"> <!-- More info: https://css-tricks.com/prefetching-preloading-prebrowsing/ -->
非推奨のLINK要素
<link rel="shortcut icon" href="path/to/favicon.ico">
ファビコン
<!-- For IE 10 and below --> <!-- No link, just place a file called favicon.ico in the root directory --> <!-- For IE 11, Chrome, Firefox, Safari, Opera --> <link rel="icon" href="path/to/favicon-16.png" sizes="16x16" type="image/png"> <link rel="icon" href="path/to/favicon-32.png" sizes="32x32" type="image/png"> <link rel="icon" href="path/to/favicon-48.png" sizes="48x48" type="image/png"> <link rel="icon" href="path/to/favicon-62.png" sizes="62x62" type="image/png"> <link rel="icon" href="path/to/favicon-192.png" sizes="192x192" type="image/png"> <!-- More info: https://bitsofco.de/all-about-favicons-and-touch-icons/ -->
ソーシャル
Facebook OGP
<meta property="fb:app_id" content="123456789"> <meta property="og:url" content="https://example.com/page.html"> <meta property="og:type" content="website"> <meta property="og:title" content="Content Title"> <meta property="og:image" content="https://example.com/image.jpg"> <meta property="og:description" content="Description Here"> <meta property="og:site_name" content="Site Name"> <meta property="og:locale" content="en_US"> <meta property="article:author" content=""> <!-- Facebook: https://developers.facebook.com/docs/sharing/webmasters#markup --> <!-- Open Graph: http://ogp.me/ -->
Facebook インスタント・アーティクル
最近話題のFacebookのインスタント・アーティクルです。
<meta charset="utf-8"> <meta property="op:markup_version" content="v1.0"> <!-- The URL of the web version of your article --> <link rel="canonical" href="http://example.com/article.html"> <!-- The style to be used for this article --> <meta property="fb:article_style" content="myarticlestyle">
<meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@site_account"> <meta name="twitter:creator" content="@individual_account"> <meta name="twitter:url" content="https://example.com/page.html"> <meta name="twitter:title" content="Content Title"> <meta name="twitter:description" content="Content description less than 200 characters"> <meta name="twitter:image" content="https://example.com/image.jpg"> <!-- More info: https://dev.twitter.com/cards/getting-started --> <!-- Validate: https://dev.twitter.com/docs/cards/validation/validator -->
Google+ Schema.org
<link href="https://plus.google.com/+YourPage" rel="publisher"> <meta itemprop="name" content="Content Title"> <meta itemprop="description" content="Content description less than 200 characters"> <meta itemprop="image" content="https://example.com/image.jpg">
oEmbed
コンテンツ埋め込みの統一規格、oEmbedに対応します。
<link rel="alternate" type="application/json+oembed" href="http://example.com/services/oembed?url=http%3A%2F%2Fexample.com%2Ffoo%2F&format=json" title="oEmbed Profile: JSON"> <link rel="alternate" type="text/xml+oembed" href="http://example.com/services/oembed?url=http%3A%2F%2Fexample.com%2Ffoo%2F&format=xml" title="oEmbed Profile: XML">
ブラウザ・プラットフォーム
Apple iOS
<!-- Smart App Banner --> <meta name="apple-itunes-app" content="app-id=APP_ID,affiliate-data=AFFILIATE_ID,app-argument=SOME_TEXT"> <!-- Disable automatic detection and formatting of possible phone numbers --> <meta name="format-detection" content="telephone=no"> <!-- Add to Home Screen --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="apple-mobile-web-app-title" content="App Title"> <!-- Touch Icons --> <link rel="apple-touch-icon" href="path/to/apple-touch-icon.png"> <link rel="apple-touch-icon-precomposed" href="path/to/apple-touch-icon-precomposed.png"> <!-- In most cases, one 180×180px touch icon in the head is enough --> <!-- If you use art-direction and/or want to have different content for each device, you can add more touch icons --> <!-- Startup Image --> <link rel="apple-touch-startup-image" href="path/to/startup.png"> <!-- More info: https://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html -->
Apple Safari
<!-- Pinned Site --> <link rel="mask-icon" href="path/to/icon.svg" color="red">
Google Android
<meta name="theme-color" content="#E64545"> <!-- Add to homescreen --> <meta name="mobile-web-app-capable" content="yes"> <!-- More info: https://developer.chrome.com/multidevice/android/installtohomescreen -->
Google Chrome
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/APP_ID"> <!-- Disable translation prompt --> <meta name="google" value="notranslate">
Microsoft Internet Explorer
<meta http-equiv="x-ua-compatible" content="ie=edge"> <meta http-equiv="cleartype" content="on"> <meta name="skype_toolbar" content="skype_toolbar_parser_compatible"> <!-- Disable link highlighting on IE 10 on Windows Phone (https://blogs.windows.com/buildingapps/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10/) --> <meta name="msapplication-tap-highlight" content="no"> <!-- Pinned sites (https://msdn.microsoft.com/en-us/library/dn255024(v=vs.85).aspx) --> <meta name="application-name" content="Contoso Pinned Site Caption"> <meta name="msapplication-tooltip" content="Example Tooltip Text"> <meta name="msapplication-starturl" content="/"> <meta name="msapplication-config" content="http://example.com/browserconfig.xml"> <meta name="msapplication-allowDomainApiCalls" content="true"> <meta name="msapplication-allowDomainMetaTags" content="true"> <meta name="msapplication-badge" content="frequency=30; polling-uri=http://example.com/id45453245/polling.xml"> <meta name="msapplication-navbutton-color" content="#FF3300"> <meta name="msapplication-notification" content="frequency=60;polling-uri=http://example.com/livetile"> <meta name="msapplication-square150x150logo" content="path/to/logo.png"> <meta name="msapplication-square310x310logo" content="path/to/largelogo.png"> <meta name="msapplication-square70x70logo" content="path/to/tinylogo.png"> <meta name="msapplication-wide310x150logo" content="path/to/widelogo.png"> <meta name="msapplication-task" content="name=Check Order Status;action-uri=./orderStatus.aspx?src=IE9;icon-uri=./favicon.ico"> <meta name="msapplication-task-seperator" content="1"> <meta name="msapplication-TileColor" content="#FF3300"> <meta name="msapplication-TileImage" content="path/to/tileimage.jpg"> <meta name="msapplication-window" content="width=1024;height=768">
Microsoft Internet Explorer (特殊)
<!-- Disable the image toolbar when you mouse over images in IE 6 (https://msdn.microsoft.com/en-us/library/ms532986(v=vs.85).aspx) --> <meta http-equiv="imagetoolbar" content="no"> <!-- Disable Windows theming to form inputs/buttons (https://support.microsoft.com/en-us/kb/322240) --> <meta name="MSThemeCompatible" content="no"> <!-- Disable a feature that only appeared on IE 6 beta (https://stackoverflow.com/q/2167301) --> <meta name="MSSmartTagsPreventParsing" content="true"> <!-- Interpage Transitions (https://msdn.microsoft.com/en-us/library/ms532847(v=vs.85).aspx) --> <meta http-equiv="Page-Enter" content="revealtrans(duration=2,transition=2)"> <meta http-equiv="Page-Exit" content="revealtrans(duration=3,transition=12)"> <meta http-equiv="Site-Enter" content="revealtrans(duration=2,transition=2)"> <meta http-equiv="Site-Exit" content="revealtrans(duration=3,transition=12)">
360 Browser
<!-- select rendering engine in order --> <meta name="renderer" content="webkit|ie-comp|ie-stand">
UC Mobile Browser
<!-- Locks the screen into the specified orientation --> <meta name="screen-orientation" content="landscape/portrait"> <!-- Display this page in fullscreen --> <meta name="full-screen" content="yes"> <!-- UC browser will display images even if in "text mode" --> <meta name="imagemode" content="force"> <!-- Page will be displayed in "application mode"(fullscreen,forbiding gesture, etc.) --> <meta name="browsermode" content="application"> <!-- Disabled the UC browser's "night mode" in this page --> <meta name="nightmode" content="disable"> <!-- Simplify the page to reduce data transfer --> <meta name="layoutmode" content="fitscreen"> <!-- Disable the UC browser's feature of "scaling font up when there are many words in this page" --> <meta name="wap-font-scale" content="no">
QQ Mobile Browser
<!-- Locks the screen into the specified orientation --> <meta name="x5-orientation" content="landscape/portrait"> <!-- Display this page in fullscreen --> <meta name="x5-fullscreen" content="true"> <!-- Page will be displayed in "application mode"(fullscreen,etc.) --> <meta name="x5-page-mode" content="app">
アプリリンク
<!-- iOS --> <meta property="al:ios:url" content="applinks://docs"> <meta property="al:ios:app_store_id" content="12345"> <meta property="al:ios:app_name" content="App Links"> <!-- Android --> <meta property="al:android:url" content="applinks://docs"> <meta property="al:android:app_name" content="App Links"> <meta property="al:android:package" content="org.applinks"> <!-- Web Fallback --> <meta property="al:web:url" content="http://applinks.org/documentation"> <!-- More info: http://applinks.org/documentation/ -->