文章頁面顯示百度是否收錄這個功能在筆者的博客已經測試有一段時間了。最開始的代碼也是從網絡上找的,只是自己用,所以也就沒想着分享了,畢竟是人家的成果,而且自行百度也是可以找到的!
不過,既然有朋友問到可否分享下添加這個功能的教程,所以決定整理分享一下。
我一直是一箇中度強迫症的完美主義者,所以別人已經分享的東西我一般不喜歡分享第二遍!但昨晚熬夜到三點,除了在新浪 SAE 搭建了一個二維碼 API 之外,還將百度收錄查詢這個功能實現了數據庫儲存優化!

功能名稱:給 WordPress 添加百度是否收錄的查詢與顯示
原版特性:通過 curl 在百度查詢本頁 url 並獲取結果,如果存在就輸出已收錄,否則就是未收錄,並且可點擊提交 url
原版缺點:每次打開頁面都需要在百度查詢一遍,嚴重拖慢速度!當然可以利用緩存插件解決此問題。
改進特性:
i 、通過 curl 在百度查詢 url 收錄結果,如果已收錄就將結果寫入到數據庫。待下一次再次打開頁面時,先檢查數據庫相應字段來判斷是否已收錄,若已收錄則直接輸出,而不再執行 curl 查詢,從而解決了 curl 即時查詢拖慢速度的問題!
ii 、若查詢結果為已收錄,亦會輸出一個在百度查詢文章標題的 a 標籤,用於查看文章排名,甚至可以查看是否被人轉載或篡改!
先分享我目前在用的數據入庫版本的使用方法:
①、給 WordPress 數據庫的 wp_posts 表新增 baidu_record 字段
i. 進入 phpMyAdmin,先選擇 WordPress 數據庫,然後點擊 SQL:

ii. 粘貼如下代碼並執行,即可給 wp_posts 新增一個 baidu_record 字段:


PS:涉及操作數據庫,任何時候都應該記得先將數據庫導出一份備份,以防萬一!
若執行報錯:
i 、請檢查表前綴是不是 wp_,若不是請將代碼改成實際的表名稱再試;
ii 、若還是報錯,那可能是當前帳號沒有添加字段的權限,那就自行想辦法找到權限更高的帳號來操作。
②、編輯主題目錄的 functions.php 文件,在最後一個?> 前新增如下代碼並保存:

③、編輯文章模板 (一般是 single.php),在合適的位置添加如下代碼並保存:
![]()
比如,筆者的博客就將其添加到了副標題當中。
若以上步驟都未出錯,那現在訪問文章頁面就能看到百度是否已收錄的效果了。當然,你要有興趣還可以像張戈博客由於,將這個代碼繼續添加到首頁或分類頁面。
第一次訪問可能會有點卡,當數據庫存在記錄之後,將直接從數據庫查詢,而不會有任何拖慢速度感覺了!
當然,還是有朋友擔心操作數據庫會出問題,所以最後還是分享這個功能的即時查詢版本:
①、編輯主題目錄的 functions.php,在最後一個?> 之前添加如下代碼並保存:

②、編輯文章模板文件 (一般為 single.php),在合適的位置添加如下代碼並保存:
![]()
不出問題的話,訪問文章頁面也可以看到同樣的效果了,當然這個是即時查詢的,每次打開頁面都要執行一遍 curl,如果主機配置和網絡不給力的話,可能會比較吃力!當然,你可以用 wp-super-cache 這類緩存插件通過緩存頁面來解決這個問題!
以上 2 種版本可根據個人喜好以及主機實際情況選擇一個即可!