SEO ajax and links



我一直在考虑SEO, ajax和链接。当看到来自不同网页的代码以及它们如何处理这个问题时,我感到困惑。

我总是确保为进行ajax调用的函数存在静态上下文。我没有将javascript内联到我的标记中,而是一直使用id来调用带有外部js文件的函数。下面是我自己的一个典型例子:

<a href="/resource?take=10" id="next-ten">Link</a>

然后将id与点击功能连接起来。

但是我在一些主要的页面上看到的是他们使用这样的东西:

<a href="#" onclick="ajaxCall();">Link</a>
<a href="javascript:void(0)" onclick="ajaxCall()">Link</a>

像上面那样使用javascript内联有什么好处吗?我不明白,主流网站似乎都在用它?

第二种方法是不好的,因为不使用javascript的爬虫将无法使用第二种方法。

如果不使用javascript,第一个方法仍然可以工作

只要你的链接是正确的命名和上下文合适的,并且在没有启用javascript的情况下正确运行,你应该100%没问题。

并不是说有些爬虫确实使用javascript,所以即使第二个变体是一个糟糕的,它有时仍然可能工作。

在HTML部分这样写:

<a href="/resource?take=10" onclick="return ajaxCall()">Link</a>

在JavaScript部分这样写:

function ajaxCall() {
    // AJAX functionalities will go here
    return false;
}

搜索引擎将索引url,因为在抓取页面期间不会执行JavaScript代码。但是当用户使用浏览器浏览这个页面时,JavaScript代码将被执行(假设用户没有禁用JavaScript),并且ajaxCall函数将被调用。

注意:由于函数返回false,用户将不会导航到href部分定义的URL。但是如果它返回truevoid,那么用户将被导航到定义的位置。

最新更新