WordPress Yoast SEO插件和opengraph标签

时间:2014-09-02 15:10:12

标签: wordpress opengraph

我有一个动态的wordpress页面。 WordPress SEO通过Yoast将opengraph标签添加到所有页面,除了这一页之外没有问题。

有没有办法用更动态的内容覆盖元标记?

2 个答案:

答案 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 URL wpseo_opengraph_type - 允许更改   页面的OpenGraph类型wpseo_opengraph_desc - 允许更改   OpenGraph描述
wpseo_opengraph_site_name - 允许   更改OpenGraph站点名称wpseo_opengraph_show_publish_date -   允许显示其他帖子类型的发布日期   wpseo_opengraph_image_size - 允许更改用于的图像大小   OpenGraph sharing wpseo_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' );