【发布时间】:2012-11-26 00:41:33
【问题描述】:
我正在构建一个单页 javascript 驱动的网站。我有所有页面的所有必要数据在我的主页上使用 php 作为 json 对象回显。然后我使用为每个页面制作的自定义插件初始化页面,它使用相关的 json 数据动态构建 dom,我将这些数据传递给插件,所以 我没有任何 ajax 请求。 我网站上的链接采用以下格式!#about、!#home 等... 目前插件的 init 方法在 hashchange 上调用。我应该怎么做才能让这些页面可以被谷歌机器人抓取,以及如何为每个页面制作不同的标题和描述元标记?
我尝试了各种在谷歌文档和许多其他网站上找到的东西。 我已将链接从 #mylink 更改为 #!mylink ,因此谷歌 应该 将其解释为 get _escape_fragment_ 变量,然后我尝试添加这段 php 代码:
if ($fragment = $_GET['_escaped_fragment_']) {
header("Location: Project.php?id=$fragment", 1, 301);
exit;
}
其中 project.php 是一个包含相关信息的 html 快照,我希望对其进行抓取。基本上只是核心信息。但据我所知,没有任何反应...... :( 毕竟有没有办法在没有 AJAX 请求的情况下实现这一目标?
【问题讨论】:
-
为什么要在客户端动态构建页面?这只会让 Google 的机器人和那些禁用 Javascript 的人变得更加困难。
-
因为我在页面之间有一些花哨的过渡来最大化用户体验......你可能在 awwwards.com 和其他展示网站上看到过......
-
“最大化用户体验”听起来像是一个...委婉说法。
-
我看不出您的评论有什么帮助? :(如果你觉得那种效果被夸大了,你最好和我的艺术总监谈谈……
-
“我在页面之间有一些花哨的过渡来最大化用户体验” - 我希望你有办法让用户禁用它们
标签: php javascript singlepage google-crawlers