标签归档:google

Google所谓的网站访问速度指什么?

google-pagerank

今天看到一篇名为《Google或将网站访问速度纳入PageRank指标》的新闻:

Google品质管理部门的软件工程师马特-卡茨(Matt Cutts)在接受采访时表示:“过去,我们并未把网页载入速度计入搜索引擎排名,但是Google很多员工都认为如果这样做的话,网络会变得更快.而访问速度快的网站显然用户体验更好,因此这些网站应该得到额外的奖励.用户一点都不喜欢非常慢的网站.我认为在2010年,许多网站管理员都将考虑其网站的载入速度.”

业内人士称,Google可能会考虑把网页载入速度纳入搜索引擎排名体系.这将意味提升网站访问速度将成为搜索引擎优化的工作之一.

不少人误解了这篇新闻,认为Matt Cutts所谓的“网站访问速度”就是“网页载入时间”。事实上,网页载入时间是个很抽象的概念,受众多不可测因素:如ISP线路、网页执行时间、服务器的当前负载、服务器带宽等的影响,这一指标很难成为标准性的指标。

继续阅读

Google Docs 增加文件导出功能

Google Docs 已经成为了互联网工作者以及创作、管理、分享文字处理、报告、电子表格文件商务人士的一个重要工具。但是,直到今天为止,如果你想从这里导出数据下载到自己的电脑上时,每次只能导出一个文件。

今天Google宣布 Google Docs 里增加了新功能——“转换、压缩、下载”来解决这个问题。使用这个新功能,可以轻松地下载你所选择的谷歌文件(最大500兆),并且你可以将他们转化为你想要的文件类型,打包成一个zip压缩包,下载并保存到你的电脑上。

google docs 导出文件界面

继续阅读

Google犯下天大错误,5条PHP优化建议遭痛批

首先我承认我有点标题党了,然后:

近日Google 在 Google Code 下的 “Let’s make the web faster” 网站中,发表了一篇名为“PHP performance tips”的文章,介绍了一些php性能优化建议,其中:

  1. 不要随意复制变量
  2. 用单引号表示字符串
  3. 使用echo输出字符串
  4. 不要在echo中使用点号连接符
  5. 使用switch/case代替if/else

这篇文章发表后没多久就立刻遭到了一些PHP社区和个人无情的批驳,他们声称Google错了,错的很彻底,这5条看似有效优化建议其实完全是迷信:

1. 不要随意复制变量

Zend引擎采用了“写时复制”机制,这意味着无论你对变量进行多少次复制,真正的复制动作都仅在变量值改变时才发生。

2. 用单引号表示字符串

无数的基准测试已经证明,使用双引号表示纯字符串并不比使用单引号时慢。有兴趣的朋友也可以重复一下这个测试:

php > $blah=”blah”; $s=microtime(true); for($i=0;$i<100000;$i++) “omgwtf$blah\n”; echo microtime(true)-$s;
0.044615983963013
php > $blah=”blah”; $s=microtime(true); for($i=0;$i<100000;$i++) ‘omgwtf’.$blah.”\n”; echo microtime(true)-$s;
0.042807102203369

3. 使用echo输出字符串

根据php所在服务器环境的不同,某些情况下echo会比print()慢。这里有一篇echo和print()对比的帖子,对echo和print()的速度进行了测试:http://www.learnphponline.com/php-basics/php-echo-vs-print

4. 不要在echo中使用点号连接符

基准测试证明这又是一条与事实完全相反的建议。php引擎处理以点号连接(或者使用双引号)传递给echo的变量实际上是更快的。你可以重复这个测试:

$ php -d implicit_flush=off -r ‘$s=microtime(true); for($i=0;$i<100000;$i++) echo “omgwtf”,”bbq”,”\n”; echo microtime(true)-$s;’ | tail -n 1
1.071463108062710
$ php -d implicit_flush=off -r ‘$s=microtime(true); for($i=0;$i<100000;$i++) echo “omgwtf”.”bbq”.”\n”; echo microtime(true)-$s;’ | tail -n 1
0.44555306434631

5. 使用switch/case代替if/else

这条建议毫无意义。关于是要使用switch/case还是if/else的问题,其实完全是个代码风格问题,而它们的效率相差无几。

一向以技术为长的Google,竟然在技术问题上犯了如此错误,相当不严谨。PHP小组已经督促文章作者重新仔细审查文章,希望能尽快改掉,以正视听。

不要频繁更新网站的Google Sitemap

最近给自己的WordPress装了个自动生成Google Sitemap的插件。每次博客内容有更新时(比如写了新的日志),这个插件都会重新生成网站的Sitemap。

本以为这样会增加对Google抓取的友好度,可在查看Google的网站管理员工具时,却看到了这么一段话:

您最近提交了一或多个此网站的 Sitemap。处理 Sitemap 需花费一些时间。请稍后再确认您 Sitemap 的网页是否包含在 Google 索引中。

google sitemap

Google并没有立刻用Sitemap对网站进行深入抓取,而是持观望、等待态度。这与站长的期望完全不同。

Ven推测,对Google来说,抓取Sitemap是一件辛苦的工作,一个Sitemap里可能包行海量链接,进行一次完整的抓取十分消耗资源。对于频繁更新的Sitemap,Google必须先确认“哪个Sitemap是最终的Sitemap”,因此,Google在获得更新过的Sitemap后,必须等待一段时间,以确认该Sitemap是那个“最终的Sitemap”,然后才会开始抓取。

在专业SEO公司的报告中,也提到了该问题。

如果依据以往的经验,网站需要在每周至少有一篇到两篇文章的更新,使google的数据库库中保持有网站的最新数据的收录,而如何能让google第一时 间知道网站已经更新了呢,我们通常认为是更新sitemap文件,然后及时提交给google管理员界面,而经过测试,我们发现这样做的效果往往 是适得其反,测试的几个网站几乎在频繁更新后全军覆没,被google到入后十页的冷宫中长达三个月之久,而另外几个稳定不更新的网站反而排名不减,稳定 而持久。

资料来源: 上海圭臬网络科技有限公司

因此,Ven在这里建议,网站内容要持续更新,但Sitemap切不可频繁更新,希望引起SEOer的注意。