Sitemap警告——网址无法追踪

今天打开“谷歌管理员工具”发现Sitemap出现了“警告”,打开后看到详细信息:

当我们从您的 Sitemap 中测试网址实例时,我们发现有些网址重定向至其它位置。我们建议让您的 Sitemap 包含指向最终目的地(重定向目标)的网址,而不是包含重定向的其它网址。
HTTP 错误:  301 (永久重定向)

错误信息写的很清楚了,在我的Sitemap文档中,有的网址不是网站的直接地址,而是一个转向页面,而Sitemap中的网址,必须是访问网页的最终地址。奇怪,错误信息中的网址并没有使用301重定向,怎么会出现这样的错误呢?

原来我在Sitemap中有个网址写成了:http://zhangqian.me/gbook,而实际IIS对这样的地址自动永久重定向到http://zhangqian.me/gbook/上面,只是后面多了个“/”,问题就得已解决了。

SEO优化:规范网站中的URL

SEO的目的无疑是让搜索引擎“喜欢”上你的网站,这样自然就达到了最终的目的——提高网站的访问量。那要想制作一个让搜索引擎“喜欢”的网站,就要去迎合搜索引擎的习惯,尽管搜索引擎的一些不符合正常逻辑的规则,你也要必须遵守。

今天我要谈的就是搜索引擎的一个不符合正常逻辑但又不得不遵守的规则——URL的大小写混写。可能有的朋友就要问了,URL的大小混写是什么意思?

上面的HTML代码中的URL,其中便运用了大小写混写的方式。虽然大小写好像对静态网页或者大多数动态网页没有什么影响,但是对搜索引擎确有着很大的关系,所以网站程序员在开发程序时,最好不要使用URL大小写混写的方式。

URL大小写混写对SEO到底有着怎样的影响?我博客的URL采用的便是大小写混写的方式,虽然无论是大写还是小写,客户端显示的结果都一样,但是对于搜索引擎来说,如果URL有大小写的区别,搜索引擎会将其视为两个不同的URL地址,这将会搜索引擎对网页权值分配的流失。也就是说,如果别人转载了你的一篇文章,并在其文章中加上了你的链接,很有可能URL已经被程序或者人为改为了小写方式。如果搜索引擎在索引的时候,便会索引小写方式的URL,这样便使得搜索引擎认为你的网站中有重复的内容、重复的标题标记、重复的元说明等内容抓取错误,不仅影响页面的PR值,还会影响网站的整体质量。

URL大小写不同也直接影响着PR值的不同,所以在建网站的时候就应该重视这个问题,所有URL都使用小写方式,以免以后产生不必要的麻烦。

我的博客采用的是基于ASBLOG2.1为核心,然后经过自己扩展的程序,当时没出于网站整体质量考虑,没有修改。但上个星期在对网站进行重构时,我决定把大小写混写的URL全部改为了小写方式,之后便发现在“Google 网站管理员工具”的“内容分析”中发现了很多“重复的标题标记”错误。在网站管理员帮助论坛中试图寻求更好的解决办法,可直到现在也无人回复,所以只能等到搜索引擎对网站的重新索引了。

ASP已经被淘汰了吗?

今年刚到太原的时候,我到太原市人才市场应聘了一次,想通过这个途径找一个待遇好点的公司。应聘的工作当然不会脱离我的专长,在人才市场转了一圈,看到两家公司招聘程序员的。前者说要招.NET程序员,后者则是让下午去应聘。

ASP.NET我没有接触过,也就没有准备应聘了,所以下午的时候我便到了另外一家网络公司。他们的办公面积大概在150平方米左右,大部分面积被有隔断的桌子占了,大概有20台电脑,这是我见过的硬件设备比较多的一个网络公司了。

面试的时候可能是公司的一个主管,问了下我以前就职的公司。后对我说:“我们只是想招个高级网管,负责一下局域网的维护以及维护曾经做过的一些ASP网站网站,待遇700元。其实我们要求ASP不用懂的太多,只要会点就行了,因为我们现在已经不使用ASP了,现在客户就主动要求使用ASP.NET开发网站,所以可能我们的工作不太适合你。”

我当时心里鄙视的很可以说,先不说ASP.NET与ASP相比哪个好,就他们的这种认识就很可笑,没有一点自知知明,自己ASP运用不好就不要说ASP被淘汰了。51啦便是ASP的,但是运行速度和稳定性都很不错;天涯社区也是ASP的,但是却很成功。

