我有一个动态的wordpress页面。 WordPress SEO通过Yoast将opengraph标签添加到所有页面,除了这一页之外没有问题。
有没有办法用更动态的内容覆盖元标记?
答案 0 :(得分:8)
通过Yoast SEO的代码,我发现了许多可以使用的“无证”过滤器。这是从中提取的列表:
wpseo_opengraph_author_facebook
- 允许开发人员过滤 Yoast SEO帖子作者facebook个人资料网址
wpseo_opengraph_admin
- 允许开发人员过滤fb:admins 由Yoast SEO推出的字符串wpseo_opengraph_title
- 允许更改 专门针对OpenGraph的标题
wpseo_opengraph_url
- 允许 更改OpenGraph URLwpseo_opengraph_type
- 允许更改 页面的OpenGraph类型wpseo_opengraph_desc
- 允许更改 OpenGraph描述
wpseo_opengraph_site_name
- 允许 更改OpenGraph站点名称wpseo_opengraph_show_publish_date
- 允许显示其他帖子类型的发布日期wpseo_opengraph_image_size
- 允许更改用于的图像大小 OpenGraph sharingwpseo_opengraph_image
- 允许更改 OpenGraph图片。
wpseo_twitter_card_type
- 允许更改 Twitter卡类型作为Yoast SEO的Twitter卡输出wpseo_twitter_metatag_key
- 制作Twitter元标记密钥 可过滤的wpseo_twitter_description
- 允许更改 Twitter描述为Yoast SEO的Twitter卡输出wpseo_twitter_title
- 允许将Twitter标题更改为输出 Yoast SEO推特卡wpseo_twitter_site
- 允许更改 这个Twitter网站帐户由Yoast在Twitter卡中输出 SEO
wpseo_twitter_image
- 允许更改Twitter卡 图像
wpseo_twitter_image_size
- 允许更改Twitter卡 图片大小wpseo_twitter_creator_account
- 允许更改 Twitter帐户作为Yoast SEO的Twitter卡输出
修改强>
要记住的一些事项:
Facebook废弃og:url
标记中的网址(即使它不是您提供的实际网址)。
如果从wp过滤器函数返回false
,Yoast将不会显示该标记,因此您可以像这样使用它,然后在您需要的代码中的其他位置手动添加标记...
例如,下面是一些禁用og和twitter的描述和图像标记的代码:
function yoast_og_tag ($tag) {
return false;
}
$yfilters = [ 'wpseo_opengraph_desc','wpseo_opengraph_image','wpseo_twitter_description','wpseo_twitter_image' ];
foreach ($yfilters as $k => $f) {
add_filter( $f, 'yoast_og_tag', 10, 1 );
}
答案 1 :(得分:2)
Yoast提供各种过滤器。有关这些文章的列表,请参阅他们的WordPress SEO API Docs文章。因此,例如,如果您要更改ID为86
的博客文章的opengraph类型,则可以使用wpseo_opengraph_type
过滤器:
function modify_opengraph_type_p86( $type ) {
if ( is_single( 86 ) )
$type = 'video';
return $type;
}
add_filter( 'wpseo_opengraph_type', 'modify_opengraph_type_p86' );