There does appear to be a great deal of confusion as to what meta tags are actually for, particularly with regard to how they influence search engine search results. It’s surprising how often they are misunderstood and misused.
What are meta tags?
Meta tags are pieces of information about an HTML page and provide a set of structured metadata for the document. This metadata is more than just a description and some keywords, as it can (and should) also include wider details about the document, including the type of document and the language used.
Meta tags are placed in an HTML document’s header section, as shown below:
<html> <head> <title>The page title<title> <meta name="resource-type" content="document" /> <meta name="description" content="This description of the page" /> <meta name="keywords" content="A comma, separated, list, of, keywords" /> <meta name="robots" content="index, follow" /> <meta http-equiv="content-language" content="en-GB" /> </head> <body>
How do meta tags influence search engines?
It’s worth spelling out in bold: Meta tags do not have any impact on search engine result positions for any of the major search engines.
Meta tags did have more influence in the late 1990s where they were used by first generation search engines such as AltaVista and InfoSeek to determine page content. However, their influence was reduced dramatically as more sophisticated search engines emerged, partly in response to the way in which spammers were abusing meta tags by stuffing keywords into them.
Search engines may not use meta tags for determining the relevance and value of a page, but they do use them to determine how a page should be indexed. It’s also worth pointing out that meta tags are used by assistive technologies such as screen readers so are important from an accessibility perspective.
What meta tags should be used?
There are a huge number of meta tags in use, but the following is a list of the most relevant from an SEO perspective.
The Description tag
The description tag is often used to construct a page’s description in search engine results, so it is an opportunity to provide a “call to action” to users and help to boost conversion rates. For this reason the description tag is regarded as a “must have” for SEO.
<meta name="description" content="This description of the page" />
The Keywords tag
The keywords tag is still in use by some search engines – Yahoo claim to reference it, though it’s unclear exactly how it gets used. The Keyword tag should be used with caution as if you abuse it by including irrelevant keywords then you might get penalised by a search engine. More importantly, by using the keywords meta tag you are announcing to your competitors what keywords you are optimising for – Given their limited impact and potential risk, keyword lists are not worth the effort of maintaining them.
<meta name="keywords" content="Some,keywords,for,the,page" />
The Robots tag
The robots tag instructs a search engine how to deal with the page, i.e. whether or not to index it and follow the links on the page. Search engines will index pages and follow links by default, so this only has to be included if you want to change this default behaviour.
This tag does have questionable value, as search engine spiders do not necessarily take it into account. If you want to stop search engines from crawling a page then the ROBOTS.TXT file is a better option.
<meta name="robots" content="noindex,nofollow" />
The content type tag
The content type tag describes the character set being used. It’s recommended that you use this along with the DTD declaration format as this can prevent special characters from blowing up in certain browsers.
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
The Language tag
The language tag is used by search engines to determine the page’s natural language – using this tag regarded as best practise both from an accessibility and SEO perspective. This is particularly important for pages that do not use ED-English as it helps to ensure that search engines recognise the correct language.
<meta http-equiv="content-language" content="en-GB" />
Google-specific meta tags
There are a few other more specialised tags that can provide instructions to specific engines, e.g. the Googlebot tag which can be used to control how Google constructs the description of a page.
The Googlebot tag has four potential values, none of which will have any bearing on your search engine positions:
- noarchive, which tells Google not to display any archived or cached content for the page.
- nosnippet, which prevents Google from adding a page description into the search results for the page.
- noindex, similar to the robots tag, this tells Google not to index the page.
- nofollow, which tells Google not to follow any links on the page.
<meta name="googlebot" content="noarchive" />
Other meta tags to consider
Meta tags are not just about SEO – they are a means of providing structured information about your document that can be picked up by a variety different technologies. It’s always worth dressing your pages with appropriate meta information for the sake of clarity, if nothing else.
The Author tag
There is value in identifying the author of the document, but I would not recommend including any contact details as this is an invitation to the army of email spam operations out there that harvets these details.
<meta name="author" content="John Doe" />
The Abstract tag
The abstract tag is used in academic circles to provide a short precis of the document – normally of up to 10 words. It’s not worth using unless it the document is particularly specialised and\or aimed at the academic community.
<meta name="abstract" content="A short precis" />
The Copyright tag
The copyright tag allows for the declaration of intellectual property, be it copyright, a patent or trademark. Note that this tag does not provide any protection for your site’s content or intellectual property.
<meta name="copyright" content="2009 Ben Morris" />
Expiring content and controlling the cache
The expires tag is often used to indicate how long the content is relevant for. This may be used by some browser caches, but is certainly not used by search engines as it would be impractical to schedule page re-visits on the basis of this tag. Note that Google is suspicious of this tag along with the related Pragma no-cache tag, which forces browsers to pull a new version of the page whenever it is viewed.
If you don’t want browsers to cache content then you should be setting the HTTP headers, not the meta tags.
<meta http-equiv="expires" content="Wed, 21 Feb 2009 12:52:20 GMT" /> <meta http-equiv="pragma" content="co-cache" />
Although you cannot influence when search engines will re-visit your site, the cache control tag can be used to stop Google from caching your page content:
<meta http-equiv="cache-control" content="no-cache" />