Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquerysuperfish菜单和搜索引擎优化_Jquery_Seo_Superfish - Fatal编程技术网

jquerysuperfish菜单和搜索引擎优化

jquerysuperfish菜单和搜索引擎优化,jquery,seo,superfish,Jquery,Seo,Superfish,我在侧边栏中使用一个Superfish菜单,在悬停时动态显示其子菜单选项。出于各种原因,我需要动态创建子/子菜单元素,这为“爬行能力”和良好的SEO带来了问题 有人对如何克服这个障碍有一些想法吗?我担心在页面加载时创建子菜单选项并简单地将它们隐藏到悬停位置会造成SEO混乱,但我需要这些链接在页面被爬网时能够被搜索机器人访问,并创建良好的网站地图 谢谢 用于动态子菜单的代码: $(document).ready(function(){ var id; var visits = 0; var arr

我在侧边栏中使用一个Superfish菜单,在悬停时动态显示其子菜单选项。出于各种原因,我需要动态创建子/子菜单元素,这为“爬行能力”和良好的SEO带来了问题

有人对如何克服这个障碍有一些想法吗?我担心在页面加载时创建子菜单选项并简单地将它们隐藏到悬停位置会造成SEO混乱,但我需要这些链接在页面被爬网时能够被搜索机器人访问,并创建良好的网站地图

谢谢

用于动态子菜单的代码:

$(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>");
            }
        }
    });

}
$(文档).ready(函数(){
变量id;
var=0;
var arrCountries=[“cities1.txt”、“cities2.txt”、“cities3.txt”、“cities4.txt”、“cities5.txt”、“cities6.txt”、“cities7.txt”、“cities8.txt”、“cities9.txt];
var page=“-page url.aspx”;
对于(id=0;id”;
}
}
});
}

})

确保链接位于纯HTML源代码中。这样从SEO角度看就不会有任何伤害

编辑:
在浏览器中添加带有JavaScript的链接不利于爬网功能,使用服务器端编程语言添加链接也可以。它们隐藏在服务器返回的纯HTML中并不重要。

ok…也许我应该重新表述我的问题:我需要编辑Superfish,以便在浏览器上生成子菜单项页面加载和仅隐藏但未从HTML中完全删除。当前,子菜单项在鼠标悬停事件创建它们之前不存在,然后它们在鼠标悬停时完全消失。因此,如何编辑Superfish以加载它们,并仅在鼠标悬停事件之前将其从视图中隐藏,以便仍可对其进行爬网?最好显示用于生成子菜单的代码。这不好,Greg,搜索引擎无法对其进行爬网,你需要使用后端代码重新进行爬网。我给你的答案仍然适用。你不能在JavaScript中这样做。如果你将链接放在HTML和XML站点地图中,它将被爬网,但内部链接架构将非常差。