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
- Download the plugin ZIP from the Integrate view.
- In WordPress, go to Plugins → Add New → Upload Plugin, choose the ZIP and click Install Now.
- Click Activate.
Paste the site key
- In WordPress, open Settings → Dynamic SEO.
- Paste the key into the Site key field and click Save Changes.
- 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 totrueif a page builder renders headings and images outside the normal content, so that H1, H2 and image rewrites reach them. Off by default.
Read next
Search performance