導讀:網站運營網站運營百度站長平臺提供鏈接索引的自動提交 JS 代碼腳本。用百度自己的話講:JS鏈接推送代碼以網頁為最小對象,服務于全平臺多終端,PC站和移動站均可使用。安裝代碼的頁網站推廣優化seo建設網站公司。
百度站長平臺提供鏈接索引的自動提交 JS 代碼腳本。用百度自己的話講:JS鏈接推送代碼以網頁為最小對象,服務于全平臺多終端,PC站和移動站均可使用。安裝代碼的頁面在任意平臺(瀏覽器、微信、微博)被加載時,頁面鏈接會被第一時間推送給百度,從而提高站點新內容的發現速度。 今天SEOUC分享的這個自動推送 JS 代碼 進化版來自百度站長學院 先來看看百度站長默認的自動推送 js 代碼是這樣的: script (function(){ var bp = document.createElement(script […]
百度站長平臺提供鏈接索引的自動提交 JS 代碼腳本。用百度自己的話講:JS鏈接推送代碼以網頁為最小對象,服務于全平臺多終端,PC站和移動站均可使用。安裝代碼的頁面在任意平臺(瀏覽器、微信、微博)被加載時,頁面鏈接會被第一時間推送給百度,從而提高站點新內容的發現速度。
今天SEOUC分享的這個自動推送 JS 代碼 進化版來自百度站長學院
先來看看百度站長默認的自動推送 js 代碼是這樣的:
<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>
只要把這段代碼放入你的每個頁面中,每當用戶訪問這些頁面時,就會通過這段腳本從百度下載一個1x1的gif,同時記錄頁面此時此刻的URL地址,然后推送給百度。
使用百度默認的代碼有兩個問題:
第一 這段腳本先后會調用兩個百度資源,這造成了冗余,不利于頁面加載速度。
第二 該腳本會提交目前URL,但是許多URL會是動態URL,會帶各種參數。雖然百度爬蟲也有自己的判斷方法,但無疑這增加了其負擔。
于是,為了解決這兩個問題,筆者咨詢了好友柴云翔同時是前端開發的大牛。在大牛的幫助下,我們有了下面這個改良版本。
<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];
 網站seo優化; }
//Get current URL if the canonical URL does not exist
if (!canonicalURL) canonicalURL = window.locatio網站建設制作n.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')?"https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif":"//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的步驟。我們知道canonical屬性表示該頁面縱有千種URL的花樣,請搜索引擎只認準href中給出的URL值。這樣一來就不會讓搜索引擎為了同一個頁面(或許已經索引了)多次檢查你的推送頁面具體內容。
這個新腳本的另一個更改是直接將上述兩個js的內容拿了出來。由于這兩個js中的代碼其實是靜態的,每次都去調用并不必要。另一方面,我們需要對r的值進行更改,將它更改為canonical URL的值,因此這樣解決了我們上面的第二個問題。
SEOUC看到這個版本好處在于推送的鏈接是 canonical 標簽屬性里面的鏈接,對于網站鏈接有過改版的網站是友好的,不會重復推送鏈接,上面的代碼適用于任何網站!
需要注意的是使用這個改進版,百度默認的推送代碼不能變,如果默認的自動推送代碼改變,這個也會失效!
個人認為這個代碼適用自適應站更好,因為自適應站手機版和PC版地址相同,通過canonical標簽重新定義了標準的鏈接,那些帶參數的,直接就不再進行提交。如果是m.XXX.com這樣的,和www.XXX.com這樣的網站,一般移動端會canonical會指向PC端鏈接。按這種方法不會提交手機版,覺得并不恰當。
相關網站推廣優化seo建設網站公司。
關鍵詞標簽: 百度 標簽 代碼
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-25 ,文章百度推送 自動推送代碼JS自動推送進化版網站運主要講述標簽,代碼,百度網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_8432.html