0

我一直在考虑 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 inline 有什么好处吗?没看懂,好像各大网站都在用?

4

2 回答 2

2

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

如果不使用 javascript,第一种方法仍然有效。

只要您的链接名称正确且符合上下文,并且在不启用 javascript 的情况下表现正确,您应该 100% 没问题。

并不是说某些爬虫确实使用 javascript,所以即使第二种变体很差,它有时仍然可以工作。

tl;博士:如果它在没有 javascript 的情况下工作,那你很好。

于 2013-01-10T21:35:31.147 回答
0

在 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。但是如果它返回trueor void,那么用户将被导航到定义的位置。

于 2013-03-15T10:13:44.000 回答