對于noscript標(biāo)簽,我不很熟悉,只模糊了解到這個標(biāo)簽里的內(nèi)容是在某些腳本不能執(zhí)行時(shí)會顯示到網(wǎng)頁上,告訴訪客腳本不能執(zhí)行,我覺得這只是一個可以增強(qiáng)用戶訪問體驗(yàn)的標(biāo)簽,并無其他意義。
不過,我今天用友鏈工具檢查友鏈時(shí),被提示有一個外鏈出現(xiàn)在noscript標(biāo)簽里,隨后在百度外鏈分析工具里,發(fā)現(xiàn)這個標(biāo)簽包含的鏈接確實(shí)被百度認(rèn)為是一個外鏈。
noscript標(biāo)簽的含義和用法
什么是noscript標(biāo)簽?它的用法又是怎樣的?這里先給大家釋疑一下。
下面是來自百度百科的解釋:
noscript 元素用來定義在腳本未被執(zhí)行時(shí)的替代內(nèi)容(文本)。此標(biāo)簽可被用于可識別<script> 標(biāo)簽但無法支持其中的腳本的瀏覽器。此段代碼意思為如果瀏覽器不支持script的代碼,則會顯示嵌入的那個頁面的內(nèi)容。
如果瀏覽器支持腳本,那么它不會顯示出 noscript 元素中的文本。無法識別 <script> 標(biāo)簽的瀏覽器會把標(biāo)簽的內(nèi)容顯示到頁面上。為了避免瀏覽器這樣做,您應(yīng)當(dāng)在注釋標(biāo)簽中隱藏腳本。老式的(無法識別 <script> 標(biāo)簽的)瀏覽器會忽略注釋,這樣就不會把標(biāo)簽的內(nèi)容寫到頁面上,而新式的瀏覽器則懂得執(zhí)行這些腳本,即使它們被包圍在注釋標(biāo)簽中!
<body>
...
...
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
...
...
</body>
百度外鏈分析工具:51la統(tǒng)計(jì)代碼里noscript標(biāo)簽內(nèi)的鏈接也算外鏈
現(xiàn)在的主流瀏覽器,都可以讀<script>標(biāo)簽,因此,<noscript>標(biāo)簽里的內(nèi)容多數(shù)情況下是不會顯示到頁面上了。不過,對于搜索引擎來說,它是不是也忽略了<noscript>標(biāo)簽?zāi)??答案是否定的?/p>
如下這個圖片,來自百度外鏈分析工具:
百度外鏈分析工具
分析工具顯示,ytaijia這個網(wǎng)頁有一條外鏈,連接到51la的網(wǎng)站上。下面我們分析一下ytaijia這張網(wǎng)頁的外鏈情況。
通過查看源代碼,發(fā)現(xiàn)連接到51la網(wǎng)站的外鏈,是在<noscript>標(biāo)簽里出現(xiàn)的,如下圖所示:
<noscript>標(biāo)簽出現(xiàn)外鏈
我為什么說這個外鏈?zhǔn)窃?lt;noscript>標(biāo)簽里產(chǎn)生的呢?因?yàn)?1la的統(tǒng)計(jì)代碼是js調(diào)用的,這個是不可能被百度看作外鏈的。另外,通過使用unescape()函數(shù)解碼,圖片的alt那段字符串"我要啦免费统计"的中文即是“我要啦免費(fèi)統(tǒng)計(jì)”,而這個正是百度外鏈分析工具里的錨文本。
51la統(tǒng)計(jì)代碼里的noscript代碼應(yīng)該去掉
51la統(tǒng)計(jì)代碼包含有兩部分,如下:
51la統(tǒng)計(jì)代碼包含兩部分
其實(shí)真正起統(tǒng)計(jì)作用的只是<script>里的js部分,而<noscript>這部分沒有什么意義,但搜索引擎則認(rèn)為這是一個外部鏈接。因此,<noscript>這部分代碼是可以去掉的,從SEO的角度來看,應(yīng)該去掉。
從下面這段話,大家可能更能理解<noscript>的使用意義:
搜索引擎會讀取一個noscript標(biāo)簽,這個標(biāo)簽主要是為了防止有些內(nèi)容是用JS加載進(jìn)來的,而搜索引擎本身是不讀取JS內(nèi)容的,如果站長想讓某些內(nèi)容用JS調(diào)用,而當(dāng)JS被禁用時(shí)展示另外一些內(nèi)容,而這部份內(nèi)容又想被搜索引所抓取的話,就可以用一個noscript標(biāo)簽。