プラグインデータのクエリ
プラグインデータのクエリSlim SEO

Slim SEO

Slim SEOプラグインのデータを操作するクエリの例です。

SEOメタデータの取得

メタフィールドを使用してSEOメタデータをクエリできます:

query GetPost($postId: ID!) {
  post(by: { id: $postId }) {
    id
    title
 
    slimSeoMeta: metaValue(key: "slim_seo")
    metaTitle: _objectProperty(object: $__slimSeoMeta, by: { key: "title" }, failIfNonExistingKeyOrPath: false)
    metaDesc: _objectProperty(object: $__slimSeoMeta, by: { key: "description" }, failIfNonExistingKeyOrPath: false)
    fbImage: _objectProperty(object: $__slimSeoMeta, by: { key: "facebook_image" }, failIfNonExistingKeyOrPath: false)
    twitterImage: _objectProperty(object: $__slimSeoMeta, by: { key: "twitter_image" }, failIfNonExistingKeyOrPath: false)
    canonical: _objectProperty(object: $__slimSeoMeta, by: { key: "canonical" }, failIfNonExistingKeyOrPath: false)
  }
}

SEOメタデータの更新

メタミューテーションを使用してSEOメタデータを更新できます:

mutation UpdatePost($postId: ID!) {
  updateCustomPostMetas(inputs: [
    {
      id: $postId,
      key: "slim_seo",
      value: {
        title: "New title",
        description: "New description",
        facebook_image: "https://example.com/social-image.jpg",
        twitter_image: "https://example.com/social-image.jpg",
        canonical: "https://example.com/canonical-url"
      }
    }
  ]) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      __typename
      id
      slimSeoMeta: metaValue(key: "slim_seo")
      metaTitle: _objectProperty(object: $__slimSeoMeta, by: { key: "title" }, failIfNonExistingKeyOrPath: false)
      metaDesc: _objectProperty(object: $__slimSeoMeta, by: { key: "description" }, failIfNonExistingKeyOrPath: false)
      fbImage: _objectProperty(object: $__slimSeoMeta, by: { key: "facebook_image" }, failIfNonExistingKeyOrPath: false)
      twitterImage: _objectProperty(object: $__slimSeoMeta, by: { key: "twitter_image" }, failIfNonExistingKeyOrPath: false)
      canonical: _objectProperty(object: $__slimSeoMeta, by: { key: "canonical" }, failIfNonExistingKeyOrPath: false)
    }
  }
}