共計 995 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。
最近站點收錄有點慢,于是去百度站平臺測試一下抓取診斷,發(fā)現(xiàn)百度可以抓取到頁面的原生的動態(tài)鏈接,如?p=2848,而本站的網(wǎng)頁是做了偽靜態(tài)處理的,索性去網(wǎng)頁查看源代碼并未發(fā)現(xiàn)有這個動態(tài)鏈接,于是去查詢了一下,發(fā)現(xiàn)很多站長有類似的情況,而且這個 shortlink 對百度搜索引擎來說很不友好,很多站長也反饋百度在抓取該網(wǎng)頁時還會收錄這個鏈接,導(dǎo)致網(wǎng)頁權(quán)重分散。
所以刪除勢在必行,另外也發(fā)現(xiàn)網(wǎng)頁有許多不需要的 mate 標簽,索性一次性清除掉。
1、去除 shortlink
我們在主題中的 functions.php 加入一些去掉該信息的代碼就 OK 了。具體代碼如下
// 移除頭部 HTTP header 中的 shortlink
remove_action('wp_head','wp_shortlink_wp_head',10,0);
remove_action('template_redirect','wp_shortlink_header',11,0);
2、去除 wp-json
依然是編輯主題中的 functions.php,然后加入以下代碼:
// 移除頭部 wp-json 標簽和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('template_redirect', 'rest_output_link_header', 11);
3、屏蔽 REST API
還是編輯 functions.php 文件,添加以下代碼:
// 屏蔽 REST API
add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');
添加了如上代碼后,返回百度再次使用抓取診斷功能,如此返回的 HTTP 頭部就不在帶有 shortlink 動態(tài)網(wǎng)址了,如下圖所示:
另外補充一點就是解決 wp-json 還可以安裝插件:Disable REST API,在 WordPress 后臺插件搜索即可安裝。如果是添加上面代碼來實現(xiàn)功能,前往那要做好備份再來修改。