TODO
-
-
Save mems/c84f5724420e467e1699f7ff5a4632eb to your computer and use it in GitHub Desktop.
- use validator/validator: The Nu Html Checker -- Helps you catch unintended mistakes in your HTML, CSS, and SVG
- Developer Tools - W3C Developers
- usage of depreciated tags
- depreciate plugins (Flash, Sliverlight, Java) object element and related libraries (see depreciated libs)
- minification, use Closure Compiler
compilation_level=SIMPLE_OPTIMIZATIONS
- head tags order:
link[preload]
,script[async]
&script[defer]
,style
,script
,link[stylesheet]
,link
,script[type!=javascript]
+noscript
- defer scripts (for "optional script" coverage < 30% -> split)
- async scripts (only for required scripts)
- don't use inline CSS import rule:
<style>@import "url"</style>
(@import
support different syntaxes) (blocking resource) - merge adjacent inline source elements (
style+style
) (script+script
) and external ressources (sharing the same domain: all.js
, all.css
) - language attribute
- JSON-LD, RDFa and Microdata of http://data-vocabulary.org/ (
typeof="v:Breadcrumb"
,property="v:title"
rel="v:url"
,typeof="v:Breadcrumb"
), JSON-LD, RDF Google Webmasters sur Twitter : "With the increasing usage and popularity of https://t.co/hGrr8MSS40 we decided to focus our development on a single scheme. As of April 6, 2020, https://t.co/N98EXBIRJ6 markup will no longer be eligible for Google rich result features. Read more at https://t.co/n8qsmdLgxE... https://t.co/Itj5R7va9K" Move to Schema.org (itemscope itemtype="http://schema.org/BreadcrumbList"
,itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"
,itemprop="item"
,itemprop="name"
,<meta itemprop="position" content="1" />
) - Upgrade Your HTML (the Booklet) * Jens Oliver Meiert:
- stop escaping
&
- don't double boolean attribute
- if it can be done using an HTTP header, use an HTTP header
- avoid data images
- etc.
- stop escaping
<title>
must be on top header elements (before first scripts and stylesheets)- HTMHell - Markup from hell
- html5-boilerplate/extend.md at master - h5bp/html5-boilerplate - Internet Explorer specific meta tags
- Use
button[type=button]
instead ofa[href=#]
,a[href^="javascript:"]
- duplicated title, meta, link, style or script. Can cause issues for styles or scripts
- duplicated IDs
- missing for each
html, svg
:html > head > title, svg > title:first-child
(TODO handle "The<title>
element must be the first child of its parent element, which may be one of the SVG container elements or graphics elements" case) Tip:svg > desc
- useless attribute, ex:
a[type=button]
usebutton[type=button]
instead (ishref=""
,href="#"
orhref="javascript:..."
)? - missing root lang attribute
:root:not([lang])
et valid IETF BCP47 format - some rules used by YozhikM/stylelint-a11y: Plugin for stylelint with a11y rules for validate HTML
- a11y.css
- use srcset (responsive images)
- allowed attributes, mistyped attributes Make custom attribute rules consistent with custom element name rules * Issue #2271 * whatwg/html
- Subresource Integrity
Optimization advices, other lint rules:
- The Font Loading Checklist---zachleat.com
- Front-End-Performance-Checklist/README.md at master - thedaviddias/Front-End-Performance-Checklist
- The Front-End Checklist - ✨ Your best Front-End Tool ✨
- https://www.smashingmagazine.com/2016/12/front-end-performance-checklist-2017-pdf-pages/ (start at point 11)
- https://developer.yahoo.com/performance/
- https://developers.google.com/speed/
- https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/quick-start-quide#TOC-Interpreting-the-Results
- https://github.com/WPO-Foundation/webpagetest/tree/master/www/tips_data
- https://sites.google.com/a/webpagetest.org/docs/other-resources/optimization-resources
- https://www.webpagetest.org/forums/forumdisplay.php?fid=9
- https://github.com/WPO-Foundation/webpagetest/blob/master/www/settings/feeds.inc.sample
- Blog - Rigor
- How to Improve Your YSlow Score Right Now
- Fasterize feature to reduce requests, weight and prioritize elements
- Auditez votre site internet | Ecoindex
- Écoconception Web: 115 bonne pratique pour doper son site et réduire son empreinte écologique - Frederic Bordage - ecoconception-web - Opquast Check-lists
- Website Performance checklist -- Hacker Noon
- Pagespeed Insights - Rigor
- Building Faster Experiences with Continuous Performance - Rigor
- The Book of GIF - Rigor
Other
- https://developers.google.com/maps/documentation/javascript/browsersupport
- Issue - webcompat/web-bugs
Must check other/extra attributes that could be unused on meta (other than charset|http-equiv|name|itemprop
, content) or link -> an other lint rule?
Each rules must have a specificity
-
<meta charset="utf-8">
must be the first element after<head>
in the first 1024 bytes, else IE restart the HTML parserIf you are trying to improve Web performance, don't put a bunch of
<link rel=preload> tags for scripts before
. Pushing
beyond the first 1024 bytes is worse than not having
s for scripts. (As a "fun" detail, in this case, Firefox needs <link rel=preload\> less than Chrome does but the penalty from late <meta charset=utf-8> is larger in Firefox than in Chrome.) Firefox dev tools warn about this. The dev tools in Chrome and Safari don't. The Chrome dev tools suggest adding even more
s. Teaching materials should put more emphasis on not putting Facebook bogo-namespaces, copyright/license legends, preloads, etc., etc. before
. The only things that should come before it are the doctype, the
start tag, and the
start tag. And of those, the
and
` start tags are not even required to be present at all. [...] I think teaching materials should tell people to put it first. (Doctype, charset, viewport, title, stylesheets, the rest.) > [...] When Firefox has inspected the first 1024 and still hasn't seen the encoding declaration, it assumes a legacy encoding andnstarts parsing. If it then finds a meta, it reloads, so there's the cost of the reload. Chrome's meta prescanner continues to until it (by using approximation) believes it has reached the end of head / start of body. So the cost is not starting the real parse (that would actually start subresource loads) until having waited for more main resource bytes. I haven't checked lately, but IIRC in WebKit, the part about going beyond 1024 was unreliable in that meta scanning could also be ended by a timeout. [...] the meta is unnecessary if there's charset on the HTTP layer or the stream starts with a BOM. [...] HTTP takes precedence over meta, so no, browsers don't do the 1024-byte meta scan if there was HTTP-layer charset. (They do look at the first 3 bytes, though, since the BOM takes precedence over HTTP.) -
meta viewport scale
html:root > head > meta[name=viewport][value*="maximum-scale="]
,html:root > head > meta[name=viewport][value*="user-scalable=no"]
should be 0. No maximum scale, nominimum-scale
query, no disabled & false & flikee & imgrss & mo & mp & ...- Proposal: dev SHOULD NOT use
content="user-scalable=no | maximum-scale=1.0"
on meta * Issue #602 * w3c/html - Quick Tip: Never use
maximum-scale=1.0
- The A11Y Project - accessibility - Revisiting user-scalable=no - User Experience Stack Exchange
- Rick Viscomi on Twitter: "The \ user-scalable property has ONLY TWO possible values: yes or no. According to @HTTPArchive the top values on mobile are: ✅ no 57.78% ❌ 0 24.57% ✅ yes 13.36% ❌ 1 4.04% ❌ 1.0 0.12% ❌ false 0.06%"
- Proposal: dev SHOULD NOT use
-
<meta name="description" content="Page description">
: config -
<meta name="author" content="">
-
<meta name="generator" content="">
-
<meta name="referrer" content="unsafe-url">
: config -
<meta name="keywords" content="questions, answers">
: not realy needed -
<link rel="icon" href="favicon-16.png" sizes="16x16" type="image/png">
: Favicon (could be multiple times for differents sizes) -
<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="preload" href="image.png">
-
<meta name="application-name" content="Application Name">
-
<link rel="manifest" href="/manifest.webmanifest">
: Web App Manifest | MDN -
<meta name="theme-color" content="#3c790a">
: HTML Standard Can I use... Support tables for HTML5, CSS3, etc -
<link rel="search" title="" type="application/opensearchdescription+xml" href="https://example.com/search.xml">
: OpenSearch description format | MDN -
meta
http-equiv
should be real headers and not obseleted by HTML5. Ex:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
should be served as header -
Content-Type: text/html; charset=utf-8
and add ` in the document (if the header doesn't indicate the charset, for performance point of view)
Others:
- HTML 5.2: 4.8. Links
- <meta>: The metadata element - HTML: HyperText Markup Language | MDN
- HTML 5.2: 4.2. Document metadata
- List of unofficial meta names: MetaExtensions - WHATWG Wiki
<meta name="revisit-after" content="7 days">
<meta name="rating" content="General">
<meta name="designer" content="">
<meta name="robots" content="noindex">
: <meta>: The metadata element - HTML: HyperText Markup Language | MDN- ...
- Link types - HTML: HyperText Markup Language | MDN See the col "Not allowed in these elements" See also existing rel values * Microformats Wiki (obselete?)
- Webmasters - Sharing
- Open Graph Music - Partage
- Cards markup --- Twitter Developers
- The Open Graph protocol
<!-- Facebook will ignore the attribute type, use ob:video:type for that --> <meta property="og:video" content="http://example.com/video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> <meta property="og:video" content="http://example.com/video.webm" type='video/webm; codecs="vp8, vorbis"'>
Could be obselete (non standard):
<meta name="apple-mobile-web-app-status-bar-style" content="black">
: Sets the style of the status bar for a web application. Supported Meta Tags<meta name="format-detection" content="telephone=no">
: Enables or disables automatic detection of possible phone numbers in a webpage in Safari on iOS. Supported Meta Tags<link rel="apple-touch-icon" href="touch-icon-iphone.png">
: Specifying a Webpage Icon for Web Clip Configuring Web Applications<link rel="apple-touch-startup-image" href="/launch.png">
: Specifying a Launch Screen Image Configuring Web Applications<meta name="apple-mobile-web-app-title" content="AppTitle">
: Adding a Launch Icon Title Configuring Web Applications<meta name="apple-mobile-web-app-capable" content="yes">
: Hiding Safari User Interface Components Configuring Web Applications<meta name="apple-mobile-web-app-status-bar-style" content="black">
: Changing the Status Bar Appearance Configuring Web Applications<meta name="mobile-web-app-capable" content="yes">
: Add to Homescreen - Google Chrome<link rel="alternate" href="https://feeds.feedburner.com/example" 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="amphtml" href="https://example.com/path/to/amp-version.html">
<meta name="google" content="nositelinkssearchbox">
: Disables the sitelinks search box in Google<meta name="google" content="notranslate">
: Prevents Google Chrome from translating the webpage into other languages.<meta name="thumbnail" content="http://example/foo.jpg">
: Page thumbail in search result of Google Custom Search Specify thumbnails - Custom Search Help<meta http-equiv="x-dns-prefetch-control" content="off">
: X-DNS-Prefetch-Control - HTTP | MDN
Microformats
- existing rel values * Microformats Wiki
- rel * Microformats Wiki
<link rel="shortlink" href="">
: rel="shortlink" * Microformats Wiki<link rel="me" type="text/html" href="http://example.com/me">
:<link rel="acquaintance" href="">
<link rel="friend" href="">
- ...
- Internet Explorer (9+) and Edge Pinned sites
- HTML Goodies: Lots of Education Waiting For You -- Out Of The Box
- Declaring Pinned Site Metadata (Windows) | Microsoft Docs
<meta name="msapplication-allowDomainApiCalls" content="true">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-allowDomainMetaTags" content="true">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-badge" content="frequency=30; polling-uri=http://example.com/id45453245/polling.xml">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-config" content="http://contoso.com/browserconfig.xml">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-navbutton-color" content="#FF3300">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-notification" content="frequency=60;polling-uri=http://contoso.com/livetile">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-square150x150logo" content="images/logo.png">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-square310x310logo" content="images/largelogo.png">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-square70x70logo" content="images/tinylogo.png">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-wide310x150logo" content="images/widelogo.png">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-starturl" content="http://example.com">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-task" content="name=Check Order Status;action-uri=./orderStatus.aspx?src=IE9;icon-uri=./favicon.ico">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-task-separator" content="Unique Value">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-TileColor" content="#FF3300">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-TileImage" content="images\tileimage.jpg">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-tooltip" content="Example Tooltip Text">
: Pinned site metadata reference (Internet Explorer)<meta name="msapplication-window" content="width=1024;height=768">
: Pinned site metadata reference (Internet Explorer)
- Windows Store app
- Connect your website to your Windows Store app (Windows)
<meta name="msApplication-ID" content="microsoft.build.App">
<meta name="msApplication-PackageFamilyName" content="microsoft.build_8wekyb3d8bbwe">
<meta name="msApplication-Arguments" content="">
<meta name="msApplication-MinVersion" content="">
<meta name="msApplication-OptOut" content="">
<meta name="msapplication-tap-highlight" content="no">
: Adapting your WebKit-optimized site for Internet Explorer 10 - Windows Developer BlogWindows Developer Blog- Wordpress XML-RPC
- Things You Should Know About XML-RPC Protocol --- BestWebSoft
<link rel="pingback" href="">
: Introduction to Blogging « WordPress Codex<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://example.com/?rsd">
: Weblog Client « WordPress Codex<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://example.com/wlwmanifest.xml">
: Download Windows Live Writer from Official Microsoft Download Center
<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" />
<meta name="ResourceLoaderDynamicStyles" content="">
: Used by a custom JS lib to ineject styles ResourceLoader/ResourceLoaderDynamicStyles specification - MediaWiki<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
: iOS Smart App Banner Promoting Apps with Smart App Banners<link rel="mask-icon" href="path/to/safari-pinned-tab.svg" color="color">
: Creating Pinned Tab Icons- Google News
- Google News Blog: Credit where credit is due
<meta name="syndication-source" content="https://example.com/">
: use instead<link rel="canonical" content="https://example.com/">
<meta name="original-source" content="https://example.com/">
<meta name="microid" content="xmpp+https:sha1:6196ea6709be2a4cbdf2bc0cfaeac491f2fb8921">
: draft-miller-microid-01 - MicroID<meta name="googlebot" content="noindex">
: used by Google. See also metarobots
<meta name="yandex" content="all">
: used by Yandex. See also metarobots
. See Using HTML elements - Webmaster. Help<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
Use to identify the website (by Search Engines, Ad networks, etc.), consider other solutions (DNS TXT record, DNS CNAME record, host a specific file like .well-known
, etc.):
- Google Webmaster Tools Verifies your website for access to Google Webmaster Tools.
<meta name="google-site-verification" content="...">
<meta name="verify-v1" content="...">
: use instead<meta name="google-site-verification" content="...">
<meta name="msvalidate.01" content="0123456789ABCDEF0123456789ABCDEF">
: Bing Webmaster Tools How to Verify Ownership of Your Site - Bing Webmaster Tools<meta name="yandex-verification" content="...">
: Access rights - Webmaster. Help<meta name="norton-safeweb-site-verification" content=" ...">
: Norton Safeweb Is This Website Safe | Website Security | Norton Safe Web<meta name="wot-verification" content="...">
: Mywot Ownership verification | Help Center | WOT (Web of Trust)<meta name="p:domain_verify" content="...">
: Pinterest Claim your website | Pinterest help<meta name="majestic-site-verification" content="...">
: Majestic Webmaster Tools Majestic Backlinks - Upgrade To Continue - Majestic<meta name="baidu-site-verification" content="...">
: Baidu Webmasters Tools 百度搜索资源平台_让网站更具价值<meta name="verifyownership" content="">
: Flippa How Do I Verify Ownership of the Site I am Selling? -- Flippa Help Center<meta name="globalsign-domain-verification" content="">
: GlobalSign Performing Domain Verification - HTTP Ve...<meta name="bitly-verification" content="">
: Bit.ly Tracking? Bitly | URL Shortener, Custom Branded URLs, API & Link Management<meta name="verify-admitad" content="">
: AdmitAD Publishers | admitad<meta name="ero_verify" content="">
: Ero Advertising Ero Advertising<meta name="inmobi-site-verification" content="">
: InMobi InMobi | Global provider of enterprise platforms for marketers<meta name="prVerify" content="">
: PlugRush Verify your website -- PlugRush Support
Obselete, unknown:
-
<meta name="apple-mobile-web-app-capable" content="yes">
: Sets whether a web application runs in full-screen mode. Supported Meta Tags - if Web App Manifest is available, it has precedence over the meta tag (iOS 11.3) -
<meta name="..." content="...">
, if used to store information for JS: use a<script type="application/json" id="myconfig">
{"somename":"somevalue"}</script>
and in you JS use JSON.parse(document.getElementById("myconfig")).somename instead. -
<link rel="subresource" href="styles.css">
: 581840 - Remove - chromium - Monorail -
<link href="https://plus.google.com/..." rel="publisher">
: Google+ shutted down in August 2019 Google+ - Wikipedia -
<meta name="HandheldFriendly" content="true">
: HandheldFriendly - HTML5/WebWorks for PlayBook - BlackBerry Developer -
<meta name="MobileOptimized" content="320">
-
`<meta http-equiv="PICS-Label": PICS Labels REC-PICS-labels-961031 c# - Parsing HTML: Adult Classification Systems - Stack Overflow
-
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
: internet explorer - What does \ do? - Stack Overflow if used (for support of less or equal IE9) this have performance implication (the document must be reparsed) -
<meta name="ms.locale" content="EN-US">
: Ms.Locale Element | Microsoft Docs -
<meta http-equiv="imagetoolbar" content="false">
: Suppress IE6's pop-up-on-mouseover toolbar for images -
<link rel="apple-touch-icon-precomposed" href="touch-icon-iphone.png">
: It never exist. On iOS 7-precomposed
was required to be suffix the PNG name, not the rel value -
<link rel="shortcut icon" href="/favicon.ico">
: It's not valid, use<link rel="icon" href="/favicon.ico">
instead. -
was used by Facebook before OpenGraph. Still use it as fallback?
Obselete OpenGraph <meta name="medium" content="audio">
<meta property="og:type" content="audio">
<meta name="title" content="Pearl Jam - Black">
<meta property="og:title" content="Pearl Jam - Black">
<link rel="image_src" type="image/jpeg" href="http://example.com/image.jpg" title="Album cover">
<meta property="og:image" content="http://example.com/image.jpg">
<link rel="audio_src" type="audio/mpeg" href="http://example.com/black.mp3">
<meta property="og:audio" content="http://example.com/black.mp3">
<meta name="audio_type" content="audio/mpeg">
<meta property="og:audio:type" content="audio/mpeg">
<meta name="audio_title" content="Black">
<meta property="og:title" content="Black">
<meta name="audio_artist" content="Pearl Jam">
<meta property="music:musician" content="Pearl Jam">
<meta name="audio_album" content="Ten">
<meta property="music:album" content="Ten">
<link rel="video_src" type="application/x-shockwave-flash" href="https://www.youtube.com/v/ABCDEF12345">
<meta property='og:video' content="https://www.youtube.com/v/ABCDEF12345">
<meta name="video_width" content="512">
<meta property="og:video:width" content="512">
<meta name="video_height" content="296">
<meta property="og:video:height" content="296">
<meta name="video_type" content="application/x-shockwave-flash">
<meta property="og:video:type" content="application/x-shockwave-flash">
-
Pseudo SEO optimization (urban legend or obsolete): Google ignores locational meta tags (like
geo.position
ordistribution
) or geotargeting HTML attributes. See Managing multi-regional and multilingual sites - Search Console Help-
<meta http-equiv="reply-to" content="(email address)">
-
<meta name="distribution" content="global">
-
<meta name="classification" content="Category: Subcategory, Category: subcategory">
-
<meta name="category" content="">
-
<meta name="abstract" content="">
-
<meta name="identifier-url" content="url">
-
<meta name="subject" content="Your site subject">
-
<meta name="pagename" content="">
-
<meta name="topic" content="">
-
<meta name="summary" content="">
-
<meta name="reply-to" content="[email protected]">
-
<meta name="owner" content="">
-
<meta name="url" content="http://exapmle.com">
-
<meta name="directory" content="submission">
-
<meta name="coverage" content="Worldwide">
-
<meta name="revised" content="Sunday, July 18th, 2029, 5:15 pm">
-
<meta name="target" content="all">
-
<meta name="pageKey" content="guest-home">
-
<link rel="sitemap" href="/sitemap.xml">
: rel-sitemap · Microformats Wiki -
GEO Meta Tags: Use
lang
andhreflang
attributes and the right TLDWe don't use geo meta tags at all for search, probably never have. Use hreflang + normal geotargeting.
-
Geotargetting & .CM Domains Questions - Google Product Forums
-
<meta name="geo.region" content="IN-KA">
: Country Subdivision Code (country + "-" + state) -
<meta name="geo.placename" content="Bengaluru">
-
<meta name="geo.position" content="12.971599;77.594563">
-
-
<meta name="ICBM" content="12.971599, 77.594563">
: Adding yourself to GeoURL - GeoURL (2.0)
-
-
<meta name="language" content="ES">
or<meta http-equiv="content-language" content="es">
: use<html lang="es">
or<html lang="es-ES">
-
IE ?-8 Page transition Generate Meta Tags | Meta Tag Generator » Meta Transitions
<meta http-equiv="Page-Enter" content="RevealTrans(Duration=2.0,Transition=2)"> <meta http-equiv="Page-Exit" content="RevealTrans(Duration=3.0,Transition=12)">
-
<meta name="screen-orientation" content="portrait">
-
<meta name="x5-orientation" content="portrait">
-
<meta name="full-scerrn" content="yes">
-
<meta name="x5-fullscreen" content="ture">
-
<meta name="x5-page-mode" content="app">
-
<meta name="browsermode" content="application">
-
<meta name="nightmode" content="enable/disable">
-
<link rel="fluid-icon" type="image/png" href="https://example.com/fluid-icon.png">
-
<meta http-equiv="cleartype" content="on">
-
<meta http-equiv="msthemecompatible" content="no>
-
<meta class="swiftype" name="title" data-type="string" content="page title">
-
jQuery Smart Banner Use the method with Web App Manifest instead: Native App Install Banners | Web Fundamentals | Google Developers
- jQuery Smart Banner - Jasny · web development
<meta name="google-play-app" content="app-id=com.mygood.id">
<link rel="android-touch-icon" href="">
<link rel="android-touch-icon-with-transparency" href="">
(never exist)<link rel="windows-touch-icon" href="icon.png">
-
<link rel="begin" href="http://example.com?page=1">
: use instead<link rel="first" href="http://example.com?page=1">
Link types - HTML: HyperText Markup Language | MDN -
<link rel="start" href="http://example.com?page=1">
: use instead<link rel="first" href="http://example.com?page=1">
Link types - HTML: HyperText Markup Language | MDN -
<link rel="end" href="http://example.com/?page=147">
: use instead<link rel="last" href="http://example.com?page=147">
Link types - HTML: HyperText Markup Language | MDN -
<meta name="copyright" content="Company name">
: use instead<meta name="license" href="http://example.com">
(you use a link not a content) Link types - HTML: HyperText Markup Language | MDN -
<link rel="previous" title="News 24" href="http://example.com/news23">
: use instead<link rel="prev" title="News 24" href="http://example.com/news23">
Link types - HTML: HyperText Markup Language | MDN -
<link rel="archive" href="http://example.com/">
: use instead<link rel="archives" href="http://example.com/">
Link types - HTML: HyperText Markup Language | MDN -
<a rev="..." href="http://example.com/">
: use instead<link rel="..." href="http://example.com/">
<link>: The External Resource Link element - HTML: HyperText Markup Language | MDN -
<link rel="made" href="http://example.com/">
: use instead<link rel="author" href="http://example.com/">
Link types - HTML: HyperText Markup Language | MDN -
<link rel="self" ...>
: use instead<link rel="alternate" ...>
ATOM (self
should used with HTML) -
<meta name="alexaVerifyID" content="...">
: Alexa Claiming has been retired - May 2016 – Alexa Support -
<meta name="avgthreatlabs-verification" content="...">
: AVG Threat Labs "Our ThreatLabs site has been killed off." ThreatLabs -
<meta name="y_key" content="">
: Yahoo ! Site Explorer Yahoo! Site Explorer - Wikipedia -
<meta name="readability-verification" content="">
: Readability "shut down on September 30, 2016" -
<meta name="cursor-event-mode" content="">
: cursor-event-mode - HTML5/WebWorks for PlayBook - BlackBerry Developer -
<meta name="touch-event-mode" content="">
: touch-event-mode - HTML5/WebWorks for PlayBook - BlackBerry Developer -
Document sequence relations
-
<link rel="index" href="http://example.com">
-
<link rel="first" href="http://example.com?page=1">
-
<link rel="prev" href="http://example.com?page=1">
-
<link rel="next" href="http://example.com?page=3">
-
<link rel="last" href="http://example.com?page=3">
-
7475 – Semantics of rel=first and rel=index breaks specs and implementations
Not used by Google Search and Bing Search:
- 🍌 John 🍌 sur Twitter : "We don't use link-rel-next/prev at all.… "
- Google Webmasters sur Twitter : "Spring cleaning! As we evaluated our indexing signals, we decided to retire rel=prev/next. Studies show that users love single-page content, aim for that when possible, but multi-part is also fine for Google Search. Know and do what's best for your users! #springiscoming… https://t.co/nUWflB1HCT"
- 🍌 John 🍌 sur Twitter : "For the most part, we just index the pages as we find them, so as we've recommended for a long time, it's good to make sure that all pages can stand on their own.… https://t.co/FlEh4dgC8M"
- Frédéric Dubut sur Twitter : "We're using rel prev/next (like most markup) as hints for page discovery and site structure understanding. At this point we're not merging pages together in the index based on these and we're not using prev/next in the ranking model.… https://t.co/igsXwnoIya"
-
Avergage scores for each recommandations (from gtmetrix for pagespeed and yslow) https://gtmetrix.com/recommendations.html :
- Minimize redirects: 86%
- Leverage browser caching: 60%
- Serve resources from a consistent URL: 88%
- Combine images using CSS sprites: 89%
- Minimize request size: 97%
- Enable Keep-Alive: 95%
- Defer parsing of JavaScript: 70%
- Minify JavaScript: 89%
- Specify a cache validator: 94%
- Specify image dimensions: 98%
- Optimize images: 69%
- Minify HTML: 98%
- Enable gzip compression: 84%
- Specify a character set early: 100%
- Minify CSS: 95%
- Remove query strings from static resources: 89%
- Specify a Vary: Accept-Encoding header: 96%
- Avoid bad requests: 97%
- Avoid a character set in the meta tag: 100%
- Avoid landing page redirects: 98%
- Inline small CSS: 96%
- Inline small JavaScript: 94%
- Optimize the order of styles and scripts: 94%
- Put CSS in the document head: 100%
- Serve scaled images: 74%
- Avoid CSS @import: 98%
- Prefer asynchronous resources: 100%
- Add Expires headers: 25%
- Make fewer HTTP requests: 33%
- Use a Content Delivery Network (CDN): 18%
- Avoid URL redirects: 86%
- Reduce the number of DOM elements: 92%
- Use cookie-free domains: 47%
- Reduce DNS lookups: 69%
- Minify JavaScript and CSS: 72%
- Configure entity tags (ETags): 89%
- Compress components with gzip: 84%
- Make AJAX cacheable: 100%
- Remove duplicate JavaScript and CSS: 100%
- Avoid AlphaImageLoader filter: 99%
- Avoid HTTP 404 (Not Found) error: 98%
- Use GET for AJAX requests: 100%
- Avoid CSS expressions: 98%
- Reduce cookie size: 100%
- Make favicon small and cacheable: 100%
TODO
TODO