我对SEO一直不理解,看了WordPress SEO | 静思学吧 的一篇文章受益非浅。
WordPress SEO 优化是一个复杂的体系, 其中也有很多有争议的地方, 如何对Wordprss进行SEO优化是一门很大的学问, 今天就来探讨这些问题。
要对网站进行SEO,必须对网站的内容结构有清晰的了解, 因此在本文中我们将首先分析Wordpress的内容结构,然后再提出 初级Wordpress SEO 和 高级Wordpress SEO, 其中后两者都以熟悉内容结构为基础,要求在进行SEO优化时,知道怎样优化的同时,更知道为什么要这样优化。
本文结构如下:
- WordPress的内容结构 : 要对网站进行SEO,必须对网站的内容结构有清晰的了解, 因此在本文中我们将首先分析Wordpress的内容结构
- 初级 WordPress SEO :针对 WordPress 的内容结构,我们进行Wordpress SEO 的初级优化,掌握在优化时要遵守的原则。
- 中级 WordPress SEO :我们将从更大的角度来考查 WordPress 的优化问题,不局限于 WordPress 。
- 高级 WordPress SEO :提出 WordPress SEO 的一些高级话题和进阶技巧。
- SEO 诊断: 提出在SEO时最可能会遇到的各种问题,分析这些问题的产生原因和解决办法。
- WordPress SEO 总结:写到最后,说一些博主在Wordpress SEO到最后的一些体会。
一、 WordPress 内容结构
如果你以前尝试过对Wordpress进行成功的SEO优化,那你可能在优化的时候遇到这样一些问题,如某个主题又把某个东西破坏了或者某个插件让整个网站崩溃了,或者你发现在搜索引擎对你的网站的爬取报告中发现几百条的重复页面。
这些 WordPress 麻烦不完全是你的错误。我也经历过那个阶段,这篇文章就是给你一个机会让你走过那个阶段。我们将首先介绍Wordpress术语,然后分析内容之间的联系。
在文章中我们假设
- 我们有一个自己的Wordpress主机
- 这是一个单作者的网站
- 我们不做任何电子商务,照片展示或其它Wordpress制作的自定义程序
- 我们使用Yoast's SEO for WordPress.
准备好了吗,下面进入正题。
第一部分 WordPress术语
- 解释一些最常见的术语
1. 通常的Web “Page”与WordPress "Page"
先从基础开始,希望你不会介意。但是我认为很多人可能会把Wordpress页面同普通的Web页面混淆。
Web页面是存在于一个独特的URL的单个的HTML文档,即使扩展名是.php或.asp。背后的源代码仍然是HTML。这就是一个Web页面。它是如何创建的并没有关系,在你的浏览器中它是以HTML的语言加载的,而这也是所有你要知道的。在这篇文章的剩下部分,当我们说“web page”时,我都是指存在于一个URL中的HTML文档。
但是WordPress page是Wordpress的静态页面版本。实际上,在Wordpress的上下文中谈页面,都要在页面前加上“静态”这个词,这样页面这个词才更确切。
2. 页面与文章
这是第二个人们容易混淆的地方或者需要一定时间才能掌握。这两个词经常放在一起,好像他们很类似。但是他们完全是不同的。
注意页面和文章在功能上是完全不同的。
- 文章是有日期的,对时间敏感,但是页面则不敏感。
- 文章可以属于分类,标签归档,日期归档,但是页面不能
- 你可以通过分类,标签或作者访问日志
- 页面只能通过它自身的链接
其它一些关于pages 与 posts的文档:
3. 分类与标签
这是人们的另一个棘手问题。一些人会反驳,但是我想 Yoast 会赞同. 分类是你的主要的5-7个话题桶,你的所有文章都在这些桶内。标签可以对分类进行精调,它们通常比分类更具体。
- 同时,你不应该是有相同的分类名和标签。分类应该与标签独立。
- 分类是有层次结构的,标签没有
4. 作者归档
5. 日期归档
6. 分页
pagination
唯一不分页的就是页面。
第二部分 WordPress 内容联系
- 这个部分将展示Wordpress不同内容之间的关系。
1. 页面 - 他们是静态的
不需要太多的解释
- 页面就像网站上的常规的,非博客页面
- 他们可以有层次
- 他们不会包含在RSS feed中
对于以下内容可以使用页面
- About页面或Contact页面
- 常用的内容,如牙医可以使用一个页面,里面描述他提供的服务,餐馆的话可以是菜单
- 导航页面,汇总内容页面
- 费用页页等等
2. 文章->分类
文章和分类的关系类似于数据库中的多对多关系。
post-category-relationship
- 你可以将一篇文章放在多个分类,一个分类也可以包含多篇文章。
3. 文章->标签
- 文章和标签的关系也是多对多的关系
4. 日期 & 作者归档
- 日期归档很简单。如果你按月查看日期归档,所有那个月的文章都会出现在那个日期归档里
- 对于单个作者博客,所有文章都属于一个作者,所以作者归档页面与首页类似(这也是我们为什么将这个页面使用301重定向到首页的原因)。
5. 读取文章
accessing posts ways
- 上图显示你可以从不同的位置到达同一篇日志,可以从标签,分类,作者,日期等归档页面访问。
- 上图显示对于最新文章或最流行文章,有时候会在边栏中有链接,当然博客首页是最新文章的一个feed。
6. 别忘记分页
- 所有这些Web页面都可以有子页。
Bonus - For the Truly Geeky
给真正的高手的奖励
我发现了一个Wordpress里面各种元素之间的关系的一张恐怖图像,这张图将Wordpress里面的各个组件之间的关系进行了组织。如下:
二、初级 WordPress SEO
下面这个图是上面讲到的内容。
下面的事情事先就确定会比较好
- 在最开始就选择好你的分类:在填充内容之前想好你的分类,但是确定分类之前要确定你博客或网站的话题,你的网站到底想包含些什么内容?不要什么都想写进来,分类不要太多,5-7个即可。
- 尽早确定你博客首页的内容:博客首页是博客最关键的页面,是访问最多的页面。博客首页对用户,对搜索引擎(也就是SEO)也是至关重要的,我个人觉得首页必须经常会更新,不管你是通过发表新文章或者另外的内容来更新首页,反正就要经常更新,这样搜索引擎才能获取新的内容,对于博客的话,读者一进到博客即能看到新的内容,点击内容进行查看。
- 创建用户账号时,明智选择用户名,因为这个URL在后面不能再修改。
1. 哪些内容应该对用户与搜索引擎开放?
- 除非另有说明,页面类型可以被索引和追踪
- 在上面可以看到,让搜索引擎索引的内容应该限于页面,文章,分类,其它的类型都是相似的内容,没有必须再索引一次。
2. 哪些菜单能出现哪些内容?
这是选择将何种链接放到哪个位置的一般的经验法测,通常
- 将页面和分类放在主菜单中
- 将分类,最新文章,流行文章,日期归档,标签云放在边栏或小工具中
3. 在哪里控制URLs标题与描述?
URL控制容易混淆,有很多地方可以设置
- 页面和日志的URL在页面和日志编辑器中设置
- 分类和标签的URL在他们各自的菜单中
- 作者URL就是用户名
如果你把一切设置正确,检查你的标题和描述就很容易。
- 标题和描述模板在Wordpress SEO插件中设置
- 单独日志和页面的标题和描述使用Wordpress SEO插件在页面和文章编辑器中设置
4. Wordpress 设置
a. 主题
大量的主题会打破Wordpress原有的和谐。比如他们试图处理本不该插手的SEO事情。或者一个插件和Wordpress都在处理SEO,最后就一团糟。关于这一点我深有体会,我用的主题Suffusion包含相当强大的功能,有些功能是主题应该包含的功能,但是有些功能就不应该让主题来完成,就适合于让插件来干这个活。
使用主题设计的元素
- 色彩
- 字体
- 页面布局
- 头部
- 脚部
不要使用主题来做SEO的事情,如
- 索引
- 统计代码
- 标题和描述
- RSS feeds
- 菜单结构(理想情况下由Wordpress自定义菜单完成)
让Wordpress SEO插件处理这些事情。
这里我要提一下我当前在用的主题:suffusion。这个主题功能是相当强大啊,什么统计代码啊,但是大部分的功能是用不上的,其实平常用的都是一些最基础的功能。而且如果看Suffusion主题的代码,就可以看到这个主题自定义了相当多的函数,而这些函数使用Wordpress提供的也就够了,完全不用重新定义和封装。如果让我重新选择一个主题,我不会对考虑Suffusion。主题只需要做好它本应做的事就够了。
b. 插件
我只安装下面这两个插件来处理SEO优化:
我经常看到其它一些插件也想设置SEO配置,之前提过当有多个东西同时处理一个内容时,往往就会搞得乱七八糟的。因此确保你只用一个东西来管理你的SEO优化。
5. 设置Wordpress SEO
a. 标题和描述
- WordPress SEO可以对每篇文章,页面和归档分配标题和描述模板,因此我建议你使用Yoast来管理所有的标题和描述模板。
- 至于模板的内容应该如何选择,可以参考14个重量级的WordPress SEO技巧的第2点和第3点。
记住:不要忘记更新你的header.php文件,让它包含正确的标题代码
注意: 网站名称在settings>general 中设置.
b. 索引
- 标签,作者和日期归档的内容都与其它的类似。因此将他们列入索引毫无意义。
- 注意,要重申的是:这些设置是针对一个标准的Wordpress设置 - 只有一个作者,标准博客格式,或者在商业网站内容的博客等。如果你有多个作者,电子商务等则会包含不同的情况。
- 同时如果你的博客已经存在一段时间了,比如说你的标签一直都在索引,那么你不应该把去他们去索引化。在统计中看一下,他们带给你多少流量,如果流量较多且都是高质量的流量,那么在将标签去索引化之前好好考虑一下。
- 因为我们是运行单个作者博客,禁用作者归档,将他们进行301转向到首页。这样对搜索引擎和用户都好,因为他们看起来是近乎相同。
- 我喜欢让用户在日期归档中浏览文章。
- 对每个页面添加noodp/noydir不是最好的实践,但是这个插件允许你在单独的页面和文章编辑器中设置。
c. XML Sitemaps
- 确保存你的主题或其它插件没有处理站点地图
- 选上你不想在XML站点地图中包含的内容
d. 固定链接
- 固定链接的选择参考WordPress选择哪种固定链接格式最有利于SEO?
- 我喜欢Yoast的插件的一点是你可以将/category/从分类链接中去掉。如果网站的/category/分类已经被索引,那么会自动创建重定向。
- 你可以重定向图片到他们的父文章或父页面。我通常不这么做,但是这么做也没有任何危害。
- 除非你在运行https, 否则你可以让canonical配置保持默认即可。
三、 中级 WordPress SEO
俗话说" 内容为王, 外链为皇" , 那我们先把 WordPress SEO 优化分为内容, 链接和杂类共三大类.
一、内容
在讲解具体的 SEO 技巧之前,还是先强调一下经常更新,并且写出高质量的内容,这才是 SEO 中最关键的地方。为用户创造有价值的内容。原创文章、特色专题都会给你带来意外的收获。搜索引擎亲睐原创内容,纵使转载无数次,搜索引擎知道哪里是原创地址。
内容部分就是进行页面优化,按照 SEO 要求对页面进行优化,主要会涉及到标题,URL,Meta 标签,H1 H2 H3 等标签的使用,关键字密度等各个方面。
1. 标题
WordPress包含多种页面如home,post,page,404 pages,category archives,tag archives,author archives ,其中后三种是归档页面,是这些页面包含符合某个要求的多篇文章。404页面是页面(page)的一个特例。
网页标题直接影响页面在搜索结果中的排名,用户无论是在搜索引擎结果中,Google Reader,微博,或者其他地方阅读到你的文章,首先看到的都是你的标题,你的标题吸引人,那可能就一下就点击进去了,标题党也就是这样产生的,但是不鼓励大家做标题党,但是我们也要对标题进行优化。对于标题的优化有三点需要注意:
- 在14个重量级的Wordpress SEO技巧中专门有一条讨论了该如何设置标题,具体地设置可以参照文章中的去做,如果不会可以用插件代替,参考WordPress最好的SEO插件:SEO Ultimate。
- 如何取标题,起什么样的标题才会让更多人点击,这里面有很多工夫。可以参考 28个增加反向链接的方法,其中有讲到如何取标题。
- 那如何评估一个标题的好坏,标题中不宜有太多的关键字,太多会分散权重。可以使用 SEO必备书籍教程和网站工具中的Google Adwords关键字工具对标题进行评估。
2. 固定链接
有一篇文章特别讲到了 WordPress选择哪种固定链接格式最有利于SEO?, 我个人推荐固定链接格式为:/%postname%.html。
3. Meta 标签
Google 和百度都已经不把 Meta Keywords 和 Description 作为排名的因素了,但是添加 Meta Description 对网站的流量还有有帮助的,因为 Google 的搜索结果里面直接使用 Meta Description 做该页面的描述,当用户搜索,看到好的描述的时候,更容易来到你的网站,而 Keywords 则基本无效了,有时候用了反而适得其反,百度会认为你有过度 SEO 之嫌。
上面这一段都是我爱水煮鱼的Wordpress SEO中的原话,当然这篇文章很多内容都是使用的他的WordPress SEO 宝典的内容。但是上面这一段关于Keyword的话很有道理,但是我观察过很多博客,包括专做SEO的,他们很多人还是保留了keyword这个meta标签。当然不包含keyword标签是大势所趋, 但是包含它也不会有太大问题,试想一下,如果百度不把keyword作为排名因素了,那他为什么还要检测keyword标签呢。当然现在的搜索引擎也在对过度SEO优化进行整治和查处, 但是这个整治和查处是否包含这个keyword呢, 我觉得不会,因为现在大多网站应该都在用这个东西。
keyword和description的meta标签的内容应该如何选择可以参考14个重量级的Wordpress SEO技巧,具体到实施可以参考WordPress最好的SEO插件:SEO Ultimate。
3. 语义化
语义化的网页代码能更好地被搜索引擎爬虫识别,所以使用 XHTML 和 CSS 对网站进行重构,尽量将 CSS 和 Javascript 代码从 HTML 文件中分离出去。现在还可以采用 HTML5 进行网页重构,精简的网页代码能有效改善信噪比问题,让搜索爬虫更关注内容本身。
个人理解语义化就在于在页面中尽量多的包含实质内容,而不是一些无语义的,如javascript和css代码,其本身并无语义,只是改变内容的呈现而已。
如何将CSS和Javascript代码从HTML文件中分离出去,也就是所有CSS代码合并到一个文件,Javascript代码合并到另一个文件,可以参考 CSS和Javascript合并插件:JS&CSS Script Optimizer。
4. H1 H2 H3 等标签的使用
首先一个页面只有一个 H1 标签,页面上最重要的标题给予 H1 标签,所以在首页或者列表页中,网站的标题采用 H1 标签,而在日志页,文章的标题采用 H1 标签,网站标题使用 DIV。其实 WordPress 默认的主题就是这么设置。
除了设置 H1 标签之外,还要给文章内容中的子标题按照要求设置 H2 H3 标签,设置这些标签的作用在于:
- 使用过Word产生目录的人都知道一级标题,二级标题,三级标题这些内容,H1,H3,H3起的也是同样的作用
- 对 SEO 有帮助,Google 喜欢语义化的内容,一般H1,H2,H3这些标签的内容就是重要内容。
如果你在首页或者其他分类这样的列表页中输出了全文,你可以使用动态修改 WordPress Heading 标签这个技巧来使得标签更加语义化。
5. 图片优化
给图片名上一个好的名字是非常重要的,比如这篇前面那张“我爱水煮鱼有超过 70% 的流量来自搜索引擎”的图片,我就给它命名为“fairyfish-seo-traffic.png”,而不是不知所云的“12414124124.jpg”,并且给他赋予 alt 标签,搜索引擎看到这张图片的时候就立刻理解这张图片的意思。
一般的地方也就是说要添加alt信息,但是为了良好的用户体验,我建议给图片加上所有元素,包括标题,替代文件,描述,链接。
二、链接
前面介绍了页面优化,当你页面优化好了,那么就需要搜索引擎收录你的文章,并且排名靠前,那么怎么让搜索引擎收录,并且排名靠前呢?这就是链接建设的事情了。
1. 向搜索引擎主动提交
基本上 WordPress 做得博客,搜索引擎很快就能收录,如果你想让搜索引擎尽快收录,可以主动提交,各大搜索引擎均有“提交网址”的功能。最好就是批量提交,可以参考 WordPress安装后必做: 向搜索引擎提交自己的Wordpress博客,其中包含几个批量提交的网站。
2. Sitemap
Sitemap是站点地图,说白了就是一些链接,把自己网站的链接主动呈现出来,比搜索引擎一顿乱捉总是要好的吧。
对于 WordPress 博客来说,我推荐使用BWP GXS,插件的安装使用可以参考WordPress必装插件:BWP GXS。
3. robots.txt的优化
在博客根目录下放置一个robots.txt的文件,可以指定搜索引擎只收录指定的内容。 对于WordPress来说,有一些地址是不应该被搜索引擎索引的,比如后台程序、日志文件、FEED地址等,一个针对WordPress的robots.txt的例子如下:
User-agent: * Disallow: /wp- Disallow: /feed/ Disallow: /comments/feed Disallow: /trackback/
4. 站内链接优化
一个网站的内容应该自成一体,内部形成一个体系,一方面自己在写文章时可以引用自己的文章,另一方面用户在浏览内容时不用跳出网站。你可以看到我的这篇文章就引用了相当多的站内文章,在写文章时就应该考虑这些方面。
- 保持重要的页面在首页有链接(这可能是指放最流行文章的模块在首页),网站的首页是最重要的页面,也是搜索引擎最经常来访问的页面,所以该页面我们应该尽量把更多的重要页面链接显示到首页。但是也要注意,千万不要超过100个链接。对于首页的话其实还要经常更新,可以添加一个最新评论的模块,这样首页会经常更新,不会让搜索引擎在不更新文章时采集到一样的内容。
- 站内的页面都要有链接至首页
- 建立面包屑链接,网站建立明晰的导航和层次结构。可以参考WordPress suffusion主题添加Breadcrumb NavXT面包屑插件进行部署。
- 相关联的网页内容要做互链,如文章下方的“相关文章”功能。建议安装相关日志插件。另外在写文章时也一定要对内容进行链接,比如在讲具体某个插件时,那就必须给出插件的官方地址,这既提升了用户体验,也有利于SEO优化。
- 相关关键字链接至相关文章,比如你以前日志中有过关于“key1”的文章,在以后的文章中都可以将“key1”链接至之前的那个页面,以产生关联性。这个特性可以使用具有自动链接的插件实现,SEO Ultimate插件和Simple Tags都可以实现,都支持中文。
- 记得定期清除无效链接。
5. rel="Canonical"标记
确保页面中有 rel="canonical"标签,避免重复内容和链接唯一性。具体rel="Canonical"有用处可以参考在链接中添加rel=”canonical”到底有什么作用?,添加方法可以直接在header.php中添加,也可以用插件实现,SEO Ultimate插件就有一个选项。
6. 获取反向链接
从外部链接到你的网站的链接,称为“反向链接”,反向链接是搜索引擎衡量网站质量的重要依据,是SEO工作的重点,如何增加反向链接?
在28个增加反向链接的方法中我们专门讲到了增加反向链接的方法。
- 提供高质量的原创内容,自然能得到大量的反向链接。高质量的原创内容,容易被无数个网站进行转载,有版权意识的网站会在他的网站上留下你的链接地址。
- 将网站加入到相关的目录中去,比如DMOZ开放目录、高质量的网址导航站、和你网站主题相关的网站互链。可以参考 6个分类目录提高网站反向链接。
- 做一些总结性的专题、列表、索引,人们很喜欢收藏此类,从而赢得反向链接。比如: 7件维护Wordpress博客必须常做的事情。写这类汇总性文章不仅可以起到上述作用,还可以利用此类文章对博客或网站的文章作一个汇总,相当于导航,让用户能够更好的浏览。
- 在与网站主题相关的大型网站上发表文章,比如客座博客。就是给博客联盟投稿,友博啊。
- 提供免费的服务和产品,比如提供免费的 WordPress 主题和插件给人下载,用的人越多,你获取的链接越多。
三、杂类
1. 不要轻易做变动
不要总是草率的变动自己的域名、博客名、链接结构、链接地址等,早期应该做全局的规划,中途进行大的变动是非常不明智的,即使你做了转向,转向在用户浏览时也是要多出一道程序,也对用户的浏览造成了影响。如果变动没有处理好,将产生大量的404错误,处理起来是相当棘手的。
四、高级 WordPress SEO
1. 优化博客副标题
副标题 (slogan), WordPress 中称为 tagline. 它与博客标题不一样, 可能会承载一些描述博客的文字, 优化一下可以利用起来. 如我的副标题是 "mg12's Blog - Just Another WordPress Blog", 其中的 WordPress Blog 被我设置为 h1. 因为我想告诉爬虫, 这是一个关于 WordPress 的博客.
WordPress SEO 技巧 1 评说:
- 这一点我不知道如何优化, 我是Wordpress版本是3.3.1的, 查看首页源代码根本找不到tagline属性。这一点我觉得不是非常重要,因为爬虫来过几次之后自然知道网站的架构,并不需要我们告诉它这是个Wordpress博客。如果你的博客的内容主题不与Wordpress相关,那就忽略这一条吧。
2. 区分显示页面标题
页面的标题不要包含博客名称. WordPress 标题一般会用到 bloginfo('name') 和 wp_title() 两部分, 前者是博客名称, 后者是文章标题 (如果标题不存在则不显示). 经典主题和默认主题输出标题用的代码如下.
<title><?php wp_title('«', true, 'right'); ?> <?php bloginfo('name'); ?></title>
输出的标题结构是 "文章标题 » 博客名称".
除非你的标题和文章内容相关度比较高, 否则这样的标题对 SEO 显然是不好的. 标题是爬虫认为重要的内容之一, 如果标题中包含了与文章内容无关的信息, 多少会对该页面有所影响.
那应该怎么弄呢? 我们可以对不同类型的页面进行区分, 我的实现代码如下.
<title><?php // 如果是首页和文章列表页面, 显示博客标题 if(is_front_page() || is_home()) { bloginfo('name'); // 如果是文章详细页面和独立页面, 显示文章标题 } else if(is_single() || is_page()) { wp_title(''); // 如果是类目页面, 显示类目表述 } else if(is_category()) { printf('%1$s 类目的文章存档', single_cat_title('', false)); // 如果是搜索页面, 显示搜索表述 } else if(is_search()) { printf('%1$s 的搜索结果', wp_specialchars($s, 1)); // 如果是标签页面, 显示标签表述 } else if(is_tag()) { printf('%1$s 标签的文章存档', single_tag_title('', false)); // 如果是日期页面, 显示日期范围描述 } else if(is_date()) { $title = ''; if(is_day()) { $title = get_the_time('Y年n月j日'); } else if(is_year()) { $title = get_the_time('Y年'); } else { $title = get_the_time('Y年n月'); } printf('%1$s的文章存档', $title); // 其他页面显示博客标题 } else { bloginfo('name'); } ?></title>
WordPress SEO 技巧 2 评说:
- 优化标题的话,我建议还是使用SEO插件,省得每次主题升级或修改主题时都需要重复操作一遍,当然使用WordPress 子主题也可以省去这个麻烦。SEO插件的话推荐使用Wordpress SEO by Yoast,参考WordPress SEO by Yoast : 最好的 WordPress SEO 插件 。
- 在分类页、文章页、归档页是否要加上分类名称或网站名称? 这一点值得好好考虑一下。首先从SEO的角度来说,在文章页上,分类名称可以加上,因为分类名与文章内容还是有关系的,当然这可能需要进行良好的组识分类;网站名称要不要加上去?我个人觉得如果从SEO的角度来说,如果你的网站名称是与内容相关的,那可以加上去,比如网站名称是“站长SEO网“,而文章内容也是与站长和SEO相关的,那为什么不把网站名称加上去?当然如果像百度这种,”百度“和搜索引擎没有任何关系,就需要斟酌一下是否加上去,这里还要考虑一个品牌因素,在标题添加网站名称可以增加网站名称的曝光率,让访问的人更容易记住,下次再进入时就印象很深了。因此标题的SEO优化需要考虑多个方面。
- Title 是SEO 非常重要的一个方面,一定要将标题写好。关于标题的写法可以参考标题SEO – 什么标题有利于SEO ? 。
3. Keywords 和 Description
Keywords 为搜索引擎提供网页包含的核心内容, Description 则为搜索引擎提供网页的描述信息. 我发布的主题曾经包括了对 keywords 和 description 的处理, 但因为一些 SEO 插件发生冲突, 在较新的版本中已经去除. 笔者认为 WordPress 的很多所谓 SEO 插件做得并不到位, 对中文博客支持都很差, 自己修改一下效果可能更好.
以下是我对 keywords, description 和页面标题的处理规则, 实现方法可以参考上一段关于页面标题的说明.
页面类型 | Keywords | Description | Title |
---|---|---|---|
首页 (front page) | 自定义 keywords | 自定义 description | 博客标题 |
文章列表页面 (index) | 自定义 keywords | 自定义 description | 博客标题 |
文章详细页面 (single) | 标签组合 | 摘要或者文章前 220 个字符 (截取文章需要特殊处理全角字符) | 文章标题 |
独立页面 (page) | 标签组合 | 文章前 220 个字符 (截取文章需要特殊处理全角字符. 独立页面不支持摘要, 有特殊需要可以创建页面模板) | 文章标题 |
类目存档页面 | 类目名称 | XXX 类目的文章存档 | XXX 类目的文章存档 |
搜索页面 | 搜索关键字 | XXX 的搜索结果 | XXX 的搜索结果 |
标签存档页面 | 标签名称 | XXX 标签的文章存档 | XXX 标签的文章存档 |
日期存档页面 | 日期 | XXX 的文章存档 | XXX 的文章存档 |
其他页面 | 留空 | 页面标题 | 博客标题 |
文章详细页面的描述一般取文章的前 220 个字符即可, 特别重要的页面和文章可以自定义摘要, 使其信息准确度更高. 如果存在摘要信息则使用摘要, 没有则使用前 220 个字符, 实现代码如下.
<?php if($post->post_excerpt) { $description = $post->post_excerpt; } else { // utf8_trim 方法是为了在截取字符之前对字符串进行转义, 避免出现截取半个汉字的情况 // 参考文档: http://php-utf8.61924.nl/documentation/functions/utf8_trim.html $description = utf8_trim(substr(strip_tags($post->post_content), 0, 220)); } ?>
WordPress SEO 技巧 3 评说:
- Title、Keyword、Description都是页面SEO(onPage SEO)的组成部分。其中Title对SEO价值很高,标题优化是SEO优化必不可少的一部分。Keyword之前非常重要,但是现在对于SEO价值不大,主流的搜索索引擎如Google、百度、必应、Yahoo! 等都忽略keyword字段。但Keyword字段对SEO没有作用并不代表Keyword字段完全没有用,因此如果网站有Keyword字段的话就保留着。Description对SEO没有直接作用,对SEO没有直接贡献,它只是在搜索结果中提供内容的描述,因此一个好的描述可以极大增加搜索结果的点击率,而点击率反过来可能会影响网站和页面的排名,因此对SEO有间接的影响,因此写一个能吸引用户点击的Description也是非常重要的。
- Title 、Keyword、Description的设置都是SEO的基础内容,对于Wordpress,可以使用 Wordpress SEO by Yoast,参考WordPress SEO by Yoast : 最好的 WordPress SEO 插件 或 SEO Ultimate插件,参考 WordPress最好的SEO插件:SEO Ultimate。
4. 定义面包屑
面包屑在网站中起到导航的作用, 便于搜索引擎进行索引. 如果一个网站存在面包屑, 在 Google 中看到的是路径索引, 而不是文章链接, 如下图.
我介绍过两款 WordPress 面包屑插件, 分别是 Breadcrumb NavXT 和 Yoast Breadcrumbs.
WordPress SEO 技巧 4 评说:
- 面包屑的作用包括两个方面:一是方便用户,让用户更好的浏览网站的内容;二是有利于SEO,良好的面包屑可以让搜索引擎的蜘蛛更好的抓取内容,网站的内容架构更加清晰。 因此面包屑是非常重要的,一个良好的网站是必须包含面包屑功能的。
- WordPress 添加面包屑 可以参考: WordPress面包屑插件Breadcrumb NavXT。
5. 使用 h1, h2, h3, strong 标签
- h1 给予文章标题或者与网站相关性高的推广性内容, 而不是博客标题. 比如: 文章详细页面的 h1 给文章标题, 因为相关度最高.
- h2 是跟文章有关的描述式信息, 如面包屑, 分类和标签.
- h3 是其他类似内容, 如相关文章, 小标题.
- strong 给文章内的关键字. 比如: 本文第一段将 strong 放在 "WordPress SEO 技巧" 这个词组上.
WordPress SEO 技巧 5 评说:
- H标签和strong标签是需要在写作时额外关注的。每篇文章都有关键词,这个关键词就是文章的中心,但这个中心如何让搜索引擎更容易知道?这就需要合理的运用H标签和strong标签。一般关键词应该在标题(位置越靠前越好)、首段、H标题、strong标签、文章中间、文末出现,写作时应该有意识地在这些位置加上关键词。
6. 将 Related Post 改为 More posts about XXX
其中 XXX 是关键字及其链接, 本人建议使用分类或者标签链接代替. 从 SEO 优化的角度来说, 因为 Related 一词与几个文章的链接没有任何关系, 但标签与之相关度很高. (一般相关文章是通过相似标签来确定的.) 从用户体验的角度来说, 没有太多人留意你的 Tags 是什么, 不如将标签和相关文章结合现实. 阿里巴巴速卖通的产品详细页面也类似这样做的, 这是我 2009 年操刀搞上去的.
WordPress SEO 技巧 6 评说:
- 很多插件和主题都不是这样做的,因此又要手动修改代码,我个人觉得作用不大,做不做都可以。
- 相关文章的作用在于提供一个导航,吸引用户去点击”相关文章“中推荐的文章,增加页面浏览率。
7. 与文章无关内容后移
很多爬虫都会爬取全页进行分析, 但还有些爬虫只会分析页面的前 N 个字节的内容. 无论是曝光次数还是分析次序, 显然前面内容的权重相对会比较高. 为了爬虫有效的收录, 应该尽量将无关内容后移. 如 JavaScript 等可以在 DOM ready 时再执行.
这个博客顶部的很多与内容无关的内容其实都是放在页脚的, 如搜索栏, 订阅按钮都是放到页脚, 在 DOM ready 时通过 CSS 或者 JavaScript 重新定位来实现的.
WordPress SEO 技巧 7 评说:
- 其实将网站主体内容尽量前移不但是SEO优化的内容,而且是网站优化的重要内容。对于Javascript之类的组件,并不提供网站内容,而是实现某些特效,这些东西可以等内容加载完成之后再加载,这对用户的浏览不会造成很大的影响,但给用户的感觉是页面加载速度变快了。
- 爬虫在抓取页面时,一般都会对页面大小有个限制,大于某个容量的页面将不会爬取或不会完整抓取,因此将页面的主体内容前移可以保证搜索引擎抓取的都是有效内容。
- 关于Javascript 和CSS 的合并可以参考网站优化加速最佳实践:Javascript篇,网站优化加速最佳实践:CSS篇 和JS&CSS Script Optimizer:CSS和Javascript合并插件。
8. 消灭内嵌 CSS 和内嵌 JavaScript
内嵌的 CSS 和 JavaScript 可能带有一些关键字和链接, 而且拖慢页面加载速度, 影响爬虫收录. 尽量将这些写在外部文件中.
WordPress SEO 技巧 8 评说:
- 内嵌的 CSS 和 Javascript 可以加快页面的加载,因为不用再发起一个HTTP请求去请求外部文件,但是最好还是将CSS 和 Javacript放在外部文件,除非要用的CSS的Javascript非常重要且内容较少。强烈建议查看 网站优化加速最佳实践:Javascript篇 和 网站优化加速最佳实践:CSS篇 这两篇文章。
避免出现重复内容的文章
WordPress 的评论分页可能导致多个重复内容的文章, 会将某些关键词的权重分散了, 有必要进行 SEO 优化.
关于 WordPress 评论的 SEO, 我已经在《对评论分页的 SEO》写过处理方法. 后来又在《WordPress 评论 SEO》中介绍了另一种处理方法, 该方法不需要借助插件.
- 重复内容是一个很烦的话题,但又是一个不得不面对的问题。更深入的信息可以参考 WordPress评论分页和文章内容重复的SEO,重复内容产生原因和解决方法 和重复的元说明,短的元说明,重复的标题标记 。
9. 为 Read more (阅读全文) 链接加上 nofollow
因为 Read more 链接的路径实际和文章标题相同, 没必要再多加一个文本与页面内容无关的链接. 再者, "Read more..." 在网站出现 N 多次, 可能会干扰爬虫. 后来我专门写了一个文章 Step-by-step 教你如何在 WordPress 进行修改, 请阅读《为 WordPress 的 Read more 加上 nofollow》.
WordPress SEO 技巧 9 评说:
- nofollow设置也是需要注意的,nofollow的设置不应只关注Read more 这个地方。很多全站链接,如关于我们,联系我们这些对SEO作用不大的链接都可以加上nofollow。反正记住一条:不需要传递的链接都要加上nofollow,特别是这种链接在多个地方重复出现时更要注意。
- 参考WordPress最好的SEO插件:SEO Ultimate, SEO Ultimate专门有一个模块设置nofollow. 对于wp-utf8-excerpt插件的设置参考wp-limit-posts-automatically汉化版插件设置摘要输出.
10. 不要制作欢迎页面
很多朋友喜欢把博客首页做成欢迎页面, 但因为大量链接链向首页, 它是最重要的页面, 应该尽量放置与博客相关的内容. 关于网站的首页, 我给两个建议.
- 直接使用文章列表页面作为首页, 如 NeoEase.com. 但对于更新频繁的博客不是太好, 页面因为没有固定的内容, 关键词的信息会波动很大, 建议上面写一段固定文字.
- 制作一个频繁更新内容的文章导航页面, 可以放置特色产品, 热门文章和最新评论等内容.
WordPress SEO 技巧 10 评说:
- 博客首页或网站首页是一个网站最重要的页面,这个页面的排名能力最强,被用户浏览的次数最多,因此如果将这个页面做成一个没有意见的欢迎页面就太不划算了。首页就应该把最重要的内容呈现出来,放上一个分类导航,便于用户顺着网站路径浏览。
- 博客首页应该有动态的内容,不能总是一成不变的内容。要让搜索引擎和用户知道你的网站在更新。
11. 优化文章列表页面
经过我长期的试验, 切勿在文章列表页面展示所有文章内容. 如果你的文章直接相关度都很高 (比如: 全站都是写 SEO 相关的文章), 建议展现所有文章的摘要. 如果文章之间相关度不高 (比如: 像这个博客一样, 有时写 SEO, 有时写 WordPress, 有时写前端, 有时又招聘), 那么只展示前三个文章的摘要即可.
如果部分文章只显示标题, 可以动态加载文章以方便用户. 详细请参考《WordPress 动态加载文章内容》.
WordPress SEO 技巧 11 评说:
- 文章列表页面包括一些首页、分类页面、tag归档页面等,这些页面都应该以摘要的形式展示,通过摘要的形式,可以让用户一次获取更多的内容,并要用户自己选择查看的内容。
- 通过摘要的形式,在文章列表页面的内容与文章页面的内容不会完全重复,这对于SEO是有利的。在网站中,重复的内容就应该尽量少。
12. 使用微格式和微数据
微格式和微数据都是为了语义化网页结构, 在网页上标记内容以描述特定类型的信息, 如评论, 事件, 商品等. 不用的是微格式使用 class 来语义化标签, 而微数据则是使用特定的标签. 两种方式 Google 都支持, 而微数据的适用范围更广, 使用方便, 更多内容请参考 Google 网站站长工具的文档 和 schema.org 上的例子.
示例 1: 在文章上加上评分功能, 并使用微数据 Ratings (aggregateRating).
在 Google 的搜索结果中可以看到文章的评分结果. 虽说这个不会影响文章排名, 但有着这么抢眼的黄色星星和评价信息, 其实是鼓励用户点击进入.
示例 2: 使用微格式或者微数据对博客的评论进行处理.
当文章内出现新的评论时, 搜索引擎会认为页面有所更新, 微格式和微数据可以令爬虫评论内容和时间更加敏感, 避免页面被认为是死页面.
WordPress SEO 技巧 12 评说:
- 微格式和微数据可以极大地提高网站流量。我们先看一下上图两个搜索结果之间的区别:在前面那个搜索结果中包含了星级评分为5星,评分次数为5次,在结果最后添加了作者名称和照片,这些Rich Snippets非常突出,这无疑会增加点击率。而Rich Snippets 的显示依赖于微数据和微评论的添加,只有在网站正确设置了微数据的微评论,才能在搜索结果中显示出来。
- 微格式和微数据的设置可以参考Rich Snippets – 为什么Google不显示你的Rich Snippets ? 首页添加Rich Snippets,让网站在搜索结果中更突出,Wordpess添加Rich Snippets,WP-PostRatings : 最好的 WordPress 文章评分插件,结构化数据 – Google网站管理员工具 推出 丰富文本摘要统计查询,如何让搜索结果显示作者信息? 等众多文章。
13. 向 Google 提交 Sitemap
WordPress 有很多自动生成 sitemap 的插件, Google XML Sitemaps 是我用过最好的一个, 按插件说明使用即可生成 sitemap 文件. 然后登录 Google Webmaster Tools, 并向 Google 提交网站的 sitemap XML 文件.
WordPress SEO 技巧 13 评说:
- 网站地图是SEO的重要方面,网站地图可以让搜索引擎更全面的获取整个网站的内容,提高网站页面的整体收录水平。
- 其实我更推荐的是Better WordPress Google XML Sitemaps (with sitemapindex, multi-site and Google News sitemap support), 这款插件实现了sitemap的分类, 然后使用了一个sitemap索引.
14. 使用 WordPress 内建图库, 并增加图片展示页面
如果网站上的内容涉及视觉感官的内容, 比如: 地图, 产品和 Logo 设计, 建议使用 WordPress 的 Media 功能建立图库, 而不是库床. WordPress 2.5 之后的主题支持 image.php, 可以内建图片类型页面, 只要稍作优化, 可能为你的网站带来极大流量和更好的转化率.
我写了一篇关于选择 WordPress 内建图库和图床的文章, 可以参考一下。
WordPress SEO 技巧 14 评说:
- 这一点还是不评说了,自己没有这方面的经验,有了再进行更新,将更多的体会和经验与大家分享。
五、 SEO 诊断
这些是我们在Q&A中获得的最常见的问题。 重复内容问题。 基本上我们给你一些额外的工具和资源来检查重复内容问题。他们是 WordPress and the Moz crawl report.
如果你在上面的环节点将一切设置正确,出问题的空间不大。但是有时候就会有事发生或者某些东西不能用或丢失什么东西。
处理重复内容的问题还可以参考以下文章:
1. 检查Google Webmaster Tools
检查webmaster tools. 如果他们没有报告重复页面标题或描述,那你就不用担心。每周检查一次是否有任何问题。
2. 使用Screaming Frog爬站
我十分喜欢Moz crawl report. 它让你发现一些需要修复的重要东西。当然使用交叉检查是明智的,特别是在涉及到大的问题如重复内容时。
使用免费版的Screaming Frog 至多可以爬取500个页面。
- 爬取你的站
- 点击标题
- 选择重复内容
- 你就可以看到一下如下的报告:
在这个案例中我们可以清楚的看到子页面导致了大量的重复标题问题。
3. 使用Google查询来看索引了什么
因为像Screaming Frog 或 the SEOmoz crawler 这样的爬取器爬取页面,并不意味着他们被索引了。使用Google查询来检查索引内容
- site:mydomain.com/blog - 检查博客索引
- site:mydomain.com/category - 检查分类索引
- site:mydomain.com/tag - 检查标签索引
- site:mydomain.com/author - 检查作者归档是否被索引了
- site:mydomain.com/2012 - 检查2012年的日期归档
- site:mydomain.com/ inurl:page - 检查子页面的索引情况
4. 确认错误采取的步骤
如果你已经在webmaster tools, screaming frog, or Google's index中发现了错误:
- 识别页面类型(category, tag, dated archive, author archive, or subpages)
- 确定这个页面是否应该被索引
- 如果应该被索引,确保你Wordpress设置中的标题和描述模板创建独特的标题。
- 如果不应该被索引,使用Yoast 阻止索引并确保你没有做任何301重定向
六、WordPress SEO 优化总结
WordPress是一个有挑战的东西,但是希望这个指南能帮助你对它的功能有更好的理解,且能够自己解决一些常见问题。同时Wordpress SEO的设置也是一个需要仔细研究的问题。
下面是在写作本文时参考的一些文章:
- WordPress SEO 宝典 - 本文的内容框架来自于此文,在我的文章中加放了自己的看法和评论。
- 十大WordPress的SEO优化技巧 - 此文来自于月光博客,但是个人认为它的这篇文章讲的内容都是很基础的优化,在我的文章中已经融合了文中的观点。基础的优化只能只占所有优化的20%,但是起的作用可能是80%,因此必须将大部分精力放在SEO的基础部分,也就是我的文章中所讲到的内容。
- 10步实现WordPress搜索引擎优化( wordpress seo ) - 此文同样没有太多出彩的地方
关于 WordPress SEO优化就介绍这么多,WordPress 本身就是 SEO 做得很好的一个开源程序,如果再加上一些优化和提高,一定会让你的博客的流量提升的很快。 当然做SEO并不是一下子就能看到效果的,需要一定时间的观察。