百度搜索结果标题长度的深入研究解析
一般来说,网站标题中的关键字越靠前的其权重越高,也越容易提升其排名能力。
搜索引擎会优先将关键字更明确、匹配程度更高的页面标题排在前面。用百度推广中的术语来说,匹配的权重顺序为:精确匹配>短语匹配>广泛匹配。
在网站标题中,最为重要的关键字一定要分割清楚,以便让百度进行到精确匹配,提高关键字的排名能力,而次要关键可以加入到短语匹配的行列中,并借助外链增强其排名能力。
在百度搜索结果页中,标题的最大显示长度为30个汉字,标题一旦超过长度会被截断,超出部分将以省略号省去,所以一方面为了最大程度的突出关键字,另一方面保证良好的用户体验,对此,我们也对百度搜索结果标题长度做了深入研究,在此我就借助马海祥博客的平台跟大家分享一下:
一、标题长度
一般来说,网页标题最好是7个汉字以上,不要超过30个汉字,对于搜索引擎来说,标题中越靠前的内容越重要,靠后的内容比较次要,所以要把最重要的关键字,尽量放在前面位置,用一句简短的话来概括网页内容,不要用列举的形式,一个词一个词的隔开(具体可查看马海祥博客《如何利用SEO技术设置文章网页标题》的相关介绍)。
1、PC端
目前常见的搜索引擎百度和谷歌,PC端显示的标题一般是60个字符,也就是30个汉字,如果你的网页标题超过30个字,那后面的就会截断,用省略号“…”代替。
(1)、百度标题长度30个汉字的猜测
在2014年6月,曾出过4道SEO相关面试题,如何从实际工作中来查看一个人的SEO能力,回答过第3题的2个人都选择了错误的答案B,原题如下:
百度标题长度通常限制在64个字节以内,请问标题长度小等于多少个汉字(一个汉字 = 2 字节)能完整显示标题,末尾不会以省略符号 "…"(占 3 字节)结束?
A、29 个;
B、30 个;
C、31 个;
D、32 个;
在登录百度帐号状态下,访问百度数据开放平台添加pc端新资源,可以看到提示:(为)方便您管理资源,请尽量填写有意义的中文标题,不超过30个(汉)字。
不超过30个汉字是迄今为止SEO行业主流的观点,亦是2位回答者不约而同都选答案B的原因。
但过了3个月找到正确答案却是C(31个汉字),更确切点是31.5个汉字。
2014年10月在百度站长平台看到一篇文章,建议标题字数控制在65个字节内,对于搜索引擎来说,标题过长意味着“超标”,只会保留前65个字节的内容。
对百度站长平台提到的保留前65个字节,大概是在封包里写好的标题结束的终止指令,所以HTML代码中能看不出来,这样算来63字节上限就合情合理了。
65字节来源之一是微软开发者网络 WEB1047 - <title> 标记内容太长
<title> 标记是网站开发人员控制的最重要标记,该标记可能会影响相关性和网站在搜索引擎结果中的排名。
搜索引擎只会分析 <title> 标记的前 65 个字符(不包括空格)。在确定网页相关性时,搜索引擎将不会考虑前 65 个字符后面的任何关键字。
出现在 <title> 标记内容中靠前位置的词条在搜索引擎结果页中更为显眼,从而可提高您的网页的点击量。
COMSE新人培养练习题(2013新版) 提到:
广告库文件格式(共 9 列,以 tab 分隔):winfoid term bid q title desc1 desc2 targeturl showurl 其中 winfoid 为 uint64_t,term 长度 < 16 byte,0 <= bid <= 1000,0 <= q <= 1000000,title 长度 < 64 byte,desc1/desc2 长度 < 128byte,targeturl 长度 < 256 byte,showurl 长度 < 64byte
所以,最长65个标签(包括空格)。
标题标签中65个字符之后的内容可能被搜索引擎给予比较低的权重,至少在搜索结果页面中显示的标题标签在第65个字符处就截断了,不过需要仔细观察这个数字,Google现在有时候支持到70个字符。
(2)、为何不是64字节?
下面阐述百度网页搜索结果标题字节截断上限为何不是 64 字节或 30 个汉字。
标题字节截断上限理论上是64字节,让我们来抽样检验下是否符合期望值。
案例1:
老A演讲实录 - 不可错过的淘宝运营策略 - 看世界 鬼脚七自媒体第四季 64 字节 //网页
老A演讲实录 - 不可错过的淘宝运营策略 - 看世界 鬼脚七自媒体第... 63 字节 //serp
谁能百里挑一张戴维牵手成功_谁能百里挑一张戴维 - 百度搜索结果参数 64 字节 //网页
谁能百里挑一张戴维牵手成功_谁能百里挑一张戴维 - 百度搜索结果... 63 字节 //serp
聪明的一休之反斗公主下载_聪明的一休之反斗公主 - 百度搜索结果参数 64 字节 //网页
聪明的一休之反斗公主下载_聪明的一休之反斗公主 - 百度搜索结果... 63 字节 //serp
但是我不能忍不能忍是什么歌_但是我不能忍不能忍 - 百度搜索结果参数 64 字节 //网页
但是我不能忍不能忍是什么歌_但是我不能忍不能忍 - 百度搜索结果... 63 字节 //serp
案例2:
123456789012345678901234567890123456789012345678901234567890123
能完整显示 63 字节 //serp
1234567890123456789012345678901234567890123456789012345678901...
省略符号 "…" 在第 62 个数字前截断,(61+3) 字节 //serp
随机抽取的4个64字节标题都出现省略符号 "…",63 字节更符合实际。
超过63字节百度通过分词技术减少到相应字节数,范围在 ([58,61]+3) 字节内。
可能百度先用分词技术,分成多个单词放在数组里,并行计算每个词的字节,这样改·字数统计函数性能相对一次性计算所有文字长度快得多。事后将各数组合起来的长度,再加上其他规则,小于64字节的部分作为展现标题。
即:如果标题长度是32个汉字,会减少1-3个汉字用省略符号"…"取代。
英文是山寨谷歌的截断法,减少最后1个单词,按标题最后1个单词长度决定,通常会比中文减少更多字节。
中西文符号混杂情况,减少字节范围位于上述两者间。
与标题长度1-64字节范围的常识不同,从1数到10都知道是10个,而4-13会错认为只有9个,据减法,(4 - 1) = (13 - 10),距离相等,亦是10个。
百度搜索开放平台现有展示模板的xml格式样例及规范的一条注释给出了更为精确的字节数。
资源名称,即展示在百度搜索结果页中的标题,长度限制为4-63字节。
触发截断上限63字节,0也算1字节,0-63亦有64个字节。
至于为何0也算一个字节,因为触发标题字节数下限是小于3字节,有些网页?标题标签(title tag)或标题容器内为空等,这几种可能被百度默认为0字节。
将个人网站首页标题改为2字节的we,没有展现完整标题亦无截断,而是触发了F2 = xxxxxx68网址的较低优先级标题策略。
wei 3 字节 //serp
再改为3字节的wei,展现完整标题,标题恢复为F2 = xxxxxx6B网页标题。
msdn 的内容不在搜索引擎预期要查找的位置提及:
如果 <title> 标记包含少于五个字符,则搜索引擎可能会认为其比较长标题的相关性低。
如果 <title> 标记不包含文本,则搜索引擎可能会认为其根本没有相关性。
另外,还有超过63字节的特殊案例:
百度高级搜索指令filetype: 可以检索pdf, xls, ppt, doc, txt, wps, vsd, rtf, lrc, docx, pptx 等非网页格式文件,有前缀标题提示,不计入标题长度(更多高级搜索指令,可查看马海祥博客《详解搜索引擎的高级搜索语法指令》的相关介绍)。
【LRC】2014 CCTV “Star of Outlook” English Talent Competition 2014... //serp
docx 格式不被计算入搜索结果标题长度内,兼有早期模版bug,搜索结果标题实际上限是(7+61+3) 字节。
分析 bug 可能原因:
案例:
【LRC】如何使用css让div居中对齐_百度文库 【网页搜索】本地搜索模块
如何使用css让div居中对齐_百度文库 【网页搜索】结果页模版
百度本地搜索结果中出现【LRC】前缀,标准结果页却显示Word图标,可能是早期模版没有被PK掉所致。
(3)、百度数据开放平台标题长度限制和截断条件注释
《百度搜索开放平台现有展示模板的xml格式样例及规范》里另一条注释:
资源所在页面的链接地址,用于显示在搜索结果的下方。不需要有 "http://" 的部分;Showurl 的长度限制为 2-42 字节,如果超过 42 字节,请截断,并增加省略符号 "…",并保证截断后的 showurl 加上省略符号总长度不超过 42 字节。
百度没有直接提及网页搜索结果展现标题截断字节数的上下限,所以我将《样例及规范》的两处注释结合如下:
使用主流的中文环境操作系统,浏览器等(字符编码为 UTF-8, GB2312, BIG5 等),展示在百度中文搜索结果页(字符编码为 UTF-8, GB2312, BIG5 等)的网页型标题,长度限制为 3-63 字节(2 byte < title 长度 < 64 byte),如果 F 参数所指的标题策略是 F2 = xxxxxx6B,短于 3 字节或超过 63 字节的非百度产品的普通结果(AS)会自动截断,并增加省略符号 "…",截断后加上省略符号的 title 长度限制为 3-64 字节。
百度设置一个不符合现实常见的标题长度,可能是技术导向公司单纯地想不到标题长度亦是用户体验一部分,只是从计算机本身二进制的规则角度考虑,最长 64 字节,抓取过来标题长度超出 63 的多了去了,不显示浪费资源。机械的把 8 的平方作为标题长度。一直到了智能手机上,百度算是改变了愚昧做法,把字节数改成 3 - 52 字节。
(4)、截断与分词技术 | 超出标题字节上限的失控
关于分词技术,我曾在马海祥博客《百度中文分词技术是什么》一文中,跟大家做过详细的介绍了,一般来说,分词是在截断前执行,案例:
林依晨宣布订婚(图)_网易新闻中心 //serp
百度搜索“林依晨订婚”,“林依晨和订婚”是分开飘红的,可以推测百度事先已经分过词,飘红后再计算分开的每个词汇字数是否超出了64字节。
案例:
小学作文_小学作文大全_小学作文题目_素材_百度文库作文库_百度文库 //网页
网上没有找到百度网页搜索分词的源代码,用百度音乐前端的 Chinese Segment (基础语料分词示例)勉强代替。
分词结果:
小学 作文 _ 小学 作文 大全 _ 小学 作文 题目 _ 素材 _ 百度 文库 作 文库 _ 百度 文库
小学作文_小学作文大全_小学作文题目_素材_百度文库作..._百度文库 //serp
分词后的截断并非机械地按照超过63字节上限加省略符号,而是计算到第50个字节作,虽然后面还有内容,但省略符号占3字节,_百度文库占9字节,若再加一个汉字,(50+3+9+2) = 64 就超出63字节上限,便去掉文库,在第50个字节作这儿截断。
//拼接title
$data['offsetInfo']['title'] = "\2".$queryInfo['wordNoSyntax']."\3_百度文库";
百度文库的标题长度,末尾的“_百度文库”是占用9字节的标题,所以文库的标题长度只要超过54字节就会出现省略号...。
百度搜索结果展现的最短标题测试:
搜索发现由于百度对韩文|朝鲜语支持有限,出现bug,加上展现的标题会自动过滤掉百度数据库里标题的空格,所以在4字节的情况下,却只展现1个逗号,不知还有无不能点击的空标题,否则1字节已经是百度可见最短标题了。
(5)、标题前出现图标或提示词
关于网站图标的问题,马海祥以下面这个案例跟大家分析一下:
不受分词技术影响的截断测试:
机械联盟网-品牌导购-设备租赁-二手设备-配件-招聘求职-用机养... //serp
机械联盟网-品牌导购-设备租赁-二手设备-配件-招聘求职-用机养机-... //serp
3字节的 机- 被 favorites icon(网站图标) 挤掉,而末尾的省略符号 "…" 不变。可能类似 CSS 里 text-overflow: ellipsis,使末尾处变成省略号。
从上面看到很难事先控制超出63字节百度会在哪里截断标题,因而建议pc端普通标题长度不超过63字节,展现网站图标的标题长度不超过(64-3)=61字节。
(6)、标题后缀为百度自家产品品牌
案例:
营销人员如何通过在线营销转变他们的业务Forrester.How..._百度文库 //serp
后缀“_百度文库”占去9字节,可控标题长度为63 - 9 = 54字节。
常见百度产品实际可控标题字节上限(长期更新)
_百度百科 54 字节
_百度知道 54 字节
_百度贴吧 54 字节
_百度文库 54 字节
_百度经验 54 字节
(7)、特殊F参数影响标题长度调查
百度F2参数的第7,8位含义是搜索结果前后标题策略,与普通的F2 = xxxxxx6B网页标题是否会有所不同,限于篇幅,只用百度搜索结果7种标题样式较长的一种F2 = xxxxxxEB链接锚文本(-)网页标题测试。
马海祥 - 百度权威数据报告指出低质站泛滥,优质站将受益 - 网络...
(6+3+50+3) 字节 //serp
开头的马海祥是许多网页上加了以作者名字的链接锚文本,( - )是百度连接前后标题策略自动添加的,之后显示网页标题中的前50个字节,最后标题超出63字节,以3字节省略号截断。
结论是截断策略是在F参数所指的标题策略后执行,发现搜索结果标题不同于原先设想后,可以查看F2第7,8位,再做相应调整。
譬如搜索个人网站域名,百度赐予的奇葩标题,您可能想看我的,查看HTML源码 F2 = xxxxxx6E 权值标签,而真实H1标签是:<h1>您可能想看我的<a href="http://www.mahaixiang.cn">马海祥博客</a>。</h1>
H1标签嵌套锚文本标签内容及结尾的句号被百度过滤掉,执行标题策略,仅剩下暧昧的“您可能想看我的”:<h1><a href="http://www.mahaixiang.cn/">您可能想看我的马海祥博客</a>。</h1>
事后重构H1标签嵌套结构,完整展现H1容器内的文本。
(8)、分析百度标题规则优先级
关于百度标题各个规则优先级的梳理,以PC端为例:
①、服务器
a、百度蜘蛛判断网页编码字符集。
b、抓取网页标题,部分繁简转换。
c、部分全角标点符号转换半角标点符号。
d、阿拉丁结果(sp)、最新相关信息(中间页)等优先级高于过滤重复标点符号。
e、把连续重复超过3次的部分标点符号替换为3次。
②、客户端
a、选择何种编码的百度搜索(UTF-8, GB2312, Big5, etc.)
b、搜索框输入查询字符串
c、“百度一下”替换不同编码,并将部分全角符号替换为半角符号及安全过滤。
d、HTML 实体转换
e、是否开启不纠错策略 f=12&nojc=0(开),f=13&nojc=1(闭)
③、服务器
a、编码转换
b、F2-78 参数所指策略
c、标题前后缀
d、分词技术
e、匹配飘红
f、计算可展现字数
g、各种截断
④、客户端
a、展现在用户眼前的可见标题(3-64字节)
b、点击标题
⑤、服务器
用户点击过的标题以4-65字节长度存入数据库。
2、平板电脑
百度Pad版研究不多,新买了一块iPad mini 2测试Pad版搜索结果标题长度,大致和PC端规则一致。
3、智能手机
关于百度移动搜索标题字数上限,我们先看一个案例:
SEO马海祥-SEO教程,SEO方法,SEO技术,网站优化,网络推广! 52 字节 //serp
马海祥SEO博客-最权威的SEO技术研究和网站优化学习平台.. (51+2) 字节 //serp
11人足球网 - 天下足球|PES2015|FM2015|FIFA15|足球.... (48+4) 字节 //serp
目前智能手机的两大主流操作系统:安卓和iOS,先拿三星手机浏览器Android 4.2测试了下,将标题复制 + 粘贴到字数统计性能比较工具里计算,不触发截断上限是52字节。
又上京东分24期买了个iPhone4s Safari浏览器iOS 7.1.2测试,PC端访问m.baidu.com,有前缀当前页排名 + 后缀2点省略号,到了iPhone上,无前缀当前页排名,但后缀可能有4点省略号,长度范围在 (50+2+[2,3]) 个字节,其它规则与PC, iPad端类似。
123456789012345678901234567890123456789012345678901234567890123_斗破苍穹吧_百度贴吧 83 字节 //网页
搜索结果只显示 3 字节省略符号 ...。
展现下限亦是3个省略号,最少标题是3字节,与PC, Pad版相同,不再赘述,建议移动端标题范围是3-52字节。
二、标题长度的其它发现
在对标题长度做了常规测试以后,除了以上的结果,我们还有以下几点新的发现,在此也在马海祥博客上跟大家分享一下:
1、PC端
首先,我们先来看一下PC端的新发现,具体来说,有以下几点:
(1)、省略符号不止出现于标题末尾
案例:
...123456789012345678901234567890123456789012345678901234567890 //serp
第1种情况是省略符号 "…" 作为前缀。
...batang开头的字库文件,这个文件大小为15.5 MB 和 C:..._百度知道 //serp
第2,3种情况是省略符号作为前后缀出现,并且末尾还有“_百度知道”,实际标题只显示了48字节。
(2)、百度按照标题宽度折行
.t{font-weight:normal;font-size:medium;margin-bottom:1px}
标题字体大小是默认的中等,而常见的16px, 540 / 16 = 33.75,一行最多展示33个汉字,大于64字节。
百度是按标题总的宽度截断,而非字数,只需查看CSS便可证明。
#content_left {
width:540px;
padding-left:138px;
padding-top:5px;
}
搜索结果宽度
#rs table {
width:540px;
}
有趣的是相关搜索宽度和搜索结果宽度保持一致。
案例:
是否折行的测量标准按您的浏览器字体字号而不同。
当chrome浏览器配置是一个阿拉伯数字宽度为9 px,SERP显示是540px,只能放60个9px的宽度,不可避免出现两行标题。
(3)、百度搜索结果标题HTML实体转换现象
虽然可见标题长度是(61+3)字节,但HTML实体转换为字符前,源代码的搜索结果标题长度可以不止(61+3)字节。
案例:
Don't use ABCDEFGHIJKLMNOPQRSTUVWXYZ `1234567890-=~!@#$%^&*()... //serp
您所看到的实质是浏览器经过一次HTML实体转换的标题,在浏览器中查看HTML源代码
Don't use ABCDEFGHIJKLMNOPQRSTUVWXYZ `1234567890-=~!@#$%^&*()...
(4)、PC端访问手机端百度的标题长度上限
马海祥SEO博客-最权威的SEO技术研究和网站优化学习博客 53 字节 //网页
马海祥SEO博客-最权威的SEO技术研究和网站优化学习博客 52 字节 //网页
马海祥SEO博客标题比较特殊,标题末尾有空格,PC端是2个空格,展现时候没有空格,HTML源码则保留1个空格,而移动端是1个空格,被算作搜索结果标题的一部分。
另外,PC端访问m.baidu.com如下:
10 马海祥SEO博客-最权威的SEO技术研究和网站优化学习博客.. (3+51+2) 字节 //serp
1 马海祥SEO博客-最权威的SEO技术研究和网站优化学习博客.. (2+51+2) 字节 //serp
位置前缀似乎不被计入标题长度,10 和 1 是一样的。如果去掉位置前缀,但保留空格,标题长度是 53 字节,网页标题末尾的 1 个空格反被 2 点省略号替换。不过智能手机上没有截断。
SEO马海祥-SEO教程,SEO方法,SEO技术,网站优化,网络推广!53 字节 //网页
SEO马海祥-SEO教程,SEO方法,SEO技术,网站优化,网络推广! 52 字节 //网页
PC端访问m.baidu.com,搜索“SEO马海祥-SEO教程,SEO方法,SEO技术,网站优化,网络推广!”,显示完整标题,而搜索“SEO马海祥-SEO教程,SEO方法,SEO技术,网站优化,网络推广”,最后一个感叹号被2点省略符号替换。目标网页标题最后是全角感叹号(2 字节),而百度展现的是半角感叹号(1 字节),但智能手机端无此现象。
PC端访问m.baidu.com标题截断算法不同于真正智能手机访问m.baidu.com的算法。若要在PC端访问m.baidu.com都不出现省略符号,建议在使用1个感叹号、逗号等全角符号的情况下,字节小等于52字节。
最后分析下网页标题中的全角标点符号具体分为5种情况。
①、转换为半角(可能包含于繁简转换词库),过滤重复。
②、不转换为半角,过滤重复。
③、不转换为半角,不过滤重复,与半角标点符号是同义词。
④、pc端访问m.baidu.com,搜索词包含可转换半角标点符号,转换为半角,过滤重复。
⑤、pc端访问m.baidu.com,搜索词不包含可转换半角标点符号,不转换为半角,过滤重复
(5)、过滤反复出现的标题符号
急急急急急急急,难难难难难****** HELP ME!!!!! -CSDN论坛-CSDN.SEO-... 68 字节 //网页
急急急急急急急,难难难难难*** HELP ME!!! -CSDN论坛-CSDN.SEO-... 62 字节 //serp
百度将“******”和“!!!!!”分别过滤为“***”和“!!!”。
【图】【【【【【【【【世嘉日常保养之材料选择】】】】】】】】_世嘉论坛_汽车之家论坛 82 字节 //网页
【图】【【【世嘉日常保养之材料选择】】】_世嘉论坛_汽车之家论坛 62 字节 //serp
连续并且重复3次以上的鱼尾号“【”替换为“【【【”,而1个不连续的鱼尾号“【”不受影响。
(6)、全角标点符号转换为半角
下面这些全角标点符号在普通搜索结果(as)会被替换为半角,在百度搜索框内输入下列标点符号即可看到替换现象。
| ==> | 竖线
, ==> , 逗号
; ==> ; 分号
: ==> : 冒号
? ==> ? 问号
! ==> ! 叹号
- ==> - 连接号
( ==> ( 左圆括号
) ==> ) 右圆括号
{ ==> { 左花括号
} ==> } 右花括号
‘ ==> ' 左单弯引号
’ ==> ' 右单弯引号
2、智能手机
接下来,我们再来看一下智能手机端的新发现,具体来说,有以下几点:
(1)、标题折行
百度移动搜索优化指南2.0提到:
①、用户在百度移动搜索中输入query搜索到你的页面时,title作为最重要的内容展现在搜索结果中,主题明确、吸引眼球的title能够使用户第一时间理解你页面的主题是否符合他的需求,进而更快捷地从众多搜索结果中选择你点击你。
②、主题明确;
③、简洁扼要,不罗列,尽量不超过17个中文汉字,否则会折行;
④、如果你的品牌知名度高,品牌词最好能够展现出来;
⑤、吸引眼球。
17个汉字似乎是iPhone4s竖屏只有320宽度展现的上限附近,原理与百度按照标题宽度折行类似。
(2)、百度搜索结果标题HTML实体转换现象
%27 是用 URL 编码形式表示的 ASCII 字符(十六进制格式),十六进制格式用于在浏览器和插件中显示非标准的字母和字符。
【百度对关于url中带#被收录的问题反馈】里澄清道:
关于 url 中带 # 被收录,之前跟站长平台的刘老师反馈过了,她让百度工程师看了一下,特说明如下:
①、百度是根据转码后的 url 进行抓取的,之前大家发现搜索结果中出现 # 的 url 的 case,一般是原 url 把 # 转码成了 %23(url 编码转码的知识大家网上搜就知道了);如http://www.mahaixiang.cn/s/%23%E6%98%A5%E6%99%9A%E7%AB%A5%E6%98%9F%E9%82%93%E5%91%9C%E8%B4%BA%E6%82%A3%E7%99%BD%E8%A1%80%E7%97%85/ (这个 url 中的 s/%23 实际上是转码后的 s/#)
②、当百度抓取转码后的 url,在搜索结果中又把 %23 解码成 #,因此大家看到了搜索结果中出现 # 的url。
三、中英文混合字数统计代码比较
“工欲善其事,必先利其器”,分析百度搜索结果标题长度前,先要找到适宜的字数统计工具,只是为了您的阅读体验,放到后面才介绍。
1、字节
字节(B)是 Byte 的中文,多用作存储容量单位,亦可作为传输容量单位。英文维基百科解释:
The byte /?ba?t/ is a unit of digital information in computing and telecommunications that most commonly consists of eight bits.【字节(读音: 百特)是计算与通信中一种数字信息单位,1 字节代表 8 比特最常见。】
1 字节(Byte) = 1 个英文字符(UTF-8 编码) = 8 比特(bit) = 8 位二进制数字
2、百度计算中文长度验证
汉语字符不同于英语字符,有3种常见长度,分别是2,3,4字节。
案例:
百度搜索结果URL参数解析疑问 - 搜外问答
<?php echo strlen('百度搜索结果URL参数解析疑问 - 搜外问答');?>
中文 16 个字符
非中文 6 字节
PHP strlen() 函数
华文 = (54 - 6) / 16 = 3 字节
改·字数统计函数
华文 = (38 - 6) / 16 = 2 字节
接下来,我们在来看看百度计算朝鲜语长度验证:
韩国延世大学医院(?????? ??)-综合医院-韩国馆-帮5买
韩国延世大学医院(?????? ??)-综合医院-...
非韩文长度为 32 字节,???????? 根据上述截断规则,8 个韩文是 4 × 8 = 32 字节。
照着朝鲜语一路推下去,各种转码字节数很难用改·字数统计函数兼容,实际上百度仅对几种转码较为支持,将中文转为小语种导致的乱码字节数通常大于字数统计函数64字节上限。下面亦提到用户电脑上没有安装适合的字体也无法正常显示和正常统计字节。
XML及其子集XHTML采用UTF-8作为标准字集,理论上我们可以在各种支持XML标准的浏览器上显示任何地区文字的网页,只要电脑本身安装有合适的字体即可。可以利用 &#nnn; 的格式显示特定的字符。nnn 代表该字符的十进制Unicode代码。如果采用十六进制代码,在编码之前加上 x 字符即可,但部分旧版本的浏览器可能无法识别十六进制代码。
中日韩统一表意文字:
但是另一方面,也有批评认为 Unicode 收入大量错讹字及写法高度相似的同一字的不同字形本身就是不应该的。电脑文本本身永远不可能完全无损地记录文献,且文献本身也会因传抄制版等原因略有不同,如果把每个字的各种写法全部编码,不仅浪费空间,而且检索困难,写法稍有不同就无法检出,以至于检索字词时必须反复检索其不同写法,造成重复劳动,对文献研究反而是种妨碍,例如 Unicode 中将避讳的缺笔字也进行编码,在检索文献时,这些字无法检索出,反造成困扰。完全无损地研究、记录文献只能通过查看原本或照相复印版来完成,把无损保存转嫁给编码是错误的。
通过百度搜索的实际情况,结合维基百科对 Unicode 的简介,很可能是采用一一对应的方式简单地把 UTF-8, GBK, BIG5, etc. 编码的繁体字词自动转换为简体字词以提升检索速度。
引用后来随着我们不断的执着的去强调必须一秒内出结果,必须99.9甚至99.99%,而省略了十进制或十六进制Unicode代码,导致出现了百度搜索繁体字,却很少在SERP看到繁体字的现象。反之无法或很难检索到十进制或十六进制Unicode代码的华文。非要完美在百度搜索结果展现繁体字,并被搜索到,通过编码是不合情理的,更好的建议是在缩略图里展示异体字。
百度查询词过滤机制(filter):检索词带有 http:// 会被自动过滤掉,其他一些会造成恶意攻击的字符亦会被过滤。
3、百度字数统计函数与计算搜索结果标题是否为同一函数
案例:
Рослинництво, тваринництвотавет...
百度改·字数统计函数 63 字节
正则表达式 45 字节
PHP strlen + mb_strlen 函数 48.5 字节
截图中上方标题约为下方标题长度一半,都触发截断,只有改·字数统计函数的计算结果与前述标题字节上限结论一致。
其他2种字数统计能解释标题长度为何较短,但与触发标题字节上限误差较大。
4、速度测试
★★☆☆☆ 2 星 改·字数统计函数采用 for 循环遍历每个字符,速度较慢,适合少量计算。
★★★☆☆ 3 星 正则表达式处理较短单一字符集有优势。
★★★★★ 5 星 PHP strlen + mb_strlen 函数的优点是无论多少字数,速度快捷稳定。
5、兼容性测试
案例:
···(3 个间隔号)
改·字数统计函数 6 字节
正则表达式 4 字节
PHP strlen + mb_strlen 函数 4.5 字节
вул?ца(白俄罗斯)
改·字数统计函数 12 字节
正则表达式 8 字节
PHP strlen + mb_strlen 函数 9 字节
★★★★★ 5 星 论文主要用解释百度标题计数,改·字数统计函数兼容性自是最好。
★★★☆☆ 3 星 正则表达式缺陷在于小范围的字符集内有效,超出中英文字符等集合便失效了。
★★★☆☆ 3 星 当然 PHP 自带函数兼容性比正则表达式好不到哪里。
6、速度与兼容性最优化方案
最少限制与应用范围考虑,百度搜索结果基本属于中英文符号混杂64字节以内标题为主,使用百度的改·字数统计函数最合适。
7、字数统计工具结果比较
案例:拿乌克兰语网站测试各个字数统计工具算法差异:
Рослинництво, тваринництво та ветеринар?я, техн?чне забезпечення :: Аграрний сектор Укра?ни 动植物与兽医学,技术支持: 乌克兰农村经济
微软 word2010 10 字数
站长工具 66 字符
爱站网 91 字符
正则表达式 123 字节
PHP strlen + mb_strlen 函数 130 字节
搜外 163 字节
排版助手 166 字节
有一个网站 169 字节
百度改·字数统计函数 169 字节
站长工具、爱站网、工具猫、xpcha、正则表达式、PHP函数等字数统计结果与百度计算方式相去较远。
搜外seo综合诊断较为接近百度字数统计结果,缺点是运行耗时长及受限于只能查询指定域名,使用范围不大。
排版助手作为网络编辑常用的工具,很接近百度计算方式,很实用,不过仍有误差。
有一个网站在线字数统计与百度改·字数统计函数计算结果一致,不过在间隔号、回车等符号计算方法与之不同。
8、PHP源码
百度改·字数统计函数
<?php
$str = stripslashes(htmlspecialchars_decode($words, ENT_QUOTES));
function smarty_modifier_wordcount($str,$encoding = 'UTF-8')
{
if(strtolower($encoding) == 'gbk') {
$encoding = 'gb18030';
}
if(!is_string($str)||$str === '') return false;
$mbLen = iconv_strlen($str, $encoding);
$subLen = 0;
for ($i = 0; $i < $mbLen; $i++) {
$mbChr = iconv_substr($str, $i, 1, $encoding);
if (1 == strlen($mbChr)) {
$subLen += 1;
} else {
$subLen += 2;
}
}
return $subLen;
}
echo smarty_modifier_wordcount($str);
?>
正则表达式:
<?php
$str = stripslashes(htmlspecialchars_decode($words, ENT_QUOTES));
$number += strlen(preg_replace('/[\x80-\xff]{1,3}/', ' ', $str, -1, $number));
echo $number;
?>
PHP strlen + mb_strlen 函数
<?php
$str = stripslashes(htmlspecialchars_decode($words, ENT_QUOTES));
echo ((strlen($str) + mb_strlen($str, 'UTF8')) / 2);
?>
附录:
以下是本文中的一些名词解释:
htmlspecialchars_decode()
函数会把一些预定义的 HTML 实体转换为字符。
? ENT_QUOTES - 解码双引号和单引号
预定义的字符有:
& 成为 & 和号
" 成为 " 双引号
' 成为 ' 单引号
< 成为 < 小于
> 成为 > 大于
F2参数第7,8位
破解出的F2参数第7,8位,百度搜索结果标题大致分为以下几种形式:
F2 = xxxxxx68 网址 url
F2 = xx2xxx6A 标语 slogan
F2 = xxxxxx6B 网页标题 title
F2 = xxxxxx6E 大字标题 headline
F2 = xxxxxx6F 大字标题 - 网页标题 headline - title
F2 = xxxxxxEA 锚文本 anchortext
F2 = xxxxxxEB 锚文本 - 网页标题 anchortext - title
filetype:
文件类型限定搜索: 搜索结果限制为特定的文件扩展名结尾的网页
百度支持的扩展名和类型:
filetype:pdf PDF Adobe Acrobat
filetype:xls Microsoft Excel
filetype:ppt Microsoft Powerpoint
filetype:doc Microsoft Word
filetype:txt
filetype:wps
filetype:vsd
filetype:rtf // srcid = 1525 [10] ,全部是百度文库
filetype:all // 其中的"all"表示搜索百度所有支持的文件类型 [11]
filetype:lrc // bug
filetype:docx // 得到的前缀是 【LRC】,这个 bug 最晚在 2012年01月出现
filetype:pptx // 得到的前缀是 【LRC】,这个 bug 最晚在 2012年01月出现
SERP
search engine results page 搜索引擎返回查询结果列表页的英文缩写。
省略符号 "…"
用于截断表示搜索结果标题超出限制的部分,pc 与 Pad 版省略符号是 3 字节,智能手机移动端省略符号为 2-4 字节。
UTF-8
一种针对 Unicode 的可变长度字符编码(定长码),可以有 1-3 字节不同长度。
马海祥博客点评:
其实做百度的SEO优化,很多时候百度本身的一些页面是很值得我们效仿的,比如说百度百科、百度知道等他们不只是能从标题结构方面给予我们优化指导,更在网页元素方面能让我们学到很多SEO优化技巧,值得SEOer们去深入研究。
本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于https://www.mahaixiang.cn/seoyjy/1666.html,注明出处;否则,禁止转载;谢谢配合!相关标签搜索: 百度搜索
上一篇:点击热力图是什么?
下一篇:超链接超文本文档检索系统原理和分析方法
您可能还会对以下这些文章感兴趣!
-
2011-2012年百度历次大更新数据分析
本篇文章记录了百度从2011年到2012年中旬百度大更新记录的文章。以下数据分析以站长之家官方提供的网站监控分析数据为蓝本,结合优词网等站点观察数据和一些 优秀SEO站长工具和软件的收集,并佐以自己手上二十几个站点作参考进行综合分析,基于统计学分析原理,以大量站……【查看全文】
-
百度排名算法规则及SEO优化要点总结
做SEO目的其实就是为访客服务,满足用户的需求,想方设法的为了用户提供他们想要看的内容,而不是一味的最求最大利益化,其实百度只是一个展示的平台,只要你有了用户的青睐,你想达到的目标,自然也就水到渠成了,做SEO的核心就是要挖掘用户的力量,只有挖掘用户的力量……【查看全文】
-
SEO链轮是什么?
SEO链轮(SEO Link Wheels)是从国外引入国内的,一种比较新颖的SEO策略,是一种比较先进的网络营销方式。SEO链轮是指通过在互联网上建立大量的独立站点或是在各大门户网站上开设博客,这些独立站点或是博客群通过单向的、有策略、有计划紧密的链接,并都指向要优化的目标……【查看全文】
-
网站最新SEO优化公式解析
网站seo优化公式 SEO=Clock=C1+L2+K3+O4 1、是一个积分符号,C=content,L=link,K=keywords,O=others。SEO就是一个长期的对时间积分过程,内容是核心; 2、C1丰富的内容是第一位的要素,按照原创、伪原创、转载依次排列内容的重要性满足用户体验; 3、L2链接的合理与……【查看全文】
-
百度移动搜索落地页体验白皮书4.0全文解读
进入移动互联网时代,百度搜索致力于提升搜索用户的浏览体验,营造健康的搜索生态。过去一年中,在百度搜索和全网资源提供者的共同努力下,移动搜索落地页广告问题已经得到了明显的改善。现在,百度搜索发布《百度移动搜索落地页体验白皮书4.0》,旨在继续与各内容生产……【查看全文】
-
Google搜索质量小组专业解答的25个SEO问题
2013年对于众多站长和SEO可以说是最为波折的一年,这一年百度出台了百度绿萝算法、百度石榴算法和百度绿萝算法2.0,而google也相继出台了谷歌EMD算法、熊猫算法、企鹅算法2.0和蜂鸟算法。作为一个站长或SEOer,你是否对这些算法还存在很多的疑惑,尤其对于靠做外贸产品……【查看全文】
-
落地页体验白皮书5.0解读:如何合理设置展开全文功能
本文解读文章深度剖析展开全文功能的设置要求。白皮书5.0提到”展开全文的设置必须具有文字标示,且功能实际可用;展开全文功能最多只能出现一次,但不可出现在落地页的首屏内容中(列表页除外);展开全文与广告等引导性内容要设置一定距离间隔,避免干扰用户操作。”如何设置展开全文按钮才更符合用户的体验习惯呢?这篇文章将为你答疑解惑。百度搜索用户研究团队的用户调研发现,搜索用户进入落地页的诉求是浏览页面全部内容,展开……【查看全文】
-
网站SEO优化的分析诊断报告包含了哪些内容
SEO优化是针对搜索引擎规则做出优化以提高网站排名为目的的优化手段。其所需时间往往是长久性的,包括从网站域名、服务器、程序选取、网站结构、行业分析、竞争分析而切入的优化过程。而SEO诊断,在时间的要求上恰与其截然相反,所求目的完全与优化过程一致:提高网站友……【查看全文】
-
落地页体验白皮书5.0解读:什么样的顶部嵌入广告符合体验标准
《百度APP移动搜索落地页体验白皮书5.0》对页面广告的内容、形式、位置和面积的要求都做出了详细的说明,受到了全网开发者的广泛关注。关于白皮书5.0中最新提出的顶部嵌入广告标准”落地页首屏顶部允许嵌入不超过一屏面积10%的优质广告”,不少开发者对此提出疑问和反馈,本篇文章将对顶部嵌入优质广告要求做出具体解读:落地页首屏顶部允许嵌入优质广告的总体要求如下:面积:顶部嵌入广告面积必须小于首屏面积的10%。标识:广告位上有明……【查看全文】
-
百度索引量下降的原因及解决方法
作为一名专业的SEO人员,我们很多的时候都在研究站点中有多少页面可以作为搜索候选结果,也就是一个网站的索引量,所谓网站索引量,就是搜索引擎抓取你网站的数量,这能影响到网站收录率,是一个非常重要的SEO因素,索引量是流量的基础,索引量数据的每一个变动都拨动着……【查看全文】
-
揭秘搜索引擎中的反SEO作弊研究
从搜索引擎优化服务开始,分析了现在所存在的搜索引擎优化的作弊手段;然后提出了四种方法用来预防、破解作弊,并结合现实总结提出逐级分层审查刮度;最后结合Google搜索引擎,讨论并分析了Google搜索引擎的反作弊方法及其中的PR值算法……【查看全文】
-
基于用户投票的六大排名算法研究
随着互联网的发展,网站的数量也在随着成倍的增加着,就中国的互联网来说,根据中国互联网信息中心的数据显示,目前中国的网站数量每半年都会以接近10%的数量增长。这些大量的网站涌现,也就意味着我们已进入了信息大爆炸的时代。 而如今用户担心的已不再是信息太少,而……【查看全文】
-
linux系统或windows+iis系统设置404页面方法
404页面通常是为用户访问了网站上不存在或已删除的页面,服务器返回404错误页面,告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开,消除用户的疑虑。网站设置404页面后,如果网站出现死链接,搜索引擎蜘蛛爬行这类网址……【查看全文】
-
百度最新调整后的算法规则
最近闹得沸沸扬扬的百度6.22和6.28的K站事件到目前已经告一段落了,K站的主要原因已经渐渐明朗,以及百度将会对哪些类型的网站会做降权处理,现在也已经明朗化。针对各大站长漫长的着急等待,以及愤恨的心情,百度目前已经给出了较为明确的答案,那么百度规则和算法调整……【查看全文】
-
如何分析网站是否真的被降权惩罚及解决方法
对于混迹于国内站长圈的朋友来说,每天起早贪黑发外链的网站被百度惩罚似乎在这几年已经是司空见惯的事了,所以很多时候网站流量、排名或者是收录有小幅度波动时,站长都会认为网站又被惩罚了,有到处的去抱怨。其实,很多情况都只是站长自己太过于敏感了而已,网站被百……【查看全文】
-
404 Not Found错误页面的解决方法和注意事项
404页面就是当用户访问某网站时,点击了错误的链接时,所返回的页面。最常见的出错提示:404 Not Found。其目的就是告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口离开。错误页面的文字可以自定义,有些网站没有设置404错误页面,或……【查看全文】
-
搜索引擎判定相似文章网页的原理
余弦相似性是指通过测量两个向量内积空间的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是 -1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值……【查看全文】
-
百度快照更新是什么意思?
最近发现有很多刚入SEO行业的新手对网站seo的技巧有很多的误区,比如网站快照不更新就代表网站被惩罚。关于这个观点我们先看看什么是百度快照,百度快照的作用是什么?我们有该如何让百度快照持续更新呢?快照即为Web Cache,可以翻译为网页缓存,当搜索引擎派出蜘蛛去对网站……【查看全文】
-
《百度搜索优质内容指南》全文解读
今日,《百度搜索优质内容指南》在百度搜索学院悄悄地上线了,这是百度近两年,再次重新深度定义什么是百度搜索优质内容,对于SEO人员而言,特别是对于新站长而言,具有非常积极的指导意义,以免造成过多的资源浪费,给予了明确的指导规范的建议。百度搜索2020年全新发布了面向全网内容生产者的《百度搜索优质内容指南》,详细讲述了优质内容的标准,希望给广大内容生产者在生产优质内容时提供参考。关于优质内容的详细标准,请查看以下……【查看全文】
-
反向链接是什么意思
反向链接又叫导入链接(Backlinks),外部链接,是指外部网站有你的网址指向你的网站,其实就是在目标文档(网页)内部进行声明,要求目标文档指向自己(网页)的链接,通俗点讲,网页A上有一个链接指向网页B,则网页A上的链接是网页B的反向链接,换言之,常规链接在文……【查看全文】
阅读:2048关键词: 反向链接 日期:2012-08-14
分类目录
互联网更多>>
- 互联网技术的50年发展回顾与分析 1998年至2008年是公认的互联网飞速发展的十年,无论是传输速率、网络规模、关键技术还是应用领域都经历了大幅的增……
- 基于贝叶斯推断应用原理的过滤垃圾邮件研究 随着电子邮件的应用与普及,垃圾邮件的泛滥也越来越多地受到人们的关注。而目前正确识别垃圾邮件的技术难度非……
- 云服务器的常规安全设置及基本安全策略 我们要保障云服务器数据安全,首先应树立正确的安全意识,从监控、入侵防御、数据备份等多方面做好安全措施,……
SEO优化 更多>>
-
百度公告:关于近期出现网站劫持用
近日,百度搜索技术团队发现,搜索结果中的部…… -
移动设备前端开发中viewport的理论及使
在移动设备上进行网页的重构或开发,首先得搞…… -
医疗行业该如何做免费营销推广
当前医疗网站越来越多,竞争也越来越激烈,各…… -
预约未到诊患者的回访技巧及话术整
很多朋友问预约是否有技巧,个人认为技巧是沉…… -
百度对站点Logo属性审核原则的具体要
自百度搜索资源平台后台的站点属性设置开通上…… -
医疗行业开展品牌推广急需解决的1
如今医疗行业要想在互联网上占有一席之地,就…… -
外贸企业网站常用的5个优化推广方法
做海外推广不同国内的网站推广,因为在文化、…… -
未来的站内SEO优化需要做些什么?
SEO说难不难,说简单也不是那么简单,很多人问……