今日本想使用百度抓取診斷工具抓取本站文章看下代碼有沒有錯誤,結果意外發現頭部信息中包含wordpress默認的鏈接.
本以為我所使用的主題作者應該已經去除了shortlink(短鏈接),因為查看本站文章源文件中不包含shortlink,但是卻包含在服務器返 回信息中。對于谷歌來說,wordpress默認鏈接不影響谷歌對網站的收錄,而且谷歌對頁面301的更新比較快;但是百度對頁面301的反應時間則要長 的多,一般為3個月或者更久,之前用wordpress做過一個網站,使用固定鏈接后半年都還是只有首頁快照,但把固定鏈接改為默認后不久網站內容就被收 錄了,所以如果我使用了固定鏈接,就不希望在網站的任何地方還有短鏈接。
還好wordpress是開源的,只要更改源程序,或者在主題中的function.php加入一些去掉該信息的代碼就OK了。
方法一:打開wordpress中 wp-includes目錄下的default-filters.php(我用的是wordpress 4.0),找到第212行左右,或者直接搜索【shortlink】,找到以下兩行代碼:
add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
第一個是服務器返回信息中包含shortlink,第二個是網頁中包含shortlink,只要對這兩行代碼進行注釋即可,分別在每行代碼的最前面加上【//】.
//add_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
//add_action( 'template_redirect', 'wp_shortlink_header', 11, 0 );
OK,再次使用百度抓取診斷工具抓取文章頁面,發現短鏈接已經不存在了。
方法二:本地編輯主題文件中的function.php文件或者在后臺編輯function.php文件,參閱WordPress Gravatar頭像加載速度方法.
在文件最下面,【?>】之前寫入
remove_action('wp_head','wp_shortlink_wp_head',10,0);
remove_action('template_redirect','wp_shortlink_header',11,0);
跟方法一效果一樣.
新聞熱點
疑難解答
圖片精選