Jul
25

今天在Google网站管理员工具中无意中看到了有大量的重复信息,一方面是我前段时间写永久链接URL规则的时候,存在失误,最后没有加斜杠..囧 所以上星期发现了就修改了过来,但是原来Google收录的都是不带斜杠的地址。

为了避免URL不统一,当然要做URL Rewrite,用301永久重定向来让Google知道哪个才是我提倡的地址形式。

网上大部分都是Apache上的配置方式,即.htaccess的,当然与ISAPI_Rewrite 2的语法会有所不同,但是手动转换了一下仍然存在问题,可能是我水平不够吧。
后来在寻找Wordpress插件的时候无意中看到一个插件的介绍页中提供了ISAPI_Rewrite和.htaccess的规则:

来自:Trailing Slashes, IIS and F5 / Big-IP

ISAPI_Rewrite 2:
RewriteCond Host: (.*)
RewriteRule ([^.?]+[^.?/]) http\://$1$2/ [I,RP]

ISAPI_Rewirte 3:
RewriteCond %{HTTP:Host} (.*)
RewriteRule ^([^.?]+[^.?/])$ http\://%1$1/ [NC,R=301]

来自:Two WordPress plugins you don’t need and shouldn’t use

Apache .htaccess:
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

看起来是2个作者用了2种方法来实现的,反正我们也不求甚解,只要能用就好。

今天还找到个方法来避免重复内容的产生,有兴趣可以看一下使用权威链接(Canonical URL)避免重复内容

Jul
24

今天在为英文站安装插件的时候,突然发现新版的All In One SEO Pack有了新的选项页面,其中多出了一些选项,例如:Canonical URLs,也就是我们说的权威链接。

这个功能将会自动在页面中添加权威链接的<link>标签,关于这个您可以阅读使用权威链接(Canonical URL)避免重复内容

有了这个功能可以在一定程度上避免重复内容的产生,不过我还是使用URL Rewrite做了重定向来添加URL末尾的斜杠,做到万无一失。

当然期间还碰到了All in one SEO pack升级错误,提示:

Call to undefined function admin_url()

后来查阅了资料,发现是由于Wordpress版本过低造成的,我比较偷懒,2.5.2用了好久了。
这次正好英文站用的最新的Wordpress,于是趁这次机会升级到了2.8.2。
升级完成后All in one SEO pack插件成功激活。

Jul
24

什么是标准化的URL?

通常情况下,我们认为下面这几个URL地址指向的是同一个页面(首页):
www.example.com
example.com/
www.example.com/index.html
example.com/index.php

但从技术角度来看,这些URL都是互不相同的。对于上述的URL,Web服务器完全可以返回完全不同的内容。而如果这些URL地址所返回的内容(也就是显示的内容)都一样时,Google需要从这些URL中选出一个具有代表性的,而忽略其余的。那么这个被Google选中的URL,就是一个标准化的URL。Google选择的这个过程称为“标准化”。标准化这一词原本是Google的内部词汇。
[阅读全文:URL标准化简介及实现方法]

Jul
24

ISAPI Rewrite 介绍及相关应用一文简单介绍了ISAPI Rewrite的功能以及URL重写方面的应用,现在再利用ISAPI Rewrite来实现简单而有效的防盗链功能。

不过经过笔者的测试,对于能够伪造Referer来源的程序(比如迅雷等下载工具),这个防盗链就形同虚设了。原理明白了就知道为什么了。

原理:判断Referer是否来自本地主机或在信任列表中的域名,否则就执行重写规则,重定向到一个文件作为防盗链提示。

这里用到了Rewrite Referer来判断URL来源,具体规则如下(分别包含了2.x和3.x版本的规则,请选择使用):

