WordPress如何從頁面頭部去掉shortlink短鏈接
最近做Wordpress網(wǎng)站優(yōu)化的時候,碰到一個問題,就是百度搜索引擎不僅收錄了設(shè)置的好的鏈接,還會收錄shortlink短鏈接。
這兩個鏈接的頁面內(nèi)容一樣,雖然做了301重定向和canonical,但是百度還是會收錄短鏈接,這短鏈接怎么去掉呢?方法其實很簡單。

WordPress 的shortlink功能是一種內(nèi)置的功能,用于在頁面頭部添加一個短鏈接(Shortlink),用于代替長鏈接(Permalink)。也就是通過在域名后面加?p=123就能訪問對 ID 為 123 的文章。
這對通過遍歷ID采集網(wǎng)站文章,提供了非常方便的條件,因此建議從頁面頭部移除 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短鏈接了,當然很多人還會有其他要求,比如讓短鏈接打不開,跳轉(zhuǎn)到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頁面,打不開了。