Plugin Documentation

=== Blogstream ===
Contributors: Mike Endicott
Tags: ai, blog, automation, openai, seo
Requires at least: 5.5
Tested up to: 6.8
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Requires PHP: 7.4
Text Domain: blogstream
Domain Path: /languages

Generate blog posts from topics using OpenAI, with AI-powered SEO metadata for Yoast SEO.

== Description ==

Blogstream streamlines your content creation workflow by generating draft blog posts from a list of topics using OpenAI’s AI models. Perfect for bloggers, content creators, and businesses looking to scale their content production while keeping full control over publishing.

**Key Features:**

* **AI-Powered Content Generation** – Generate blog post drafts using OpenAI’s GPT models.
* **Topic Management** – Add topics individually or import them via CSV.
* **Automatic SEO Metadata** – Generate meta titles and descriptions compatible with Yoast SEO.
* **Featured Image Generation** – Create AI-generated featured images using DALL·E 3.
* **Manual Publishing Workflow** – Review, edit, and publish generated drafts when you’re ready.
* **CSV Import** – Bulk import topics from CSV files.
* **Custom System Prompts** – Tailor AI behavior to match your content style.

**Perfect for:**

* Bloggers scaling content creation
* Content marketers needing regular blog posts
* Businesses streamlining their content strategy
* Anyone looking to leverage AI for content generation

**Requirements:**

* OpenAI API key
* WordPress 5.5 or higher
* PHP 7.4 or higher

== Installation ==

1. Upload the plugin files to the `/wp-content/plugins/blogstream` directory, or install the plugin through the WordPress Plugins screen directly.
2. Activate the plugin through the ‘Plugins’ screen in WordPress.
3. Navigate to **Blogstream** in your admin menu and configure your OpenAI API key.
4. Add topics and start generating posts!

== Frequently Asked Questions ==

= Does this work with Yoast SEO? =

Yes. Blogstream can automatically populate meta titles and descriptions for Yoast SEO when enabled in the settings.

= What AI models are supported? =

You can use any OpenAI API key and select from supported models, including GPT-4, GPT-4 Turbo, and GPT-3.5 Turbo.

= How much does it cost to use? =

You’ll need an OpenAI API key. Costs depend on the model and the content length. Typically, generating a post costs between $0.01 and $0.10.

= Can I import topics from a spreadsheet? =

Yes. Use the CSV import feature to bulk upload topics. The first column should contain topic titles, and the second column (optional) can contain categories.

= Does it generate featured images? =

Yes. When enabled, Blogstream can generate featured images using DALL·E 3 based on your post content.

= Can I schedule automatic post generation? =

No. In the free version, posts must be generated manually by clicking the **Generate Post Now** button. All generated posts are saved as drafts for your review and publishing.

== Frequently Asked Questions ==

= What is the purpose of the system prompt? =
The system prompt tells the AI exactly who it is writing as, who it is writing for, and how it should structure and style the content. It acts like a combined job description, editorial guide, and quality checklist. Without a clear prompt, the AI may produce generic or inconsistent results.

= How do I create a good system prompt? =
Follow these best practices when writing your system prompt:
– **Identity & Role:** Define who the AI is (e.g., “You are a blog writer for {{BLOG_NAME}}, a site dedicated to {{TOPIC}}.”)
– **Audience:** Describe the intended readers (e.g., business owners, professionals, or general readers).
– **Tone & Style:** Specify the voice, tone, and any author inspirations. For example, “Clear, direct, and lightly humorous.”
– **Structure:** Explain how to organize the post (e.g., introduction, main sections, conclusion) and any heading rules.
– **Best Practices:** List any specific constraints (e.g., word count, citation requirements, SEO considerations).
– **Golden Rule:** Include a clear rule or standard that the content must follow.

= Can I require the AI to output valid HTML? =
Yes. You should explicitly instruct the AI to format the post using HTML tags rather than Markdown. For example:
“Use

for main sections and

for subsections. Do not include an

heading; WordPress will handle that automatically.”

= What length should each blog post be? =
Aim for a range that balances substance with readability. For most blogs, a target of **600–900 words** works well, but you can adjust this in your prompt based on your audience.

= Should I include examples in my system prompt? =
Yes—examples help the AI learn your preferred tone and format. Consider referencing 1–2 sample posts or describing the style using well-known author comparisons.

= How do I avoid repetitive examples in generated content? =
Add a note in your prompt like:
“Important: Avoid referencing the same case study or example in every post. Use a variety of examples whenever possible.”

= What is the most important thing to remember? =
Be specific. A vague prompt leads to vague content. The clearer your instructions about voice, structure, and expectations, the more consistent your blog posts will be.

= Can I customize the system prompt later? =
Absolutely. You can edit the prompt anytime to adjust tone, length, or other preferences. Updating the prompt will immediately affect future generated posts.

= Is my content unique? =

Yes. The AI generates unique content based on your topics and system prompts. Always review generated content before publishing.

== Screenshots ==

1. **Manage Topics (screenshot-1.jpg)** – Add new topics manually, view topic status, or import topics in bulk using a CSV file.
2. **Generate Post (screenshot-2.jpg)** – See the next topic in the queue and generate a draft post with a single click.
3. **Settings (screenshot-3.jpg)** – Enter your OpenAI API key, choose a model, define a custom system prompt, and configure featured image options.

== Changelog ==

= 1.0.0 =
* Initial public release
* AI-powered blog post generation
* Topic management with CSV import
* Yoast SEO meta generation
* Featured image generation with DALL·E 3
* Manual draft generation workflow
* Custom system prompts
* OpenAI API integration

== Upgrade Notice ==

= 1.0.0 =
Initial release of Blogstream.

== Author ==

**Mike Endicott**

* [Website](https://blogstream.co/)
* [Support](mailto:support@blogstream.co)

== Support ==

For support, please visit [https://blogstream.co/](https://blogstream.co/) or email [support@blogstream.co](mailto:support@blogstream.co).