Have you ever opened your OpenAI dashboard at the end of a month, expected a horror story, and instead seen 34 cents? That is what a 100-post WordPress site actually costs to fully automate with the OpenAI API in 2026, if you wire it up yourself instead of paying a plugin to do it for you.
Two days ago we published the Claude API for WordPress walkthrough with the same honest cost math, the same “where do the keys live” question, and the same four-options decision tree. This post is its sister piece for OpenAI. If you have read that one, you already know the shape. The numbers, the models, the verdict on when to pick which provider, those are all different here.
The reason this matters: 90% of “OpenAI for WordPress” content on the internet still pitches chatbots. Chatbots are a fine use case, but they are not what moves the SEO needle on a content site. Meta descriptions, image alt text, FAQ blocks, Article schema, and a regularly refreshed llms.txt. Those move the needle. All five run for under 35 cents a month on a real WP install if you use the right OpenAI model for each.
What you will learn: what the OpenAI API actually is for a WordPress site owner (in plain English), the five “beyond chatbots” workflows that drive real organic visibility, verbatim May 2026 pricing for every GPT-5 family model, the real $0.34/month cost math, when to pick OpenAI vs Claude, and the four ways to plug it all in without writing a plugin yourself. The simplest path lives at store.posimyth.com/plugins/rankready/ and is free.

The OpenAI API in plain English (skip if you have shipped a key before)
You sign up at platform.openai.com, generate a secret key that starts with sk-proj-, and from that moment your WordPress site can POST a JSON payload to https://api.openai.com/v1/chat/completions and get back a model response. No middleman, no monthly “credits”, no per-feature paywall. You pay OpenAI directly per million tokens used.
A token is roughly four characters of English. A 500-word blog draft costs you about 700 input tokens and 700 output tokens, so call it 1.4k tokens per draft. At GPT-5 Mini rates ($0.25 in, $2.00 out per million), one draft costs $0.0016. One thousand drafts cost $1.60. This is the part that gets buried under chatbot tutorials, and it is the part that actually matters for an SEO-driven WordPress site.

The five “beyond chatbots” use cases that actually move SEO
Every one of these runs server-side via a single OpenAI POST. No frontend. No chat widget. No subscription wrapper. Just your WordPress hook fires, your code calls OpenAI, your database stores the result. The reader never knows AI was involved.
- Meta description generation on publish. Hook into
save_post, extract the post title and first 800 words, ask GPT-5 Nano to write a 150-character meta description that includes the primary keyword. Save to Rank Math or Yoast meta. Cost per post: $0.00009. A 100-post site: $0.009/month if you regenerate the whole library monthly. - Image alt text on media upload. Hook into
add_attachment, send the new image to GPT-4o Mini’s vision endpoint, ask for a 12 to 18 word descriptive alt that includes the page topic. Save to_wp_attachment_image_alt. Cost per image: $0.0001. Bulk-fix 200 legacy images: 2 cents one-off. - FAQ blocks with schema. When the editor clicks “Generate FAQ”, call GPT-5 Mini with the post body, ask for 5 to 6 Q&A pairs in JSON, render as Gutenberg FAQ block, inject FAQPage schema. Cost per post: $0.0017. The schema does not help SERP rich snippets anymore (Google killed that in late 2024) but it does help ChatGPT Search and AI Overview citation rates.
- Article + HowTo schema generation. On publish, send title + headings + first paragraph, get back valid JSON-LD with all required fields. Cost per post: $0.0002. This is the single highest ROI workflow because most WP themes ship broken or partial schema.
- llms.txt auto-refresh. When you publish a new post or update a high-traffic one, regenerate
/llms.txtat the root. The file lists your most important content as Markdown links so LLM crawlers know what to cite. Cost per refresh: $0.017. We covered the spec in the llms.txt for WordPress guide if you have not seen it.
None of these need a chat UI. None of them need a user-facing widget. They run silently in the background every time you save a post or upload an image, and they cost rounding-error money. The plugins that charge you $9 to $50 a month for “AI content tools” are charging you a markup on these exact five workflows.
OpenAI API pricing in May 2026 (verbatim)
Here is every model worth knowing for WordPress workflows. Pricing is per 1 million tokens, standard processing tier, captured from openai.com/api/pricing on May 28, 2026.