确实,网上关于ASP注入漏洞的文章不少,但这并不是ASP本身的漏洞,就算你用ASP.NET,如果语句写的不妥当,也会很容易产生注入。这只能说明ASP比较普及,因为ASP简单易学,所以关于ASP的漏洞人们便也研究的比较多。回想06年的时候,用挖掘鸡可以挖到一大堆有漏洞的站点,但现在几乎是没有了,程序员都知道了程序安全的重要性,所以比较常见的漏洞也就不会再存在。

去年的时候我问了一下海平一船为什么你们那里不用ASP,而用PHP来做网站呢。他的回答让我很吃惊:“ASP是微软的东西,要收费。”我这才明白了,在港澳地区和其他的部分国家,版权问题很敏感,再加上PHP、jspapache、mysql是开源的而且是跨平台的,所以就成了主流,并不是因为ASP安全性和稳定性不好而没有太多的人使用。

ASP不会成为主流,也不会被淘汰。

所以如果是要做中小型的网站,而且也不考虑跨平台,ASP已经够了,因为它低成本、投入少,完全可以用来完成一些小型的网站,如果数据库比较大,可以使用MSSQL数据库。如果考虑到跨平台,PHP+Mysql完全可以胜任。如果要做大型的网站,那们我建议使用JSP。

博客的维护手记

博客程序换成MS-SQL数据库后就一直想着如何使程序运行速度变的更快一些,曾想过使用存储过程,但当时由于怕以后程序运行中出错,所以就没有更改。因为自己租用的空间因流量超出而被空间商关停了,所以就把博客转到了公司的服务器上,在太原网通机房托管着,我这里速度还算挺快,趁着这个机会试着使用一下存储过程。

查阅了一些关于SQL存储过程的资料后,对博客程序前台的一部分模块采用了存储过程来读取数据的方法,想要全部使用存储过程,但自己对这方面知识了解的少,并未能实现。

都是诸如上面形式的存储过程,想在查询语句中加入一些条件,但SQL查询分析器总是提示有错误,搜索了很长时间也没能解决,所以先只好使用一些简单的存储过程,等找到解决错误的办法后再试着改为全部调用存储过程的方法。

Access转换MSSQL数据库

我的博客程序原来是ASP+Access环境开发的,今天把数据库转换成了MSSQL数据库。在转换过程中遇到一些问题,让我学到了一些关于Transact-SQL的知识。

可以使用MSSQLServer的“企业管理器”将MDB文件直接导入到MSSQL的数据库表中,具体操作方法就不说了,网上有很多的讲解。在导入后要注意以下几点:

  1. 数据类型为“自动编号”的数据,导入后要设为主键,并且要增加递增标识
  2. 原有数据中的默认值都会丢失,导入后要添加相应的默认值。数据类型为“日期/时间”的数据,默认值不可以使用“Now()”之类的写法,应该用“GetDate()”来表示
  3. 注意保留字,MSSQL中有很多保留字,所以在导入的时候,会自动加入“[字段名]”的符号,所以要注意修改脚本代码中相应的值或者改变字段名为其它
  4. 数据类型为“日期/时间”的数据,导入后要修改数据类型为“datetime”

Access数据库查询语句是:

转换为MSSQL数据库时应改为:

其中,Clng、DateValue,ISNull都是vbscript的函数,所以在将数据库转换为MSSQL数据库时不会被识别,从而导致出现“不是可以识别的函数名”的错误信息。

当然,可能遇到的错误远不止这些,只要找到错误的原因,那么改起来就轻而易举了。遇到问题时可以通过搜索引擎来寻找解决问题的答案,但并不是所有的答案都是现成的,并不是你遇到什么错误,别人就会遇到什么错误,但是可以通过一个问题的解决方法来解决可以用同样方法来解决的从多问题。

Opera中的一个Bug

非常喜欢Opera的浏览器,她吸引我的最大的一个原因是邮件收取的功能,不需要手动去检查收件箱是否有新邮件;一旦有新邮件,Opera就会自动发出提醒。而在foxmail和outlook要检察邮件,必须手动收取,这样有很多邮件就没有办法及时回复。

但在近断时间发现Opera(版本号:9.60)中的此功能有一个Bug:当发送邮件的填写的收件地址错误时,如果你不去删除这封错误邮件,Opera便会一直提醒这个错误。如果这时候正好你的收件箱中有邮件的话,错误提醒和邮件接收同时进行时,会出现“死循环”,最后导致Opera意外关闭。

Opera邮件接收Bug
Opera邮件BUG

