前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress秒变谷歌AMP加速移动页面并自动推送

WordPress秒变谷歌AMP加速移动页面并自动推送

作者头像
沈唁
发布2018-05-24 17:06:30
1.9K0
发布2018-05-24 17:06:30
举报
文章被收录于专栏:沈唁志沈唁志

谷歌 AMP(Accelerated Mobile Pages)字面意思就是“加速移动网页”,官方解释是:Accelerated Mobile Page (AMP) 是根据开放源代码规范设计的网页。经过验证的 AMP 网页会缓存在 Google 的 AMP 缓存中,从而可以更快速地呈现给用户。

AMP 页面是大大简化了移动页面,旨在提高针对移动页面的访问速度,AMP 的特点如下:

  • AMP 的 HTML 代码是标准 HTML 的一个子集,大大简化了 html 的代码,部分 Html 代码将不再适用,如 table,frame 等。
  • 大大简化 css,且只能写在 HTML 中,不能调用外部 CSS 文件。
  • JS 大部分功能不能用了,但很多互动功能也就没了,虽然影响了丰富的交互,但速度提升了速度。
  • 加强对页面资源控制,比如图片、视频等用户下拉到图片时再加载。
  • 充分利用高速缓存,Google 将 AMP 页面缓存在自身的服务器上。

AMP for WordPress 插件下载:

百度网盘官方下载


WordpPress 后台搜索安装并启用 AMP 插件后,插件会自动为文章页创建一个 AMP 文章页面,页面链接 URL 是在原页面的链接 URL 加上“?amp”,文章页面链接 URL 是在原页面的链接 URL 加上“/amp”,以本博客文章链接为例:

代码语言:javascript
复制
原文章页面链接:
//https://qq52o.me/1921.html
AMP 页面的链接:
//https://qq52o.me/1921.html?amp

如果站点是在页面原有的 URL 后面加上/amp 或?amp 来达成 AMP 页面的,那么我们有必要禁止除百度和谷歌之外的搜索引擎抓取这些 amp 页面

如果百度和谷歌都是共用一套 AMP 页面,那么 robots.txt 可以这样写:

代码语言:javascript
复制
User-agent: baiduspider
Allow: /amp
Allow: ?amp
User-agent: googlebot-mobile
Allow: /amp
Allow: ?amp
User-agent: *
Disallow: /amp
Disallow: ?amp

如果百度用 MIP 页面,谷歌用 AMP 页面,那么 robots.txt 可以这样写:

代码语言:javascript
复制
User-agent: baiduspider
Allow: /mip
Allow: ?mip
User-agent: googlebot-mobile
Allow: /amp
Allow: ?amp
User-agent: *
Disallow: /mip
Disallow: ?mip
Disallow: /amp
Disallow: ?amp

在发布文章或者页面时自动主动推送提交 AMP 页面的,只需要将以下代码添加到当前主题的 functions.php 文件最后一个 ?> 的前面即可

代码语言:javascript
复制
/**
 * WordPress 秒变谷歌 AMP 加速移动页面并自动推送
 * @authors ShenYan (52o@qq52o.cn)
 * @date 2018-03-07 10:12:38
 */
if(!function_exists('Baidu_amp')){
    function Baidu_amp($post_ID) {
        //已成功推送的文章不再推送
        if(get_post_meta($post_ID,'Baiduamp',true) == 1) return;
        $url = get_permalink($post_ID);
		if(get_post_type($post_ID)=='page'){
		$url=$url.'?amp';
		}
		if(get_post_type($post_ID)=='post'){
		$url=$url.'/amp/';
		}
        $api = 'http://data.zz.baidu.com/urls?site=网站首页地址&token=密钥&type=amp';
        //登录百度搜索资源平台 >> 网站支持 >> 数据引入 >> MIP&AMP >> AMP 下方的数据提交就能看到 AMP 推送接口调用地址
        $request = new WP_Http;
        $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
        $result = json_decode($result['body'],true);
        //如果推送成功则在文章新增自定义栏目 Baiduamp,值为 1
        if (array_key_exists('success_amp',$result)) {
            add_post_meta($post_ID, 'Baiduamp', 1, true);
        }
    }
    add_action('publish_post', 'Baidu_amp', 0);
}

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:WordPress秒变谷歌AMP加速移动页面并自动推送

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档