Three things most pricing roundups bury:
- Cached input is roughly 10x cheaper than fresh input. If you call the API with a long system prompt that does not change, OpenAI keeps it cached and charges $0.025 per million instead of $0.25 for GPT-5 Mini. That is why “always include the same instructions block at the top” saves real money at scale.
- Batch API is 50% off both input and output, with a 24-hour completion window. For overnight workflows (bulk legacy meta regen, llms.txt rebuild, sitemap-wide schema audit), batch is a no-brainer.
- Flex matches Batch (50% off), Priority is 2.5x standard. Most WP workflows are happy with Standard. Use Flex if you can tolerate slightly higher latency.
What a 100-post WordPress site actually pays
Here is the math, run with smart Mini and Nano model routing. No chatbot, no semantic-search frontend, just the five SEO workflows above plus embeddings for the search box.

Compare that to Rank Math Content AI at $5.99/month for 7,500 credits, or any of the WordPress AI plugins from the 8-plugins-for-2026 roundups charging $19 to $49 a month for the same five workflows. You are paying the markup, not the OpenAI cost. The plugin sits in the middle, calls OpenAI with its key, charges you a credit per call, and pockets the difference.
OpenAI vs Claude: when to pick which
We already shipped the Claude API + WordPress walkthrough with full Anthropic pricing math. Both APIs solve the same five WordPress workflows. Here is the honest tradeoff.
| Workflow | Pick OpenAI when | Pick Claude when |
|---|---|---|
| Meta descriptions | You want cheapest possible bulk (GPT-5 Nano at $0.05/$0.40) | You need them to read naturally without editing (Haiku 4.5) |
| Image alt text | Default. GPT-4o Mini vision is best value (Nano has no vision) | You already pay Claude. Haiku vision also works. |
| FAQ + Article schema | Volume play. Mini is half the cost of Haiku 4.5 | You want fewer schema validation errors out of the box |
| llms.txt + long-content tasks | You need 1M context (GPT-5.5) and your site is huge | Default. Sonnet 4.6 still wins on long-doc summarisation quality |
| Embeddings | Default. OpenAI’s text-embedding-3-small at $0.02/1M is unbeatable | Anthropic does not offer embeddings, so OpenAI wins by default |
| Per-month cost (100-post site) | ~$0.34 | ~$1.70 |
| Writing quality (subjective) | Good with Mini, great with GPT-5.4 and 5.5 | Better at “founder voice” and longer-form coherence |
Our actual production stack at POSIMYTH: OpenAI Mini for meta descriptions, alt text, and schema (the high-volume mechanical stuff), Claude Sonnet for FAQ blocks and content rewrites (the parts a human reads), OpenAI embeddings for semantic search across our docs. Total monthly spend across all POSIMYTH WP sites in May: under $4. The plugins we used to pay for ran $130/month for the same workflows.
Where the keys live and who sees the prompts
This is the question every “OpenAI for WordPress” article skips. When a plugin asks for your OpenAI key, three different things can happen:
- The plugin stores your key in your
wp_optionstable and calls OpenAI directly from your server. Prompts and responses never leave your site except for the OpenAI call itself. This is the clean version. - The plugin sends your key plus your prompts to its own SaaS backend, which then calls OpenAI on your behalf. Now a third party sees every prompt, every response, and has your key. Some do this for “rate limiting” or “model fallback”. Read the privacy policy before you trust this.
- The plugin uses its own key behind a credit system. You never see the OpenAI key. They control the model, the prompts, the rate limit, and they pocket the markup. You also have no audit trail when something goes wrong.
The Reddit thread below captures the broader frustration: site owners are tired of subsidising AI companies that take content and send no traffic back. Using OpenAI yourself, on your terms, flips the deal. You take AI’s value back into your own stack instead of waiting for citation crumbs.