这种现象很少会出现,如果是手动检查收件箱的话一般不会出现。只有在Opera自动检查收件箱并且有一个错误的邮件发送的同时并会出现此错误。所以要想避免这个错误的发生,就去发件箱把错误的邮件删除即可。

自己还是非常喜欢使用Opera来浏览网页和收发邮件。

日记一则 08年11月4日

刚刚关了电脑准备回家了,突然想写篇日记上来,所以就返回来打开电脑敲下了这些文字。

写博客带给我的最大兴趣便是使我在其中应用了很多工作中很少会使用的程序处理方法,每当做完一功能后就会有很大的成就感,用着自己改进的程序来写文章确实让我感到很自豪!

这个博客程序并非我自己编写的,而是基于ASBlog2.1版本改进的。其中加入了许多自己认为不错的程序代码,在编写这些代码的时候,我的水平也随之提高了很多,也算是写博的一点收获吧。今天把WAP手机博客的日志阅读中加入了“自动分页”的功能,用手机测试了一下,效果还不错。

对于各位博主来说,用文字的方式记录下自己的人生,在50年后甚至100年后这些文字依然保存着,自己看也可以让后辈看——我们这一代就是这么执着。我自己便是经常翻看自己曾经写的这些日记,每个字都感觉很亲切,一边看一边体会曾经某时某刻的那种心情,亦是一件很欣慰的事!

我自己有写日记的习惯,不过不是每天都写。偶尔便会拿起笔来记录一点生活琐事,很多时候我们并不能保证不会忘记曾经自认为印象很深刻的事,即使记的也没有了当时的那种心情,文字便是记录这种心情的最佳方法。

解决“Google网站管理员工具”内容分析中的几个问题

Google网站管理员工具” 确实可以帮助我们对网站进行合理的改进以及优化,使用“Google网站管理员工具”也可以让我们及时的了解网站中存在的问题以及如何优化。


(内容分析)

“重复的元说明”以及“重复的标题标记”这两个问题,在博客建立之初就已经存在,因为这些问题都是在列表页中出现的,所以当时没太在意这个问题。前天在“linker”的博客中看到一篇关于解决这个问题的方法,主要是针对“Discuz论坛”的,于是我便有了想要对博客进行改进的方法。

其实要想解决这个问题也很简单,这个问题是出现在列表页中的,因为在列表页中使用的是相同的Header,所以“标题标记”和“元说明”就会出现相同的情况。要想区分开来,只需要根据“页数的传递值(page)”来进行判断。

通过以上代码便解决了“重复的元说明”和“重复的标题标记”这两个问题。

虽然我认为这个问题不会有太大的影响,不过还是尽量去解决比较好,因为“Google网站管理员工具”中认为这是一个问题,不管严重与不严重,总之是问题就要去解决!

利用ASPJpeg组件来做动态图片

在以前看到很多网友的论坛签名中放置着一张可以显示IP信息的图片,当时非常好奇。

今天自己动手也做了一个类似的功能——显示博客中的最新日志,很不错的一个想法,多谢网友“fjfndfjf”提供这个创意。以后就可以在自己的论坛签名中贴上这张图片了,让更多的人可以更大范围的看到我博客的文章。

详细的代码解释就不说了,提供一个压缩包,有兴趣的朋友可以自己研究研究!

这个附件用于ASBlog 2.5的插件中,可以直接在后台进行安装。

包含附件: [File]/uploadfiles/200810/200810187ndklj.rar[/File]

利用Jmail来对友情链接申请者发送邮件

随着博客建立时间的增加,越来越多的朋友提交了友情链接交换申请。

然后我对友情链接的处理却没办法通过申请者,为了让申请者可以得到我对链接的处理结果,我采用了Jmail发送邮件的方法对申请者进行通知。

首先,要使用这个方法,必须让申请者填写Email(即邮箱地址)。所以我便在友情链接申请的表单中加入了“邮箱地址”这一项,这样就可以使用Jmail来对申请友情链接的网站站长进行自动邮件回复了。

当我在后台进行审核友情链接时,如果通过了审核便会发送一个主题为“友情链接通过审核”的邮件到申请者的邮箱里,如果要是删除的话会发送一个主题为“友情链接删除通知”的邮件到申请者的邮箱里,这个过程完全是自动的,不需要我一封一封的对申请者进行回复。

下面是简单的实现代码:

调用:

用这个方法还可以来实现对评论的管理,如果你回复了网友发表的评论,然后使用这个方法自动将一个报道形式的邮件发送到发表评论的作者的邮箱里。