分类目录归档:Web开发

不要频繁更新网站的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的注意。

在XAMPP中开启Zend Optimizer

XAMPP中默认是安装了Zend Optimizer,但是默认并没有打开Zend Optimizer,要想打开Zend Optimizer,你必须将XAMPP中的以下两个文件:

  • \xampp\php\php.ini
  • \xampp\apache\bin\php.ini

中的zend_optimizer.enable_loader = 0改成1,重启Apache,Zend Optimizer就启动了。

Zend Optimizer

JavaScript代码压缩器

Packer是由外国友人Dean Edwards编写的一款JavaScript压缩器。它能够删除JS代码中的所有注释,换行和无用的空格,从而压缩JS文件的容量。

著名的JS框架jQuery的生产环境版就是用这个压缩器压缩的。jQuery框架1.2.3版的源文件容量是94KB,压缩后只有15kb,压缩效率惊人。

这是Packer的在线使用地址:http://dean.edwards.name/packer/

此外,Packer还提供对.NET, PHP和Perl代码的压缩,详情见:http://dean.edwards.name/download/#packer

国家代码查询函数之PHP版

最近的工作需要做一个国家代码转换成国家名称的工作,于是就从网上收集了一个国家代码-国家名称的速查表,然后写了这么个函数。

这个函数能把两个英文字母表示的国家代码转化成中文的国家名称,它只接收一个参数,即英文表示的国家代码(非大小写敏感),当这个代码不存在时,函数返回null。该函数一共收录了245个国家,应该是很完整的了。

点击这里下载代码:trans_country_code

你也可以直接拷贝以下代码:

继续阅读

Alexa Web Information Service 开发指南

Alexa Web Information Service(简称AWIS)是Alexa提供的一个基于Web的API服务。通过此API,你可以查询指定网站或网址的Alexa流量信息等内容。

由于工作上的需要,最近接触了Alexa Web Information Service(AWIS),发现开发文档没有中文版,内容不多,我就顺手翻译了。

Alexa和Amazon对本文的原文保有版权(如果有的话)。本人对译文保有版权。如需转载请与本人联系(联系方式见此页:http://www.naks.cn/blueven/?page_id=35)。

本人才疏学浅,翻译中难免有错,欢迎大家指正。如果你对AWIS有问题的话,可以在这个页面(http://www.naks.cn/blueven//?page_id=155)提出,我将尽力回答。

感谢我的老板牛先生,他让我有机会接触AWIS,并且借我AWIS的账号用。

——by Ven

2008-4-15

下载本文档的PDF版:Alexa Web Information Service 开发者指南 PDF版

在线阅读:http://www.naks.cn/blueven/?page_id=155

英文原文链接:http://docs.amazonwebservices.com/AlexaWebInfoService/2005-07-11/

用SimpleXML函数解析AWIS(Alexa Web Information Service)数据

公司要用Alexa Web Information Service(简称AWIS)做一个网站查询系统。

AWIS的工作原理是:用户发送一个URL请求,该请求包含账号ID与密码(是的,这个API是收费的,每千次查询0.15美元) 、需要查询的网址和查询信息的种类等。Alexa的服务器接收请求后,返回一个XML文件,该文件即包含了结果信息。

本打算用PHP的SimpleXML函数来解析这个XML,但SimplyXML不支持Alexa自定义的Name Space(aws:),于是想到个办法,把这个自定义的Name Space删除掉。结果一切就正常了。

示例代码如下:

$filecontent = file_get_contents( $awis_url ); //从alexa获取数据
$filecontent = str_replace(‘aws:’,”,$filecontent); //剔除aws:
$xml = simplexml_load_string( $filecontent );

这只是一种简单、懒惰的解决方法。它不够强健, 无法应对多种多样的自定义namespace。如果你追求完美,请参考以下文档:

http://devzone.zend.com/node/view/id/688#Heading3

在XAMPP中开启cURL

curl_logo

你需要在以下4个文件中,将第582行(;extension=php_curl.dll)开头的分号去掉。

  • xampp\apache\bin\php.ini
  • xampp\php\php.ini
  • xampp\php\php4\php.ini
  • xampp\php\php4\php4.ini

对$_SERVER['HTTP_REFERER']验证表单来源的一点看法

《PHP5与MYSQL5 web开发技术详解》一书的第五章,“处理用户输入”中提到,可以依靠验证$_SERVER[‘HTTP_REFERER’]来提高表单的安全性,对此我来谈谈自己的看法。

原书中说道,PHP的$_SERVER服务器超级全局数组提供了一个叫$_SERVER[‘HTTP_REFERER’]的变量,用于保存上一页的来源,比如表单提交或者超级链接的URL地址。如果有人从他的计算机中提交表单或从浏览器地址中直接输入当前脚本名称,该变量会保存表单来源或为空值,这样我们就可以通过它的值进行处理。

但事实上,$_SERVER[‘HTTP_REFERER’]这个变量其实是由浏览器端提供的,这个变量的值能否取到以及是否正确,其实是由浏览器决定。Web连接是不保持状态的,所有网页信息从服务器上下载到本地,再由本地提交到服务器,因此从本地篡改$_SERVER[‘HTTP_REFERER’]的内容完全是可行的。而且在许多情况下,$_SERVER[‘HTTP_REFERER’]是取不到值的,比如访问经JavaScript产生的链接、访问Flash中的链接、用meta进行跳转时等情况,而且有些客户端(浏览器)甚至会完全没有设置这个变量。

因此,我认为用$_SERVER[‘HTTP_REFERER’]验证表单来源从而提高安全性的做法没有意义。这种做法甚至连“轻量级”都算不上,完全是在浪费资源。提高表单安全性,还是应该强调对表单数据的验证。

《Zend权威认证试题讲解》

小弟不才,翻译了《Zend权威认证试题讲解》一书,现已授权PHPChina独家连载,欢迎大家前去阅读!

点我阅读

《Zend权威认证试题讲解》

译者序

Zend认证是全球公认且唯一的PHP认证标准。成为一位Zend认证工程师对任何PHP开发者来说都具有极大的意义——对自己PHP技术能力的证明,获得更好的工作机会与发展前途。本书中的题目均为模拟题。作者John Coggeshall与Marco Tabini都是Zend认证工程师,且参与过Zend认证考试与培训的相关核心工作。两人力图在本书中完美再现Zend认证考试的精髓,某些题目的难度甚至超过了真题。阅读本书将对通过Zend考试大有益处。

不过,翻译本书的目的却并不完全是为了帮助各位PHPer参加Zend认证考试。毕竟该考试的费用较高,国内的培训与考试机构也很少。且本书原著于 2005年,当时的考试面向PHP4,而目前已升级到面向PHP5。对国内广大PHPer们来说,这本书更大的意义在于它是PHP开发者的黄金标准。通过对本书的阅读,PHPer们可以从中发现自己知识上的缺陷与不足,从而再接再厉,向更高层次迈进!

本人才疏学浅,翻译中的错误在所难免,欢迎大家批评指正。
您可以通过以下方式与我联系:
E-Mail: blueven@yahoo.com.cn
QQ: 95224882
MSN: ven13@msn.com

最后,感谢Richard大哥给了我这次连载的机会。感谢我的女朋友斑斑在翻译期间给我的支持与帮助,明年的情人节我们一起过!

by Ven
2008-2-14