charset中gbk或utf8对seo的影响

  看到有人问gbk和utf-8对于seo的影响,我说点个人看法。

  如果网站是面向国人的,建议使用gbk,理由如下:

  1.gbk采用双字节表示汉字,utf-8采用三个字节表示汉字,从表示一个汉字所占的字节数来说,gbk相对于utf-8可以节约50%的空间。

  2.目前开源的程序gbk编码相对成熟一些。

  3.蜘蛛在爬行某个页面的过程中识别的charset属性值如果为gbk的话基本上可以确实为中文类型的网站(无需对后面的内容进行判断),如果为utf-8的话还需要进一步判断(例如检索全文中的字符有多少属于utf-8中文字符的范围)。

  如果网站是外文的话果断utf-8吧。

  还有一点需要注意的是由于gbk和utf-8的编码不同,如果网站在被收录之后更改charset的话,蜘蛛在抓取过程中如果不能及时的发现charset变动的话就会判定网页内容发生异常导致页面被K。

  以我自己的论坛为例(以下例子与实际情况还有点出入,仅用来说明大概意思),如图1所示,论坛采用的编码为gbk,浏览器正常显示。

  图1:

  


 

  如果强制浏览器以utf-8编码解释的话就会是图2的样子。

  图2:

  


 

  同样的道理,如果之前采用的是utf-8编码,而且页面已经被搜索引擎收录,如果中途换成gbk编码的话,在蜘蛛爬行过程中如果蜘蛛不能及时发现charset属性值改变的话还会按照之前的编码进行解析,结果就是与之前正常的页面相比产生了很大的变动,进而导致页面被K的可能。

  理论需要去实践,我用自己的一个页面进行了这个实验(页面地址http://sl.zoum5.com),之前采用的是utf-8编码,之后改成gbk。在5月5日时这个页面搜索关键词“收录批量查询”位于第一,今天在百度中已经失去了踪影,至于中途改变编码会不会影响之前积累到的权重,还需要进一步观察。

  截止到5月13日,被k的页面已经正常恢复了,持续了大概五六天的样子。

  原文地址:http://www.zoum5.com/seo/119.html

时间: 2024-09-21 22:16:45

charset中gbk或utf8对seo的影响的相关文章

PHP中GBK和UTF8编码处理

编码 一.编码范围 1. GBK (GB2312/GB18030)\x00-\xff  GBK双字节编码范围\x20-\x7f  ASCII\xa1-\xff  中文\x80-\xff  中文 2. UTF-8 (Unicode)\u4e00-\u9fa5 (中文)\x3130-\x318F (韩文\xAC00-\xD7A3 (韩文)\u0800-\u4e00 (日文)ps: 韩文是大于[\u9fa5]的字符 正则例子:preg_replace("/([\x80-\xff])/",&q

PHP中GBK和UTF8编码处理(中文,韩文)

一.编码范围 1. gbk (gb2312/gb18030) x00-xff gbk双字节编码范围 x20-x7f ascii xa1-xff 中文 x80-xff 中文 2. utf-8 (unicode) u4e00-u9fa5 (中文) x3130-x318f (韩文) xac00-xd7a3 (韩文) u0800-u4e00 (日文) ps教程: 韩文是大于[u9fa5]的字符 正则例子: preg_replace("/([x80-xff])/","",$s

网址带“/”与不带“/” 谈URL中末尾斜杠对SEO的影响

我们经常能看到这样的两种url 1.http://www.abc.com/abc 2.http://www.abc.com/abc/ 这两个网址到底有没区别呢?哪种对于SEO更好?这个问题困扰了我很久,因为我这个人很追求完美,这两个url虽然只有细微的差别,但是我还是想把最好的一种用于我的网站. 对于用户来说,在大多数情况下这两个网址没有任何区别,他们访问的都是网站abc目录下的默认首页.一般用户也都知道最后一个斜杠是可有可无的,他们输入网址的时候一般都只会输入http://www.abc.co

PHP中iconv函数字符串从GBK转换为UTF8字符集

PHP中iconv函数字符串从GBK转换为UTF8字符集 1. iconv()介绍 iconv函数可以将一种已知的字符集文件转换成另一种已知的字符集文件.例如:从GB2312转换为UTF-8. iconv函数在php教程5中内置,GB字符集默认打开. 2. iconv()错误 iconv在转换字符"-"到gb2312时会出错,解决方法是在需要转成的编码后加 "//IGNORE",也就是iconv函数第二个参数后.如下: iconv("UTF-8"

告别乱码,针对GBK、UTF-8两种编码的智能URL解码器的java实现(转)

效果图     字符 字符是早于计算机而存在,从人类有文明那时起,人们就用一个个符号代表世间万象.如ABC,如"一.二.三". 字符集 字符集是所有字符的集合.   XXX字符集 给字符集中的每一个字符套上一个序号后的字符集.常见的XXX字符集有ASCLL字符集.Unicode字符集等等,不同种字符集为每个字符编的序号不同,包含的字符数量也不同. GBK.UTF-8 GBK.UTF-8是一种编码编码格式.当然,你也可以说unicode是一种编码格式,因为它的的确确为每个字符编了一个码,

再再谈java乱码:GBK和UTF-8互转尾部乱码问题分析(续)

GBK字节码用UTF-8解码 UTF-8 的编码规则 转码实例 解决问题 jdk 18 测试 jdk 1617 jdk 版本的影响 小结 参考 在<再谈java乱码:GBK和UTF-8互转尾部乱码问题分析>我们分析了,如果从一个UTF-8 的字节序列,经过 new String(b,"GBK") 的操作,"可能"(与总字节数有关)会破坏数据.结果可能是,损失最后一个"字". 反过来呢?可能会很惨,大范围溃散... 同时,可参考:一段j

PHP数组编码gbk与utf8互相转换的两种方法_php技巧

一.利用var_export(), eval()方法 /** * 将含有GBK的中文数组转为utf-8 * * @param array $arr 数组 * @param string $in_charset 原字符串编码 * @param string $out_charset 输出的字符串编码 * @return array */ function array_iconv($arr, $in_charset="gbk", $out_charset="utf-8"

再谈java乱码:GBK和UTF-8互转尾部乱码问题分析

一直以为java中任意unicode字符串可以使用任意字符集转为byte[]再转回来只要不抛出异常就不会丢失数据事实证明这是错的. 经过这个实例也明白了为什么 getBytes()需要捕获异常虽然有时候它也没有捕获到异常. 言归正传先看一个实例. 用ISO-8859-1中转UTF-8数据 设想一个场景 用户A有一个UTF-8编码的字节流通过一个接口传递给用户B 用户B并不知道是什么字符集他用ISO-8859-1来接收保存 在一定的处理流程处理后把这个字节流交给用户C或者交还给用户A他们都知道这是

GBK与utf-8的区别

GBK与UTF-8的区别 先说GB2312 GB2312是GBK的子集,GBK是GB18030的子集. GB2312编码大约包含6000多汉字(不包括特殊字符),编码范围为第一位b0-f7,第二位编码范围为a1-fe(第一位为cf时,第二位为a1-d3),计算一下汉字个数为6762个汉字.当然还有其他的字符.包括控制键和其他字符大约7573个字符编码 GBK是包括中日韩字符的大字符集合,GBK编码是对GB2312编码的扩充,容纳的汉字更多,但仅仅是扩充,没有质的变化.保留了所有GB2312编码,