如何抓取jquery驱动的网站?

时间:2012-11-26 00:41:33

标签: php javascript singlepage google-crawlers

我正在构建一个单页的javascript驱动的网站。我拥有所有页面的所有必要数据使用php作为我主页上的json对象进行回显。然后我使用为每个页面制作的自定义插件初始化页面,使用相关的json数据动态构建dom,我将其传递给插件,因此我没有任何ajax请求。 我网站上的链接采用以下格式!#about,!#home等...目前,插件的init方法在 hashchange 上调用。我应该怎样做才能使这些网页可以被谷歌浏览器抓取,以及如何为每个页面制作不同的标题和描述元标记?

我尝试过在google docs和许多其他网站上找到的各种内容。 我已将#mylink的链接更改为#!mylink,因此google 应该将其解释为get _escape_fragment_变量,然后我尝试添加这段php代码:

if ($fragment = $_GET['_escaped_fragment_']) {
    header("Location: Project.php?id=$fragment", 1, 301);
    exit;
}

其中project.php是一个包含相关信息的html快照,我希望将其抓取。基本上只是核心信息。但据我所知没有任何反应... :(毕竟有没有办法实现这一点没有AJAX请求?

2 个答案:

答案 0 :(得分:1)

Google实际上已经发布了如何使ajax可抓取 - 谁更好地告诉你如何!?

https://developers.google.com/webmasters/ajax-crawling/

该页面的直接链接

替代指南

如果您发现难以理解,请在SitePoint上尝试使用此方法,告诉您如何完成此操作:http://www.sitepoint.com/google-crawl-index-ajax-applications/

答案 1 :(得分:0)

嗯,唯一的方法是构建一个站点地图并将链接添加到xml站点地图文件到每个页面;通过谷歌网站管理员工具提交您的站点地图。