php适应pc和手机页面,php自动生成百度开放适配PC页-手机页pattern对应关系sitemap.xml...

以前做百度开放适配一直是提交普通的url对应关系,这种方式有个缺点,就是必须每个页面的url关系都得兼顾,即有多少就得提交多少。

然而,很多网站并不是WordPress建站,所以以往我提供的php代码也无法满足所有网站的需求。遇到这种难题,其实百度也提供了另一种关系提交——PC页-手机页pattern对应关系。

这种对应关系的优点在于,每一种url形式只需要提交一组具备正则对应关系的xml数据结构即可。

一、文章关系

对应文章页面,我的博客是%post_id%.html的格式,剩下的也只是PC域名和移动域名的对应关系,所以文章页面pattern对应关系可如下提交:

https://zhang.ge

2014-10-14T09:49:59+00:00

daily

1.0

https://zhang.ge/(\d+).html

http://m.zhang.ge/${1}.html

这样一组对应关系的提交,即可完成网站所有文章的百度开放适配。

二、分类关系

同样的,按照上面的对应结构,可以轻而易举的写出wordpress分类的pattern对应关系:

https://zhang.ge

2014-10-14T09:49:59+00:00

daily

1.0

https://zhang.ge/(\w+)

http://m.zhang.ge/${1}

这2组pattern对应关系就能完成我博客的所有页面的开放适配,简单吧?!

三、关系组合

按照xml的格式,将上述2组关系组合在一起,保存为sitemap_pn.xml文件,就可以去百度开放适配提交了:

https://zhang.ge

2014-10-14T09:49:59+00:00

daily

1.0

https://zhang.ge/(\d+).html

http://m.zhang.ge/${1}.html

https://zhang.ge

2014-10-14T09:49:59+00:00

daily

1.0

https://zhang.ge/(\w+)

http://m.zhang.ge/${1}

四、php代码

眼尖的朋友,应该发现了,xml中的时间是写死的,这样会不会有问题就不知道了。看来还是弄个动态的时间比较靠谱,于是写了一个php代码如下:

header("Content-type: text/xml");

header('HTTP/1.1 200 OK');

echo '<?xml version="1.0" encoding="UTF-8"?>';

echo ''

?>

daily

1.0

https://zhang.ge/(\d+).html

http://m.zhang.ge/${1}.html

daily

1.0

https://zhang.ge/(\w+)

http://m.zhang.ge/${1}

这样,百度抓取的时候,时间也就是博客最后更新的时间了,而非写死的时间。最后,将以上代码保存为sitemap_pn.php文件并上传到网站根目录。

五、提交关系

每个在百度站长平台验证过的网站都具备百度开放适配的权限。

sitemap_pn1.png?w=480

如果没有出现编码错误,基本上就可以通过了:

sitemap_pn2.png?w=480

显示数量为2 ,因为文件只提交了2组pattern对应关系。

六、拓展阅读

上文其实是想告诉大家,如果你的网站不好生成url对应关系的sitemap,可以写一个pattern级别的sitemap,将网站的对应关系,按照pattern格式分组列出即可,而无需苦恼动态脚本。

注意事项:

①、pattern对应关系涉及的正则表达式,百度官方已说明只支持数字正则(\d+)和数字字母组合的(\w+);

②、不要使用记事本编写相关代码,xml的编码问题会非常蛋疼,推荐用EditPlus等工具来编写;

③、根据实际情况正确选择网站版式:、、。

④、企业网站若有需要,张戈博客可提供有偿适配服务:50元/次,包括xml、META申明等。

关于开放适配的教程写到这就全部结束了,我会找个时间整理总结一个终结篇,方便有需要的人查看,敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值