wordpress站点链接如何去除archive添加category

  • A+
所属分类:wordpress
摘要

网站的优化工作中,网站链接的规范化是非常重要的,百度的搜索引擎优化指南中强调,网站的链接结构要有利于爬虫的抓取,链接层级分明,既方便访客,也对爬虫了解网站结构有帮助。

网站的优化工作中,网站链接的规范化是非常重要的,百度的搜索引擎优化指南中强调,网站的链接结构要有利于爬虫的抓取,链接层级分明,既方便访客,也对爬虫了解网站结构有帮助。

一般Wordpress网站的文章页面基本都是域名后直接跟文章名字,爬虫抓取便利,却不知道文章是哪个目录下的,那么如何优化呢?

文章页应采用“/%category%/%postname%.html”格式的链接,如下图:

 

采用此结构后搜索引擎在抓取该页面的时候就可以知道该页面是属于那个目录(分类)下的,这样有利于蜘蛛了解整个目录下的主要内容以及目录的主要语义,从而让你的页面在搜索引擎返回同样语义关键词时有更好的排名。

不过之前有人说直接使用“/%post_name%/”或者“/%post_id%/”又或者“/%post_id%.html”之类的的伪静态URL结构能让网站的排名,因为网站的根目录下的权重最高,所以越接近根目录的文件或者页面的权重也就更高了,其实不然,这样的URL结构实际上在搜索引擎眼中是杂乱不堪的,没有一个有效的归类,很难分清网站的目录结构,所以强烈不推荐此类的伪静态结构。

接下来就是分类页面的URL优化了,大家都知道默认的wordpress分类目录的链接是“http://www.域名.com/category/分类名”这样的,显然这样的结构就会让搜索引擎以为所有“分类名”为是category目录下的一个无后缀名的一个页面。

我们要将URL这中的category去掉

插件法:WP No Category Base

代码法:

将连接中的category去掉后分类目录的链接就变为了“http://www.域名.com/分类名”这时对于搜索引擎来说这不是一个目录而是一个页面,加上“/”反斜杠才是一真正的页面,那么如何让分类目录的链接变成“http://www.域名.com/分类名/”这种形式呢?使用以下代码即可:

1
2
3
4
5
6
7
8
9
10
11
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)则保持原状即可。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: