现在的位置:首页>wordpress>正文

用代码使WordPress博客的tag标签链接地址以.html结尾

2014年09月10日 ⁄ 共 1271字 评论 5 条

对于网站优化,很多朋友都下了不少功夫,例如福利老幺的wordpress博客,就花了不少时间。对于wordpress博客来讲,福利老幺觉得最关健的一点,就是修改固定链接的地址了。正常情况下,WordPress博客链接地址会显示为"?p=数字"的形式,而实际上,这是一个动态的地址,像福利老幺的话,早在博客上线前就修改成了"/数字.html"这种形式了,今天福利老幺要说到的是,修改WordPress博客的tag标签链接地址以.html结尾。

有时候我们想让tag标签页的URL后面自动加html,比如 www.example.com/tag/1,变成www.example.com/tag/1.html。这或许是出于某种SEO目的。来看看福利老幺现在的标签链接地址,如下图:

标签链接地址

实际上wordpress默认的显示就是上图的形式。下面就来看看标签链接地址以.html结尾实现的方法。

实现这个目的的方法还是比较简单的,只是标签页是存档页,需要分页,分页后的链接形式为tag/1.html/page/2,就无法实现以.html为结尾,这里就讲讲不太完美的方法吧,不过这里要说明的是,首先你的WP得使用固定链接。

链接转换代码

使用文本编辑器打开当前主题目录下的functions.php,添加以下php代码:
// applied when calling get_tag_link()
add_filter(‘tag_link’, ‘gzseon_html_tag_link’, 10, 2);
/**
* tag页链接转换,将 /tag/tag-name/ 转成 /tag/tag-name.html
*/
function gzseon_html_tag_link($tag_link, $tag_id) {
return rtrim($tag_link, ‘/’) . ‘.html’;
}

添加rewrite规则

使用文本编辑器打开博客根目录下的.htaccess,也就是存放你的WordPress固定链接重写规则的文件。在 RewriteBase / 下一行添加以下代码:

RewriteRule ^tag/(.+)\.html$ /index.php?tag=$1 [L]
RewriteRule ^tag/(.+)\.html/page/([0-9]+)$ /index.php?tag=$1&paged=$2 [L]

需要注意的是,如果你的标签页URL不是以tag开头,那么你需要将以上代码中tag改成你的标签前缀。

另外.htaccess中不一定有 RewriteBase / 这一行代码,例如你将WordPress安装在子目录wp,那么这一行代码可能就是这样 RewriteBase /wp/

小结

这里福利老幺要补充的是,如果您的tag标签链接已经被搜索引擎收录了,那么福利老幺建议您不要再去修改了,因为这样的话,很容易在短期内遭到搜索引擎的惩罚。当然,从长远来看,还是修改一下比较好,这样符合百度的抓取习惯。

如果您真的决定要修改已经被搜索引擎收录tag标签,那么可以使用死链文件先去百度提交,然后再按福利老幺介绍的方法对应修改过来。

评论 5 条 评论内容很精采,有内幕,而且绝对有干货

  1. 点亮吧 2014年09月10日 10:12  @回复  Δ-49楼 回复

    很实用的文章,收藏了


    • 管理员
      管理员 2014年09月10日 10:21  @回复  ∇地下1层 回复

      一定要看清楚了,已经收录的tag页面,修改在短期内会有影响的。

  2. 梦轩丽人 2014年09月10日 10:52  @回复  Δ-48楼 回复

    新站的倒是可以折腾一些,老站的话一般都已经被收录了一些,再折腾就郁闷了,所以我就懒得管它了,不过也学习了


    • 管理员
      管理员 2014年09月10日 10:55  @回复  ∇地下1层 回复

      是的,所以下次再开站时,筹划时就要注意这些。

  3. 2015年06月17日 14:30  @回复  Δ-47楼 回复

    我用wordpress 做了跟中文站
    默认tag标签链接类型链接为:/tag/标签关键词/
    我想把tag标签类型改为:/tag/id
    id就是标签的ID 可以怎么改?

给我留言