如何给纯 AJAX 页面做优化以方便搜索引擎索引?

2014-04-11 18:35:02 +08:00
 notcome
打算做一个类似 wiki 的网站, 用 node.js. 访问页面的时候先载入整个 js app, 然后 fetch 有关页面的 markdown-like 内容, 接着输出 HTML.

对于这样的网站, 有办法对搜索引擎做优化吗? 我的一个想法是对于直接访问 A页面则返回纯 HTML 源码, 而接着访问 B页面则使用 AJAX, 类似 GitHub, 这样的话有什么框架可以推荐吗? 即能实现前后端代码的复用……
5648 次点击
所在节点    Node.js
18 条回复
wdlth
2014-04-11 19:55:15 +08:00
Github用了Pjax技术,你也可以通过判断UA来进行docroot切换或者Rewrite之类输出不同页面。
alexapollo
2014-04-11 20:01:12 +08:00
同问。前一段了解了PJAX,但不清楚有没有同类技术。。
jasontse
2014-04-11 20:04:33 +08:00
jsonline
2014-04-11 20:10:19 +08:00
Pjax 依然使用了后台模板,页面不是由 JS 渲染的。
我目前是维护两套模板,恩,很蛋疼。
ijse
2014-04-11 21:53:20 +08:00
使用前后端通用的模板引擎,例如handlebars ..

然后,,
```
app.get '/page/:partial', (req, res, next)->
partial = req.param 'partial'
if req.xhr
# process....
res.json { ... }
else
res.locals.partial = partial
res.render 'layout', { ... }
```
lbj96347
2014-04-12 01:12:47 +08:00
我們是使用phantomjs解決的,網上有類似的Example
jsonline
2014-04-12 01:27:18 +08:00
@ijse 但是前端模板的用法和后台是不一样的。
比如 Backbone,我是不会在前端模板里写循环的,因为可以用 Collection 在 JS 里循环。后台模板就只能在模板里循环了。
jakwings
2014-04-12 05:22:28 +08:00
除了 Google 的 AJAX 收录方式之外。还可以用 sitemap.xml ,顺便提供较完整的静态页面。
notcome
2014-04-12 07:23:48 +08:00
先感谢各位。
昨晚看了一下 PJAX,感觉还不错,毕竟减少 JS 可以提高访问速度(近期 GFW 太恐怖)。
其它的方案今天实验实验。
notcome
2014-04-12 07:25:45 +08:00
@jasontse 仔细想了一下我这应该不算文档里的 ajax,没有状态,我只是希望比如 a.html,就下载 a.md 前端渲染……
昨天第一篇文章就看它了结果晕掉了
yimity
2014-04-12 09:28:13 +08:00
可以用自定义 header,有自定义header的返回json,否则返回页面。
Lax
2014-04-12 09:30:03 +08:00
可以考虑考虑提交sitemap。
peartail
2014-04-12 10:27:24 +08:00
Angularjs 在搞 SEO 的人群中更常用于 Ajax 网站的优化。
peartail
2014-04-12 11:02:21 +08:00
Google 官方文档:Making AJAX Applications Crawlable

https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
rexren
2014-04-12 14:22:19 +08:00
heqichang
2014-04-12 16:31:34 +08:00
可以判断请求的useragent,如果是搜索引擎的给它一个全文的页面,如果是普通浏览器的就加载现在的页面
everyx
2014-04-13 11:31:17 +08:00
andyhu
2014-04-16 20:38:29 +08:00
what about 百度和360?如果是中文网站还是这两个搜索引擎的天下吧,有人测试过带hash的地址收录怎样嘛?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX