Queries over plugin-data
Queries over plugin-dataSlim SEO

Slim SEO

Voorbeelden van queries om te werken met gegevens van de Slim SEO-plugin.

SEO-metadata ophalen

We kunnen metavelden gebruiken om SEO-metadata op te vragen:

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-metadata bijwerken

We kunnen metamutaties gebruiken om SEO-metadata bij te werken:

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