Four ways to plug OpenAI API into WordPress
Option 1: Roll your own with wp_remote_post
Twenty lines of PHP. Drop in functions.php or a tiny mu-plugin. Hook into save_post, build a prompt, call OpenAI, save the response to meta. Zero dependencies, zero markup, full control. Maintenance falls on you when OpenAI changes model names or pricing.
add_action('save_post', function($post_id) {
if (wp_is_post_revision($post_id) || get_post_status($post_id) !== 'publish') return;
$body = wp_strip_all_tags(get_post_field('post_content', $post_id));
$title = get_the_title($post_id);
$r = wp_remote_post('https://api.openai.com/v1/chat/completions', [
'headers' => [
'Authorization' => 'Bearer ' . OPENAI_API_KEY,
'Content-Type' => 'application/json',
],
'timeout' => 30,
'body' => wp_json_encode([
'model' => 'gpt-5-nano',
'messages' => [
['role' => 'system', 'content' => 'Write SEO meta descriptions 140-155 chars. Include primary keyword. No quotes.'],
['role' => 'user', 'content' => "Title: $titlenn" . wp_trim_words($body, 400)],
],
'max_tokens' => 80,
]),
]);
if (is_wp_error($r)) return;
$data = json_decode(wp_remote_retrieve_body($r), true);
$meta = $data['choices'][0]['message']['content'] ?? '';
if ($meta) update_post_meta($post_id, 'rank_math_description', $meta);
});
That is the entire meta-description workflow. Add the four other use cases as separate hooks and you have replaced $30/month of plugins with 80 lines of PHP. Store OPENAI_API_KEY in wp-config.php, not in the database.
Option 2: Use AI Engine (plugin asks for your key)
Established WP plugin (Jordy Meow). You drop your OpenAI key into settings, prompts run through your server, AI Engine handles the queue and the editor UI. Clean privacy model, occasional version-lag with new OpenAI models, free tier covers most workflows. Best fit if you want a UI but you do not want a SaaS middleman.
Option 3: Use Rank Math Content AI (plugin’s key behind credits)
$5.99/month for 7,500 credits. Tightly integrated with Rank Math SEO panel. You never see the OpenAI key. Credits get consumed at “their” rate, not OpenAI’s. Best fit if you already pay for Rank Math Pro and want one-click meta generation without thinking about token counts. Worst fit if you want to control which model runs which workflow.
Option 4: RankReady LLM Integration (your key, your spend, zero telemetry)
This is the path we shipped because Options 1 to 3 each failed one of our three requirements: (a) we wanted real UI for non-developer team members, (b) we did not want a SaaS middleman on the prompt path, (c) we did not want a credit wrapper hiding the OpenAI cost. RankReady’s LLM Integration module gives you exactly that. Drop your OpenAI key (or Claude, or Gemini, or a local Ollama endpoint) into one screen. Pick a model. Set a monthly spend cap. Toggle the five workflows you want. Done.
RankReady LLM Integration: the OpenAI WordPress stack we actually use

