加快網(wǎng)站收錄的方式就是盡可能早的讓搜索引擎發(fā)現(xiàn),另外就是提高頁面內(nèi)容質(zhì)量。質(zhì)量問題是站長自身去把控的,那么大家可以主動來推送URL,百度URL提交可以提高網(wǎng)站的收錄速度。
成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)桐柏,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
待優(yōu)化改造,通過分析自動提交腳本的流程,抽取提交邏輯,實現(xiàn)輸入Sitemap后機器人自動模擬提交,僅渲染提交業(yè)務(wù)代碼,或 模擬request請求, 而,無需渲染站點真實頁面,降低資源占用率和業(yè)務(wù)復(fù)雜度,提升自動提交的性能和效率。
百度自動提交腳本:
<script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script>
360自動收錄代碼:
<script> (function(){ var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?f757a4cfb88d6de03df10aaac75ebdc5":"https://jspassport.ssl.qhmsg.com/11.0.1.js?f757a4cfb88d6de03df10aaac75ebdc5"; document.write('<script src="' + src + '" id="sozz"><\/script>'); })(); </script>
【優(yōu)化思路記錄】
(百度JS鏈接推送代碼)
只要把這段代碼放入你的每個頁面中,每當(dāng)用戶訪問這些頁面時,就會通過這段腳本從百度下載一個1x1的gif,同時記錄頁面此時此刻的URL地址。
自動推送腳本的性能考慮
通過這段腳本我們可以看出:
1、它先是判斷了目前的協(xié)議類型是https還是其他類型(如,http,ftp等)
2、然后下載了百度官方的一個js文件
3、再然后它將js文件的內(nèi)容生成一個腳本塊插入到當(dāng)前頁面中
4、最后會運行這個腳本塊
我們可以訪問這兩個js文件查看其內(nèi)容,也就是短短的一行。它會讀取這樣一個gif。
https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif 或者/upload/otherpica42/8759.jpg
同時將window.location.href等信息推送給了百度。
這里我們可以發(fā)現(xiàn)兩個問題:
其一、是這段腳本先后會調(diào)用兩個百度資源,這造成了冗余,不利于頁面加載速度。
其二、是該腳本會提交目前URL,但是許多URL會是動態(tài)URL,會帶各種參數(shù)。雖然百度爬蟲也有自己的判斷方法,但無疑這增加了其負(fù)擔(dān)。
改良版本的百度索引自動推送腳本
這個改良的腳本長下面這樣,。
<link ref=“canonical” href=“http://www.domain.com” > //在各個頁面的Head中定義當(dāng)前頁完整地址
> <script>
> (function(){
> var canonicalURL, curProtocol;
> //Get the <link> tag
> var x=document.getElementsByTagName("link");
> //Find the last canonical URL
> if(x.length > 0){
> for (i=0;i<x.length;i++){
> if(x[i].rel.toLowerCase() == 'canonical' && x[i].href){
> canonicalURL=x[i].href;
> }
> }
> }
> //Get protocol
> if (!canonicalURL){
> curProtocol = window.location.protocol.split(':')[0];
> }
> else{
> curProtocol = canonicalURL.split(':')[0];
> }
> //Get current URL if the canonical URL does not exist
> if (!canonicalURL) canonicalURL = window.location.href;
> //Assign script content. Replace current URL with the canonical URL
> !function(){var e=/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi,r=canonicalURL,t=document.referrer;if(!e.test(r)){var n=(String(curProtocol).toLowerCase() === 'https')?"/upload/otherpica42/8758.jpg":"//api.share.baidu.com/s.gif";t?(n+="?r="+encodeURIComponent(document.referrer),r&&(n+="&l="+r)):r&&(n+="?l="+r);var i=new Image;i.src=n}}(window);})();
> </script>
(改進后的百度索引鏈接自動提交腳本)
在上圖中已加入了注釋,下面開始代碼解說。
canonical屬性表示該頁面縱有千種URL的花樣,請搜索引擎只認(rèn)準(zhǔn)href中給出的URL值
這個新腳本的作用是多了一步查看頁面的canonical URL的步驟。我們知道。這樣一來就不會讓搜索引擎為了同一個頁面(或許已經(jīng)索引了)多次檢查你的推送頁面具體內(nèi)容。
這個新腳本的另一個更改是直接將上述兩個js的內(nèi)容拿了出來。由于這兩個js中的代碼其實是靜態(tài)的,每次都去調(diào)用并不必要。另一方面,我們需要對r的值進行更改,將它更改為canonical URL的值,因此這樣解決了我們上面的第二個問題。
最后,一點感想
自動推送是一個很實用的方法,它門檻低,容易部署,但是也有一些小問題。本文只是提供了一種方法來改進自動推送的效率和效果。
需要注意的是百度隨時可能更新這兩個js文件的內(nèi)容,雖然該功能上線后一直沒有更新不代表以后不會更新,因此需要手動及時更新代碼。
關(guān)于更新的問題,可以利用nginx的cache能力,定義更新頻率解決
本文名稱:如何實現(xiàn)搜索引擎Url自動提交
轉(zhuǎn)載注明:http://aaarwkj.com/article0/iidhoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、品牌網(wǎng)站建設(shè)、云服務(wù)器、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計公司、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)