详情请看官方博客(要翻墙哦): http://googlewebmastercentral.blogspot.com/2011/06/supporting-relcanonical-http-headers.html

就是把原来放到http content里标签中的放到http协议头部 估计大部分人还想不到什么情况要用这个东西 官方举的例子是当你提供txt,pdf那种可被检索的文档时,如果想告诉搜索引擎这文档从哪个页面下载,可以用这个办法 因为这写文档都不是Html格式,没有标签,所以只能把canonical放到http头了 估计百度又要跟进了

seo最基本的要求是页面可以被收录,本文适用于页面主要内容使用ajax方式加载的项目,目的只是告诉你如何向前端人员解释你的意图,即使不考虑SEO,也要慎用ajax。

ajax方式如果不理解,找个前端的技术人员问一下,或者自己查资料把。 可能很多人都不明白ajax的用处。经常看到整个页面的内容使用ajax方式加载,那就比较搞笑了。 ajax只适用于小区域内容变化,最常见的是你在注册页面输入想要的用户名,页面根据你的操作决定什么时候提示你,这个名字能还是不能用。

碰到这种情况先询问使用ajax方式的原因

情况1,如果被告知为了提速,那就好办了,使用原始的http一次请求方式更简单更稳定,可以靠squid来抵抗一大部分压力

情况2,如果被告知为了提高用户体验,那就要具体分析了。 有的前端人员会使用一种非常偏门的方式,把真正需要访问的地址参数放到#后面,再使用ajax根据参数加载整个页面,理由就是firefox用户点击的时候不会感觉到0.5秒的白屏。这个明显没必要,除非firefox的市场占有率>50%,而且大部分用户对此敏感。 有的前端人员会将翻页做成ajax方式,对于较长的页面,用户看到文章底部,点击”下一页“,结果仍然停留在底部,用户会是什么感受呢。采用翻页ajax的方式往往适用于后台操作。 如果你的站点不建议用户和他的朋友通过qq、msn、微博分享你的内容,那就随意使用ajax吧

无论是离线产品还是在线产品,都有版本的概念,比如webqq出过1.0,2.0和3.0版,离线软件的版本多的数不过来。 一般的产品经理是不会在乎这个不起眼的小问题的,只有seo人员介入的时候,发现页面权重分散到无数个网页版本上时,才发现这个问题的严重性。

假设你的软件名叫xxx,有1.0,2.0,2.1beta,2.2stable,2.4等等版本,页面分别是 xxx.com/download/10.html xxx.com/download/20.html xxx.com/download/21beta.html xxx.com/download/22stable.html xxx.com/download/24.html

问题1:你自己觉得乱不乱? 问题2:别的网站对你的产品夸奖一番,引用你旧版页面,用户访问过来发现你描述的是windows95系统/fedora8上如何安装,奇怪不? 问题3:非骨灰用户是否关心你的版本号?大多用户搜索一个软件,会带上版本号吗?

解决方法: 规整你的页面,对外只有1-3个版本,stable,beta,dev,根据实际情况而定。 历史页面规整到一个不起眼的页面上去,只需要一个链接足够。 举例: stable: xxx.com/download/ beta: xxx.com/download/beta.html dev: xxx.com/download/dev.html others all in one: xx.com/downlowd/history.html

好处: 用户分享你的地址时不担心会过时,一定是最新的 在未来的几年后不会产生大量垃圾页面 你的三个版本将会持续累计导入的链接权重

BTW: 思维不要局限于软件,任何周期性产生的相似内容页面都存在同样的管理问题。

#GoogleCode 66.249.89.104 code.google.com

#GooglePlus(目前好用) 203.208.46.29 plus.Google.com 203.208.46.29 talkgadget.google.com

#Picasa 203.208.46.29 picadaweb.google.com 203.208.46.29 lh1.ggpht.com 203.208.46.29 lh2.ggpht.com 203.208.46.29 lh3.ggpht.com 203.208.46.29 lh4.ggpht.com 203.208.46.29 lh5.ggpht.com 203.208.46.29 lh6.ggpht.com 203.208.46.29 lh6.googleusercontent.com 203.208.46.29 lh5.googleusercontent.com 203.208.46.29 lh4.googleusercontent.com 203.208.46.29 lh3.googleusercontent.com 203.208.46.29 lh2.googleusercontent.com 203.208.46.29 lh1.googleusercontent.com

#Docs 12日新增 209.85.225.101 docs.google.com 209.85.225.101 spreadsheets.google.com

封google的人生孩子没屁眼

服务器端

s = TCPServer.open(19890722) while sock = s.accept Thread.new sock do |client| #多线程 while str = client.gets #得到客户端信息 client.puts str #输出给客户端 puts str end end end

客户端

require ‘socket’ s = TCPSocket.open(‘localhost’, 19890722) s.puts ‘test’ #输出到服务器端 puts s.readline #得到服务器信息 s.close

调试的时候可以开多个窗口telnet localhost 19890722,然后分别输入一些字符串,看每个窗口得到的信息