2012-04-10 122 views
-1

我在側欄中使用Superfish菜單,在懸停時動態顯示其子菜單選項。由於各種原因,我需要動態創建子/子菜單元素,這就造成了「可爬行性」和良好的搜索引擎優化問題。jQuery Superfish菜單和SEO

任何人都有如何克服這個障礙的想法?我擔心的是,在頁面加載時創建子菜單選項,只是將它們隱藏起來直到徘徊會造成搜索引擎優化混亂,但我需要這些鏈接可以在抓取頁面時通過搜索漫遊器訪問,也可以創建良好的站點地圖。

謝謝!

CODE用於動態子菜單:

$(document).ready(function(){ 
var id; 
var visits = 0; 
var arrCounties = ["cities1.txt","cities2.txt","cities3.txt","cities4.txt","cities5.txt","cities6.txt","cities7.txt","cities8.txt","cities9.txt"]; 

var page = "-page-url.aspx"; 

for(id=0;id<arrCounties.length;id++){ 

    $('#smItem_'+id).append("<ul id='submenu_"+id+"' class='seo_submenu'></ul>"); 

    $.ajax({ 
     type: "GET", 
     url: "http://www.domain.com/COUNTIES/"+arrCounties[id], 
     async: false, 
     success: function(data){ 
      var cities = data.split("\r\n"); 

      for(var i=0;i<cities.length;i++){ 
       var cName = cities[i].substr(0,cities[i].indexOf(',')); 
       cName = cName.replace(/\s+/g,'-'); 

       $('#submenu_'+id).append("<li class='current'><a class='cityLinks' href='http://www.domain.com/location/" + cName + page + "'>"+cities[i]+"</a></li>"); 
      } 
     } 
    }); 

} 

});

回答

0

確保鏈接位於純HTML源代碼中。那麼從SEO的角度來看,沒有任何傷害。

編輯: 在瀏覽器中使用JavaScript添加鏈接不適合抓取功能,將它們與服務器端編程語言一起添加即可。只要它們位於服務器返回的純HTML中,它們就隱藏得並不重要。

+0

好的......也許我應該改寫我的問題: 我需要編輯Superfish,以便在頁面加載時生成子菜單項,並且只隱藏但不能從HTML中完全刪除。目前,直到mouseover事件創建它們,子菜單項纔會存在,然後它們會在mouseout上完全消失。 那麼,如何編輯Superfish來加載它們,並且只能將它們從視圖中隱藏起來,直到mouseover事件才能被抓取? – gtr1971 2012-04-11 15:11:55

+0

如果您要顯示用於生成子菜單的代碼,最好。 – 2012-04-11 19:34:39

+0

我編輯帖子以包含子菜單的代碼。 – gtr1971 2012-04-11 20:16:50