HEAD/README.md

419 lines
16 KiB
Markdown
Raw Normal View History

2016-04-20 22:08:36 +02:00
# HEAD
A collection of HTML head elements.
## Recommended Minimum
Below are the essential tags for basic, minimalist websites:
```html
<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>
```
## Elements
``` html
<title>Page Title</title>
2016-05-27 17:43:12 +02:00
<!-- The <base> tag defines a base URL for all relative links in the document -->
<base href="https://example.com/page.html">
<style>
body { color: red; }
</style>
<script src="script.js"></script>
```
2016-04-21 20:34:50 +02:00
## Meta Element
2016-04-20 22:08:36 +02:00
``` html
<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 -->
2016-05-03 19:28:46 +02:00
<meta name="application-name" content="Application Name">
2016-04-20 22:08:36 +02:00
<meta name="keywords" content="your,keywords,here,comma,separated,no,spaces">
<meta name="description" content="150 chars">
2016-04-20 22:08:36 +02:00
<meta name="subject" content="your website's subject">
2016-05-24 01:55:56 +02:00
<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">
2016-04-20 22:08:36 +02:00
<meta name="abstract" content="">
<meta name="topic" content="">
<meta name="summary" content="">
<meta name="classification" content="business">
2016-04-20 22:08:36 +02:00
<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">
2016-04-24 12:08:12 +02:00
<meta name="referrer" content="never">
2016-05-04 16:15:56 +02:00
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
2016-05-27 17:43:12 +02:00
<!-- Geo tags -->
<meta name="ICBM" content="latitude, longitude" />
2016-05-27 19:50:46 +02:00
<meta name="geo.position" content="latitude;longitude" />
2016-05-27 17:49:07 +02:00
<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" -->
2016-05-27 17:43:12 +02:00
<meta name="geo.placename" content="city/town" /><!-- eg. content="New York City" -->
2016-05-04 16:15:56 +02:00
```
2016-05-27 17:43:12 +02:00
- [ICBM on Wikipedia](https://en.wikipedia.org/wiki/ICBM_address#Modern_use)
- [Geotagging on Wikipedia](https://en.wikipedia.org/wiki/Geotagging#HTML_pages)
2016-05-23 21:53:31 +02:00
### Not Recommended
Below are the meta attributes which are not recommended for use:
2016-05-04 16:15:56 +02:00
```html
2016-05-23 21:53:31 +02:00
<!-- Used to declare the document language, but not well supported. Better to use <html lang=""> -->
2016-05-04 16:15:56 +02:00
<meta name="language" content="en">
2016-05-23 21:53:31 +02:00
<!-- No evidence of current use in any search engines -->
<meta name="revised" content="Sunday, July 18th, 2010, 5:15 pm">
2016-05-23 21:53:31 +02:00
<!-- Provides an easy way for spam bots to harvest email addresses -->
<meta name="reply-to" content="email@example.com">
2016-05-23 21:53:31 +02:00
<!-- Better to use <link rel="author"> or humans.txt file -->
2016-05-04 16:15:56 +02:00
<meta name="author" content="name, email@example.com">
<meta name="designer" content="">
<meta name="owner" content="">
2016-05-23 21:53:31 +02:00
<!-- 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 -->
2016-04-20 22:08:36 +02:00
<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 -->
2016-05-23 21:53:31 +02:00
<meta http-equiv="refresh" content="300;url=https://example.com/">
2016-04-20 22:08:36 +02:00
<!-- Cache Control -->
2016-05-23 21:53:31 +02:00
<!-- Better to configure cache control server side -->
2016-04-20 22:08:36 +02:00
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
```
2016-04-21 20:34:50 +02:00
## Link Element
2016-04-20 22:08:36 +02:00
``` html
<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">
2016-04-20 22:08:36 +02:00
<link rel="me" href="https://google.com/profiles/thenextweb" type="text/html">
<link rel="me" href="mailto:name@example.com">
<link rel="me" href="sms:+15035550125">
2016-04-20 22:08:36 +02:00
<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.">
2016-05-03 16:37:25 +02:00
<link rel="search" href="/open-search.xml" type="application/opensearchdescription+xml" title="Search Title">
2016-04-20 22:08:36 +02:00
<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">
2016-04-22 22:08:58 +02:00
<link rel="amphtml" href="https://www.example.com/url/to/amp-version.html">
2016-04-20 22:08:36 +02:00
<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">
2016-04-23 08:16:28 +02:00
<link rel="author" href="humans.txt">
2016-04-27 00:43:10 +02:00
<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/ -->
2016-04-20 22:08:36 +02:00
```
2016-05-23 21:53:31 +02:00
### Not Recommended
Below are the link relations which are not recommended for use:
```html
<link rel="shortcut icon" href="path/to/favicon.ico">
```
2016-04-20 22:08:36 +02:00
### Favicons
``` html
2016-05-04 16:15:56 +02:00
<!-- For IE 10 and below -->
2016-04-20 22:08:36 +02:00
<!-- No link, just place a file called favicon.ico in the root directory -->
2016-05-04 16:15:56 +02:00
<!-- For IE 11, Chrome, Firefox, Safari, Opera -->
2016-04-23 04:55:13 +02:00
<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">
2016-04-20 22:08:36 +02:00
<link rel="icon" href="path/to/favicon-62.png" sizes="62x62" type="image/png">
<!-- More info: https://bitsofco.de/all-about-favicons-and-touch-icons/ -->
```
2016-04-27 01:24:25 +02:00
- [All About Favicons (And Touch Icons)](https://bitsofco.de/all-about-favicons-and-touch-icons/)
2016-04-20 22:08:36 +02:00
## Social
2016-05-24 16:08:22 +02:00
### OEmbed
``` html
<link rel="alternate" type="application/json+oembed"
href="http://example.com/services/oembed?url=http%3A%2F%2Fexample.com%2Ffoo%2F&amp;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&amp;format=xml"
title="oEmbed Profile: XML">
```
2016-05-24 16:10:33 +02:00
- [oEmbed format](http://oembed.com/)
2016-04-20 22:08:36 +02:00
### Facebook / Open Graph
``` html
2016-04-24 18:29:54 +02:00
<meta property="fb:app_id" content="123456789">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:type" content="website">
2016-04-20 22:08:36 +02:00
<meta property="og:title" content="Content Title">
2016-04-24 18:29:54 +02:00
<meta property="og:image" content="https://example.com/image.jpg">
2016-04-20 22:08:36 +02:00
<meta property="og:description" content="Description Here">
<meta property="og:site_name" content="Site Name">
<meta property="og:locale" content="en_US">
2016-04-24 18:29:54 +02:00
<meta property="article:author" content="">
2016-04-20 22:08:36 +02:00
<!-- Facebook: https://developers.facebook.com/docs/sharing/webmasters#markup -->
<!-- Open Graph: http://ogp.me/ -->
```
2016-04-27 01:24:25 +02:00
- [Facebook Open Graph Markup](https://developers.facebook.com/docs/sharing/webmasters#markup)
- [Open Graph protocol](http://ogp.me/)
2016-04-20 22:08:36 +02:00
### Facebook / Instant Articles
2016-05-24 01:53:50 +02:00
``` html
<meta charset="utf-8">
<meta property="op:markup_version" content="v1.0">
2016-05-24 01:53:50 +02:00
<!-- The URL of the web version of your article -->
<link rel="canonical" href="http://example.com/article.html">
2016-05-24 01:53:50 +02:00
<!-- The style to be used for this article -->
<meta property="fb:article_style" content="myarticlestyle">
```
- [Facebook Instant Articles: Creating Articles](https://developers.facebook.com/docs/instant-articles/guides/articlecreate)
2016-05-27 17:43:12 +02:00
- [Instant Articles: Format Reference](https://developers.facebook.com/docs/instant-articles/reference)
2016-04-20 22:08:36 +02:00
### Twitter
``` html
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@site_account">
<meta name="twitter:creator" content="@individual_account">
2016-04-24 18:32:08 +02:00
<meta name="twitter:url" content="https://example.com/page.html">
2016-04-20 22:08:36 +02:00
<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 -->
```
2016-04-27 01:24:25 +02:00
- [Twitter Cards: Getting Started Guide](https://dev.twitter.com/cards/getting-started)
- [Twitter Card Validator](https://dev.twitter.com/docs/cards/validation/validator)
2016-04-20 22:08:36 +02:00
### Google+ / Schema.org
``` html
<link href="https://plus.google.com/+YourPage" rel="publisher">
2016-04-20 22:08:36 +02:00
<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">
```
## Browser/Platform
2016-04-22 18:01:29 +02:00
### Apple iOS
2016-04-20 22:08:36 +02:00
``` html
2016-04-24 18:07:46 +02:00
<!-- 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 -->
2016-04-20 22:08:36 +02:00
<meta name="format-detection" content="telephone=no">
2016-04-24 18:07:46 +02:00
<!-- Add to Home Screen -->
2016-04-20 22:08:36 +02:00
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
2016-04-24 18:07:46 +02:00
<meta name="apple-mobile-web-app-title" content="App Title">
<!-- Touch Icons -->
2016-04-20 22:08:36 +02:00
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="apple-touch-icon-precomposed" href="apple-touch-icon-precomposed.png">
2016-04-24 18:07:46 +02:00
<!-- 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 -->
2016-04-20 22:08:36 +02:00
<link rel="apple-touch-startup-image" href="startup.png">
2016-04-24 18:07:46 +02:00
2016-04-20 22:08:36 +02:00
<!-- More info: https://developer.apple.com/safari/library/documentation/appleapplications/reference/safarihtmlref/articles/metatags.html -->
```
2016-04-27 01:24:25 +02:00
- [Apple Meta Tags](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html)
2016-04-20 22:08:36 +02:00
2016-04-24 17:37:55 +02:00
### Apple Safari
```html
<!-- Pinned Site -->
<link rel="mask-icon" href="icon.svg" color="red">
```
### Google Android
``` html
<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 -->
2016-04-24 17:37:55 +02:00
```
2016-04-24 17:41:51 +02:00
### Google Chrome
``` html
<link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/APP_ID">
<!-- Disable translation prompt -->
<meta name="google" value="notranslate">
2016-04-24 17:41:51 +02:00
```
2016-04-24 17:37:55 +02:00
### Microsoft Internet Explorer
2016-04-20 22:08:36 +02:00
``` html
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta http-equiv="cleartype" content="on">
<meta name="skype_toolbar" content="skype_toolbar_parser_compatible">
2016-04-20 22:08:36 +02:00
<!-- 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="images/logo.png">
<meta name="msapplication-square310x310logo" content="images/largelogo.png">
<meta name="msapplication-square70x70logo" content="images/tinylogo.png">
<meta name="msapplication-wide310x150logo" content="images/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="images/tileimage.jpg">
<meta name="msapplication-window" content="width=1024;height=768">
2016-04-20 22:08:36 +02:00
```
2016-04-24 17:37:55 +02:00
### Microsoft Internet Explorer (LEGACY DO NOT USE)
2016-04-20 22:08:36 +02:00
``` html
<!-- 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)">
2016-04-20 22:08:36 +02:00
```
### 360 Browser
``` html
<!-- select rendering engine in order -->
<meta name="renderer" content="webkit|ie-comp|ie-stand">
```
### UC Mobile Browser
``` html
<!-- 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">
2016-05-16 12:52:51 +02:00
<!-- 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" -->
2016-05-03 16:35:55 +02:00
<meta name="wap-font-scale" content="no">
```
- [UC Browser Docs](http://www.uc.cn/download/UCBrowser_U3_API.doc)
### QQ Mobile Browser
``` html
<!-- 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">
2016-05-16 12:52:51 +02:00
<!-- Page will be displayed in "application mode"(fullscreen,etc.) -->
<meta name="x5-page-mode" content="app">
```
2016-04-27 01:20:52 +02:00
## App Links
``` html
<!-- 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/ -->
```
- [App Links Docs](http://applinks.org/documentation/)
2016-04-20 22:08:36 +02:00
## Other Resources
- [HTML5 Boilerplate Docs: The HTML](https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/html.md)
2016-04-24 18:08:56 +02:00
- [HTML5 Boilerplate Docs: Extend and customize](https://github.com/h5bp/html5-boilerplate/blob/master/dist/doc/extend.md)
2016-04-20 22:08:36 +02:00
## Contributing
Open an issue or a pull request to suggest changes or additions.
2016-04-26 22:34:17 +02:00
## Author
2016-05-24 00:07:58 +02:00
**[Josh Buchea](http://joshbuchea.com/)**
2016-04-26 22:34:17 +02:00
2016-04-20 22:08:36 +02:00
## License
[MIT License](LICENSE)