如何让搜索引擎找到我的AJAX内容

时间:2008-10-22 06:46:07

标签: php ajax seo

我有一个页面,可以通过AJAX动态加载一部分内容。我担心这意味着搜索引擎无法找到内容。

为了向您展示我的意思,该网站位于http://www.gold09.net,动态内容位于/speakers.php - 通常没有人会访问该第二个链接,它只是加载到第一页。

我知道我可以告诉抓取工具使用speakers.php来阅读sitemap.xml,但之后我会获得显示在搜索结果中的speakers.php的链接。

我想最终的解决方案是,如果有人请求/speakers.php,它会将它们重定向到主页面,而让抓取工具读取数据。

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

使指向您要编入索引的页面的链接对内容具有真正的HREF - 但使用javascript拦截事件并“返回false;”最后。

答案 1 :(得分:0)

nelson laquet说你需要提供回报:false;在您的页面上的每个锚点上,而不会忽略他们的href值[因为这对于像谷歌这样的屏幕阅读器来说非常重要]

如果你使用重写方法掩盖这一点,它也会很酷:
 在您的服务器端代码提供仅供您的javascript代码使用的参数,例如地址

index.php?ajaxpageneeded=page1

...

<body onload="ajaxloaderscript(<?=page1?>);" >

答案 2 :(得分:0)

更新:我所做的是:

创建另一个名为viewSpeakers.php的页面,其中只包含speakers.php文件,其中包含标准页眉和页脚。这意味着,如果有人访问该网站,那么他们会看到一个模糊的页面。该页面的唯一链接位于index.php页面的HTML(通过javascript立即删除)和我的sitemap.xml中。

这样做的结果是搜索引擎抓取工具和禁用了javascript的用户可以看到有关扬声器信息的链接。启用了javascript的人可以在同一个索引页面上动态加载数据的AJAXy优点,而且他们永远不必知道viewSpeakers.php页面。

我可以预见的唯一缺点是有人可能会通过搜索列表来到viewSpeakers.php页面,然后无法从index.php找到返回该页面的链接。问题并不是太多......

这是作为答案添加的,而不是编辑问题,因为它是解决此问题的一种方法。我仍然有兴趣知道是否有比这更好的方法。