添加 AJAX 功能以锚定行为,但为 SEO 保留 href

Posted

技术标签:

【中文标题】添加 AJAX 功能以锚定行为,但为 SEO 保留 href【英文标题】:Adding AJAX function to anchor behavior but Keeping href for SEO 【发布时间】:2012-03-25 13:12:05 【问题描述】:

是否可以有一个链接/按钮来执行 AJAX/Jquery 函数来加载新内容,但同时它包含指向具有相同特定内容的页面的链接?

这是针对 SEO 的,我担心爬虫无法正确索引站点地图。

类似的东西,但我不确定:

<a href="mypage.html" onclick="javascript: loadAjaxContent()" > My page </a>

总体目标是创建一个非常动态的网站,在一个页面和另一个页面的转换之间具有良好的效果。同时,我也希望搜索引擎能够找到我的页面。

【问题讨论】:

【参考方案1】:
    $("a").click(function(e)
        e.preventDefault()
        $.ajax(

        );
     );

【讨论】:

我不认为这是他们要求的。 Google 不会检测到 Jquery 实际上阻止了链接吗?【参考方案2】:

你需要先使用阻止默认动作到标签。最简单的方法是使用 JQuery,如下所示。我不知道具体的 html 元素,但假设您在页面上有一个锚标记。首先,加载文档后,将点击事件绑定到锚点。然后,一旦单击 ancore,您将阻止默认操作发生。然后,您可以执行任何您想要的操作。

$(document).ready(function()

    $('a').click(function(e)
    
       e.preventDefault();
       //Perform ajax loading
    );
);

【讨论】:

Google 会检测到我正在阻止默认操作吗? 我怀疑他们会,但我不确定。反过来想。如果您有 10 个带有空 href 的锚标记,并在页面已经加载后用 javascript 填充它们怎么办?那将是一些激烈的爬行,但我不确定:) 经过一些研究,看起来你的hrefs会很好。虽然它可能会解析出一些寻找链接的 javascript。您的链接存在于页面加载中,并且会很好。 seomoz.org/ugc/…

以上是关于添加 AJAX 功能以锚定行为,但为 SEO 保留 href的主要内容,如果未能解决你的问题,请参考以下文章

滚动行为 VueJS 无法正常工作

如何在 Windows 窗体中调整列表控件的添加/删除大小以提供类似锚定的行为

粘性导航栏不起作用

如何将 UIView 锚定到屏幕上的特定位置并在滚动时将其保留在那里

导航栏:“隐藏”标题,但为后续的后退按钮保留它

Photon我如何从客户端隐藏开始游戏按钮但为主机保留它