前段時間花了不少時間來為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合成一種是最好了,不過短期内看來是不可能,還是麻煩一點來嘗試吧。
评论