# For version 2.x
RewriteCond Host: ^(.+)$
RewriteCond Referer: ^(?!http://\\1.*).*$
RewriteCond Referer: ^(?!http://(.*\.google\.com|www\.steveluo\.name).*).*$
RewriteRule ^.*\.(?:gif|jpg|png|exe|rar|zip)$ /block.gif [I,O,N]

# For version 3.x
RewriteCond %{HTTP:Host} ^(.+)$
RewriteCond %{HTTP:Referer} ^(?!http://\\1.*).*$
RewriteCond %{HTTP:Referer} ^(?!http://(.*\.google\.com|www\.steveluo\.name).*).*$
RewriteRule ^.*\.(?:gif|jpg|png|exe|rar|zip)$ /block.gif [NC,N,O]

[阅读全文:利用 ISAPI_Rewrite 实现防盗链]

Jul
24

ISAPI_Rewrite确实是个好东西,我们不仅用它可以实现简单的URL重写来实现搜索引擎友好(SEF)的URL形式,还可以利用 ISAPI_Rewrite 实现防盗链,今天,我们再来说一下利用ISAPI Rewrite做301永久转向。

301转向(301 Redirect : Permanently Moved),表示内容永久性转移到新的URL,这样搜索引擎就会知道内容已转移,会去抓取新的URL,因此是友好的。

注意,只有支持自定义URL重写规则的网站空间才能实现自定义的301转向。

域名间的301转向

有时,我们会在域名解析时,创建一个空的主机名,来方便用户输入网址,而省去了www。这样虽然方便了用户,但是从SEO的角度来说,是违反了URL标准化准则的,因此,我们需要对这些不统一的URL进行301重定向。

以下规则能够将steveluo.name以301重定向方式转到www.steveluo.name,这样对于搜索引擎来说是友好的。

注意:本文列出的代码中包含了2.x与3.x版本2种规则,在你使用时务必确认自己使用的版本,否则是无法工作的。

# For ISAPI_Rewrite 2.x
RewriteCond Host: ^steveluo\.name$
RewriteRule (.*) http\://www\.steveluo\.name$1 [I,RP]

# For ISAPI_Rewrite 3.x
RewriteCond %{HTTP:Host} ^steveluo\.name$
RewriteRule (.*) http\://www\.steveluo\.name$1 [NC,R=301]

[阅读全文:利用 ISAPI_Rewrite 做301永久转向]

Jul
24

今天在为英文站安装All In One SEO Pack时,发现有权威链接(Canonical URL)这个选项,说明中也给出了这个功能的作用和原理,于是就总结一下。

我们先来看一下这几个URL:

http://www.example.com/product.php?item=swedish-fish

http://www.example.com/product.php?item=swedish-fish&category=gummy-candy

http://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678

这3个URL或许打开的都是同一个页面,完全相同或者只有微小差别,那么这样对于SEO来说是不太理想的,因为产生了重复的页面,这样权重就被分散了,虽然我觉得Google会对此类URL进行识别与整理,但是人为地说明效果应该是最佳的,Google也推荐使用这种方式。

所以我们可以使用权威链接(Canonical URL)这个东西,简单地使用<link>标签来指定你想要提供给搜索引擎的URL。

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" />

这样Google就会明白,那些重复的内容都是指向这个权威链接的。这样可以尽可能把URL规范化,减少重复内容对排名的影响。

当然这个标准可以适用于各个搜索引擎(作者这么说的,我们就先假设是这样的

还有一些FAQ内容就不写出来了,大家有兴趣可以去看下原文,是Google工程师回答的,也许也会有帮助。例如说到了要迁移站点,是否可使用这种方法来替代301永久转向等等

查看原文:Specify your canonical (需代理,blogspot上的)

Dec
21

这次在网站的URL静态化中需要加入一个包含中文的参数,比如:/list-103.类别.html

中文部分就在类别处,由于我只是将URL中需要的部分用正则表达式提取出来然后Rewrite到响应的页面即可,所以不存在匹配中文这种稍微有点复杂的正则表达式。

不过这条规则使用以后,重写后显示的页面出现了问题,于是加了个echo显示传入的“类别”。

发现是乱码,然而如果我在浏览器中直接输入重写前的网址,中文是能够显示的,因此这里在URL中可能存在编码不统一的问题。

URL中其实也是有编码的,百度和谷歌识别出来的URL就是用了不同的编码,Google是UTF8的,而百度是GB2312的,所以对于那些URL中包含中文的朋友来说的确是挺痛苦的,鱼与熊掌不可兼得。

由于这次我使用的是GBK编码,所以URL应该也是属于GB2312的,然而经过资料查阅,发现不管是Apache还是ISAPI_Rewrite,URL均识别的是UTF8编码的,因此,这里就出现了乱码。

需要说的是,这里使用UNICODE过的URL也是没用的,因为编码不同,UNICODE出来的URL地址也是不同的,所以最终的解决办法,也只有是将网页转换成UTF8编码了。

Aug
18

上次介绍了WordPress URL Rewrite | WP URL 重写组件,这次又在网上找到了另一个IIS下的WordPress的URL重写组件:wp_url_rewriting:URL Rewriting for WordPress under IIS (V 2.1)

这个组件由国人开发,似乎SEO没做好呵呵,搜索引擎里好不容易才找到的了,和老外的Wordpress URL Rewrite那个相比,这个似乎更简单些,没有任何需要配置的东西,直接加载就能使用,效果也很不错。

自己测试了很久,发现基本没什么问题于是才推荐出来。

不过近日发现和星外主机管理系统有冲突,不过对于非主控站点是没有影响的。

Aug
12

用Wordpress搭建这个博客也已经1年了,当时还不懂什么SEO,也没有想过让博客带来些流量。因此,在当初并没有把URL地址形式看得有多重要,网上随便找了个别人的ISAPI_Rewrite的URL重写规则(Rewrite Rule),然后就开始用了。当时的地址形式是很长的呵呵,比如:/html/2008/08/08/olmpic-in-beijing.html

今年暑假开始学习SEO的基础知识,逐渐认识到一个简短的URL地址形式对于搜索引擎来说会更友好些。因此,开始逐渐调整。

由于改变网站的URL结构对于搜索引擎来说是相当不友好的,因为他们不喜欢一个经常变动的网站(这里的变动指的是网站结构,而不是不更新网站内容)。于是,我在更改地址的时候采用了301重定向,这对于搜索引擎是友好的,也就是你告诉了搜索引擎这个页面已经更改,以后指向新的页面。
[阅读全文:博客URL地址形式大调整]

Aug
11

为了能给华麟创想的网站空间更多的卖点,于是就安装了ISAPI_Rewrite 2.9完全版。

完全版(Full)与简化版(Lite)的最大的区别在于可以让每个站点自定义URL重写规则(Rewrite Rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了。

大多数空间商使用的是简化版(Lite),设置了统一的规则,如果你需要设置自己的比较独特的规则,需要联系客服在全局配置中为你添加规则,然而,这个有可能会与别人的规则冲突(你规则写得不完善的话),并且规则数量较多的话,肯定是影响网站空间性能的。

选用简化版的最主要的原因就是因为是免费的,配置也简单。
[阅读全文:ISAPI_Rewrite 2.9 Full 破解版问题]

top
63 queries. 0.422 seconds.