=== Articla Lite Bulk Publisher ===
Contributors: articla79
Tags: ai content, bulk publishing, openai, seo, citations
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 0.7.8
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Generate **high-quality draft posts in bulk** using AI—complete with headings, citations from your sources, optional featured images, and a built-in quality check.

== Description ==
**Ship more content, keep control.** Articla Lite turns CSV lines into polished **drafts** you can review before publishing. It adds headings, formats content, inserts a **References** section from URLs you provide, and (optionally) fetches a licensed image via Pexels.

= Quick Demo (1 min) =
https://www.youtube.com/watch?v=Udj_R9VakOs

**Why users pick Articla Lite**
- **Faster output, safer publishing:** drafts only; you approve.
- **Real citations:** links come from the URLs you supply.
- **Quality gate:** minimum words, headings, citations; auto-`noindex` until approved.
- **One-click batches:** paste CSV, select categories, start.
- **Optional images:** pulls a relevant image and sets featured image.
- **Export ready:** WXR export of generated posts.

**Quick Start (3 steps)**
1. Paste your **OpenAI API key** (and optionally **Pexels API key**) in **Articla Bulk → Settings**.
2. Go to **Articla Bulk → Bulk Generate**. Paste CSV lines (one per post).
3. Pick categories and click **Start Processing**.

**Lite vs Pro**
- **Lite:** up to **5 posts per batch**, model locked to `o4-mini`, fixed delay.
- **Pro:** unlimited batch size, custom delay, model selector. Learn more at **articla.ai**.

== Installation ==
1. Upload the ZIP via **Plugins → Add New → Upload Plugin**, then **Activate**.
2. Open **Articla Bulk → Settings**; add your API keys and quality thresholds.
3. Generate drafts from **Articla Bulk → Bulk Generate**.

== CSV Format ==
Each line = one post. Columns:
`title, keywords(optional), sources(semicolon-separated URLs), outline(H2s separated by |), image_query(optional)`

**Example**
3-Day Marrakech Itinerary: Food Souks & Desert Day Trip,marrakech itinerary;medina;souk;jemaa el-fna;atlas mountains,https://visitmorocco.com/en;https://whc.unesco.org/en/list/331/;https://www.lonelyplanet.com/morocco/marrakesh,Before You Go: Safety & Money|Day 1: Medina & Souks|Day 2: Museums & Hammam|Day 3: Atlas Day Trip|Where to Eat|Budget & Transport Tips,Marrakech medina

pgsql
Copy code

== Screenshots ==
1. **Settings** — add API keys, language, quality thresholds, and compliance options.
2. **Bulk Generate** — paste CSV, choose categories, run the batch with progress log.


== FAQ ==
= Does it auto-publish? =
By default, posts are created as **drafts**. You can enable “Publish when QC passes” to auto-publish only if your quality thresholds are met.

= Where do citations come from? =
From the **source URLs** you provide in the CSV. The plugin discourages invented links and builds a **References** section.

= Do I need Pexels? =
No. If a Pexels key is added, the first relevant result is downloaded and set as the **featured image** (with alt text set to the title).

= Is SEO supported? =
If Yoast SEO is active, the plugin fills basic fields (title, meta description, focus keyphrase) from your content and keywords.

== External services ==
This plugin connects to external APIs to generate content and optionally fetch images.

1. **OpenAI API** — generates draft content and outlines when you click **Generate**.
   - Data sent: your prompts (topic, outline, settings) and minimal context needed.
   - When: only when you start a generation.
   - Service: OpenAI — Terms: https://openai.com/policies/terms  Privacy: https://openai.com/policies/privacy-policy

2. **Pexels API** (optional) — searches for a representative image when image fetching is enabled.
   - Data sent: your search keywords.
   - When: only for posts where image search is enabled.
   - Service: Pexels — Terms: https://www.pexels.com/terms-of-service/  Privacy: https://www.pexels.com/privacy-policy/

== Privacy ==
- Generated content is sanitized with `wp_kses_post`.
- Outbound links in generated content can be reviewed before publishing.
- If your content includes affiliate links, add `rel="sponsored nofollow ugc"` per your policy.

== Tips ==
- Supply at least **2–3 quality source URLs** in the CSV for stronger citations.
- Set realistic **Min/Max words** and **Min headings** to match your editorial bar.
- Use a specific **image_query** for more consistent images.

== Changelog ==
= 0.7.8 =
- Stability and UX improvements for bulk generation and QC.
- Better References detection and fallback.
- Minor admin UI polish.