Skip to main content
All documentation

The WordPress plugin

Install the Dynamic SEO plugin, paste the site key, verify that a published page is served, and what to check when nothing changes on a page.

WordPress is the one platform you can install today. The plugin is a ZIP, the setup is three screens, and the fourth step is the one that matters: checking that a page you published is actually served.

What the plugin does

On every request, the plugin asks us for the published SEO that belongs to the page's path and writes it into the HTML before WordPress sends the response. Nothing runs in the visitor's browser, and nothing changes on pages you have not published for. See how it works for the chain before that moment and publishing and serving for what "published" means.

Yoast and Rank Math are silenced on the pages where we have data and left alone everywhere else. Other SEO plugins are handled on a best-effort basis; if you run one and see duplicate tags on a managed page, tell us.

Before you start

You need the site in your dashboard and at least one page published for it. Without a published page there is nothing to verify against, and the last step below will tell you so.

Both the ZIP and the site key live in the Integrate view, under WordPress. The key starts with sk_ and is specific to this site; every installation for the site uses the same one.

Install

  1. Download the plugin ZIP from the Integrate view.
  2. In WordPress, go to Plugins → Add New → Upload Plugin, choose the ZIP and click Install Now.
  3. Click Activate.

Paste the site key

  1. In WordPress, open Settings → Dynamic SEO.
  2. Paste the key into the Site key field and click Save Changes.
  3. A green notice, "Site key is set", confirms the plugin has it.

If you prefer configuration in code, define DYNAMIC_SEO_SITE_KEY in wp-config.php. The constant takes precedence over the settings field.

Regenerating the key in the dashboard stops every installation for the site until each one has the new key. The integrations page explains the order to do that in.

Verify

Open a page that is published in your dashboard, then use Test connection in the Integrate view. It fetches the page the way a crawler would and checks that the tags in the response are ours.

Do this before you template the whole site. A guide you followed but never verified is, from our side, the same as one you never started.

When nothing changes on a page

Work backwards; each step is invisible until the one before it is done.

  • Is the page published? Generated content is not published content. The publishing and serving page is about exactly this.
  • Is the URL in your URL list? The plugin matches on the path of the request. A page we never discovered has nothing to serve. A leading www. is normalised, so www and non-www both match the registered domain.
  • Is the key set and current? A regenerated key breaks installations silently.
  • Has five minutes passed? The plugin keeps a short local cache as a safety net. A publish purges it; if a purge is missed, the cache expires on its own within five minutes.

After that, the Deploy view has a row per URL that says whether the plugin asked, and what it got.

Optional settings

All of these go in wp-config.php and none is needed for a normal site.

  • DYNAMIC_SEO_SITE_KEY: the site key, in code instead of the settings field.
  • DYNAMIC_SEO_CACHE_TTL: the local cache lifetime in seconds. The default is 300, and it is short on purpose.
  • DYNAMIC_SEO_FULL_PAGE_TRANSFORMS: set to true if a page builder renders headings and images outside the normal content, so that H1, H2 and image rewrites reach them. Off by default.