2010-04-27 51 views
1

是否有可能使用JavaScript優化導航系統,但爲了搜索引擎,超鏈接仍然可以被抓取?SEO友好的JavaScript和CSS鏈接?

或許調用HTML代碼,只有當JavaScript是不是在瀏覽器中啓用的條件語句或當被搜索引擎抓取?

回答

0

這並不容易,如果JavaScript被禁用,因爲運行任何客戶端使用JavaScript來觸發事件。我爲我的網站做的是使用靜態HTML鏈接,然後使用JavaScript來更改當這些鏈接被按下時發生的事情。

這樣你就可以有一個鏈接的地方,那就是仍然抓取,如果禁止javascript工作正常,但如果啓動Javascript使用AJAX方法重新加載頁面的部分。

4

你所描述的將會以不引人注意的javascript爲特徵。

參見; http://en.wikipedia.org/wiki/Unobtrusive_JavaScript

你寫你的HTML在可能的搜索引擎和用戶最語義搜索引擎友好的方式關閉JavaScript,然後單獨添加腳本添加您的花俏。

甲框架如jQuery常常是有用的。

例如;

<a href="/about" id="about">About</a> 

可以通過外部JavaScript文件給出另一個函數,該文件包含;

$("#about").click(function() { 
    //fancy code here 
    return false; 
}); 

這會阻止用戶被帶到/ about並執行給定的javascript代替。

本質上,這是你的建議的反面;相反,只有在可用於增強現有html的情況下才會使用javascript。

1

當然。除了對搜索引擎友好以外,這種方法對殘疾用戶來說也更容易獲得;如果你工作或者有一天可能在政府或高等教育工作,你需要了解無障礙環境,但實際上每個人都應該牢記這個問題。

谷歌「漸進式增強」瞭解更多信息;這裏是一個good article

基本上你想創建你的網站,就好像它是使用正常的鏈接導航,然後添加JavaScript事件處理程序劫持通常會觸發導航的點擊次數。

0

suckerfish例如,是下拉基於嵌套HTML列表的菜單,變爲水平的菜單。它看起來不錯,乾淨,並有完全可抓取的鏈接。一般來說,最好生成HTML,然後使用漸進式增強功能,通過JavaScript將HTML變成漂亮的東西。

另一方面,如果您生成JavaScript導航,例如作爲JSON對象,則應該很容易爲Google生成XML sitemap

你是什麼意思的「優化」?針對速度進行了優化,因爲您的導航樹很大,會產生不必要的HTML流量?然後,您應該通過JavaScript和Ajax調用生成導航,以減少加載時間併爲搜索引擎提供站點地圖。如果你的意思是「漂亮」,那麼使用漸進增強。

0

基本上主要的事情是在你的href標籤中添加真實的URL,以及一個onclick甚至處理程序來取消默認。