Query Plugin Data
Query Plugin DataThe SEO Framework

The SEO Framework

Examples of queries to interact with data from the The SEO Framework 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: "_genesis_title")
    metaDesc: metaValue(key: "_genesis_description")
    canonical: metaValue(key: "_genesis_canonical_uri")
    socialTitle: metaValue(key: "_open_graph_title")
    socialDesc: metaValue(key: "_open_graph_description")
    socialImage: metaValue(key: "_social_image_url")
    twitterTitle: metaValue(key: "_twitter_title")
    twitterDesc: metaValue(key: "_twitter_description")
  }
}

Updating SEO metadata

We can use meta mutations to update SEO metadata:

mutation UpdatePost($postId: ID!) {
  updatePost(
    input: {
      id: $postId
      meta: {
        _genesis_title: ["New focus keyword"],
        _genesis_description: ["New description"],
        _genesis_canonical_uri: ["https://example.com/canonical-url"],
        _open_graph_title: ["Social title"],
        _open_graph_description: ["Social description"],
        _social_image_url: ["https://example.com/social-image.jpg"],
        _twitter_title: ["New Twitter title"],
        _twitter_description: ["New Twitter description"],
      }
    }
  ) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    post {
      id
      metaTitle: metaValue(key: "_genesis_title")
      metaDesc: metaValue(key: "_genesis_description")
      canonical: metaValue(key: "_genesis_canonical_uri")
      socialTitle: metaValue(key: "_open_graph_title")
      socialDesc: metaValue(key: "_open_graph_description")
      socialImage: metaValue(key: "_social_image_url")
      twitterTitle: metaValue(key: "_twitter_title")
      twitterDesc: metaValue(key: "_twitter_description")
    }
  }
}