Php 如何抓取jquery支持的网站?

Php 如何抓取jquery支持的网站?,php,javascript,singlepage,google-crawlers,Php,Javascript,Singlepage,Google Crawlers,我正在建立一个单页javascript支持的网站。我有所有页面的所有必要数据,在我的主页上使用php作为json对象进行响应。然后,我使用为每个页面制作的自定义插件初始化页面,该插件使用相关的json数据动态构建dom,我将这些数据传递给插件,因此我没有任何ajax请求。 我网站上的链接格式如下#大约#家等等。。。目前,插件的init方法是在hashchange上调用的。我应该怎么做才能让谷歌机器人抓取这些页面,以及如何为每个页面创建不同的标题和描述元标记 我试过在谷歌文档和其他许多网站上找到的

我正在建立一个单页javascript支持的网站。我有所有页面的所有必要数据,在我的主页上使用php作为json对象进行响应。然后,我使用为每个页面制作的自定义插件初始化页面,该插件使用相关的json数据动态构建dom,我将这些数据传递给插件,因此我没有任何ajax请求。 我网站上的链接格式如下#大约#家等等。。。目前,插件的init方法是在hashchange上调用的。我应该怎么做才能让谷歌机器人抓取这些页面,以及如何为每个页面创建不同的标题和描述元标记

我试过在谷歌文档和其他许多网站上找到的各种东西。 我已将链接从#mylink更改为#!mylink,所以google应该将其解释为get\u escape\u fragment\u变量,然后我尝试添加这段php代码:

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

其中project.php是包含相关信息的html快照,我希望对其进行爬网。基本上只是核心信息。但就我所见,什么也没发生…:(毕竟,有没有一种方法可以在没有AJAX请求的情况下实现这一点?

好吧,唯一的方法是构建一个站点地图,并在每个页面上添加指向xml站点地图文件的链接;通过google webmaster工具提交您的站点地图。

google实际上已经发布了如何使AJAX可爬行的方法-谁更适合告诉您呢

该页面的直接链接

备选指南


如果你觉得很难理解,那么在SitePoint上试试这个网站,它会让你了解它是如何完成的:

我读到了一些地方,escape\u fragment可以完成这项工作吗?在我的案例中可以应用吗?如果可以,如何实现?如果不能……你建议手动创建带有f.e.之类链接的网站地图,对吗?为什么要在客户端上动态构建页面?它是just让谷歌的机器人和禁用Javascript的人更难操作。因为我在页面之间有一些奇特的转换,以最大化用户体验…你们可能在awwwards.com和其他showcase网站上看到过这种情况…“最大化用户体验”听起来像是一个…委婉说法。我看不出你们的评论有什么帮助(如果你认为这种效果被夸大了,你最好和我的艺术总监谈谈……”“我在页面之间有一些奇特的过渡,以最大限度地提高用户体验”-我希望您有一种方法让用户禁用它们,该文档非常糟糕,没有真实/真实的示例。也许我不够聪明,但我无法理解这样做的实际方法。尝试该新链接(指向sitepoint)看看你怎么想?没什么冒犯的,但是如果你不按照他们的建议和其他人的推荐方式(尽管这和谷歌lol是一样的),你很可能很难让谷歌为你的网站建立索引。事实上,你之前已经看到了上百万的页面,这表明“就是这样做的方式”-或者至少是这样,如果你想让谷歌更好地使用你的网站。