AMP Project是Google提出的一種移動頁面加速方案,包含了對各個廣告提供商的支持,但在國内一直看不到廣告,原因是被牆擋住了。在國内訪問帶有廣告的AMP頁面如下截圖所示:
截圖左邊中間是訪問不到廣告的時候給出一個空白方塊和一個找不到内容的符号,截圖右邊是Chrome浏覽器打開F12調試看到的報錯,可以看出AMP頁面中每個廣告位是有一個ampproject.net的二級域名,PING域名發現指向是Google的緩存服務器IP,而這些IP被牆阻擋了,其實這些AMP廣告内容沒什麼違規的,應該是被牆誤傷了,但也沒人來解決這個事情。🙁
本來AMP頁面的流量來源一般都是Google搜索,用得了Google搜索的浏覽者自然也可以看到AMP頁面中的廣告,而國内用不了Google搜索的用戶,也不會發現AMP頁面,所以應該影響不大。
❓ 問題的發現:
但我們最近發現百度搜索也給我們的AMP頁面帶來相當流量,我們的郵編庫網站的手機版流量最近大為下降,先以為是權重下降或者流量自然下降,不過後來發現在手機版流量下降的同時,我們對應的AMP版本流量卻大為上升(因為電腦版、手機版、MIP版都用的百度統計、AMP版本用的Google Analytics,所以沒有及時發現這個變化),而且來源就是百度搜索,我們估計是因為我們的AMP版本訪問速度快、頁面提交多的原因。
這樣國内用戶訪問我們的AMP版本頁面時雖然可以正常看到頁面内容,但廣告就不能顯示了,而且在廣告位的地方出現一個大的空白和報錯,也很影響用戶體驗,我們還是需要想辦法解決。
1️⃣ 辦法一:在AMP頁面用amp-ad投放百度聯盟廣告
我很早就知道AMP頁面本身提供對很多廣告提供商的支持,去看了看amp-ad支持的列表,有Baidu的字樣,使用也非常簡單,嵌入代碼:
<amp-ad width="300" height="250" type="baidu" data-cproid="{cproid}"> </amp-ad>
在百度聯盟後台添加新的廣告單元,獲取對應的cproid,就可以把這樣的代碼放到AMP頁面中,但可惜依然被牆攔住了,國内普通用戶還是無法看到廣告,我們測試翻牆是可以看到百度廣告的,但顯然這個辦法無法解決國内用戶的問題;
2️⃣ 方法二:在AMP頁面用amp-iframe投放百度聯盟廣告
我們轉測試做了一個html頁面,放置百度聯盟的廣告代碼,再在AMP頁面中通過amp-iframe的方式來調用這個html頁面,結果是可以正常顯示出百度廣告的,不過amp project官方的amp-iframe組件說明中有這段:
Usage of amp-iframe for advertising amp-iframe must not be used for the primary purpose of displaying advertising. It is OK to use amp-iframe for the purpose of displaying videos, where part of the videos are advertising. This AMP policy may be enforced by not rendering the respective iframes. Advertising use cases should use amp-ad instead. The reasons for this policy are that: amp-iframe enforces sandboxing and the sandbox is also applied to child iframes. This means landing pages may be broken, even if the ad itself appears to work. amp-iframe does not provide any mechanism to pass configuration to the iframe. amp-iframe has no fully iframe controlled resize mechanism. Viewability information may not be available to amp-iframe.
從上面看官方不推薦用amp-iframe來投放廣告,所以我們也沒用采用這個辦法;
3️⃣ 方法三:在AMP頁面直接放置百度聯盟的JS代碼
我們幹脆大膽采取一種不規範的辦法:在AMP頁面中直接放置百度聯盟的JS代碼,這顯然是不符合AMP規定的,也無法通過AMP驗證,可我們覺得不能通過AMP驗證也問題不大,大不了百度、Google等搜索引擎不收錄和展示我們的AMP頁面了,但很大概率上還是會展示我們對應的手機版或者MIP頁面。
這種辦法是可以解決AMP版本中百度廣告(也可以直接用AdSense廣告代碼)顯示的問題的,目前這個辦法已經采用了大約三周時間,新增廣告位的收入有明顯增加,而AMP版本來自百度搜索的流量并沒有很明顯下降,說明起到了我們預想的作用。
另外,修改AMP頁面中的廣告代碼後并沒有看到廣告展示量與流量一緻,檢查發現是百度對AMP緩存造成的,通過百度資源平台裡面的AMP頁面清除辦法來批量清除了AMP頁面的緩存,後面看到廣告展示量有提升。
上面記錄了三個辦法,各有利弊,根據各人自己網站的情況取舍吧,最好還是以後取消牆或者牆解除這種對廣告的誤屏蔽,那是最好了,就是不知道什麼時候能實現☹。或者各位還有什麼好的辦法,歡迎留言交流🤝
评论1
文章不錯非常喜歡
文章不錯非常喜歡