关于hijax技术

曾经, Ajax 被当成是 Web 2.0 的全部, 正如 DIV+CSS 被当成是Web标准一样. 到如今, 应用大量 Ajax 技术的网站仍然面临着一个重要问题, 那就是有意义的内容无法被搜索引擎收录. 面对大量 Ajax 网站的产生, 搜索引擎(事实上是爬虫)正在朝着越来越像用户浏览器的方向发展.

很多站长可能发现, 他们利用 JavaScript 脚本来记录网站访问的日志里, 经常能发现来自”美国加利福尼亚州山景市 Google 公司”的访问记录. 别高兴得太早, 可不是 Google 的工程师在看你的网站, 只是他们支持 JavaScript 的爬虫刚刚抓取了你的网站.

当然, 为了能让你的 Ajax 网站能被搜索引擎收录正确的内容, 你的网站必须做到:

每一个不同的内容都能通过一个完整的 URL 来访问!

例如, Google Reader 的 Trends 页面, 可以通过 http://www.google.com/reader/view/#trends-page 来访问. 但是, 仅仅使用锚点(即’#'号后面跟着文本), 并不能让你的 Ajax 内容被爬虫抓取. 因为, 链接中的’#'号和其后面的内容是不被发送到服务器端的! 也就是说, 你在浏览器中输入 http://www.ideawu.net/ 和 http://www.ideawu.net/#ajax, 这对服务器都是一样的.

有一种被称为”Hijax”或”Hijax-links”的技术可以用来保证既使用 Ajax, 网站也能被爬虫抓取. 这项技术的要求是, 你的 Ajax 网站要创建真正的链接:

查看文章详细内容
但是, Ajax 在哪呢? 关键在于用 JavaScript 使这个链接的点击失效(不跳转), 转而执行你的 js 代码. 直观的做法是:

查看文章详细内容
说句题外话, 我对我公司内部某个新闻系统使用 Ajax, 但不应用”Hijax”感到十分愤怒! 因为 Ajax 降低了查看新闻的效率!

Google 公司更前进了一步, 它制定了一个规范(Ajax Crawling Specification), 希望那些使用 Ajax 同时又想被 Google 正确收录的网站能够遵守. 这个规范对于网站主来说的一个关键点就是, 创建格式符合规范的链接, 并为这些每一个唯一的链接提供一个完整的页面.

对于上面查看文章详细内容的例子, 链接应该改为


http://www.ideawu.net/#!view_1

是的, 就是在’#'号后面跟着一个感叹号. 前面已经说过, ‘#’号和其后面的内容是不被发往服务器端的, 所以, Google 的爬虫会把这个 URL 链接转成一个原始的链接

http://www.ideawu.net/?_escaped_fragment_=view_1

当你收到这样的一个链接访问请求时, 说明就是 Google 的爬虫来了. 然后, 你给它返回包含1号文章详细内容的完整的HTML, 包括 html, body 等标签. 然后, Google 的索引程序会解析这个 HTML, 提取出关键字等. 当用户在 Google 网站查询该页面包含的关键字, 并且你的页面出现在结果中, 用户就会看到一个”http://www.ideawu.net/#!view_1″的链接.

关于AjaxCrawling的更多内容可以查看: [url]http://code.google.com/web/ajaxcrawling/index.html[/url]

你可能感兴趣的:(seo)