Meta elements are tags used in HTML and XHTML documents to provide structured metadata about a Web page. They are part of a web page's head
section. Multiple Meta elements with different attributes can be used on the same page. Meta elements can be used to specify page description, keywords and any other metadata not provided through the other head
elements and attributes.[1]
The meta element has two uses: either to emulate the use of an HTTP response header field, or to embed additional metadata within the HTML document.
With HTML up to and including HTML 4.01 and XHTML, there were four valid attributes: content
, http-equiv
, name
and scheme
. Under HTML 5, charset
has been added and scheme
has been removed. http-equiv
is used to emulate an HTTP header, and name
to embed metadata. The value of the statement, in either case, is contained in the content
attribute, which is the only required attribute unless charset
is given. charset
is used to indicate the character set of the document, and is available in HTML5.
Such elements must be placed as tags in the head
section of an HTML or XHTML document.
meta
elementmeta
elements can specify HTTP headers which should be sent before the actual content when the HTML page is served from the web server to the client. For example:Content-Type:
to indicate the media type and, more commonly needed, the UTF-8 character encoding.
Meta tags can be used to describe the contents of the page:meta
element describes the contents of a web page.
Meta elements provide information about the web page, which can be used by search engines to help categorize the page correctly.
They have been the focus of a field of marketing research known as search engine optimization (SEO), where different methods are used to provide a user's website with a higher ranking on search engines. Prior to the rise of content-analysis by search engines in the mid-1990s (most notably Google), search engines were reliant on metadata to correctly classify a Web page and webmasters quickly learned the commercial significance of having the right meta element. The search engine community is now divided as to the value of meta tags. Some claim they have no value, others that they are central, while many simply conclude there is no clear answer but, since they do no harm, they use them just in case. Google[2] states they do support the meta tags "content", "robots", "google", "google-site-verification", "content-type", "refresh" and "google-bot". Major search engine robots look at many factors when determining how to rank a page of which meta tags will only form a portion. Furthermore, most search engines change their ranking rules frequently. Google have stated they update their ranking rules every 48 hours. Under such circumstances, a definitive understanding of the role of meta tags in SEO is unlikely.
keywords
attributeThe keywords
attribute was popularized by search engines such as Infoseek and AltaVista in 1995, and its popularity quickly grew until it became one of the most commonly used meta
elements.[3]
No consensus exists whether or not the keywords
attribute has any effect on ranking at any of the major search engines today. It is speculated that it does if the keywords used in the meta
can also be found in the page copy itself. With respect to Google, thirty-seven leaders in search engine optimization concluded in April 2007 that the relevance of having keywords in the meta
-attribute keywords
is little to none[4] and in September 2009 Matt Cutts of Google announced that they were no longer taking keywords into account whatsoever.[5] However, both these articles suggest that Yahoo! still makes use of the keywords meta tag in some of its rankings. Yahoo! itself claims support for the keywords meta tag in conjunction with other factors for improving search rankings.[6] In October 2009 Search Engine Round Table announced that "Yahoo Drops The Meta Keywords Tag Also"[7] but later reported that the announcement made by Yahoo!'s Senior Director of Search was incorrect.[8] In the corrected statement Yahoo! Senior Director of Search states that "…What changed with Yahoo's ranking algorithms is that while we still index the meta keyword tag, the ranking importance given to meta keyword tags receives the lowest ranking signal in our system … it will actually have less effect than introducing those same words in the body of the document, or any other section."[8] In Sept 2012, Google[9] announced that they will consider Keyword Meta tag for news publishers. Google said that this may help worthy content to get noticed. The syntax of the news meta keyword has subtle difference from custom keyword meta tag; it is denoted by "news_keywords", while the custom keyword meta tag is denoted by "keywords". Google News no longer takes into account keywords announced by news_keywords.[10]
According to Moz, "Title tags are the second most important on-page factor for SEO, after content".[11] They convey to the search engines what a given page is all about. It used to be standard SEO practice to include the primary and the secondary keywords in the title for better ranking. Google has gone through various iterations of showing short or longer amounts of content from within the title tags.
Regardless, the title tags still hold importance in three different ways.
description
attributeUnlike the keywords
attribute, the description
attribute is supported by most major search engines, like Yahoo! and Bing, while Google will fall back on this tag when information about the page itself is requested (e.g. using the related:
query). The description
attribute provides a concise explanation of a Web page's content. This allows the Web page authors to give a more meaningful description for listings than might be displayed if the search engine was unable to automatically create its own description based on the page content. The description is often, but not always, displayed on search engine results pages, so it can affect click-through rates. While clicks for a result can be a positive sign of effective title
and description
writing, Google does not recognize this meta element as a ranking factor, so using target keyword phrases in that element will not help a site rank better. W3C doesn't specify the size of this description meta tag, but almost all search engines recommend it to be shorter than 160 characters of plain text.
language
attributeThe language
attribute tells search engines what natural language the website is written in (e.g. English, Spanish or French), as opposed to the coding language (e.g. HTML). It is normally an IETF language tag for the language name. It is of most use when a website is written in multiple languages and can be included on each page to tell search engines in which language a particular page is written. User-agents can (and do) use language information to select language-appropriate fonts, which improves the overall user experience of the page.
robots
attributeThe robots
attribute, supported by several major search engines,[12] controls whether search engine spiders are allowed to index a page, or not, and whether they should follow links from a page, or not. The attribute can contain one or more comma-separate values. The noindex
value prevents a page from being indexed, and nofollow
prevents links from being crawled. Other values recognized by one or more search engines can influence how the engine indexes pages, and how those pages appear on the search results. These include noarchive
, which instructs a search engine not to store an archived copy of the page, and nosnippet
, which asks that the search engine not include a snippet from the page along with the page's listing in search results.[13]
Meta tags are one of the best options for preventing search engines from indexing content of a website.[14]
The search engines Google, Yahoo! and MSN used in some cases the title and abstract of the DMOZ (aka Open Directory Project) listing of a website for the title and/or description (also called snippet or abstract) in the search engine results pages (SERP). To give webmasters the option to specify that the Open Directory Project content should not be used for listings of their website, Microsoft introduced in May 2006 the new "NOODP
" value for the "robots
" element of the meta tags.[15] Google followed in July 2006[16] and Yahoo! in October 2006.[17]
By 2017, Google reported stopping the use of DMOZ, following its closure, hence, NOODP directive is ignored since.[18]
The syntax is the same for all search engines who support the tag.
Webmasters can decide if they want to disallow the use of their ODP listing on a per search engine basis
Google:
Yahoo!
MSN and Live Search (via bingbot, previously msnbot):
Yahoo! puts content from their own Yahoo! directory next to the ODP listing. In 2007 they introduced a meta tag that lets web designers opt-out of this.[19]
Adding the NOYDIR
tag to a page will prevent Yahoo! from displaying Yahoo! Directory titles and abstracts.
Google does not use HTML keyword or meta tag elements for indexing. The Director of Research at Google, Monika Henzinger, was quoted (in 2002) as saying, "Currently we don't trust metadata because we are afraid of being manipulated."[20] Other search engines developed techniques to penalize Web sites considered to be "cheating the system". For example, a Web site repeating the same meta keyword several times may have its ranking decreased by a search engine trying to eliminate this practice, though that is unlikely. It is more likely that a search engine will ignore the meta keyword element completely, and most do regardless of how many words are used in the element.
Google does, however, use meta tag elements for displaying site links. The title tags are used to create the link in search results:
The meta description often appears in Google search results to describe the link:
The W3C suggests that user agents should allow users to disable it, otherwise META refresh should not be used by web pages.For Internet Explorer's security settings, under the miscellaneous category, meta refresh can be turned off by the user, thereby disabling its redirect ability.In Mozilla Firefox it can be disabled in the configuration file under the key name "accessibility.blockautorefresh".[22]
Many web design tutorials also point out that client-side redirecting tends to interfere with the normal functioning of a Web browser's "back" button. After being redirected, clicking the back button will cause the user to go back to the redirect page, which redirects them again. Some modern browsers seem to overcome this problem however, including Safari, Mozilla Firefox and Opera.
Auto-redirects via markup (versus server-side redirects) are not in compliance with the W3C's – Web Content Accessibility Guidelines (WCAG) 1.0 (guideline 7.5).[23]
Meta elements of the form <meta http-equiv="foo" content="bar">
can be used as alternatives to HTTP headers. For example, <meta http-equiv="expires" content="Wed, 21 June 2006 14:25:27 GMT">
would tell the browser that the page "expires" on June 21, 2006 at 14:25:27 GMT and that it may safely cache the page until then. The HTML 4.01 specification optionally allows this tag to be parsed by HTTP servers and set as part of the HTTP response headers,[24] but no web servers currently implement this behavior.[25] Instead, the user agent emulates the behavior for some HTTP headers as if they had been sent in the response header itself.
meta
elementsSee also: Semantic web and HTML5#Markup. Some HTML elements and attributes already handle certain pieces of meta data and may be used by authors instead of META to specify those pieces: the TITLE element, the ADDRESS element, the INS and DEL elements, the title attribute, and the cite attribute.[26]
An alternative to meta
elements for enhanced subject access within a website is the use of a back-of-book-style index for the website. See the American Society of Indexers website for an example.
In 1994, ALIWEB, also used an index file to provide the type of information commonly found in meta keywords attributes.
In cases where the content attribute's value is a URL, many authors decide to use a link element with a proper value for its rel attribute as well.
For a comparison on when it is best to use HTTP-headers, meta-elements, or attributes in the case of language specification: see here.
proposals for value of name
attribute.