文章頁(yè)面顯示百度是否收錄這個(gè)功能在筆者的博客已經(jīng)測(cè)試有一段時(shí)間了。最開(kāi)始的代碼也是從網(wǎng)絡(luò)上找的,只是自己用,所以也就沒(méi)想著分享了,畢竟是人家的成果,而且自行百度也是可以找到的!
不過(guò),既然有朋友問(wèn)到可否分享下添加這個(gè)功能的教程,所以決定整理分享一下。
我一直是一個(gè)中度強(qiáng)迫癥的完美主義者,所以別人已經(jīng)分享的東西我一般不喜歡分享第二遍!但昨晚熬夜到三點(diǎn),除了在新浪SAE搭建了一個(gè)二維碼API之外,還將百度收錄查詢(xún)這個(gè)功能實(shí)現(xiàn)了數(shù)據(jù)庫(kù)儲(chǔ)存優(yōu)化!
功能名稱(chēng):給WordPress添加百度是否收錄的查詢(xún)與顯示
原版特性:通過(guò)curl在百度查詢(xún)本頁(yè)url并獲取結(jié)果,如果存在就輸出已收錄,否則就是未收錄,并且可點(diǎn)擊提交url
原版缺點(diǎn):每次打開(kāi)頁(yè)面都需要在百度查詢(xún)一遍,嚴(yán)重拖慢速度!當(dāng)然可以利用緩存插件解決此問(wèn)題。
改進(jìn)特性:
i、通過(guò)curl在百度查詢(xún)url收錄結(jié)果,如果已收錄就將結(jié)果寫(xiě)入到數(shù)據(jù)庫(kù)。待下一次再次打開(kāi)頁(yè)面時(shí),先檢查數(shù)據(jù)庫(kù)相應(yīng)字段來(lái)判斷是否已收錄,若已收錄則直接輸出,而不再執(zhí)行curl查詢(xún),從而解決了curl實(shí)時(shí)查詢(xún)拖慢速度的問(wèn)題!
ii、若查詢(xún)結(jié)果為已收錄,亦會(huì)輸出一個(gè)在百度查詢(xún)文章標(biāo)題的a標(biāo)簽,用于查看文章排名,甚至可以查看是否被人轉(zhuǎn)載或篡改!
先分享我目前在用的數(shù)據(jù)入庫(kù)版本的使用方法:
①、給WordPress數(shù)據(jù)庫(kù)的wp_posts表新增baidu_record字段
i. 進(jìn)入phpMyAdmin,先選擇WordPress數(shù)據(jù)庫(kù),然后點(diǎn)擊SQL:
ii. 粘貼如下代碼并執(zhí)行,即可給wp_posts新增一個(gè)baidu_record字段:
PS:涉及操作數(shù)據(jù)庫(kù),任何時(shí)候都應(yīng)該記得先將數(shù)據(jù)庫(kù)導(dǎo)出一份備份,以防萬(wàn)一!
若執(zhí)行報(bào)錯(cuò):
i、請(qǐng)檢查表前綴是不是wp_,若不是請(qǐng)將代碼改成實(shí)際的表名稱(chēng)再試;
ii、若還是報(bào)錯(cuò),那可能是當(dāng)前帳號(hào)沒(méi)有添加字段的權(quán)限,那就自行想辦法找到權(quán)限更高的帳號(hào)來(lái)操作。
②、編輯主題目錄的functions.php文件,在最后一個(gè)?>前新增如下代碼并保存:
③、編輯文章模板(一般是single.php),在合適的位置添加如下代碼并保存:
比如,筆者的博客就將其添加到了副標(biāo)題當(dāng)中。
若以上步驟都未出錯(cuò),那現(xiàn)在訪問(wèn)文章頁(yè)面就能看到百度是否已收錄的效果了。當(dāng)然,你要有興趣還可以像張戈博客由于,將這個(gè)代碼繼續(xù)添加到首頁(yè)或分類(lèi)頁(yè)面。
第一次訪問(wèn)可能會(huì)有點(diǎn)卡,當(dāng)數(shù)據(jù)庫(kù)存在記錄之后,將直接從數(shù)據(jù)庫(kù)查詢(xún),而不會(huì)有任何拖慢速度感覺(jué)了!
當(dāng)然,還是有朋友擔(dān)心操作數(shù)據(jù)庫(kù)會(huì)出問(wèn)題,所以最后還是分享這個(gè)功能的實(shí)時(shí)查詢(xún)版本:
①、編輯主題目錄的functions.php,在最后一個(gè)?>之前添加如下代碼并保存:
②、編輯文章模板文件(一般為single.php),在合適的位置添加如下代碼并保存:
不出問(wèn)題的話,訪問(wèn)文章頁(yè)面也可以看到同樣的效果了,當(dāng)然這個(gè)是實(shí)時(shí)查詢(xún)的,每次打開(kāi)頁(yè)面都要執(zhí)行一遍curl,如果主機(jī)配置和網(wǎng)絡(luò)不給力的話,可能會(huì)比較吃力!當(dāng)然,你可以用wp-super-cache這類(lèi)緩存插件通過(guò)緩存頁(yè)面來(lái)解決這個(gè)問(wèn)題!
以上2種版本可根據(jù)個(gè)人喜好以及主機(jī)實(shí)際情況選擇一個(gè)即可!