谷歌 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”,以本博客文章链接为例:
原文章页面链接:
//https://www.eyuyun.com/63.html
AMP 页面的链接:
//https://www.eyuyun.com/63.html?amp
如果站点是在页面原有的 URL 后面加上/amp 或?amp 来达成 AMP 页面的,那么我们有必要禁止除百度和谷歌之外的搜索引擎抓取这些 amp 页面
如果百度和谷歌都是共用一套 AMP 页面,那么 robots.txt 可以这样写:
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 可以这样写:
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
文件最后一个?>
的前面即可:
/**
* 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 推送接口调用地址
$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);
}
登录百度搜索资源平台 >> 网站支持 >> 数据引入 >> MIP& >> AMP,在下方的数据提交中就能看到 AMP 推送接口调用地址,这个 API 调用地址替换上面的http://data.zz.baidu.com/urls?site=网站首页地址&token=密钥&type=amp