In <head>, which comes first: <meta> or <title>?

Solution 1:

As all of the other answers have already indicated, it usually doesn't matter. Here's a bit more about when it matters and why.

First of all, since you asked about standards, you might like to know that the text you are quoting comes from the W3C recommendations for HTML 4:

http://www.w3.org/TR/html4/charset.html#h-5.2.2

There is a similar discussion in the HTML 5 draft standard:

http://dev.w3.org/html5/markup/syntax.html#encoding-declaration

The underlying issue here is that the browser has to use some character set encoding to start processing the document it receives from the server. So, what happens if starts with one character set and then the <meta> tag tells it to use something else? The answer is, it depends...

The server should specify the character set in the Content-Type field of the HTTP response header. If it does, the browser is supposed to use that character set and ignore any character set that may be indicated in a <meta> tag in the document being served.

Unfortunately, many servers don't provide this information. In that case, the browser has to assume something to get started. The something has to be "ASCII-compatible", meaning that it agrees with ASCII for any characters in the ASCII range. If the document specifies the character set in a <meta> tag, the browser will start using that character set. So, if your title came before that, it has already been interpreted as ASCII, which could be wrong, depending on what was in the title.

To sum up: if the server does not specify the encoding, and the title is encoded in something other than ASCII, then you need to put the <meta> tag that specifies the charset first. Otherwise, it doesn't matter. So, to be safe, it makes sense to put the <meta> tag for the character set first.

Solution 2:

The order of the tags is almost completely irrelevant.

That quote is talking about <meta http-equiv="content-type">.
If you use that tag, it should come first, so that the browser knows which encoding to use to parse the rest of the document.

As long as you don't have any non-ASCII characters before it, its location doesn't matter.

Solution 3:

It does not matter unless you deal with IE and want to use the X-UA-COMPATIBLE

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

This should be the first one in the head, if it is to be evaluated by IE... (otherwise it ignores it)

Solution 4:

In most cases, it doesn't matter at all. Usually I put <title> first, but it is completely up to your preference.