WordPress open graph plugin
WordPress Open Graph plugin for OG tags and OG images
A WordPress Open Graph plugin decides who writes the OG tags and where the OG image comes from. Use a theme hook when one uploaded file is the whole preview and you will maintain the tags. Use Yoast or Rank Math when an uploaded social image should stay the card. Install the OG Pilot plugin when posts, pages, or WooCommerce products should get a generated card. Use an API key or MCP when the image is signed outside WordPress. The step-by-step is how to change the OG image in WordPress. What og:title, og:description, og:image, and og:url mean is the Open Graph protocol on WordPress. AIOSEO's default post image source is the option you choose on its Facebook default-image page. This app returns an image URL. The plugin prints og:title, og:description, og:image, and og:url when Open Graph output is on.
Install the WordPress plugin for the content library, get an API key to sign CDN URLs from another server, read the API docs for the PHP SDK and JWT claims, use MCP when an agent should generate the card, generate one image before you wire production auth, or check a permalink in the Open Graph debugger. The same hosted API is what the OG image API comparison sets next to @vercel/og and DIY Satori.
When a featured image is enough
The WordPress theme handbook describes featured images as pictures a theme prints after add_theme_support('post-thumbnails'), using the_post_thumbnail() or wp_get_attachment_image_src(). That output is an img in the page. Core does not document an og:image tag. A theme or a small plugin has to echo the meta tags from wp_head. That path fits a campaign with one designed file whose URL can stay stable. Skip it when every post needs a different layout, or when you do not want tag logic living in the theme. If Yoast, Rank Math, or the OG Pilot plugin is also printing og:image, you will get two tags unless one of them stops.
When Yoast or Rank Math should own the tags
Yoast's Open Graph functional spec sets og:image from a user-defined Facebook image in the Social tab, then the featured image on posts, then a prominent image from the content, then the social default from Search Appearance, then the site fallback. The current help article labels the editor Social media appearance. The spec still calls the stored field a Facebook image. Rank Math's Open Graph guide calls og:title, og:type, og:url, and og:image essential, and lists the image order as the Social-tab OpenGraph image, then the featured image, then the first image in the post, then the default OpenGraph thumbnail. Its Titles and Meta guide says that thumbnail is the fallback when a post has neither a featured image nor an OpenGraph image, and it recommends 1200 by 630 pixels. AIOSEO's default Facebook image doc lets you set Default Post Image Source to Default Image, Featured Image, Attached Image, First Image in Content, Image from Custom Field, Post Author Image, or First Available Image, with the Default Post Facebook Image as the fallback. Both Yoast and Rank Math attach tags to a file you already have. They do not draw a new card from a template when the headline changes. The OG Pilot plugin FAQ says Meta Ownership set to External SEO plugin stops OG Pilot tags so Yoast, Rank Math, or AIOSEO can keep theirs. The plugin returns before printing tags in that mode.
Plugin meta tags vs dynamic API OG images
On a WordPress site, install the plugin. It connects with OAuth and PKCE (S256). A signed-in OG Pilot account links the site, this app marks that domain verified, and the plugin requests images with a bearer token. There is no DNS TXT step in that flow, and no API key in the theme. Supported content types named on the WordPress.org listing are posts and pages, plus products when WooCommerce is active. Templates named on the listing are page, blog_post, podcast, portfolio, book, event, product, company, and github. With Open Graph output on, the plugin prints og:title, og:description, og:type, og:url, og:site_name, and og:locale, plus og:image (the generated CDN URL, or the featured image when that URL is missing) with width 1200 and height 630. Twitter output includes twitter:card summary_large_image and twitter:image.
Outside WordPress, sign the request on your server. The API docs show POST https://ogpilot.com/api/v1/images with a JSON body field token containing an HS256 JWT. Required claims are iss (verified domain) and sub (API key prefix). The PHP SDK is sunergos/og-pilot-php. Pass iat when you want the documented 24-hour cache window. Omit iat and the cache does not expire on its own. The API docs require DNS TXT verification before the API generates images. Keep the API key out of the theme and out of git. Prefer the plugin inside WordPress and the SDK everywhere else. Your template is what prints og:image. The image API does not print og:title, og:description, or og:url.
| Dimension | WordPress plugin meta tags | Dynamic API OG images |
|---|---|---|
| Best fit | Posts, pages, and WooCommerce products that should get OG tags without a theme hook. | A PHP, Ruby, JavaScript, or Python app, or an agent that should create the card. |
| og:image | The plugin prints the CDN URL as og:image, or the featured image when generation has no URL yet. | Your template prints the returned URL in og:image and twitter:image. |
| og:title, og:description, og:url | The plugin prints them when Open Graph output is on. This app only returns the image URL. | You write them. The image API does not. |
| Domain check | WordPress OAuth marks the site domain verified. No DNS TXT step. | DNS TXT is required before the API generates images. |
| Latency and cost | Plugin FAQ: most images ready in 5â10 minutes via WP-Cron. Not measured here. | Plan catalog: Starter $5/month, Builder $49/month, Growth $99/month. No per-image price. |
MCP, when an agent should make the card
Agents call the remote MCP endpoint at https://ogpilot.com/mcp. The block below is the remote config for a client that accepts an mcpServers map. Claude and ChatGPT do not read that file. Connector screens differ, so follow /docs/mcp instead of guessing a second config. Do not add command, args, or a bearer token. MCP fits a workflow where an agent creates the image from a URL. It does not replace the plugin for a normal WordPress publish.
{
"mcpServers": {
"og-pilot": {
"type": "streamable-http",
"url": "https://ogpilot.com/mcp"
}
}
}
Decision checklist
- One unchanging file, and you will maintain the tags? Print the featured image from wp_head.
- Yoast, Rank Math, or AIOSEO already owns social tags, and the card is an upload? Set the social image in that plugin.
- The library is posts, pages, or WooCommerce products? Install the OG Pilot plugin and connect OAuth.
- Both an SEO plugin and OG Pilot would print tags? Set Meta Ownership to External SEO plugin. Do not leave both writers on.
- The page is outside WordPress, or an agent should create the card? Get an API key or follow the MCP guide.
The plugin FAQ says most images are ready within 5 to 10 minutes depending on queue load and the site traffic that triggers WP-Cron. The plan catalog lists Starter at $5/month ($50/year, 10,000-image quota), Builder at $49/month ($99/year, 100,000-image quota), and Growth at $99/month ($199/year, unlimited image quota). Those defaults are in the app catalog and on pricing. A Stripe image_quota feature can replace the quota. The catalog has no per-image price.
WordPress Open Graph plugin questions
Is OG Pilot a WordPress Open Graph plugin?
Yes. The official plugin is OG Pilot Dynamic Open Graph Images on WordPress.org. In this app, connecting it is OAuth with PKCE. A signed-in account links the site, the domain is marked verified, and the plugin requests images with a bearer token. You do not paste an API key into the theme.
What does the plugin set for og:title, og:description, og:image, and og:url?
This app returns an image URL. With Open Graph output on, the plugin prints og:title (configured title, or the post title), og:description (configured description, or the excerpt), og:url (the permalink), and og:image (the generated CDN URL, or the featured image when that URL is missing) at 1200 by 630.
How is a WordPress OG tags plugin different from theme tags?
WordPress core does not turn a featured image into og:image. A theme hook can echo the tags, and you maintain that hook. The plugin is for a generated card when you do not want that logic in the theme.
When should I use the dynamic API instead of the WordPress plugin?
Use the plugin for the WordPress library. Use the API when another stack should sign the same templates and you will print og:image yourself. Use MCP when an agent should create the card. After you choose, confirm the card in the Open Graph debugger. Sign up for an API key, install MCP, and read the docs before you hard-code a JWT.