gatsbyjs/gatsby · error

[gatsby-source-drupal] No Gatsby Image CDN placeholder style

Error message

[gatsby-source-drupal]
No Gatsby Image CDN placeholder style found. Please ensure that you have a placeholder style in your Drupal site for the fastest builds. See the docs for more info on gatsby-source-drupal Image CDN support:
https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-source-drupal#readme

What it means

Fires once per build when skipFileDownloads (Image CDN mode) is enabled but the Drupal site defines no Gatsby Image CDN placeholder style. Image CDN still works, but placeholders fall back to slower/less optimal generation because the fast server-side placeholder endpoint is missing.

Source

Thrown at packages/gatsby-source-drupal/src/gatsby-node.ts:765

      )

      drupalCreateNodeManifest({
        attributes: datum?.attributes,
        gatsbyNode: node,
        unstable_createNodeManifest,
      })

      nodes.set(node.id, node)
    })
  }

  if (
    skipFileDownloads &&
    !imageCDNState.foundPlaceholderStyle &&
    !imageCDNState.hasLoggedNoPlaceholderStyle
  ) {
    imageCDNState.hasLoggedNoPlaceholderStyle = true
    reporter.warn(
      `[gatsby-source-drupal]\nNo Gatsby Image CDN placeholder style found. Please ensure that you have a placeholder style in your Drupal site for the fastest builds. See the docs for more info on gatsby-source-drupal Image CDN support:\n${imageCdnDocs}\n`
    )
  }

  createNodesSpan.setTag(`sourceNodes.createNodes.count`, nodes.size)

  // second pass - handle relationships and back references
  for (const node of Array.from(nodes.values())) {
    await handleReferences(node, {
      getNode: nodes.get.bind(nodes),
      mutateNode: true,
      createNodeId,
      cache,
      entityReferenceRevisions,
      pluginOptions,
    })
  }

View on GitHub (pinned to e85d62f177)

Solutions

  1. Create a placeholder image style in your Drupal site so the Image CDN placeholder endpoint exists.
  2. Confirm the Drupal site's placeholder style matches what gatsby-source-drupal expects (see the plugin README's Image CDN section).
  3. If placeholder optimization is not needed, safely ignore the warning.
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at packages/gatsby-source-drupal/src/gatsby-node.ts:765 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of gatsbyjs/gatsby@e85d62f177 (2026-08-26). Data as JSON: /api/errors/afacb72b6f462651. Report an issue: GitHub.