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")
}
}
}