WordPress应该是被使用最多的CMS系统,记得以前看到过报道,全世界20%以上的网站用的是WP。虽然最初是作为博客写作CMS发布的,但现在不仅博客使用,新闻、杂志、门户类网站也用,简单的电子商务网站也能用WP,最近越来越多企业网站也开始使用WordPress。
WordPress的优势太多了:
- 开源、免费但功能强大
- 内容层和展现层分离,因而模板极为丰富,又可以用于各种类型网站
- 简单、灵活、开放、标准化,有强大的插件库,实现各种功能
- 安装简单,使用也很简单
- 版本更新频繁,但升级十分简单
- 开发者社群规模够大,某项功能即使不会做又找不到插件,也能找到开发者帮你写
虽然WordPress并不能说是完美搜索引擎友好的,但至少是友好度非常高的CMS之一,在各种插件帮助下和适当设置后, WordPress搭建的网站是可以做到比较完美SEO的。
这篇WordPress SEO指南就简单讨论一下优化WordPress网站的几个要素。相同的考虑也适用于其它博客系统。这里只谈技术性优化,关于博客的运营、市场研究、文章写作等问题,可以参考以前翻译的博客SEO指南。
标题标签和描述标签
老版WordPress的缺省帖子标题标签是这个格式的:
博客名称 – 帖子标题
需要改为:
帖子标题 – 博客名称
这个修改通常是由下面推荐安装的SEO插件自动实现的,几个流行的WP SEO插件都一定有这个功能。不安装插件的话,也可以在模板文件中自己修改,以前我刚刚开始用WordPress写博客时还没有现在这些插件,都是自己修改模板,在所用模板的header.php文件中,wp_title(帖子标题)和bloginfo(‘name’) (博客名称)两个顺序调换一下就行了:
< title >< ? php wp_title(); ? > – < ? php bloginfo(‘name’); ? > < /title>
或者bloginfo(‘name’)也可以直接硬编码,写上博客名称,少一次php执行,还能写成与设置的博客名称不一样的。
描述标签就是写帖子时摘要(Excerpt)中填写的内容,这个摘要内容也就是首页、栏目页帖子标题下面的简短介绍文字。通常我会从帖子前两段文字中摘一两句话,并在文字上稍微改动一下,尽量避免首页、栏目页和实际帖子页面的重复内容。
如果安装了SEO插件,可以单独写不同于摘要的描述标签,一般我不使用,没有太大必要。
关键词标签可以直接删除,不管对用户还是对搜索引擎,目前都没用,以后也看不出变得有用的可能性。
文章内部链接
两种情况,一是文章结尾处或侧栏中显示的相关帖子,这个肯定是插件实现,比如我用的是Related Post。相关文章对用户和搜索引擎都有好处,几乎是必须的设置。通常设定显示5-10篇相关文章。
二是贴子正文中链接到其它相关帖子,是站内链接优化的重要部分。我博客里用的比较多,有很多读者也问过我是怎么加的帖子内链接,看到网上有人说我肯定是用插件,其实不是,我就是人工加的。也有插件可以实现,自动在指定关键词加上指定链接, 如SEO Smart Links,不过我并不建议,虽然插件可以设置一组关键词,可以限制生成链接的次数,但还是不可能像人工那样灵活、自然。人工加基本上是随机的,所以也是最自然的。
人工加内部链接时重要的规则就是别给自己设定规则,不要脑子里有一根弦:“遇到这个关键词,我要链接到这里,每篇帖子只加一次。”我的做法就是随便加,想起来觉得合适就加,没想起来就不加。
网站地图
XML版网站地图是必须要有的,也有插件可以实现,如我用的 Google XMLSitemaps,虽然名字里带Google,但生成的sitemaps是所有搜索引擎通用的。Sitemap插件很多,基本上都一样。
网页版网站地图没有太大必要,可放可不放。其它类型网站也同样,网站结构没问题的话,是否放页面版网站地图,视用户体验而定,不用考虑SEO。
模板的选择和修改
WP官网有大量模板可以下载,搜索“wordpress模板”,也有很多免费、付费的模板网站。选择模板时建议考虑几个方面:
- 好看,设计风格符合行业。我个人喜欢简单的视觉设计,如读者所见,所有图片我都给删了
- 必须是响应式设计
- 必须有面包屑导航
- 功能尽量简单,代码简洁,打开速度快
- 页面代码如H1、H2标签等使用正确,如帖子标题应该是H1
选择好模板后通常还得修修补补,所以懂点编程,虽然不是SEO一定要会的,但是有很大帮助,对个人站长是必不可缺的,一点不懂PHP,想改模板都无法下手。
比如,我用的都是英文模板,一些比较重要的地方还是得中文化,有的在模板文件中可以很容易找到并修改,如右侧栏文字,有的还需要修改核心文件,如留言部分的“留言”、“提交”按钮之类的。
SEO每天一贴到目前为止用的都是免费模板,修改的地方还挺多。比如我把帖子页面的By Zac作者链接删了,原因见下面各类存档部分。
帖子页面的发布日期也删了一段时间,因为一些帖子在搜索结果中显示居然是2006年之类时间写的,用户体验实在不怎么样。但后来又加回去了,因为贴子里说“前几天”之类的话时,如果没有发布日期,有时候会显得莫名其妙,读者可能以为是前不久,其实是10多年前的事了。
再比如首页最下面加了一段关于本博客的说明文字,趁机加点关键词,能稳定显示在首页上,不然首页内容都是帖子摘要,不停变化,无法控制。这段文字只显示在首页,需要在模板或核心文件相应地方(视模板调用方法)加一个简单判断条件:
<?php if( is_home() && !is_paged() ) : ?>
栏目及URL设计
栏目规划可以参考以前写的网站结构优化和多关键词优化帖子,原理和所有网站一样,根据关键词研究结果规划栏目,把次级关键词分配到栏目首页上。
为了使网站结构更扁平一点,可以多规划些栏目,但不要学我这个博客,栏目有点过多了,我现在后悔已经来不及了。
栏目URL我建议还是使用英文单词比较好,中文容易在搜索结果中表现为乱码,拼音URL其实并不易读,尤其是稍长时,比如两三个字的拼音连起来。
WP栏目页面URL缺省设置是:
域名/category/栏目名
中间多了个完全没必要的/category/,可以使用WP No Category Base插件删除这层目录。
帖子URL在WP后台Permalink部分有很多格式可以选:
有用编号的,有带日期的。建议使用自定义的:
/%category%/%postname%/
也就是 /栏目名/帖子标题/ 的格式,是网站结构的标准格式。
如果不是新闻类网站,不建议URL中带日期。
这种静态化的URL是需要服务器支持mod_rewrite的,有不止一个站长问过我虚拟主机是否支持mod_rewrite,说他们主机服务商说的,虚拟主机不能支持mod_rewrite。没这回事,虚拟主机一样可以支持mod_rewrite,不支持的只是服务商不愿意给你打开而已。
留言系统设置及管理
正常留言多当然是好事,但垃圾留言多了就不是好事了。我的多次经验说明,垃圾留言多了,网站质量评分会明显下降,排名下滑。所以对留言还是需要设置一定门槛。很多链接群发软件或服务就是利用一些博客之类的CMS系统对所有留言来者不拒,既不审核、也不过滤的漏洞实现的。
首先是安装启用Akismet插件,他们的垃圾留言数据库会挡住大部分垃圾留言。
每条留言人工审核工作量有点大,可以在WP后台设置第一次留言不马上显示,必须等待审核,有了至少一次人工审核通过的读者的留言才会自动显示。
留言中有两个以上链接的不会显示,等待审核。
设置关键词黑名单,把常见的医疗、赌博等垃圾词列进去。除非你就是做这个行业的。
这样垃圾留言绝大部分会被挡住了。
版权及转载声明
我在每篇帖子结尾都加了版权声明及转载要求。通常在模板里的single.php这个文件中加,不用每篇帖子人工加。
虽然SEO热度大不如前,但我的几乎每篇帖子还是有不少转载的,大部分没留原始出处,也没留原作者,甚至有的干脆说是他写的,但还是有正规网站会尊重版权,至少标明原作者的。即使比例不高,积少成多,长期坚持还是会有效果的。
Tag系统的使用
除了正常的分类系统,博客还经常使用tag系统,在其它网站和CMS也很流行。
Tag页面有很多好处,能覆盖更多关键词,页面相关度高,生成又简单。但也有潜在问题,网站内容不够多的话,tag页面质量会降低,tag词设置不合理的话,和分类页面会有重复。
所以建议使用tag的同学要注意,内容不够丰富时谨慎启用tag系统,设置tag的词时尽量不要与现有分类名称重复。
读者可以参考Tag页面的优化贴子。
转向处理
网址规范化是几乎每个网站都存在,所以都要考虑的问题。
前面提到的URL的各种形式,选定了一种格式显示在网站上,其它格式还是可以访问的,需要做301转向到选择的规范化格式,这个工作下面介绍的Dean’s Permalinks Migration插件会自动处理。SEO插件会在帖子页面加上canonical标签,各种格式的URL即使都能访问并没有做301转向,也会通过 canonial标签规范化到选择的格式。
全站不带www的URL需要做301转向到带www的URL(或者反过来,有的网站选择不带www的版本为规范化版本),http版的URL也要做301转向到https版本。LAMP(Linux+Apache+MySQL+PHP)服务器,这个可以通过.htaccess 文件里的rewrite规则实现,如SEO每天一贴实际用的转向规则是:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.seozac.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^seozac.com [NC]
RewriteRule ^(.*)$ https://www.seozac.com/$1 [L,R=301]
这只是个例子,别照抄。同样的功能,可以用不太相同的正则表达式和规则实现,不同服务器写法要求也可能不同。比如只做不带www转向到带www可以写成:
RewriteCond %{HTTP_HOST} ^seozac.com [NC]
RewriteRule ^(.*)$ http://www.seozac.com/$1 [L,R=301,NC]
贵网站具体怎么写,问程序员。
提速设置
缓存还是要设置一下的,可以将页面生成纯静态的,不需要每次有人访问都PHP从数据库调用内容,比较明显地提高速度。有不少插件,我用的是WP Super Cache。
服务器开启gzip.。
可能的话,考虑CDN。这个我没有使用。
图片建议压缩后再上传,不要把照相机、手机里几M的文件直接拿来用。
各类存档
WP缺省有多种存档页面,包括按分类、按发布日期、按作者。这些存档页面大部分是没有用的,反倒有副作用,可能造成复制内容。
按分类存档当然要使用,这是正常的导航系统。
按日期、按作者存档,通常可以去掉,这两个存档内容和按分类是一样的,并没有实质价值。要去掉这两个存档,需要在模板中删除相应的显示代码,有的模板现在已经没有这两个存档了,或者通过widgets控制显示与否。
当然在模板中去掉代码,直接访问存档页面还是能访问的,为保险起见,可以在这两个存档页面全部加上noindex标签,确保搜索引擎不索引收录,或者用robots文件禁止抓取。
推荐插件
除了上面提到的插件,我还装了这几个插件:
All In One SEO Pack – SEO专用插件是必须的,我装的是All in One SEO Pack,会自动或手动设置很多SEO功能,如:
- 帖子页面标题、说明标签的客制化,加noindex 或nofollow标签(通常不加,但给了这个选项的自由)
- 加上canonical标签
- 首页标题、说明标签客制化
- 设置各类页面标题标签的格式,如前面提到的帖子标题顺序
- 各类页面是否加noindex或nofollow的缺省设置,写帖子时还可以覆盖这个缺省设置
另一个很有名的SEO插件是Yoast SEO,功能比All in One SEO更多更复杂一些,但大致是一样的,现在也更流行。之所以选择All in One SEO是最早写博客时先找到的它,习惯了而已。
AMP – 这个不用解释了, Google AMP实现最简单的方式。
Autoptimise – 把WordPress零散的CSS和JS文件集合到一个文件中,减少调用文件数,提高速度。试用了一下,没卸载,但目前并没有启用,觉得效果不大。
Broken Link Checker – 检查帖子连到其他网站的链接是否还有效。上次检查清理链接时发现很多当年连出去的链接已经无效了。
Dean’s Permalinks Migration – 帖子URL有任何变动时,这个插件自动设置301转向。
WP-Optimise – 清理数据库中的备份等不需要的东西。
WP还有很多其它插件,能实现你能想到的各种各样的功能,常见但和SEO不直接相关的如两步认证登录、流量统计、图片处理等。在各种插件帮助下和适当设置后, 但要注意,启用的插件越多,插件越复杂,WP速度将越慢,所以,不是必须的功能,就不要安装了。
读者现在没时间看这么长帖子,或者想留着以后参考,可以下载《WordPress SEO指南》PDF文件。
WordPress相对于新手来说还是比较难的,但是越折腾越喜欢,比如我的博客。
好久没有见到这么基础的文章了!本人不喜欢折腾,主要是没有时间!有时间来看看我的小站!
网站地图插件,
图片自动添加水印插件,
添加对在线视频支持插件,
删除不需要的文章,节省空间,提高速度,
畅言评论系统插件,
面包屑导航插件。
把文章显示时间去掉对于其他网站并不是一件好事情。
下面这句里的关键词标签不明白指的什么,似乎没有注意到有这个,从后文看也不是指TAG标签。倒是有一个SEO插件里有个关键字选填项,不知道是不是我的模板已经把这块预先删掉了》
“关键词标签可以直接删除,不管对用户还是对搜索引擎,目前都没用,以后也看不出变得有用的可能性。”
指的meta keywords标签,没有用,可以删除。
数据库优化插件WP-Optimize,而不是WP-Optimise,纠错有没有福利啊!
不可能有福利!
没福利 :)
好文章
zac,倒数第二个好像很古老,官方市场下不了。
文章提到了一个非常棒但是很少见用的插件:Dean’s Permalinks Migration
—
可惜的是,这个插件多年没更新了
恩,虽然都是很简单的东西,集合起来,每一项认真不做了,就不简单了。
关键词自然的加链接这个道理是懂的,可就是觉得自己加的有点心虚,一篇文章加一个就怕被惩罚,是不是太小心翼翼了?
大牛终于更新了 感谢分享
wp基本上接触得很少,目测还是很强大的。
是的,帖子标题–博客名称的标题是最好的样式。这种模板的插件还是挺好的,可以设置相关文章的推荐,或者侧边栏目的文章显示,可以省去部分花在内链上的心思,想我现在负责网站文章已经被大大割舍了,怎么办诺。
我基本上所有的网站都是使用WordPress,使用SEO插件和完全静态化的确是比其他网站的美观和用户体验更好,最主要的是维护超级方便!
WordPress的确会很好,最开始使用dede,可以漏洞太多,WordPress虽然是博客程序,但是也可以用来做cms
Zac老师,如果想更清楚的了解和阅读google seo ranking rules,有没有哪些官方的网站可以查阅的呢?
太全面了,已收藏
之前用wp做过几个网站,操作上面还是不熟悉,后面也没有研究,当初用它纯属好奇,相比其他开源我还是不喜欢他,速度不理想,这是我最反感的。
Wp 早年有试着玩玩,发现都是依赖其他人组件和plugin,感觉好像用 jquery plugin一样,上网抓抓就有,但是就是不靠谱……
当然不管用那个框架,都是需要依赖,依据项目大小,使用的框架也不同,小项目建议用Wp,再加上zac的文章就更牛了!
zac老师,我有个问题,您说关键词布局的时候避免内部竞争,同一个关键词不要出现在不同页面上面,这个我是理解的。但是如果我首页设置好三个主关键词比如说设置为,上海网站建设公司,上海做网站,上海建站。那网站关于我们的页面标题和关键词能设置成“上海网站建设公司关于我们”这种类型的合适吗?如果不合适,那内页的标题和关键词都跟首页的三个主关键词不相关,那这种页面被百度收录了是否有好处?起到什么好处?我因为没有系统学过seo,平时都是自学。帮忙解答下,这样我就能给自己网站导航页面,栏目页面做出更对的优化方案。
关于我们页面标题应该写为“关于我们 – 公司名称”,不用放关键词了。内页内容和标题即使没有“上海网站建设”这个词,也是和主题相关的,比如怎样使用photoshop,怎样设计页面,怎样管理服务器,等等,这些内容都相关。
谢谢Zac老师。
WP还是很强大得,我得博客就是用这个做得,大家可以搜索福建虎纠SEO看看
zac,你说的摘要是改模板的吧,我用wp自带摘要无法实现生成metaname=”description”,2333
我也想建一个博客
关于博客去除时间轴这块,倒是可以学习下。本人博客里的很多文章还是2014年、2015年的,浏览体验确实不好,看来等淡季时候,也得考虑把文章发布时间去除了。感谢分享。
其实国内有很多的主题已经非常的完善,其中zac老师说到的一些插件基本可以全部省略,WordPress的插件启用的越多将会影响网站的性能,当然地图插件还是必不可少的啦,像我博客因为接入了百度MIP和百度官方号,所以就自己开发了一个插件用作MIP和官方号的推送,这样免去了一些手动推送的繁琐步骤。其实zac老师可以深度的分享一些关于服务器上面的优化,哈哈哈
做为新手的我,经过研究是越来越喜欢WordPress啦!功能非常的强大!就比如我现的网站!
受益匪浅
百度默认对wordpress不友好
怎么优化网站啊。现在刷排名的软件还有用吗
学习了 很强大 支持一下
自己做的个人博客也是wp,到现在差不多3个月。这篇文章介绍的很详细、很实用。
WP Fastest Cache 来个pro 版本,缓存,加速,压缩,图片压缩,数据库优化都有了。
wp确实比国内那些cms高出不是一个档次。支持下
给我改版提供了指南,感谢
看了这文章,有一股悲凉感
请教下,之前您的文章里有这么段话:“帖子页面的发布日期也删了,因为一些帖子在搜索结果中显示居然是2006年之类时间写的,用户体验实在不怎么样。” 因而看到您文章的日期字段,是已经删除了,但现在看到又恢复这个日期字段了,是基于什么样的考虑?不做一些搜索引擎认为奇怪的事儿吗?
主要因为没有日期,我自己也不方便,经常需要知道某个帖子是什么时候写的,没有日期发现很难查看,得到后台看。所以又放回去了。
恩 我的也是wp做的 可以学习下
WordPress确实是一个很好的开源软件,对搜索引擎的优化和排名都很好,再就是像您说的,扩展性极强,插件只有你想不到,没有搜索不到的,哈哈。
多谢分享
真的很有用
谢谢博主,不错的分享。
今晚试一下。
我现在发现的一个问题是:如果将所有文章,归类到一个目录下,其它目录调用。排名很难做啊
新人报道 网上说的很简单 但是新人实际做起来还是比较懵的
用了6年多的静态博客,最近想换成WordPress,主要是因为它强大的tag系统,不知道是否能对网址的访问量有所帮助
有个问题,就是WORDPRESS全部页面下面都有链接向首页的链接,不知这样会不会被认为链接向首页的链接太多了