WordPress Integration

Install the Beatrice Headless plugin on WordPress to serve your blog listing and article pages on your own domain with server-rendered HTML, meta tags, and structured data.

Why WordPress + Beatrice?

Beatrice ships a free WordPress plugin that talks to your project API and exposes:

  • A blog index (e.g. /blog/)
  • One article page per slug (e.g. /blog/my-article/)

Content is rendered on the server in WordPress, which works well for SEO. You keep editing and publishing in Beatrice; WordPress acts as the public front end.


Download the plugin

The plugin lives in this repository under integrations/wordpress-beatrice-headless:

View folder on GitHub

Pick whichever is easier:

Option A — Download ZIP

  1. On GitHub, use Code → Download ZIP (full repository archive).
  2. Unzip it.
  3. Copy only the folder integrations/wordpress-beatrice-headless to a working location (you may rename it, e.g. beatrice-headless).

Option B — Git

git clone https://github.com/BrissouLaChankla/seonext.ai.git
cd seonext.ai/integrations/wordpress-beatrice-headless

You will upload or copy this folder into WordPress in the next step.


Install on WordPress

  1. Copy the wordpress-beatrice-headless folder (or your renamed copy) into: wp-content/plugins/
  2. In wp-admin, go to Plugins and activate Beatrice Headless Blog.

Configure project token

  1. Open Settings → Beatrice Headless.
  2. Paste your project token from the Beatrice dashboard (same token as other API integrations). The plugin always uses https://beatrice.app as the API base — you do not enter a URL.
  3. Blog UI language: choose Same as WordPress, English, or Français for labels (Blog, Previous/Next, back link, related section title, FAQ).
  4. Optional: Blog URL prefix (default blog) — public URLs look like https://yoursite.com/blog/....
  5. Save changes.

After installing the plugin, or if /blog/ returns 404:

Go to Settings → Permalinks and click Save Changes once (no need to edit anything).


Verify it works

  • Visit https://yoursite.com/blog/ (or your custom prefix) — you should see published articles.
  • Open an article — the full HTML from Beatrice should display.

Use Clear API cache on the plugin settings screen if updates feel slow (responses are cached for a short TTL).


SEO and theme

  • The plugin sets title, meta description, canonical, Open Graph / Twitter (when Yoast SEO and Rank Math are not active) and JSON-LD Article (plus FAQPage when FAQs exist on the article).
  • With Yoast SEO or Rank Math, the plugin hooks into their filters for title, meta description, and canonical URL.
  • The plugin enqueues assets/css/beatrice-front.css on Beatrice URLs only (high priority). Fonts inherit from your theme. Accent colour (archive title hover, pagination, in-article links, blockquote accent) uses --beatrice-accent, resolved from common theme variables (--wp--preset--color--primary, Elementor --e-global-color-primary, Astra, Woodmart, etc.) with a fallback indigo.
  • Duplicate .thhf-masthead (e.g. The7) is hidden when it appears twice. On large screens, “Read also” / “Lire aussi” (same tag as the Beatrice app) shows in a sticky column beside the article.

XML sitemap (WordPress core)

With a valid project token, the plugin registers a core sitemap provider (WP 5.5+). Your Beatrice article URLs appear in /wp-sitemap.xml (and sub-sitemaps such as wp-sitemap-beatricearticles-1.xml — the name must be letters only to match WordPress rewrite rules). Slugs are loaded from GET /api/slugs and cached for one hour; use Clear API cache in plugin settings to refresh sooner.

If you use Yoast SEO or another plugin that disables WordPress core sitemaps, use that plugin’s own sitemap tools or re-enable core sitemaps in its settings so URLs stay discoverable.