對于noscript標簽,我不很熟悉,只模糊了解到這個標簽里的內容是在某些腳本不能執行時會顯示到網頁上,告訴訪客腳本不能執行,我覺得這只是一個可以增強用戶訪問體驗的標簽,并無其他意義。
不過,我今天用友鏈工具檢查友鏈時,被提示有一個外鏈出現在noscript標簽里,隨后在百度外鏈分析工具里,發現這個標簽包含的鏈接確實被百度認為是一個外鏈。
noscript標簽的含義和用法
什么是noscript標簽?它的用法又是怎樣的?這里先給大家釋疑一下。
下面是來自百度百科的解釋:
noscript 元素用來定義在腳本未被執行時的替代內容(文本)。此標簽可被用于可識別<script> 標簽但無法支持其中的腳本的瀏覽器。此段代碼意思為如果瀏覽器不支持script的代碼,則會顯示嵌入的那個頁面的內容。
如果瀏覽器支持腳本,那么它不會顯示出 noscript 元素中的文本。無法識別 <script> 標簽的瀏覽器會把標簽的內容顯示到頁面上。為了避免瀏覽器這樣做,您應當在注釋標簽中隱藏腳本。老式的(無法識別 <script> 標簽的)瀏覽器會忽略注釋,這樣就不會把標簽的內容寫到頁面上,而新式的瀏覽器則懂得執行這些腳本,即使它們被包圍在注釋標簽中!
<body>
...
...
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script>
<noscript>Your browser does not support JavaScript!</noscript>
...
...
</body>
百度外鏈分析工具:51la統計代碼里noscript標簽內的鏈接也算外鏈
現在的主流瀏覽器,都可以讀<script>標簽,因此,<noscript>標簽里的內容多數情況下是不會顯示到頁面上了。不過,對于搜索引擎來說,它是不是也忽略了<noscript>標簽呢?答案是否定的。
如下這個圖片,來自百度外鏈分析工具:

百度外鏈分析工具
分析工具顯示,ytaijia這個網頁有一條外鏈,連接到51la的網站上。下面我們分析一下ytaijia這張網頁的外鏈情況。
通過查看源代碼,發現連接到51la網站的外鏈,是在<noscript>標簽里出現的,如下圖所示:

<noscript>標簽出現外鏈
我為什么說這個外鏈是在<noscript>標簽里產生的呢?因為51la的統計代碼是js調用的,這個是不可能被百度看作外鏈的。另外,通過使用unescape()函數解碼,圖片的alt那段字符串"我要啦免费统计"的中文即是“我要啦免費統計”,而這個正是百度外鏈分析工具里的錨文本。
51la統計代碼里的noscript代碼應該去掉
51la統計代碼包含有兩部分,如下:

51la統計代碼包含兩部分
其實真正起統計作用的只是<script>里的js部分,而<noscript>這部分沒有什么意義,但搜索引擎則認為這是一個外部鏈接。因此,<noscript>這部分代碼是可以去掉的,從SEO的角度來看,應該去掉。
從下面這段話,大家可能更能理解<noscript>的使用意義:
搜索引擎會讀取一個noscript標簽,這個標簽主要是為了防止有些內容是用JS加載進來的,而搜索引擎本身是不讀取JS內容的,如果站長想讓某些內容用JS調用,而當JS被禁用時展示另外一些內容,而這部份內容又想被搜索引所抓取的話,就可以用一個noscript標簽。

