如何移除WordPress的shortlink短链接,防止百度收录动态链接?

之前在建网站的时候,就特别重视链接的伪静态化,也做了相应的设置,目的就是为了去掉动态链接,尽可能让网站收录更好。万万没想到的是,小编最近发现自己的网站被百度收录的文章数量减少了,而且最郁闷的是收录的链接全部都是动态链接,如下图:如何移除WordPress的shortlink短链接,防止百度收录动态链接

经过一番搜索和分析,发现wordpress3.0以上的版本有一个短链接功能,即使是使用了伪静态的设置还是可以获取到原始的动态链接地址,这个功能能很方便的使用短URL来分享自己的博客。一般打开文章页面的源代码就可以看到,所有的文章页在<head>中会多出一个shortlink的短链接,具体代码为:<link rel=’shortlink’ href=’http://www.52newsw.com/?p=300′ /> ,百度蜘蛛收录的动态链接就是来源于此,对seo不太友好,也可能正是因为如此,所以网站的文章收录数量减少了很多。

为了去除这种不利于seo的链接,让我们设置的伪静态链接发挥应有的作用,所以我们不需要使用shortlink短链接功能,那怎么样才可以让wordpress不在<head>中添加shortlink呢?

其实移除wordpress网站的rel=shortlink信息很简单,有两种方法:

修改wordpress源文件(不推荐)

打开 wp-includes 目录下的 default-filters.php,找到“shortlink”相关的代码,具体如下:

add_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );

add_action( ‘template_redirect’, ‘wp_shortlink_header’, 11, 0 );

第一行的是网页中包含的 shortlink,第二行的就是服务器返回http头信息中包含的 shortlink,只需将这两行代码注释即可,换句话说就是分别在这两行代码的开头加上“//”。

//add_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );

//add_action( ‘template_redirect’, ‘wp_shortlink_header’, 11, 0 );

修改好之后,可以通过百度抓取诊断工具查看文章页面代码,你会发现shortlink短链接内容已经没有了。

修改当前wordpress主题下的php文件(推荐)

打开主题的function.php文件,加入如下代码:

remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’, 10, 0 );

remove_action(‘template_redirect’,’wp_shortlink_header’,11,0);

这样文章页面和服务器返回的http头部信息就都不会出现这个短链接了。

如何移除WordPress的shortlink短链接,防止百度收录动态链接

其实两种方法的效果是相同的,修改或添加完代码后再次抓取诊断就会发现shortlink短链接不存在了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注