PHPackages                             whitespace-se/wordpress-plugin-gatsby - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. whitespace-se/wordpress-plugin-gatsby

ActiveWordpress-plugin[API Development](/categories/api)

whitespace-se/wordpress-plugin-gatsby
=====================================

Adds preview and other integrations with Gatsby

v1.0.0(4y ago)04.1k↓33.3%[1 issues](https://github.com/whitespace-se/wordpress-plugin-gatsby/issues)1AGPL-3.0-or-laterPHP

Since Apr 14Pushed 4y ago10 watchersCompare

[ Source](https://github.com/whitespace-se/wordpress-plugin-gatsby)[ Packagist](https://packagist.org/packages/whitespace-se/wordpress-plugin-gatsby)[ RSS](/packages/whitespace-se-wordpress-plugin-gatsby/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (7)Used By (1)

Whitespace Gatsby integration for Wordpress
===========================================

[](#whitespace-gatsby-integration-for-wordpress)

Wordpress plugin that adds preview and other integrations with Gatsby.

How to install
--------------

[](#how-to-install)

If you want to use this plugin as an MU-plugin, first add this to your composer.json:

```
{
  "extra": {
    "installer-paths": {
      "path/to/your/mu-plugins/{$name}/": [
        "whitespace-se/wordpress-plugin-gatsby"
      ]
    }
  }
}
```

Where `path/to/your/mu-plugins` is something like `wp-content/mu-plugins` or `web/app/mu-plugins`.

Then get the plugin via composer:

```
composer require whitespace-se/wordpress-plugin-gatsby
```

Configuration
-------------

[](#configuration)

### Preview

[](#preview)

Define the `GATSBY_PREVIEW_ENDPOINT` constant in you config (e.g. in `wp-config.php`) to set up the preview, for example:

```
define("GATSBY_PREVIEW_ENDPOINT", "https://example.com/wp-preview");
```

This url will be appended with a query string containing these parameters:

- `id` – The GraphQL ID for the post
- `user` =&gt; The encrypted ID of the user that is previewing the post
- `wpnonce` =&gt; A `wp_rest` nonce
- `contentType` =&gt; The content type of the post (deprecated)

You should use GraphQL to request data for the preview and that request must contain the `x-wp-user` and `x-wp-nonce` headers, containing the values received in the query string.

The GraphQL query may look like this, where `$id` is the GraphQL ID for the post received in the query string:

```
query PreviewQuery($id: ID!) {
  wp {
    contentNode(id: $id, asPreview: true) {
      # ...
    }
  }
}
```

### Refresh on save

[](#refresh-on-save)

Define the `GATSBY_REFRESH_ENDPOINTS` constant in you config (e.g. in `wp-config.php`) if you need to trigger a Gatsby refresh when posts are updated. Example:

```
define("GATSBY_REFRESH_ENDPOINTS", "http://localhost:8000/__refresh");
```

The value can be a single URL or multiple URLs either as an array or comma-separated in a single string. You can also use the `gatsby_refresh_endpoints` filter to alter the value.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~57 days

Recently: every ~71 days

Total

6

Last Release

1574d ago

Major Versions

v0.2.2 → v1.0.02022-01-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/592af4ef31862c92dfc8f616c100f6a2cbf189e4a2d68a1d25c140a06dba205c?d=identicon)[whitespace](/maintainers/whitespace)

---

Top Contributors

[![jeanfredrik](https://avatars.githubusercontent.com/u/8242740?v=4)](https://github.com/jeanfredrik "jeanfredrik (23 commits)")[![pbrotherton](https://avatars.githubusercontent.com/u/19387424?v=4)](https://github.com/pbrotherton "pbrotherton (3 commits)")[![johanwestin](https://avatars.githubusercontent.com/u/411063?v=4)](https://github.com/johanwestin "johanwestin (1 commits)")

### Embed Badge

![Health badge](/badges/whitespace-se-wordpress-plugin-gatsby/health.svg)

```
[![Health](https://phpackages.com/badges/whitespace-se-wordpress-plugin-gatsby/health.svg)](https://phpackages.com/packages/whitespace-se-wordpress-plugin-gatsby)
```

###  Alternatives

[sybrew/the-seo-framework

An automated, advanced, accessible, unbranded and extremely fast SEO solution for any WordPress website.

47078.8k](/packages/sybrew-the-seo-framework)[a2design-company/mandrill-cakephp-plugin

Mandrill CakePHP plugin

193.2k](/packages/a2design-company-mandrill-cakephp-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
