wordpress全站链接(URL)规范化优化方案
2014-03-23 19:03
543 查看
在SEO中网站的链接结构以及目录层次都非常重要,百度官方的SEO白皮书内就强调了,一个好的URL结构不仅能让搜索引擎更加容易了解到网站内容,而且也利于访客记忆。很多SEO书籍中都提到了,网站URL的目录层次最好不要超过三层。当然如果URL中包含关键词就更好了。那么wordpress网站该如何设定网站的伪静态才能符合SEO标准呢?
文章页:
应采用“/%category%/%postname%.html”格式的链接,如下图:
采用此结构后搜索引擎在抓取该页面的时候就可以知道该页面是属于那个目录(分类)下的,这样有利于蜘蛛了解整个目录下的主要内容以及目录的主要语义,从而让你的页面在搜索引擎返回同样语义关键词时有更好的排名。不过之前有人说直接使用“/%post_name%/”或者“/%post_id%/”又或者“/%post_id%.html”之类的的伪静态URL结构能让网站的排名,因为网站的根目录下的权重最高,所以越接近根目录的文件或者页面的权重也就更高了,其实不然,这样的URL结构实际上在搜索引擎眼中是杂乱不堪的,没有一个有效的归类,很难分清网站的目录结构,所以强烈不推荐此类的伪静态结构。接下来就是分类页面的URL优化了,大家都知道默认的wordpress分类目录的链接是“http://www.域名.com/category/分类名”这样的,显然这样的结构就会让搜索引擎以为所有“分类名”为是category目录下的一个无后缀名的一个页面。首先我们要将URL这中的category去掉,之前小V提到过两种方法:
插件法:WP No Category Base
代码法:wordpress链接结构优化之标签(category)存档页优化
将连接中的category去掉后分类目录的链接就变为了“http://www.域名.com/分类名”这时对于搜索引擎来说这不是一个目录而是一个页面,加上“/”反斜杠才是一真正的页面,那么如何让分类目录的链接变成“http://www.域名.com/分类名/”这种形式呢?使用以下代码即可:
至于标签页(tag)则保持原状即可。
文章页:
应采用“/%category%/%postname%.html”格式的链接,如下图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201502/683eb1273e1731a99c83a05fc710f9c2.png)
采用此结构后搜索引擎在抓取该页面的时候就可以知道该页面是属于那个目录(分类)下的,这样有利于蜘蛛了解整个目录下的主要内容以及目录的主要语义,从而让你的页面在搜索引擎返回同样语义关键词时有更好的排名。不过之前有人说直接使用“/%post_name%/”或者“/%post_id%/”又或者“/%post_id%.html”之类的的伪静态URL结构能让网站的排名,因为网站的根目录下的权重最高,所以越接近根目录的文件或者页面的权重也就更高了,其实不然,这样的URL结构实际上在搜索引擎眼中是杂乱不堪的,没有一个有效的归类,很难分清网站的目录结构,所以强烈不推荐此类的伪静态结构。接下来就是分类页面的URL优化了,大家都知道默认的wordpress分类目录的链接是“http://www.域名.com/category/分类名”这样的,显然这样的结构就会让搜索引擎以为所有“分类名”为是category目录下的一个无后缀名的一个页面。首先我们要将URL这中的category去掉,之前小V提到过两种方法:
插件法:WP No Category Base
代码法:wordpress链接结构优化之标签(category)存档页优化
将连接中的category去掉后分类目录的链接就变为了“http://www.域名.com/分类名”这时对于搜索引擎来说这不是一个目录而是一个页面,加上“/”反斜杠才是一真正的页面,那么如何让分类目录的链接变成“http://www.域名.com/分类名/”这种形式呢?使用以下代码即可:
if (is_admin()) return; $permalink_structure = get_option('permalink_structure'); if (!$permalink_structure || '/' === substr($permalink_structure, -1)) return; add_filter('user_trailingslashit', 'ppm_fixe_trailingslash', 10, 2); function ppm_fixe_trailingslash($url, $type) { if ('single' === $type) return $url; return trailingslashit($url); }将以上代码加到functions.php文件的最后面,记住一定是最后面,否则可能会造成网站报错无法访问的状况。
至于标签页(tag)则保持原状即可。
相关文章推荐
- mysql 查找结果中自动加序号列
- jsoup从一个文件加载一个文档
- jsoup从一个URL加载一个Document
- lucene学习教程
- MVC entity
- 解析一个body片断
- jsoup官方解析一个HTML字符串
- Java中有两种实现多线程的方式以及两种方式之间的区别
- Codeforces Round #238 (Div. 2)
- 理解GL_TRIANGLE_STRIP等绘制三角形序列的三种方式
- Sql Server中不常用的表运算符之APPLY(2)
- 4.高级js--(面向对象js)_2
- Java 序列化的高级认识
- HangOver
- Codeforces Round 238 Div.2
- http和socket
- 盗COOKIE之方法总结
- transifex Installation
- java assert 用法
- jsoup官方解析和遍历一个HTML文档