【专稿文章】使用rel="canonical",轻松解决“重复”问题

    很多站长朋友在建站初期,由于考虑不全,一个内容相同的页面会通过不同形式的 URL 进行相互链接和访问,从而导致“网站管理员工具”中出现一系列关于“重复”的问题。

    这里的“重复”不单单指重复的内容,还包括“重复的元说明”、“重复的标题标记”等一系列有关“重复”的 HTML 建议。虽然这些问题不会阻止网页在 Google 的搜索结果中显示,但如果解决了这些问题,有助于提升网站的用户体验和网站在搜索结果中的表现。

    虽然这些 URL 有的看上去只是大小写不同或者参数不同,但是搜索引擎会将不同的 URL 分别进行索引,而我们只希望在搜索引擎中显示一个喜欢的 URL。

不同形式的 URL 包括:

  1. 参数不完全相同;如:http://example.com/show.asp?id=1http://example.com/show.asp?id=1&cid=1
  2. 大小写不同;如:http://example.com/show.asp?id=1http://example.com/Show.asp?ID=1
  3. 使用了不同的域;如:http://example.com/show.asp?id=1http://www.example.com/show.asp?id=1
  4. 上述3项任意组合;如http://www.example.com/show.asp?id=1http://example.com/Show.asp?ID=1&cid=1
  5. 完全不同;如:http://example.com/test.asphttp://example.com/item.asp

    发现问题后再对网站中的这些不同的 URL 进行规范,不仅操作起来非常不方便,而且对搜索引擎以及用户体验都会造成不必要的影响。现在我们只需要通过使用一个link 标记就可以轻松的解决这个问题,并且这个方法适用于上面5种中任意一种不同形式的 URL。

例如,网址http://www.example.com/show.asp?id=1http://example.com/Show.asp?ID=1&cid=1显示的内容相同,我们想要让我们喜欢的一个 URL(http://www.example.com/show.asp?id=1)被搜索引擎显示在搜索结果中,只需要像下面一样操作:
在这两个页面中的<head>代码部分加入,<link rel="canonical" href="http://www.example.com/show.asp?id=1" />,即完整代码:

    经过修改后,过段时间你会发现“网站管理员工具”中关于“重复”的一系列问题已经不存在了,并且搜索结果中也显示了我们指定的 URL,相应的网页的PR 值也会集中在我们指定的 URL上,真是一举多得啊!

这篇文章将投递至“谷歌网站管理员支持论坛”中,希望此篇对大家有用,也希望大家可以到官方论坛支持我

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 网站管理员工具”的“内容分析”中发现了很多“重复的标题标记”错误。在网站管理员帮助论坛中试图寻求更好的解决办法,可直到现在也无人回复,所以只能等到搜索引擎对网站的重新索引了。

博客的维护手记

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

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

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

做网站时养成的习惯

    我的工作主要是负责网站的程序,但也经常做一些网页。

    今天才突然意识到自己有一个习惯,我把它当做是好的习惯,所以写出来与大家分享一下,希望更多的朋友也可以按照这样来制作网页。

    从我从事网站建设的工作以来,总是在不断的学习和进步着。

    刚开始做网站的时候,我是用Dreamweaver的设计模式来对网站进行布局设计,后来从网上的一些资料得知,用Dreamweaver也会产生不必要的“垃圾代码”,我便开始使用代码模式来对网页进行检验,所以在我做的网页中绝对不允许有“垃圾代码”出现。因为我的工作主要是负责网站的程序,所以现在很少使用Dreamweaver了,更多的时候是用EditPlus来做网站。

下面是我自己知道的应该注意的几点,希望会对大家有所帮助,也希望大家在做网站时养成良好的习惯。

杜绝“垃圾代码”

    Dreamweaver是网页制作的一个不错的工具,也是网页制作工具中产生“垃圾代码”最少的一个工具。

    在对表格中的内容进行对齐时会产生如<div align="center"></div>的代码,这完全是多余的,只需要在td标签属性中加入align="center"就可以了,后者比前者代码少,而且也更加直观;
    在设计模式中对带有超链接的文本进行删除时,如果只是选中文字进行删除,并不会删除<a>标签,链接仍然存在,但它已经没有任何作用了,虽然在预览网页的时候看不到,但这就是“垃圾代码”,所以在对有超链接的文本进行复制、删除的操作时一定要注意这一点。

    在使用Dreamweaver制作网页时,最好使用拆分模式,这样就会很大程度的降低“垃圾代码”的产生。

尽量符合W3C标准

    自从我对博客进行了重构后,我对W3C标准协议有了一些了解,在制作网页时总会纠正不符合标准的标签代码。

    在W3C标准里,HTML标签必须都要有“闭合标签”,HTML标签必须是小写,HTML标签属性值必须用“"”括起来,img标签必须要有alt属性值等等。建议大家多去学习学习W3C标准协议

错误的写法:

正确的写法:

    上面的两种写法,在预览时不会有太大的区别,但上面的写法是不标准的,也是错误的。当然还有很多容易忽视的,建议大家去多多学习这方面的知识,一起致力于建立标准化网页。

申明变量

    在ASP程序的编写中,虽然申明变量不是强制的,但是大家一定要养成申明变量的习惯,这样可以使书写的程序条理清晰、简明易读,也可以在程序运行错误时很快的找到错误的原因,可以很大的提高工作效率。

当然,应该注意的问题还有很多。这就要靠大家在平时的工作、学习中不断的提高自己,不仅要使自己制作的网页美丽大方,而且还要便于日后的维护。我个人非常看重W3C标准,所以我的博客经过重构后现已全部可能通过验证,我希望大家也可以在平时的工作或者学习中加强对W3C标准的学习。

网站优化记录

元描述问题

首先优化的部分就是对每篇日志的描述和关键字,“元描述问题”虽然不会对网站被抓取或编入索引有妨碍,但它可以使网站在搜索结果页中提高排名,同时向用户提供更好的体验,所以适当的改进有助于提高站点的点击率。如果你觉的此方法对你有帮助,可以注册“网站管理员工具”,此功能完全免费。

我一直很关注博客的排名,所以对“网站管理员工具”也很青睐!在“网站管理员工具”中,对我发出警告——重复的元描述。我的博客之前并没有日志生成关键字描述的功能,所以博客的任何页面的关键字和描述都一样,致使Google的“网站管理员工具”对我发出“重复的元描述”的警告。我很快意识到了自己网站对搜索引擎的不友好,于是就对网站程序进行了一次改变,在日志动态及静态生成是加入关键字和描述的自定义功能,为了可以让搜索引擎感到友好,辛苦点也无所谓!

h1,h2标签的使用

我在看到关于HTML标准化的文章后也立即对自己的博客进行了更改。

在看了网上的文章后得知h1与h2的不同。h1如果是标题,那么h2就是副标题,h1在一个页面中只可以出现一次,但是h2就不同了,它可以出现很多次。所以我个人认为,在日志详细页不是要突出“唏嘘一世”这个主题,而是要突出日志的标题,所以就在日志详细页的头部文件中把“唏嘘一世”用a标签加入属性Rel来书写,而在日志标题加入h1标签表达,这样就突出了日志的标题。不知道这种做法是否会对搜索有所帮助,但我宁愿自己动手试试。