{"id":307874,"date":"2026-06-19T06:37:44","date_gmt":"2026-06-19T06:37:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/rayai-content-orchestrator\/"},"modified":"2026-06-19T06:36:48","modified_gmt":"2026-06-19T06:36:48","slug":"raybogman-ai-content-orchestrator","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/raybogman-ai-content-orchestrator\/","author":21093775,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Ray Bogman AI Content Orchestrator","header_author":"Ray Bogman","header_description":"End-to-end AI content pipeline for WordPress: website scanning, SEO metadata, AI-generated articles, featured images (gpt-image-1), internal linking, and Yoast integration. Supports Claude and OpenAI.","assets_banners_color":"4d4d52","last_updated":"2026-06-19 06:36:48","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/raybogman.com","header_plugin_uri":"https:\/\/github.com\/raybogman\/raybogman-ai-content-orchestrator","header_author_uri":"https:\/\/bogman.info","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"raybogman","date":"2026-06-19 06:36:48"}},"upgrade_notice":{"1.0.2":"<p>Restores the Style Examples page, which was unreachable because its menu entry was missing.<\/p>","1.0.0":"<p>First public release: a free, fully functional AI content pipeline for WordPress with Claude\/OpenAI support, gpt-image-1 featured images, internal linking, and Yoast integration.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3578113,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3578113,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3578113,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3578113,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3578113,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3578113,"resolution":"1","location":"assets","locale":"","width":2560,"height":1812},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3578113,"resolution":"2","location":"assets","locale":"","width":2560,"height":3322},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3578113,"resolution":"3","location":"assets","locale":"","width":2560,"height":7540},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3578113,"resolution":"4","location":"assets","locale":"","width":2560,"height":3242},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3578113,"resolution":"5","location":"assets","locale":"","width":2560,"height":9242}},"screenshots":{"1":"Dashboard \u2014 overview with total posts, monthly count, drafts, and posts needing a refresh.","2":"Create Content \u2014 enter a topic, scan a website, select a blog style, and generate a full SEO-optimized post.","3":"Content result \u2014 SEO metadata, tags, categories, featured image options, and internal links.","4":"Settings \u2014 configure AI providers, featured images, internal linking, and the website scanner.","5":"Style Examples \u2014 preview the available blog writing styles."}},"plugin_section":[],"plugin_tags":[2353,229563,13175,194533,186],"plugin_category":[55],"plugin_contributors":[267823],"plugin_business_model":[],"class_list":["post-307874","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-claude","plugin_tags-content-generator","plugin_tags-openai","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-raybogman","plugin_committers-raybogman"],"banners":{"banner":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/banner-772x250.png?rev=3578113","banner_2x":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/banner-1544x500.png?rev=3578113","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/icon.svg?rev=3578113","icon":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/icon.svg?rev=3578113","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/screenshot-1.png?rev=3578113","caption":"Dashboard \u2014 overview with total posts, monthly count, drafts, and posts needing a refresh."},{"src":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/screenshot-2.png?rev=3578113","caption":"Create Content \u2014 enter a topic, scan a website, select a blog style, and generate a full SEO-optimized post."},{"src":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/screenshot-3.png?rev=3578113","caption":"Content result \u2014 SEO metadata, tags, categories, featured image options, and internal links."},{"src":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/screenshot-4.png?rev=3578113","caption":"Settings \u2014 configure AI providers, featured images, internal linking, and the website scanner."},{"src":"https:\/\/ps.w.org\/raybogman-ai-content-orchestrator\/assets\/screenshot-5.png?rev=3578113","caption":"Style Examples \u2014 preview the available blog writing styles."}],"raw_content":"<!--section=description-->\n<p>Ray Bogman AI Content Orchestrator generates SEO-optimized blog posts and pages for your WordPress site using Claude AI (Anthropic) or OpenAI GPT models. It is a complete, fully functional content pipeline: give it a topic, optionally scan a website for context, and it writes an original article, generates a featured image, adds internal links, and fills in your Yoast SEO fields.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li><strong>Dual AI Provider Support<\/strong> \u2014 Choose between Claude (Anthropic) and OpenAI (GPT) for content generation. Switch between providers at any time.<\/li>\n<li><strong>Website Context Scanning<\/strong> \u2014 Reads the single page at a URL you provide to give the AI background context for writing on-brand content. Only reads the one URL you explicitly enter \u2014 it never crawls, follows links, or reads sitemaps, and does no automated or third-party crawling.<\/li>\n<li><strong>AI Content Generation<\/strong> \u2014 Two-step process: generates SEO metadata first, then creates original HTML content with a table of contents, FAQ sections, and a call-to-action.<\/li>\n<li><strong>4 Blog Styles<\/strong> \u2014 Standard Blog Post, How-To Guide, Listicle, and Beginner's Guide \u2014 each with a specialized AI prompt.<\/li>\n<li><strong>AI Featured Images<\/strong> \u2014 Generate a custom hero image for each post using OpenAI gpt-image-1, automatically set as the featured image.<\/li>\n<li><strong>Title Overlay Images<\/strong> \u2014 Optionally place the post title on a branded background image with custom fonts and colors \u2014 a unique featured image per post, no AI image cost.<\/li>\n<li><strong>Automatic Internal Linking<\/strong> \u2014 After writing, the plugin scans your existing published posts and adds relevant internal links within the text to strengthen your site's SEO.<\/li>\n<li><strong>Project Vision<\/strong> \u2014 Define baseline instructions (brand voice, tone, audience, rules) that the AI always follows before generating any content.<\/li>\n<li><strong>SEO Metadata<\/strong> \u2014 Automatically generates SEO titles (max 60 chars), meta descriptions (max 155 chars), slugs, focus keyphrases, tags, and categories.<\/li>\n<li><strong>Yoast SEO Integration<\/strong> \u2014 Automatically populates Yoast SEO fields (title, meta description, focus keyphrase) when Yoast is installed.<\/li>\n<li><strong>WordPress Category Selection<\/strong> \u2014 Browse and select from existing WordPress categories. The AI also suggests additional categories based on content.<\/li>\n<li><strong>Draft or Publish<\/strong> \u2014 Save as draft for review or publish immediately.<\/li>\n<li><strong>Blog Post or Page<\/strong> \u2014 Generate blog posts (1000-2000 words with tags\/categories) or pages (500-1000 words).<\/li>\n<li><strong>Dashboard + Progress Logging<\/strong> \u2014 See content stats and real-time progress updates during scanning and generation. Download a debug log with one click.<\/li>\n<li><strong>Works on Shared Hosting<\/strong> \u2014 The generation pipeline is split into four short steps so it completes within typical server timeouts.<\/li>\n<\/ul>\n\n<p><strong>Supported Models:<\/strong><\/p>\n\n<ul>\n<li>Claude Sonnet 4.6, Opus 4.6, Haiku 4.5 (Anthropic)<\/li>\n<li>GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-4.1, GPT-4.1 Mini, GPT-4.1 Nano (OpenAI)<\/li>\n<\/ul>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>(Optional) Enter a page URL to read for context \u2014 the scanner reads only that single page for background information.<\/li>\n<li>Write a prompt describing the content you want.<\/li>\n<li>Choose blog post or page, pick a blog style, set draft or publish, and select categories.<\/li>\n<li>Click \"Create Content\" \u2014 the AI generates SEO metadata then full HTML content, an optional featured image, and internal links.<\/li>\n<li>Content is published to WordPress with tags, categories, and Yoast SEO fields populated.<\/li>\n<\/ol>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the following third-party AI services. No data is sent to any of them until the site administrator explicitly configures the relevant API key and initiates an action (for example clicking \"Create Content\" or generating an image). None of these services are contacted on the front end for normal site visitors.<\/p>\n\n<p>WordPress 7.0+ \u2014 preferred path: When running on WordPress 7.0 or newer and the site owner has configured a provider through the core AI Client, every text generation request is routed through that core AI Client first (wp_ai_client_prompt() \u2192 generateText()). In that case the plugin never touches api.anthropic.com or api.openai.com directly \u2014 the request goes to whichever provider the site owner has set up at the site level, with credentials managed by WordPress core. The plugin's own direct integrations below are used only as a fallback for older WordPress versions or when no core provider has been configured.<\/p>\n\n<h4>Anthropic (Claude AI)<\/h4>\n\n<p>What it is: AI text model API, used for content generation and SEO metadata when Claude is selected as the AI provider.\nDomain(s) contacted: api.anthropic.com\nWhat data is sent and when: The user prompt, the scanned website context, and the requested content type \u2014 sent only when an administrator clicks \"Create Content\".\n* Terms of service: https:\/\/www.anthropic.com\/legal\/consumer-terms\n* Privacy policy: https:\/\/www.anthropic.com\/privacy<\/p>\n\n<h4>OpenAI (GPT &amp; gpt-image-1)<\/h4>\n\n<p>What it is: AI text and image model API, used for content generation, SEO metadata, and AI featured image generation when OpenAI is selected.\nDomain(s) contacted: api.openai.com (generated images are then downloaded from the temporary URL OpenAI returns).\nWhat data is sent and when: The user prompt, scanned website context, and image-generation prompts \u2014 sent only when an administrator clicks \"Create Content\" or generates an image.\n* Terms of service: https:\/\/openai.com\/policies\/terms-of-use\/\n* Privacy policy: https:\/\/openai.com\/policies\/privacy-policy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>raybogman-ai-content-orchestrator<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>AI Content &gt; Settings<\/strong> and select your AI provider (Claude or OpenAI).<\/li>\n<li>Enter your API key and click Save Changes.<\/li>\n<li>Go to <strong>AI Content &gt; Create Content<\/strong> to generate your first post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20ai%20models%20does%20this%20support%3F\"><h3>What AI models does this support?<\/h3><\/dt>\n<dd><p>Both Claude (Anthropic) and OpenAI GPT models. You can configure both and switch between them in Settings.<\/p><\/dd>\n<dt id=\"do%20i%20need%20both%20a%20claude%20and%20openai%20account%3F\"><h3>Do I need both a Claude and OpenAI account?<\/h3><\/dt>\n<dd><p>No. You only need one AI provider. Pick either Claude or OpenAI and enter that provider's API key.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>The plugin is free. You pay only for the AI usage through your provider's API \u2014 typically $0.02\u2013$0.10 per blog post, plus about $0.06 per gpt-image-1 featured image.<\/p><\/dd>\n<dt id=\"do%20i%20need%20yoast%20seo%3F\"><h3>Do I need Yoast SEO?<\/h3><\/dt>\n<dd><p>No, Yoast SEO is optional. If installed, the plugin automatically populates the SEO title, meta description, and focus keyphrase. Without Yoast, metadata is still generated and stored in the post excerpt.<\/p><\/dd>\n<dt id=\"can%20i%20select%20which%20categories%20to%20use%3F\"><h3>Can I select which categories to use?<\/h3><\/dt>\n<dd><p>Yes. Existing WordPress categories are listed as checkboxes on the creation form. The AI may also suggest additional categories which are created automatically.<\/p><\/dd>\n<dt id=\"can%20i%20scan%20any%20website%3F\"><h3>Can I scan any website?<\/h3><\/dt>\n<dd><p>The scanner reads only the single publicly accessible page at the exact URL you provide. It is intended for reading your own website or a page you have permission to read, to give the AI relevant context. It reads just that one page \u2014 it never crawls, follows links, or reads sitemaps, and it performs no automated mass crawling or scraping of third-party sites.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: restored the \"Style Examples\" admin page. Its menu entry was missing, so visiting the page showed no content even though the example previews existed. The page is now registered again under the AI Content menu.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Hardening: the context-scanning request now verifies the remote TLS certificate (removed the SSL verification bypass) to prevent man-in-the-middle tampering.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release on WordPress.org.<\/li>\n<li>AI content generation with Claude (Anthropic) and OpenAI (GPT), routed through the WordPress 7.0+ core AI Client when available.<\/li>\n<li>Single-URL website scanning for context.<\/li>\n<li>Four blog writing styles (Standard, How-To, Listicle, Beginner's Guide).<\/li>\n<li>SEO metadata generation with Yoast SEO integration.<\/li>\n<li>AI featured image generation with OpenAI gpt-image-1, plus an optional branded title-overlay image.<\/li>\n<li>Automatic internal linking to existing published posts.<\/li>\n<li>Project Vision baseline instructions, category selection, draft\/publish, and a content dashboard with progress logging.<\/li>\n<\/ul>","raw_excerpt":"AI-powered content creation for WordPress. Generates SEO-optimized blog posts using Claude or OpenAI, with featured images and Yoast integration.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/307874","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=307874"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/raybogman"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=307874"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=307874"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=307874"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=307874"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=307874"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=307874"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}