Query Plugin Data
Query Plugin DataYoast SEO

Yoast SEO

Examples of queries to interact with data from the Yoast SEO plugin.

Fetching SEO metadata

We can use meta fields to query SEO metadata:

query GetPost($postId: ID!) {
  post(by: { id: $postId }) {
    id
    title
 
    metaTitle: metaValue(key: "_yoast_wpseo_title")
    metaDesc: metaValue(key: "_yoast_wpseo_metadesc")
    focusKeyword: metaValue(key: "_yoast_wpseo_focuskw")
    socialFBTitle: metaValue(key: "_yoast_wpseo_opengraph-title")
    socialFBDesc: metaValue(key: "_yoast_wpseo_opengraph-description")
    socialFBImage: metaValue(key: "_yoast_wpseo_opengraph-image")
    socialTwitterTitle: metaValue(key: "_yoast_wpseo_twitter-title")
    socialTwitterDesc: metaValue(key: "_yoast_wpseo_twitter-description")
    socialTwitterImage: metaValue(key: "_yoast_wpseo_twitter-image")
  }
}

Updating SEO metadata

We can use meta mutations to update SEO metadata:

mutation UpdatePost($postId: ID!) {
  updateCustomPostMetas(inputs: [
    { id: $postId, key: "_yoast_wpseo_title", value: "New title" },
    { id: $postId, key: "_yoast_wpseo_metadesc", value: "New description" },
    { id: $postId, key: "_yoast_wpseo_focuskw", value: "New focus keyword" },
    { id: $postId, key: "_yoast_wpseo_opengraph-title", value: "Social title" },
    { id: $postId, key: "_yoast_wpseo_opengraph-description", value: "Social description" },
    { id: $postId, key: "_yoast_wpseo_opengraph-image", value: "https://example.com/social-image.jpg" },
    { id: $postId, key: "_yoast_wpseo_twitter-title", value: "Social title" },
    { id: $postId, key: "_yoast_wpseo_twitter-description", value: "Social description" },
    { id: $postId, key: "_yoast_wpseo_twitter-image", value: "https://example.com/social-image.jpg" },
  ]) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      __typename
      id
      metaTitle: metaValue(key: "_yoast_wpseo_title")
      metaDesc: metaValue(key: "_yoast_wpseo_metadesc")
      focusKeyword: metaValue(key: "_yoast_wpseo_focuskw")
      socialFBTitle: metaValue(key: "_yoast_wpseo_opengraph-title")
      socialFBDesc: metaValue(key: "_yoast_wpseo_opengraph-description")
      socialFBImage: metaValue(key: "_yoast_wpseo_opengraph-image")
      socialTwitterTitle: metaValue(key: "_yoast_wpseo_twitter-title")
      socialTwitterDesc: metaValue(key: "_yoast_wpseo_twitter-description")
      socialTwitterImage: metaValue(key: "_yoast_wpseo_twitter-image")
    }
  }
}