QQ爹の博客 QQ爹の博客

只对支持amp加速的搜索引擎开放amp功能

in 代码相关 文章转载请注明来源!

在上篇文章《Typecho 添加 AMP 支持》说了给博客加amp功能,但是我没说弊端233,这次说下优缺点。

优点:
1,amp确实很快捷
2,支持amp功能的搜索引擎(比如谷歌),会优先amp页面,也就是说对seo有利

缺点:
1,对于不支持amp的搜索引擎来说,amp页面内容与原文重复,属于重复文章,可能反而不利于seo。
2,amp页面会被缓存到支持amp功能的搜索引擎上,也就是说文章被收录后,如果再次被修改amp页面可能反应迟钝。
3,移动端搜索引擎带来的ip会减少,毕竟别人浏览搜索引擎上的amp页面,实际是缓存到搜索引擎服务器上的,所以并不会直接产出ip。

其实只有缺点1比较致命,所以本次就提出两个方案,着重讲第一个方案。

方案一:网站端判断来源,如果是谷歌的蜘蛛或者百度的蜘蛛就允许amp功能开启(谷歌搜索引擎和百度搜索引擎支持amp)
用百度搜索了下两家搜索引擎的特征,分别是GooglebotBaiduspider
而谷歌用来测试amp是否生效的ua信息被我抓出来了

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Google-AMPHTML)

百度的用来缓存amp页面的ua不知道,但是肯定包含Baidu所以只要往简单了判断也就行了

有了这些就万事俱备了,开始写判断

<?php 
$ua=$_SERVER['HTTP_USER_AGENT'];
$ua=strtolower($ua);
$ampok=strpos($ua,"baidu");$ampko=strpos($ua,"googlebot");$ampo=strpos($ua,"google-amphtml");
if($ampok !== false || $ampko !== false || $ampo !== false){
//此处为amp页的功能实现代码
}
 ?>

在调试过程中你可以安个Chrome插件User-Agent Switcher调试过程中来回切换UA会方便许多.感谢尚寂新提到的插件,省了好多力气。

方案二:使用robots.txt来禁止所有搜索引擎来收录amp页面,然后只允许百度或者谷歌来收录amp页面(谷歌搜索引擎和百度搜索引擎支持amp)[只是一种思考,不知道对于seo是否真的有作用]

题外话
雅虎也支持amp,但是雅虎好像废了,搜狗也说支持amp,但是站长平台下,并没有看到amp的影子。故此文只提到谷歌and百度。

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

搜索百度amp谷歌
发表新评论
已有 13 条评论
  1. 白衣超人
    白衣超人 7搜狗浏览器
    回复

    现在虽然百度支持AMP了,但是到现在也没有看到百度收录的AMP网站,不知道后续有没有新的政策

    1. Jrotty
      Jrotty本文作者 10Chrome 63
      回复

      @白衣超人 应该有吧,否则费力兼容amp干嘛,搞笑嘛

  2. 狂放
    狂放 LChrome 63
    回复

    百度应该是带有mipengine.org的蜘蛛,MIP是这样的amp就不知道了

    1. Jrotty
      Jrotty本文作者Safari 11
      回复

      @狂放 改成只判断baidu字符就行了

  3. 阳光盒子博客
    阳光盒子博客 NQQ浏览器 6
    回复

    恭喜又水了一贴

  4. 尚寂新
    尚寂新 7Chrome 60
    回复

    有个小失误啊 百度展现MIP页面的时候,不用BaiduSpider标识的那只蜘蛛进行爬取,而是用一个叫Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; baidumib;mip; https://www.mipengine.org)的蜘蛛把页面先给缓存四十五分钟 然后返回给访问者 然后过了四十五分钟之后用这个再次进行缓存(当访问者45分钟后再次访问) 所以你这么设置的话 百度是能抓取到MIP页面的 但是搜索结果里搜索者点进去之后 会在MIP加载页面留上几秒 然后自动跳回原H5页而不是展现MIP页面

    1. 尚寂新
      尚寂新 7Chrome 60
      回复

      @尚寂新 所以说要保证Mobile的BaiduSpider和Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; baidumib;mip; https://www.mipengine.org) 都返回的是MIP数据就没问题了 你这个缺少后者

      1. Jrotty
        Jrotty本文作者 OUC浏览器 11
        回复

        @尚寂新 感谢提醒233

  5. 不稽一格
    不稽一格 10Chrome 63
    回复

    水评论,二楼稳稳地,还有谁

  6. 变态鹅
    变态鹅 10Chrome 63
    回复

    噗噗噗,羡慕哭,鹅鹅什么也不会

    1. Jrotty
      Jrotty本文作者 OUC浏览器 11
      回复

      @变态鹅 会卖萌就行了,然后上千程序员gay你写bug

      1. yx17
        yx17 10Chrome 62
        回复

        @Jrotty gay你还行

      2. 变态鹅
        变态鹅 10Chrome 63
        回复

        @Jrotty 绝..绝了

前篇 后篇
雷姆
拉姆