WordPress如何从页面头部去掉shortlink短链接

最近做Wordpress网站优化的时候,碰到一个问题,就是百度搜索引擎不仅收录了设置的好的链接,还会收录shortlink短链接。

这两个链接的页面内容一样,虽然做了301重定向和canonical,但是百度还是会收录短链接,这短链接怎么去掉呢?方法其实很简单。

Wordpress如何从页面头部去掉shortlink短链接
WordPress如何从页面头部去掉shortlink短链接

WordPress 的shortlink功能是一种内置的功能,用于在页面头部添加一个短链接(Shortlink),用于代替长链接(Permalink)。也就是通过在域名后面加?p=123就能访问对 ID 为 123 的文章。

这对通过遍历ID采集网站文章,提供了非常方便的条件,因此建议从页面头部移除 shortlink 链接,并禁止通过 ?p=123 获取文章。

那么,怎么去掉短链接呢?

只需要在主题的functions.php文件中加入以下代码就可以去掉了。

remove_action('wp_head', 'wp_shortlink_wp_head');

是不是很简单,之前一直想去掉,在偶尔一次机会中碰到这个事情,就解决了。

当然,如果上面的代码不行的话,还有其他办法,也是在主题的functions.php文件中加入代码,代码如下:

function remove_shortlink() {
    return false;
}
add_filter('pre_get_shortlink', 'remove_shortlink');

这样就轻松去掉了Wordpress页面头部shortlink短链接了,当然很多人还会有其他要求,比如让短链接打不开,跳转到404页面。

这样也是可以的,打算不建议做,如果你非要这么做的话,也可以,在主题的functions.php文件中加入以下代码。

add_filter('redirect_canonical', 'disable_shortlink_redirect', 10, 2);
function disable_shortlink_redirect($redirect_url, $requested_url) {
    if (preg_match('/\?p=[0-9]+$/', $requested_url)) {
        status_header(404);
        nocache_headers();
        include(get_query_template('404'));
        die;
    }
    return $redirect_url;
}

这样的话,shortlink短链接就变成404页面,打不开了。

发表回复

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