上半部记录了帝国cms改造成百度mip的一些准备工作,现在站点已经建成,那么久要对这个站点的帝国cms模板进行修改,这部分工作比较简单。前面的静态页面的改造流程走一遍就可以了,主要是一些替换工作,最难的是在pc端输入的文章或商品内容,是存储在数据库中的,这就需要修改帝国cms的原始php文件了。
好在这方面的工作,在之前的百度推送、熊掌号改造的过程中捣鼓过,所以能够快速的找到需要哪个文件,怎么修改。
需要指出的是,访问端模板的修改是e-config目录下的config.php文件
$ecms_config['sets']['deftempid']=2;//默认模板组ID
$ecms_config['sets']['selfmoreportid']=2;//当前网站访问端ID,0为主访问端
吧2修改成3就可以了
1、仔细查看原来页面中(可以是pc页面,也可以是h5页面),有哪些代码需要修改成mip的,创建需要替换的列表,吧什么字符替换成什么字符;
2、这是氢的传奇网列出的需要替换的文章内容页代码
替换成
替换成
替换成
替换成
至于替换函数的写法测试了很多次才成功,到底我不是学习代码出生的啊。
不要有任何的遗漏,就可以开始修改原始的php代码了。
帝国原始文件修改适应mip规则
替换可能是最简单的函数与方法了,因为文章页在数据库中就是一些html代码的字符。
需要修改的文件在e-class目录中,是fuctions.php文件
1、哪个地方修改
在//-------------- 信息处理区 ----------------------//替换关键字部分的一个函数:function ReplaceKey($newstext,$classid=0),$newstext就是从数据库读取的内容。
2、核心的mip修改的代码如下,这是h5站点的修改内容,是吧在pc端输入的超链接替换成移动站的超链接,这样打开时间会减少
while($t=$empire->fetch($sql))
{
if(STR_IREPLACE)
{
$newstext=str_ireplace("/","/",$newstext);//把网址中/替换/
$newstext=str_ireplace("/","/",$newstext);//把网址中/替换/
}
else
{
$newstext=str_ireplace("/","/",$newstext);//把网址中/替换/
$newstext=str_ireplace("/","/",$newstext);//把网址中/替换/
}
}
聪明的你一定就知道了,前面的替换列表有什么作用了,就按照这个替换的方法吧所有需要替换的代码写出来就可以了,比如img标签的替换(
$newstext=str_ireplace("
其他的以此类推,甚至内容中的超链接也可以替换:
$newstext=str_ireplace("/","/",$newstext);
3、这个替换方法的用途非常广泛
比如你需要在内容中,插入一个广告,那么你需要分析代码,不如说先统计下你的内容有几段(统计
的个数),然后计算在文章的60%处插入广告,就找到那个需要替换的位置,把
替换成:
广告代码
就可以了。
还有一个用途就是添加无意义的防止采集的个性化代码。
可能更加重要的一个用途是,添加语音,就是把文字在线转化成语音,那就要先提取文字,去掉非文字的代码,然后在线提交,讯飞提供语音合成的php接口。需要把帝国改造成同时有语音的,这就很酷,提高了用户访问体验,下一次的研究课题就选这个吧。
Mip站点的robots.txt设置
允许百度抓取的代码是
User-agent: Baiduspider
Disallow:
修改成只允许百度抓取的样式是
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
如果mip目录是放在根目录下面的,那么就要修改根目录的robots.txt,加上Disallow: /mip/一行