前段时间花了不少时间来为Drupal网站添加AMP版本,使用了Drupal的AMP支持模块和模板,还自己进行了一些修改,实现了Drupal网站的全站增加对应AMP版本。
而去年开始就知道百度也有一个对应的MIP计划,我今年去北京参加Google AdSense研讨会的时候与其他发布商交流,得到更多MIP方面的消息,在AMP版本告一段落的时候也准备试一试MIP。
要自己实现AMP版本比较麻烦,所以我用了Drupal现成的AMP支持模块、模板,同样要添加MIP版本自己写代码也是不容易,于是我想到在AMP支持模块、模板的基础上来修改,今天就这样试了试,还算顺利几个小时摸了一个初步的出来,下面是步骤:
- 下载amp模块,改名为mip,修改其中目录、文件名称、文件内容,将所有amp都改为mip,AMP改为MIP(但请注意:composer.json中的"lullabot/amp"、mip.install中的'\Lullabot\AMP\AMP'、mip.module中的use Lullabot\AMP\AMP;use Lullabot\AMP\Validate\Scope;这几个地方不要改,否则Drupal状态页会出现找不到相关内容的报错);
- 下载amptheme主题,改名为miptheme,修改其中目录、文件名称、文件内容,将所有amp都改为mip,AMP改为MIP;
- 启用mip模块和需要的子模块,进入MIP配置,开启需要的内容类型的支持,与AMP配置类似;
- 启用miptheme主题和需要的子主题,关闭logo显示,禁止一些block的显示;
- 在百度MIP验证页面进行验证,注意需要复制网页源代码过来验证,还不能提供链接进行验证,遇到一些head中noscript放置位置必须在最后、不能有多段style、a标签中href属性内容不符合规定等报错,逐个问题去解决了。
- 修改mip主题中的html.tpl.php,去掉<script async src="https://cdn.ampproject.org/v0.js"></script>,head中增加<link rel="stylesheet" type="text/css" href="https://mipcache.bdstatic.com/static/v1/mip.css">,body底部增加 <script src="https://mipcache.bdstatic.com/static/v1/mip.js" ></script><script src="https://mipcache.bdstatic.com/static/v1.0/mip-ad.js"></script>
- 百度MIP验证对a标签严格,在html.tpl.php模板中对<a href="/内部链接 进行了替换成<a target="_blank" href="https://外部链接
- 尝试在page.tpl.php模板中添加百度联盟广告<div class="mip-adbd"><mip-ad type="ad-baidu" cproid="u2181164"></mip-ad></div>,但暂时没有看到广告,原因待查(后来可以正常显示了);
这样一个最基本的MIP页面就可以显示出来并通过百度MIP验证了,算是几个小时搞出一点头绪出来。不过要细化还很需要一些时间来慢慢摸索尝试。
也听说百度对AMP将来也会同样支持,对开发者来说MIP和AMP合成一种是最好了,不过短期内看来是不可能,还是麻烦一点来尝试吧。
评论