1. Drop in your OpenAI key (or any provider)
The key lives in your WordPress options table, encrypted at rest, never sent anywhere except api.openai.com. You can also stash it in wp-config.php as a constant and RankReady picks it up automatically. Test-connection button verifies the key with a free /models list call so you know it works before the first real workflow fires.
2. Auto-generate meta descriptions at publish
Toggle on, set the model to GPT-5 Nano, set the character target (140-155). Every new published post gets a meta description written before WordPress finishes the redirect to edit-screen. Existing posts can be bulk-processed via the Batch panel (50% OpenAI discount applies). Written values go into Rank Math, Yoast, or SEOPress meta, whichever you have active.
3. Auto-generate alt text on media upload
Hooked into add_attachment. New image uploads get sent to GPT-4o Mini vision, descriptive alt text returns in 1.2 seconds, saved to _wp_attachment_image_alt. The bulk button processes your legacy library at $0.0001 each. Add context-hinting (the page topic the image lives on) for more relevant alts.
4. Generate FAQ blocks + Article schema in one call
In the post editor, click “Generate FAQ” in the RankReady sidebar. GPT-5 Mini reads the post, returns 5 to 6 Q&A pairs in structured JSON, renders as a native Gutenberg FAQ block, and injects FAQPage schema below. Article schema generates on publish using the same call. Both pass Schema.org validator out of the box.
5. Auto-refresh llms.txt when content changes
Hooked into save_post for posts in your “important” category list. When a high-traffic post changes or a new one is published, RankReady regenerates /llms.txt at root. The file ranks your top content for LLM crawlers in Markdown format. Cost per refresh: 1.7 cents. We covered the spec in the llms.txt for WordPress guide and the wiring in WebMCP for WordPress.
- Free forever. Pull from store.posimyth.com/plugins/rankready/. No credit card, no trial, no upsell wrapper. We do not resell OpenAI capacity, so there is nothing to mark up.
- Zero telemetry. No “anonymous usage stats”, no phone-home, no SaaS dashboard. Your prompts and responses never leave your server (except for the OpenAI POST itself).
- Switch providers in one dropdown. OpenAI today, Claude tomorrow, Gemini next month, local Ollama for sensitive content. Same toggles, same UI, different backend.
- Hard monthly spend cap. Set $5, $10, $50. RankReady stops calling the API the moment you hit it. No more “I forgot the loop was running” 4am surprise bills.
- Works with our sister-product stack. MCP server exposure, AI citation tracking, FAQ schema, llms.txt, all in one plugin. ChatGPT Search citation tracking is built in too.
The 10-minute action checklist
- Create an OpenAI API key at platform.openai.com/api-keys. Name it after the site so you can revoke later without breaking others.
- Add $5 prepaid credit. That covers a 100-post site for 14 months at the workflows above.
- Stash the key in
wp-config.phpasdefine('OPENAI_API_KEY', 'sk-proj-…');and never in the database. - Install RankReady from store.posimyth.com/plugins/rankready/, activate, open LLM Integration.
- Pick provider OpenAI, model gpt-5-mini, paste the key, click Test connection.
- Set spend cap to $5/month (you will never come close, but the safety net matters).
- Toggle on: meta descriptions, alt text, FAQ + schema, llms.txt refresh. Leave embeddings off unless you also run semantic search.
- Publish a test post and verify the meta description appears in Rank Math, alt text on a new image, schema in the page source.
- Run the legacy bulk meta + alt sweep from the Batch panel (50% Batch discount triggers automatically).
- Come back next month, check the Cost Log tab, expect to see less than a dollar.
Wrapping up
The OpenAI API is the cheapest commodity in the AI SEO stack right now. A 100-post WordPress site can run full meta, alt, FAQ, schema, and llms.txt automation for 34 cents a month if you use the right model for each workflow and bypass the plugin markup layer. The reason most WP-AI roundups make it sound expensive is because they only show you the chatbot use case (highest token cost) using the flagship model (highest per-token rate). Cheap is the default when you pick Mini and Nano for the workflows that do not need flagship reasoning.
If you also write content with Anthropic, the Claude API for WordPress walkthrough covers the same five workflows with Anthropic pricing, the four-option decision tree, and when to mix providers. Most real production stacks at this point are mixed: OpenAI for the high-volume mechanical work, Claude for the parts a human reads, OpenAI embeddings for search. RankReady’s LLM Integration handles both in one screen.
If you are running an Elementor site, the same workflows also play nicely with our Header Builder and the full 120-widget library. AI-generated meta and schema is independent of the editor you build pages in. Pricing is unchanged.
The full plugin is at store.posimyth.com/plugins/rankready/. Bring your own OpenAI key, keep your data on your server, pay OpenAI the 34 cents directly. We do not see any of it. That is the point.






