网站建设

恢复WordPress分类目录的别名链接形式

Jager · 1月14日 · 2014年 · · 4952次已读

注:内容很偏门,标题还真不知道如何拟,估计只有细看内容或有相同经历的朋友才看得懂俺说的是什么。


昨天下午自从在百度统计中使用了 SEO 建议之后,让我从下午一直折腾到晚上才算告一段落。原因是百度 SEO 建议中提示:

在静态页面上使用动态参数,会造成 spider 多次和重复抓取

点开问题页面才知道原来是我的分类用了 ?cat=id 动态链接。自从使用了《正确的 Win 主机网站伪静态设置方法》之后,自己也怀疑过为什么我的分类链接还是动态的?而且我还有印象,刚安装 wordpress 的时候都不是这个形式,应该是用的分类的别名链接才对啊!当时固执的认为是使用了%post_id%.html的固定链接的缘故,,也就没去深究。今天看到这个 SEO 建议,感觉又有得“折腾”!于是各种引擎各种搜,但是信心很丰满,结果却很骨感!

搜到的结果基本都是教你如何解决使用伪静态之后,中文分类或中文标签打不开的情况在百度知道倒是看到同样的提问,不过没能解决:《wordpress 分类目录 怎么设置才能以"别名"的方式显示?》 ,这个人的情况就和我一致了,其他还真搜不到相似的内容!

我这个人有个韧性,反正不解决我就不会放弃,而且我在别人博客(比如同样主题的知更鸟),看得导航中的分类菜单可都是别名链接的,而不是?cat=id动态链接!于是我到处去问如何设置分类目录的别名访问,比如我在奇客小屋、古月小简等博友的博客都问到了相关问题,到最后都没解决,估计弄得博友也一头雾水。。。

昨晚大概 11 点在和 GF 通电话时,随意点开了搜索结果中的《WordPress 分类目录标签云集 404 错误修复教程》,让我灵光一闪!终于想起来了造成分类目录写死为动态链接的原因!原来是我第一次使用 404 的方法设置伪静态的时候修改过这个文件,后来我又将伪静态的实现方法修改为 Rewrite 规则,但是却忘记将以前修改过的文件改回来![感谢亲爱的 GF]


好吧,言归正传,写清楚造成分类目录写死为动态链接的原因(之一)。

原因就是:曾经使用过 404 重定向的伪静态设置方法,又由于设置之后中文目录或中文标签无法打开,就修改了根目录下面的wp-includes/rewrite.php文件,将分类目录的固定链接设置为?cat=id 的动态形式!最终,由于再次更换了伪静态的设置方法,却忘记将 wp-includes/rewrite.php 里面被修改的内容重新改回来!从而导致了分类目录固定为?cat=id 形式的动态链接!

解决方法:打开 wp-includes/rewrite.php,搜索找到

function using_index_permalinks() {
if ( !empty($this->permalink_structure) ) {
return false;
....

将其中的惊叹号

去掉,保存后上传覆盖即可还原分类目录的别名链接模式!

回到首页一刷新,那可爱的别名链接又回来了!伪静态里面混着动态,蜘蛛确实也挺困惑的,这下终于解决了!

另外,推荐一个插件,去掉别名链接里面的/category 字样:WP No Category Base - WPML compatible让链接更加简洁!网上那个修改 category-temp**.php 的方法,找了半天没找到目标代码,纳闷中。。。最后只要先用插件算了.

待会再去百度知道帮那个人一把好了,谁让咱们同是天涯沦落人呢?

2 条回应