我有一个页面,可以通过AJAX动态加载一部分内容。我担心这意味着搜索引擎无法找到内容。
为了向您展示我的意思,该网站位于http://www.gold09.net,动态内容位于/speakers.php - 通常没有人会访问该第二个链接,它只是加载到第一页。
我知道我可以告诉抓取工具使用speakers.php
来阅读sitemap.xml
,但之后我会获得显示在搜索结果中的speakers.php的链接。
我想最终的解决方案是,如果有人请求/speakers.php
,它会将它们重定向到主页面,而让抓取工具读取数据。
有什么建议吗?
答案 0 :(得分:3)
使指向您要编入索引的页面的链接对内容具有真正的HREF - 但使用javascript拦截事件并“返回false;”最后。
答案 1 :(得分:0)
如果你使用重写方法掩盖这一点,它也会很酷:
在您的服务器端代码提供仅供您的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
找到返回该页面的链接。问题并不是太多......
这是作为答案添加的,而不是编辑问题,因为它是解决此问题的一种方法。我仍然有兴趣知道是否有比这更好的方法。