【问题标题】:jQuery Superfish menu and SEOjQuery Superfish 菜单和 SEO
【发布时间】:2012-04-10 21:22:17
【问题描述】:

我在侧边栏中使用 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>");
            }
        }
    });

}

});

【问题讨论】:

    标签: jquery seo superfish


    【解决方案1】:

    确保链接位于纯 HTML 源代码中。那么从 SEO 的角度来看完全没有伤害。

    编辑: 在浏览器中使用 JavaScript 添加链接不利于抓取能力,使用服务器端编程语言添加它们是可以的。只要它们在服务器返回的纯 HTML 中,它们就被隐藏起来并不重要。

    【讨论】:

    • OK... 也许我应该重新表述我的问题:我需要编辑 Superfish,以便在页面加载时生成子菜单项,并且仅隐藏但未完全从 HTML 中删除。目前,子菜单项在 mouseover 事件创建它们之前不存在,然后它们在 mouseout 时完全消失。那么,如何编辑 Superfish 以加载它们,并且只在鼠标悬停事件发生之前将它们隐藏起来,以便它们仍然可以被抓取?
    • 最好显示用于生成子菜单的代码。
    • 那不好Greg,搜索引擎没有办法抓取它,需要用后端代码重做。我给你的答案仍然适用。你不能在 JavaScript 中做到这一点。如果你把链接放在你的 HTML 和 XML 站点地图中就会被抓取,但是内部链接架构会很差。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    相关资源
    最近更新 更多