Sign up ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

A SEO company suggested we change the order of our HTML meta tags so that <title> and <meta name="description"> are the first two. They say this is to ensure search engines can utilize these two tags. I've been under the impression that the order of tags inside the document's head is not significant. Have I been wrong? Are there really search engines that assume that the first two tags are always title and description and give up looking for them if they aren't?

share|improve this question

migrated from Apr 4 '11 at 13:56

This question came from our site for professional and enthusiast programmers.

Maybe this should be asked on – Alin Purcaru Apr 4 '11 at 13:51
This sounds like a SEO urban myth. – Pekka 웃 Apr 4 '11 at 13:57
The only meta tag that required a specific order to work is the one for forcing the Internet Explorer compatibility level. – Agent_9191 Apr 4 '11 at 23:10
AFAIK, the only meta tag that should be at the start is the one defining the character encoding. – Javier Apr 5 '11 at 1:35

2 Answers 2

up vote 13 down vote accepted

You are correct. The order of those tags do not matter for SEO. They just need to be present. Whomever said that is obviously clueless (and of course running an SEO business. Sigh).

share|improve this answer
Can you provide a source or case study? – s_hewitt Apr 4 '11 at 15:41
Just opinion based on experience. Here's a SearchEngineWatch discussion on the topic - order doesn't matter: – Ciaran Apr 4 '11 at 18:53

While for the purposes of SEO, it may be true that the order is not significant, it is not true when considering other things like security, content (character) display, or loading speed. It is a good idea to order your page’s head roughly thus (presuming HTML5 for syntax):


So far in the document, you should not have used any non-ASCII characters, so character encoding is not an issue yet. But the likelihood of using non-ASCII characters goes up markedly once you open that head tag. Accordingly (and assuming that you are not declaring your character encoding programmatically or at the server level), you should make the next statement your character-encoding declaration. This also satisfies parsers/browsers/agents that would be sniffing for character encoding statements:

  <meta charset="utf-8">

The following two (X-UA-Compatible and viewport) are recommended by the folks at Bootstrap (as recently as v3.3.4). While I am nearly positive that these recommendations are based on performance, most of what I would say would be speculative:

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

If you are thinking about device-agnostic design/development (inclusive of smaller, non-desktop user agents), you should include the following:

  <meta name="viewport" content="width=device-width, initial-scale=1">

Finally, the title:

  <title>Ingenious Page Title</title>

Next, you offer the CSS as soon after the title as possible (no ‘daylight’ between them):

  <link rel="stylesheet" href="stylesheet-1.css">
  <link rel="stylesheet" href="stylesheet-2.css">

If you are using page-level styles, they would go here. This is largely because of the ‘cascading’ nature of CSS: namely the last style declaration of identical levels of specificity (such as two statements that target a paragraph p). In order to make overriding external styles easier (i.e. without using greater specificity, or !important), you should put page-level styles after external styles (<link>s). Also, it is generally inadvisable to use the @import directive in page-level styles, because it will impede the concurrent downloading of other style assets:


This is the point where it seems most appropriate to put meta tags, favicons, and other cruft. It is arguable that favicons or similar assets (e.g. iOS app images) would be loaded before most meta tags, because it gets the downloading of those assets started marginally sooner.

  <link rel="shortcut icon" href="favicon.ico">
  <link rel="apple-touch-icon" href="apple-icon.png">
  <meta name="description" content="Some information that is descriptive of the content">
  <meta name="generator" content="Microsoft FrontPage 2002">

Because it blocks/delays rendering, if you intend to require scripts, load them as late as is reasonable. If they must be in the head, you might load them before the close of the head (</head>). If you can load them later, put them before the close of the body tag (</body>).

  <script src="script-1.js"></script>
  <script src="script-2.js"></script>

It seems unimportant in most cases to pay much attention to the order of meta tags for SEO purposes, given that indexing bots (i.e. search engine spiders) are going to consume the whole page. Otherwise, how would they index a page’s content, or update that index later?

It is notable to me that for all that we think we know, and all the recommendations that we find on the web (even from places like Google and Bing Webmaster Tools, etc.), sites like Amazon, Google and other folks who clearly care about such minuscule performance gains don’t follow these rules.

share|improve this answer
Nice but you are responding to a four-year old thread when HTML5 did not exist, nor did much of what you wrote about apply back when the question was asked. – Rob May 20 at 2:21
While X-UA-Compatible, viewport and Apple touch icons were still (relatively) new in 2010, all were in use. HTML5 only affected the charset declaration's length. CSS, JS and image pipelining was a concern back then, as well as the (re-)rendering of pages subsequent to the application of CSS and JS. Notwithstanding that, I couldn’t find this information in one place (outside of the heads of html documents), and after stumbling across this question, it seemed good to do it here. – David Eldridge May 20 at 9:54

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.