使用javascript (或jQuery)對SEO影響的迷思


作者: | 2009/10/19 | 8 則迴響


近遇到想做SEO的客戶,因為該客戶現有的網站選單,主要以Flash製作,觀看網站的原始碼就很容易了解spider應該很難分析全站的架構。不過因為該站經營三、四年了,除了要修改選單為適合SEO的方式,我想最好也要保持選單與視覺設計的一致性,除了不要破壞視覺識別,也希望讓操作性的影響降到最低。

很直覺的,我使用jQuery設計了一組選單,在色系與動畫的呈現上幾乎與原先的Flash選單有90%的相似度,當然原始碼呈現出來的是完整的選單結構,也使用了標準的HTML。

客戶一開始被CSS的把戲搞混了,宣稱這些選單使用的是圖片,後來經過一番解釋才說服他 (我請他另存圖檔下來寄給我,但這當然辦不到,因為那是用CSS做的效果。)後來,客戶也許出於擔心又問了:這樣符合SEO的原則嗎?

我想說的是,相較於原本 Flash選單的設計,當然更有利於SEO。因為選單從無法分析的swf檔,成了網頁文件的一部份(DOM),以<ul>和<li>構成階層關係及連結,讓spider更容易分析整個網站的架構。只是為了要呈現動畫效果,我們還必須增加<script>標籤,寫一些javascript。

的確,對SEO有概念的人都知道,spider不會剖析javascript的內容。遇到script標籤,spider會停工直到遇見script的結尾標籤,spider很忙很忙的,它根本不想看這麼一堆跟網站架構無關的code。因為這種特性,出現了「如何擺放script標籤」的說詞,有人宣稱放在head,先讓spider看到的話,它會比較不愛這個頁面,也會對script接下來真正的網頁資訊感到興趣缺缺,所以可以將script放在body。

將script放在body一樣是可以運作的,但這種說法是不可信的,因為spider會先取得整個page的資訊,才開始進行分析,之所以專家建議將script放在head,是一種類似coding standard的習慣,讓code整齊乾淨兼易讀。

所以,如果有一大串javascript需要匯入使用,像是使用jQuery這種函式庫,該怎麼維持SEO呢?通常我們要用內容較多的js檔時,會將它設為外部檔案再行匯入,jQuery也不例外,使用語法如下:

[js]
<script type=’text/javascript’ src=’外部JS檔.js’></script>
[/js]

如果網頁的內容與架構不是儲存在外部的.js檔內,那您大可放心,spider會看的是接下來的網頁內容,它不會理會script標籤。但是呢,因為spider真的很忙很忙,如果要它對你的網站印象好一點,不妨撰寫robots.txt放在網站的根目錄,指出這個外部js檔不需spider分析了,幫助它減輕工作負擔,我想對SEO也是有莫大的幫助。


標籤:, , ,

分類:, ,

本文作者是Audi Lu

8 則留言

發佈回覆給「Albert」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。

*

*

*

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料