WordPress AMP 页面结构化数据提示 logo 和 image 错误

WordPress 启用 AMP,使用 Google 结构化数据测试工具检测页面可能会提示 logo 和 image 错误。image 错误很容易解决:文章设置一张特色图片就行。logo 错误目前应该要修改 amp 插件代码才行。

Google 文档:文章机构化数据规范

测试工具:结构化数据测试工具

老杨没有设置特色图片,每一篇文章设置是不可能的,可以用插件(Default featured image)设置,不过老杨选择了直接修改插件文件。

相关代码在:\amp\includes\amp-helper-functions.php 文件,amp_get_schemaorg_metadata() 函数。修改后代码:

function amp_get_schemaorg_metadata() {
$metadata = [
'@context' => 'http://schema.org',
'publisher' => [
'@type' => 'Organization',
'name' => get_bloginfo( 'name' ),
],
];

$metadata['publisher']['logo']['@type'] = "ImageObject";
$metadata['publisher']['logo']['url'] = get_bloginfo('template_directory').'/img/apple-touch-icon.png';


$post = get_queried_object();
if ( $post instanceof WP_Post ) {
$metadata = array_merge(
$metadata,
[
'@type' => is_page() ? 'WebPage' : 'BlogPosting',
'mainEntityOfPage' => get_permalink(),
'headline' => get_the_title(),
'datePublished' => mysql2date( 'c', $post->post_date_gmt, false ),
'dateModified' => mysql2date( 'c', $post->post_modified_gmt, false ),
]
);

$post_author = get_userdata( $post->post_author );
if ( $post_author ) {
$metadata['author'] = [
'@type' => 'Person',
'name' => html_entity_decode( $post_author->display_name, ENT_QUOTES, get_bloginfo( 'charset' ) ),
];
}

if ( get_post_meta(get_the_ID(), 'thumbnails-120', true) ) {
$post_image_meta = [
'@type' => 'ImageObject',
'url' => get_post_meta(get_the_ID(), 'thumbnails-120', true),
'width' => "120px",
'height' => "120px",
];
} else {
$post_image_meta = [
'@type' => 'ImageObject',
'url' => get_bloginfo('template_directory').'/img/random/thums-'.sprintf( "%02d", rand( 1, 12 ) ).'.png',
'width' => "120px",
'height' => "120px",
];
}
$metadata['image'] = $post_image_meta['url'];


/**
* Filters Schema.org metadata for a post.
*
* The 'post_template' in the filter name here is due to this filter originally being introduced in `AMP_Post_Template`.
* In general the `amp_schemaorg_metadata` filter should be used instead.
*
* @since 0.3
*
* @param array $metadata Metadata.
* @param WP_Post $post Post.
*/
$metadata = apply_filters( 'amp_post_template_metadata', $metadata, $post );
}

/**
* Filters Schema.org metadata for a query.
*
* Check the the main query for the context for which metadata should be added.
*
* @since 0.7
*
* @param array $metadata Metadata.
*/
$metadata = apply_filters( 'amp_schemaorg_metadata', $metadata );

return $metadata;
}

请根据实际修改红色字体部分内容。

也可以到 Google Search Console - AMP 检查是否有错误。

--- 完 ---

除非注明,沙唐桔文章均为原创,本文地址 https://cyhour.com/104/,转载时必须以链接形式注明原始出处。
声明:我们不销售主机,选主机需合法使用。任何主机需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!

群晖使用 rsync 本地文件夹间增量复制文件备份

Google 相册自动备份到 OneDrive,蜗牛星际安装了群晖,Cloud Sync 把 OneDrive 备份同步到本地。蜗牛星际群晖 NAS 用了4块监控录像机拆下来的垃圾盘,目前检测状态良好,不过不知道什么时候会挂,加上也没有做 raid,复制多一份稳点。 群晖官方貌似没有套件可以直接实现本地文件夹间增量复制文件…
浏览: 40 标签:  ,  ,  ,  ,  , 

TM-AC1900 3199 版本固件刷回 AC68U 支持 AiMesh

2016 年双十一淘宝买的水货华硕 RT-AC68U还在服役,折腾过双拨、刷过梅林……前阵子直接从梅林刷回原版。也是因为这个,大意了,中午登陆路由器看到有更新,于是点更新…… TM-AC1900 改的 AC68U 千万不要后台直接升级固件~ TM-AC1900 改的 AC68U 后台在线升级固件,直接悲剧了,三分钟、三分钟、三…
浏览: 85 标签:  ,  ,  , 

优酷路由宝 YK-L1 刷 Breed 和老毛子 Padavan 作无线打印服务器

前些天¥28收了一个极壹S(HC5661A),加USB刷Breed+老毛子作无线打印服务器用,挺好的。逛转转,看到一个优酷路由宝挺便宜的,¥30包邮到手,卖家说没有拆机,这么说自带的 8G TF 卡还在,还挺划算的,就买回来了。 两年前,就买过两个路由宝,那时候可以利用空闲宽带挖金币,基本上回本。后来又…
浏览: 52 标签:  ,  ,  ,  , 

Gridea,一个静态博客写作客户端(GUI 版 Hugo)

前几天折腾 Hugo,上手不难,建了个几乎零成本垃圾站,真香!Hugo 本地环境搭建比 Jekyll 简单,而 Gridea 比 Hugo 更简单,甚至,从功能上来说,Gridea 就是 Hugo GUI 版。 Gridea 简介 Gridea,一个静态博客写作客户端,小白也可以 GitHub Pages 搭建静态博客。开源、易用、强大。记录生…
浏览: 108 标签:  ,  ,  ,  ,  ,  ,  , 
浏览: 67 标签:  ,  ,  ,  , 

Comments:8

  1. 快发车

    2019.11.29 14:35 # 回复
    1楼
  2. 你还启用了AMP的呀,我都懒得再搞,自适应就满足了。

    2019.11.29 14:52 # 回复
    2楼
    • @Sam.Z 很早以前就开过,后来觉得没什么用,经常有错误提示邮件,就关掉了。最近折腾上 Google 广告,又重新安装上 AMP。

      2019.11.29 15:12 # 回复
  3. AMP是什么东西?

    2019.11.29 15:38 # 回复
    3楼
    • @张波博客 Accelerated Mobile Pages(简称AMP,意为“加速移动页面”)是Google带领开发的开源项目,目的是为提升移动设备对网站的访问速度。

      2019.11.29 17:16 # 回复
  4. 这个坑我好像踩过

    2019.11.30 03:10 # 回复
    4楼

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息