网站改版的注意事项
当您的网站进行改版(如更换域名或大量链接短期内发生永久性跳转),为保证新资源及时被收录、索引量和展现效果不出现大幅波动,大家建议步骤如下:
首先使用301跳转将所有页面进行重定向,系统发现后会逐步进行新旧替换;再来站长平台使用网站改版工具通知百度您网站新旧改版内容(新旧网站均需验证),能加速系统对301跳转的处理。
提交的信息会先进行系统校验,校验周期一般为一周左右。校验通过后,更改生效需要一段时间,期间可以通过以下一些方法来查看该过程是否正常运行:
关注新网站的抓取异常情况,短期内适当提升抓取压力帮助新网站更快抓取关注新网站的索引量波动,关注网站改版工具显示的已替换链接条数同时对旧网站的域还需保留一段时间,直到新网站在百度索引和展现效果佳如何向百度提交网站改版规则
1)告知域名更换
若只是更换域名(即改版前后的url长相除站点不同外,其他均一致),首先确保新旧网站均已验证所有权,然后到网站改版工具添加新改版内容,选择“告知域名更换”,填写旧域名和新域名(如果验证了主域,可以填写任意子站)。提交后注意关注系统反馈的校验信息,校验周期一般为一周左右。
2)提交正则规则
您如果正在进行比更换域名更复杂的改版,比如目录级别大量链接进行跳转,可以通过正则规则告知百度。到网站改版工具添加新改版内容,选择“提交正则规则”,输入旧网址规则和新网址规则,以及两组新旧url样例帮助校验规则;填完后点击提交。提交后注意关注系统反馈的校验信息,校验周期一般为一周左右。
注:近期网站改版工具采用新的更通用PCRE规范正则表达式,使用原表达方式的已提交的改版规则不受影响。
3)提交新旧url对
您如果发现以上两种方式都不能描述您的网站改版情况,可通过直接罗列改版新旧url对,告知百度您的改版内容。到网站改版工具添加新改版内容,选择“提交新旧url对”,将新旧url对放在txt文本文件,上传提交。提交后注意关注系统反馈的校验信息,校验周期一般为一周左右。
如何编写网站改版正则规则
规则由2部分组成:旧网址的正则表达式、新网址的正则表达式。
正则标准说明:支持PCRE规范的表达式。
以下举例说明:
改版前url:/bbs123/?a=2&b=137
改版后url:/thread-137-2.html针对这一类长相的url改版
首先使用正则描述改版前旧url规则:^example\.com/([a-z0-9]+)/\?a=([0-9]+)&b=([0-9]+)$再用字符串和捕获引用描述改版后新url规则: \/thread-\3-\2.html注:其中\为转义字符,其后可以跟随数字0-9以表示一个对捕获字符串的引用,或者跟随另一个以表示一个字符’’,其余字符皆不可以跟随在一个单独的\之后。其余字符都表示他们自身。
提交以上正则规则后,如改版前url
/bbs123/?a=2&b=137
会匹配这条规则,并产生如下的捕获对应关系
bbs123 => \1
2 => \2
137 => \3
进而得到最终的改版后url长相为
/thread-137-2.html
请注意如下的url将不在本规则覆盖范围内:
/BBS123/?a=2&b=137
原因:规则配置的第一个捕获中指定可通配[a-z0-9]但未包括大写字母/bbs123/?a=&b=137
原因:规则配置的第二个捕获指定+匹配至少要有一个字符/bbs123/?a=2&b=137&c=45
原因:规则最后指定$表示断言url应该到此结束,否则不匹配附PCRE规则常用字符,更多可到标准库中进行了解。
^:表示字符串开始,即在此之前不能再有任何字符$:表示字符串结束,即在此之后不能再有任何字符?:表示之前的元素可以出现0次或1次
*:表示之前的元素可以出现0次或多次
+:表示之前的元素可以出现1次或多次
{数字}:表示之前的元素必须出现数字次
{数字,}:表示之前的元素需要出现至少数字次{数字1,数字1}:表示之前的元素出现次数不少于在数字1且不大于数字2[一些字符]:表示一个在一些字符内的字符,一些字符部分可以用-进行简记,例如[abcde]等同于[a-e]
.:表示一个任意字符
\:转义字符,当上面有特殊含义的字符以及\本身需要表示其字面值而非特殊含义时,可以用特殊字符表示这个特殊字符本身,例如?表示一个?而非\出现0次或一次。转义字符还可以和一些非特殊字符使用,表示一个特殊含义,见后续的描述\d:表示一个数字[0-9]
\w:表示一个单词[a-zA-Z0-9_]
(子模式):一般?和*等计数字符只对前一个元素生效,当需要对一个子模式生效时,需要加上括号。同时,括号内子模式所匹配的字符串,会作为捕获存在,后续可以引用,计数方式为“从左至右每一个加括号的子模式依次被编号为捕获1、2、3、4等”。整个规则本身匹配部分也是一个捕获,记为0号捕获|:表示之前的子模式和之后的子模式至少有一个匹配,例如a(bc|de)f可以匹配adef和abcf