-- W e l c o m e t o N o k e y _ b l o g --

Meta Tags and SEO(翻译)

5月 6 2015
HTML  Meta  SEO

文中 ps: 的内容是我自己理解并添加的,不属于原文。

现在有很多人对<meta>标签对搜索引擎排名的影响都存在很多误解,一些早已经失去作用的标签在过去被频繁的使用,所以哪些标签对SEO有作用,哪些没有呢?

##什么是Meta Tags?

Meta tags为搜索引擎提供了很多关于网页的信息,这些对于访客来说是不可见的隐藏信息。

Meta tags在<head>的标签里面进行设置,最好不要放在<body>里面,因为一些浏览器不能认出它们,那么它们就成了非法标记了。

通常,meta tags会包含一个name属性用来设置元数据,对应的属性值则放在content属性里面,下面让我们来看看它们其中的一些属性:

##你可能会遇到的一些 Meta Tags

###Meta Description

Meta description 标签可能是最有用的标签之一,顾名思义,它会提供给搜索引擎关于这个页面的一个简短的介绍,代码如下:

<meta name="description" content="Everything you need to know about meta tags for search engine optimization"/>

这个标签曾经在搜索排名中占有很大的权重,但随着搜索算法的不断升级,它的地位也逐渐被削弱。它将不会再提高网站的排名,然而,description标签依然很有用,因为它会被用在搜索引擎的结果页。

这也就意味着它仍然可以提高你的网页点击率,毕竟,当description的内容与用户搜索的关键字相匹配时,在搜索结果页会显示成粗体,这就是为什么一个好的description可以更多的展现与用户的相关性,并提高用户点击的几率。推荐的description长度是160个字符。(PS:中文建议不超过80个字符。)

但是,当你没有使用description标签,或者description标签为空会怎么样呢?搜索引擎依然会在SERP(搜索结果页)展示一小段文字(PS:抓取网页最先出现的一段文字)。而这样的文字对用户来说并不友好,更不用说吸引用户来点击你的网页了。

###Meta Robots

Meta robots标签已经算是个众所周知的属性了,如果你还不知道,这里有一段简短的介绍:

Meta robots管理着搜索引擎进入你网页的权限,你可以用它来允许或不允许搜索引擎来抓取你的网页、进入你网页中的子链接或对你的网页存档(PS:存档类似于百度快照)。代码如下:

<meta name="robots" content="noindex, nofollow" />

上面的标签告诉搜索引擎不要抓取我,不要进入我的子链。如果你不小心使用了两个矛盾的值(例如:index和noindex),Google会选择更具限制性的属性(PS:也就是noindex?)。

为什么这个标签会对SEO有用呢?首先,它可以防止对拷贝内容的冗余抓取,比如网页的打印版页面。它也可能会对那些内容不完整的页面或带有私密信息的页面有一定的作用。

Title

严格的来说,title标签并不是一个meta标签,但它们都放在head标签里。我之所以把title放在这里,是因为它对搜索引擎的优化很重要。

对于HTML文档来说,title是必须的,它定义了整个文档的标题。代码如下:

<title>Title of the page</title>

简单而实用。标题通常会显示在两个不同的地方:浏览器的标签上和搜索结果页(SERP)。这就意味着title在点击率和排名上有着很重要的影响。

一个好的标题应该包括关键字,而且最好放在标题的开头处。记住,如果那些关键字匹配到用户搜索的关键词,它就会显示成粗体。

另一件你应该记住的事就是标题的长度,Google会限制标题为70个字符,所以偶尔你可能需要重新书写一个合适的标题。

Dan Shure发表过一篇很不错的关于标题的文章,叫are your titles irresistibly click worthy and viral? ,包含了很多有意思的知识点。

##Other Meta Tags

在讲解了一些比较常用的Meta标签之后,让我们看看一些很少注意的成员。

###Meta Content Type (charset)

The meta content type标签被用来声明网页的字符编码,最好添加这个属性来防止浏览器产生编码问题(PS:我觉得这个属性是必须要声明的)。但是它不会对搜索排名或点击率产生影响(PS:如果乱码难道没影响?)。代码如下:

<meta http-equiv='Content-Type' content='Type=text/html; charset=utf-8'>

现在我们也可以使用更简短的、向后兼容的声明模式:

<meta charset="utf-8" />

这个标签应该放在任何包含文本元素的标签之前,包括title

###Meta Keywords

这个标签在过去很重要,但是现在却没什么价值了。现在没有一个主流的搜索引擎使用meta keywords来判断网页的内容了。

在 meta keywords 里面,你可以存储几个关于网页内容的关键字。然而,它却不会提高你的排名。代码如下:

<meta name="keywords" content="meta tags,search engine optimization" />

###Meta Language

这个标签以前用来声明网页的语言。能够使屏幕阅读器和其他文本工具更好的工作。代码如下:

<meta http-equiv="content-language" content="fr" />

但这看起来是多余的,W3C推荐使用标签的属性来声明语言,代码如下:

<html lang="en">

We contend that if you are only going to do one thing you should declare language for text-processing purposes, and that attributes should be used for that, not the other methods. - W3C

这个属性也能应用到其他元素,如果这个元素里面的内容和默认语言不一样:

<p lang="es">Me gusta..</p>

###Notranslate

有时,Google在结果页面会提供一个翻译链接,但有时候你不希望出现这个链接,你可以添加这样一个meta:

<meta name="google" content="notranslate" />

Refresh

使用这个meta标签你可以控制浏览器在一段时间之后自动刷新。代码如下:

<meta http-equiv="refresh" content="30">

你也可以在刷新之后跳转到另一个页面:

<meta http-equiv="refresh" content="30;URL='http://website.com'">

W3C是不推荐使用这个标签的,因为它会使用户很迷惑。此外它对搜索排名也没有任何影响。

###结束语

简单的说,有三个meta标签你应该记住:descriptionrobotstitle

description标签被用来展示网页内容一段简短的描述,搜索引擎也会在SERP使用它。robots标签用来阻止搜索引擎抓取拷贝的页面、私密的页面和未完成的页面。最后,最重要的title标签,控制它在70个字符以下,并在其中使用关键词。

keywords标签的时代已经过去,最好不在使用它。其他一些比较重要的标签是:languagecontentrefreshnontranslate。上面也都提供了使用方法。

原文链接:Meta Tags and SEO.

PS:之所以翻译这篇文章是因为比较基础也比较现代,可以补充自己一些知识点的空缺,完善自己的知识体系。也不乏一些不完美之处,欢迎来讨论。