<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>idea&#039;s blog &#187; Google</title>
	<atom:link href="http://www.ideawu.net/blog/tag/google/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ideawu.net/blog</link>
	<description>网络服务器架构, Linux C/C++服务器端开发, TCP/IP网络协议, PHP Web后端和Web前端开发, 网站架构.</description>
	<lastBuildDate>Thu, 12 Jan 2012 14:55:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>开发爬虫友好的Ajax网站</title>
		<link>http://www.ideawu.net/blog/archives/482.html</link>
		<comments>http://www.ideawu.net/blog/archives/482.html#comments</comments>
		<pubDate>Thu, 29 Apr 2010 15:23:21 +0000</pubDate>
		<dc:creator>ideawu</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[搜索引擎优化]]></category>

		<guid isPermaLink="false">http://www.ideawu.net/blog/?p=482</guid>
		<description><![CDATA[<p>曾经, Ajax 被当成是 Web 2.0 的全部, 正如 DIV+CSS 被当成是Web标准一样. 到如今, 应用大量 Ajax 技术的网站仍然面临着一个重要问题, 那就是有意义的内容无法被搜索引擎收录. 面对大量 Ajax 网站的产生, 搜索引擎(事实上是爬虫)正在朝着越来越像用户浏览器的方向发展.</p>
<p>很多站长可能发现, 他们利用 JavaScript 脚本来记录网站访问的日志里, 经常能发现来自&#8221;美国加利福尼亚州山景市 Google 公司&#8221;的访问记录. 别高兴得太早, 可不是 Google 的工程师在看你的网站, 只是他们支持 JavaScript 的爬虫刚刚抓取了你的网站.</p>
<p>当然, 为了能让你的 Ajax 网站能被搜索引擎收录正确的内容, 你的网站必须做到:</p>
<h3>每一个不同的内容都能通过一个完整的 URL 来访问!</h3>
<p><span id="more-482"></span>例如, Google Reader 的 Trends 页面, 可以通过 http://www.google.com/reader/view/#trends-page 来访问. 但是, 仅仅使用锚点(即&#8217;#'号后面跟着文本), 并不能让你的 Ajax 内容被爬虫抓取. 因为, 链接中的&#8217;#'号和其后面的内容是不被发送到服务器端的! 也就是说, 你在浏览器中输入 <a href="http://www.ideawu.net/">http://www.ideawu.net/</a> 和 http://www.ideawu.net/#ajax, 这对服务器都是一样的.</p>
<p>有一种被称为&#8221;Hijax&#8221;或&#8221;Hijax-links&#8221;的技术可以用来保证既使用 Ajax, 网站也能被爬虫抓取. 这项技术的要求是, 你的 Ajax 网站要创建<b>真正的链接</b>:</p>
<pre>
&lt;a href="http://www.ideawu.net/?p=1"&gt;查看文章详细内容&lt;/a&gt;
</pre>
<p>但是, Ajax 在哪呢? 关键在于用 JavaScript 使这个链接的点击失效(不跳转), 转而执行你的 js 代码. 直观的做法是:</p>
<pre>
&lt;a href="http://www.ideawu.net/?p=1" onclick="ajax_view(1); return false"&gt;查看文章详细内容&lt;/a&gt;
</pre>
<p>说句题外话, 我对我公司内部某个新闻系统使用 Ajax, 但不应用&#8221;Hijax&#8221;感到十分愤怒! 因为 Ajax 降低了查看新闻的效率!</p>
<p>Google 公司更前进了一步, 它制定了一个<a href="http://code.google.com/web/ajaxcrawling/docs/specification.html">规范(Ajax Crawling Specification)</a>, 希望那些使用 Ajax 同时又想被 Google 正确收录的网站能够遵守. 这个规范对于网站主来说的一个关键点就是, 创建格式符合规范的链接, 并为这些每一个唯一的链接提供一个完整的页面.</p>
<p>对于上面查看文章详细内容的例子, 链接应该改为</p>
<pre>

http://www.ideawu.net/#!view_1
</pre>
<p>是的, 就是在&#8217;#'号后面跟着一个感叹号. 前面已经说过, &#8216;#&#8217;号和其后面的内容是不被发往服务器端的, 所以, Google 的爬虫会把这个 URL 链接转成一个原始的链接</p>
<pre>
<a href="http://www.ideawu.net/">http://www.ideawu.net/</a>?_escaped_fragment_=view_1
</pre>
<p>当你收到这样的一个链接访问请求时, 说明就是 Google 的爬虫来了. 然后, 你给它返回包含1号文章详细内容的完整的HTML, 包括 html, body 等标签. 然后, Google 的索引程序会解析这个 HTML, 提取出关键字等. 当用户在 Google 网站查询该页面包含的关键字, 并且你的页面出现在结果中, 用户就会看到一个&#8221;http://www.ideawu.net/#!view_1&#8243;的链接.</p>
<p>关于AjaxCrawling的更多内容可以查看: <a href="http://code.google.com/web/ajaxcrawling/index.html">http://code.google.com/web/ajaxcrawling/index.html</a></p>


<h3>Related posts:</h3><ol><li><a href='http://www.ideawu.net/blog/archives/611.html' rel='bookmark' title='Permanent Link: 强大的纯JS数据图工具-flot'>强大的纯JS数据图工具-flot</a></li>
<li><a href='http://www.ideawu.net/blog/archives/148.html' rel='bookmark' title='Permanent Link: 安装和使用Google Earth &#8211; Linux'>安装和使用Google Earth &#8211; Linux</a></li>
<li><a href='http://www.ideawu.net/blog/archives/301.html' rel='bookmark' title='Permanent Link: Google Talk Developer Home 中文翻译'>Google Talk Developer Home 中文翻译</a></li>
<li><a href='http://www.ideawu.net/blog/archives/299.html' rel='bookmark' title='Permanent Link: Google Talk 界面开发分析'>Google Talk 界面开发分析</a></li>
<li><a href='http://www.ideawu.net/blog/archives/399.html' rel='bookmark' title='Permanent Link: JavaScript+jQuery两栏选择控件'>JavaScript+jQuery两栏选择控件</a></li>
</ol><div><p><img src="http://www.ideawu.net/favicon.ico" /> 你现在看的文章是: <a href="http://www.ideawu.net/blog/archives/482.html" title="开发爬虫友好的Ajax网站">开发爬虫友好的Ajax网站</a></p>

<div>
	<a href="http://www.benegg.com/linode-ad.php">
		Linode VPS - 美国虚拟主机
	</a>
	|
	<a href="http://www.udpwork.com/">
		IT牛人博客聚合网站
	</a>
</div></div>]]></description>
			<content:encoded><![CDATA[<p>曾经, Ajax 被当成是 Web 2.0 的全部, 正如 DIV+CSS 被当成是Web标准一样. 到如今, 应用大量 Ajax 技术的网站仍然面临着一个重要问题, 那就是有意义的内容无法被搜索引擎收录. 面对大量 Ajax 网站的产生, 搜索引擎(事实上是爬虫)正在朝着越来越像用户浏览器的方向发展.</p>
<p>很多站长可能发现, 他们利用 JavaScript 脚本来记录网站访问的日志里, 经常能发现来自&#8221;美国加利福尼亚州山景市 Google 公司&#8221;的访问记录. 别高兴得太早, 可不是 Google 的工程师在看你的网站, 只是他们支持 JavaScript 的爬虫刚刚抓取了你的网站.</p>
<p>当然, 为了能让你的 Ajax 网站能被搜索引擎收录正确的内容, 你的网站必须做到:</p>
<h3>每一个不同的内容都能通过一个完整的 URL 来访问!</h3>
<p><span id="more-482"></span>例如, Google Reader 的 Trends 页面, 可以通过 http://www.google.com/reader/view/#trends-page 来访问. 但是, 仅仅使用锚点(即&#8217;#'号后面跟着文本), 并不能让你的 Ajax 内容被爬虫抓取. 因为, 链接中的&#8217;#'号和其后面的内容是不被发送到服务器端的! 也就是说, 你在浏览器中输入 <a href="http://www.ideawu.net/">http://www.ideawu.net/</a> 和 http://www.ideawu.net/#ajax, 这对服务器都是一样的.</p>
<p>有一种被称为&#8221;Hijax&#8221;或&#8221;Hijax-links&#8221;的技术可以用来保证既使用 Ajax, 网站也能被爬虫抓取. 这项技术的要求是, 你的 Ajax 网站要创建<b>真正的链接</b>:</p>
<pre>
&lt;a href="http://www.ideawu.net/?p=1"&gt;查看文章详细内容&lt;/a&gt;
</pre>
<p>但是, Ajax 在哪呢? 关键在于用 JavaScript 使这个链接的点击失效(不跳转), 转而执行你的 js 代码. 直观的做法是:</p>
<pre>
&lt;a href="http://www.ideawu.net/?p=1" onclick="ajax_view(1); return false"&gt;查看文章详细内容&lt;/a&gt;
</pre>
<p>说句题外话, 我对我公司内部某个新闻系统使用 Ajax, 但不应用&#8221;Hijax&#8221;感到十分愤怒! 因为 Ajax 降低了查看新闻的效率!</p>
<p>Google 公司更前进了一步, 它制定了一个<a href="http://code.google.com/web/ajaxcrawling/docs/specification.html">规范(Ajax Crawling Specification)</a>, 希望那些使用 Ajax 同时又想被 Google 正确收录的网站能够遵守. 这个规范对于网站主来说的一个关键点就是, 创建格式符合规范的链接, 并为这些每一个唯一的链接提供一个完整的页面.</p>
<p>对于上面查看文章详细内容的例子, 链接应该改为</p>
<pre>

http://www.ideawu.net/#!view_1
</pre>
<p>是的, 就是在&#8217;#'号后面跟着一个感叹号. 前面已经说过, &#8216;#&#8217;号和其后面的内容是不被发往服务器端的, 所以, Google 的爬虫会把这个 URL 链接转成一个原始的链接</p>
<pre>
<a href="http://www.ideawu.net/">http://www.ideawu.net/</a>?_escaped_fragment_=view_1
</pre>
<p>当你收到这样的一个链接访问请求时, 说明就是 Google 的爬虫来了. 然后, 你给它返回包含1号文章详细内容的完整的HTML, 包括 html, body 等标签. 然后, Google 的索引程序会解析这个 HTML, 提取出关键字等. 当用户在 Google 网站查询该页面包含的关键字, 并且你的页面出现在结果中, 用户就会看到一个&#8221;http://www.ideawu.net/#!view_1&#8243;的链接.</p>
<p>关于AjaxCrawling的更多内容可以查看: <a href="http://code.google.com/web/ajaxcrawling/index.html">http://code.google.com/web/ajaxcrawling/index.html</a></p>


<h3>Related posts:</h3><ol><li><a href='http://www.ideawu.net/blog/archives/611.html' rel='bookmark' title='Permanent Link: 强大的纯JS数据图工具-flot'>强大的纯JS数据图工具-flot</a></li>
<li><a href='http://www.ideawu.net/blog/archives/148.html' rel='bookmark' title='Permanent Link: 安装和使用Google Earth &#8211; Linux'>安装和使用Google Earth &#8211; Linux</a></li>
<li><a href='http://www.ideawu.net/blog/archives/301.html' rel='bookmark' title='Permanent Link: Google Talk Developer Home 中文翻译'>Google Talk Developer Home 中文翻译</a></li>
<li><a href='http://www.ideawu.net/blog/archives/299.html' rel='bookmark' title='Permanent Link: Google Talk 界面开发分析'>Google Talk 界面开发分析</a></li>
<li><a href='http://www.ideawu.net/blog/archives/399.html' rel='bookmark' title='Permanent Link: JavaScript+jQuery两栏选择控件'>JavaScript+jQuery两栏选择控件</a></li>
</ol><div><p><img src="http://www.ideawu.net/favicon.ico" /> 你现在看的文章是: <a href="http://www.ideawu.net/blog/archives/482.html" title="开发爬虫友好的Ajax网站">开发爬虫友好的Ajax网站</a></p>

<div>
	<a href="http://www.benegg.com/linode-ad.php">
		Linode VPS - 美国虚拟主机
	</a>
	|
	<a href="http://www.udpwork.com/">
		IT牛人博客聚合网站
	</a>
</div></div>]]></content:encoded>
			<wfw:commentRss>http://www.ideawu.net/blog/archives/482.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

