今年3月開始準備嘗試Google推薦的AMP,摸索了AMP (Accelerated Mobile Pages) “加速移動網頁”中的廣告,然後使用Drupal的模塊、模闆實現Drupal網站生成AMP版本頁面,再後來4月份花了不少時間去把很多針對國外訪問者的網站添加了AMP版本。
從這段時間的觀察來看amp版本流量從無到有,從剛開始的每天幾十增加到目前每天大幾千,增長速度有所下降但增長趨勢還在延續。昨天Google的人還讓我報上兩個域名,加入他們内部的amp測試計劃,具體是什麼内容還不清楚。聽說amp project開始在國内架設cdn服務器,以後的發展還是有希望的。
這些處理的系列網站子域名很多,頁面數量巨大,添加AMP版本隻使用了現成的Accelerated Mobile Pages (AMP)模塊,隻有node頁面可以有對應的amp版本,而taxonomy/term頁面、Views頁面、模塊中定義的頁面都不能使用這個模塊來生成對應的amp版本,另外amp版本頁面中的鍊接都是鍊到正常版本頁面而沒有鍊到其它amp版本頁面,也不算很好的體驗。
應該是做成全站各個頁面都是amp版本、可以通過amp驗證,而且站内鍊接直接鍊接到amp版本。今天花了一些時間來嘗試,基本上把我這個博客網站做成了全面amp,主要修改的地方:
- amp模塊
- amp.module: 修改amp_is_amp_request中的判斷,隻要是帶有?amp或者&查詢參數都返回TRUE,以便使用amptheme模闆等;
- amp.module: 修改amp_html_head_alter中多語言時鍊接有誤的地方;
- amp模闆
- html.tpl.php:如果head中沒有canonical就添加返回正常版本的網址、底部一律添加到正常版本的鍊接;
- page.tpl.php:定義幾個函數:add_amp、remove_style、modify_img,用于修改鍊接為amp頁面、去掉style标簽内容、修改img圖片代碼,将首頁鍊接$front_page改為"$front_page?amp";
- node.tpl.php:!$view_mode == 'amp'需要改為!($view_mode == 'amp'),再在下面以前判斷是否為完整頁面if ($page)的地方改為判斷是否amp頁面if ($view_mode == 'amp');
- 普通版本模闆
- html.tpl.php:如果head中沒有amphtml就添加鍊接到amp版本的網址、底部一律添加到amp版本的鍊接;
經過這一番修改,基本上實現了全站amp化,可以通過amp驗證。少量地方(例如分類頁翻頁中page與amp查詢參數順序等)待仔細完善。
评论2
您好,請問如果是做好了的網站要做AMP是要網站重構
您好,請問如果是做好了的網站要做AMP是要網站重構,還是可以通過代碼插入來完成AMP呢?小白,你好!
小白,你好!
如果是已經做好了的網站要做AMP的話,我建議是增加一套AMP對應的皮膚來解決,這是最簡單、改動最小的辦法。
如果您使用的是WordPress或者Drupal等國外CMS,可以找到對應的AMP版本主題皮膚,隻要開啟使用并做一些簡單設置就可以有AMP版本了。
如果您的網站是其它CMS或者自己開發的程序,可以自己對着AMP官方網站的要求來開發一套AMP版本主題皮膚,與以前的系統共存就可以。
一般不建議把以前的網站全部改造成隻有AMP版本的或者推翻以前的結構完全重構,那樣會影響老用戶的感受以及搜索引擎已經收錄頁面的權重。