=== AI Content Writer for GEO & Autopublish by TalkGenAI ===
Contributors: talkgenai
Tags: ai content writer, ai content generator, auto blogging, seo, geo
Requires at least: 5.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.7.12
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

AI content writer that plans, writes, and autopublishes GEO-ready WordPress articles.

== Description ==

**SEO got you here. GEO takes you further.**

[youtube https://www.youtube.com/watch?v=ynFS1kJpXlM]

Google isn't the only one answering questions anymore. ChatGPT, Gemini, and Perplexity are serving answers directly to your audience. TalkGenAI is an **AI content writer** for WordPress that plans, writes, and **autopublishes** articles structured so AI engines can trust, cite, and recommend you. Every article strengthens your E-E-A-T signals, for classic search and Generative Engine Optimization (GEO).

**How it works:** you create and manage articles in TalkGenAI Cloud ([app.talkgen.ai](https://app.talkgen.ai)). This plugin is the connector: it links your WordPress site to your account so articles arrive as drafts or live posts, with SEO fields filled in.

= Content Plan and Autopilot =

* **A content plan for your site** - TalkGenAI reads your site and builds a plan of articles worth writing, then refreshes it on a regular schedule
* **Autopilot publishing** - pick the days of the week and each article is written and published to WordPress on its date
* **Comparison, Alternatives and "Best X" formats** - article types built to be cited by AI engines and to convert
* **Pillar-length articles** (2,500+ words) on paid plans
* **Any language** - English, Hebrew, Spanish, French, German, and more

= AI Content Writer =

Every article can include:

* **Internal links** - TalkGenAI links new articles into your existing posts and pages, building topical authority
* **External links** - cites authoritative sources that AI engines trust, checked so broken links are removed
* **FAQ section + JSON-LD schema** - structured Q&A that AI engines can pull straight into answers
* **Your brand voice** - learns your tone from your existing content and writes in it, instead of generic AI filler
* **Featured image** - an AI image matched to the article topic; Pro and Scale can use images in your brand's style
* **Meta description and focus keyphrase** - written for both classic and AI-powered search

Refine any article in plain language ("make it more formal", "add a section about pricing"), then push the update to a draft or to the live post.

= Autopublish to WordPress =

Stop copy-pasting from chat tools into the editor. Connect the plugin once, then work from TalkGenAI Cloud.

* **Publish or save as draft from Cloud** - articles appear in WordPress with no copy and paste
* **Update live posts in place** - refine an article and push the change to the existing URL, no duplicates
* **Refresh old posts and pages** - pick a page Google shows but people rarely click, get a better version written from its own text and search queries, and replace it at the same URL after you approve. Page-builder pages are never replaced
* **SEO meta for major plugins** - Yoast SEO, Rank Math, All in One SEO, and SEOPress title, description, and focus keyphrase
* **IndexNow** - tells Bing and other IndexNow engines when posts are published or updated, so AI search that relies on Bing can find content faster
* **Categories, tags and parent pages** - your organization settings applied on publish
* **Editor-aware formatting** - Gutenberg blocks, or plain HTML for classic editors and page builders, chosen automatically

= See What Is Working =

* **Search Console results** - clicks and rankings for the articles TalkGenAI wrote, from your own Google Search Console
* **AI visibility report** (Pro and Scale) - the visits ChatGPT, Perplexity and other assistants send you, read from your own Google Analytics
* **Monthly results email** - a short proof-of-traffic summary
* **Competitor agent** (Scale) - watches the competitors you choose and drafts a counter-article idea when they publish

= Use It From Claude, Cursor or Any MCP Client =

TalkGenAI also runs as an MCP (Model Context Protocol) server, so an AI assistant can work with your site for you. Add `https://app.talkgen.ai/mcp` as a connector in an MCP-compatible client such as Claude (claude.ai, Claude Code, Claude Desktop), Cursor or VS Code, and sign in with your TalkGenAI account.

* **Ask in plain language** - "plan articles for my site", "write the next one", "publish it as a draft"
* **Refresh what is not working** - "find my pages with impressions but no clicks and refresh the first one". The assistant asks you before it replaces any live page
* **Draft by default** - the assistant saves a draft unless you explicitly say to publish live
* **Reads are free** - check your plan, credits, drafts and reports at no cost. Writing, refining and planning use credits, as in the app

Setup steps per client are at [docs.talkgen.ai](https://docs.talkgen.ai). This is optional. The plugin works the same without it.

= Works Beyond WordPress =

The same TalkGenAI account also publishes to Webflow, Shopify, Wix and Framer.

= Get Started in 4 Steps =

1. Install the plugin and open **TalkGenAI > Settings**
2. Click **Generate Connection Token**
3. In [app.talkgen.ai](https://app.talkgen.ai) open **Integrations > Publish to WordPress > Add Site > Connect via Plugin** and paste the token
4. Start from your content plan, or describe an article. Publish as a draft, review it, and go live

= Pricing =

* **Free** - a content plan and 3 articles on your real site, no credit card
* **Growth, $99/mo** - 12 articles a month, 1 website, content plan refreshed quarterly, updates to live articles, monthly proof-of-traffic email
* **Pro, $199/mo** - 16 articles a month, 1 website, AI visibility report, images in your brand's style, content plan refreshed monthly
* **Scale, $299/mo** - 20 articles a month, 1 website, everything in Pro plus the Competitor agent, AI-citation tracking and priority support
* **Enterprise** - several websites, team seats, higher limits and done-for-you setup. Contact us for a quote

Billed monthly, cancel anytime. Plans and prices are managed in TalkGenAI Cloud and can change; see [app.talkgen.ai/pricing](https://app.talkgen.ai/pricing) for the current list.

= External Services and Privacy =

**This plugin connects to external services. It does nothing with them until you connect your site to a TalkGenAI account.**

**1. TalkGenAI Cloud (https://app.talkgen.ai)** - the service that writes and manages your articles.
Provider: TalkGenAI. [Terms of Service](https://app.talkgen.ai/terms) | [Privacy Policy](https://app.talkgen.ai/privacy)

What is sent, and when:

* When you connect: your site URL, WordPress and PHP versions, and a connection token and site secret generated by the plugin, so Cloud can verify the site
* While connected, whenever you publish, update, or on a daily resync: the **URL, title and excerpt of your published posts and pages**. TalkGenAI uses this list to suggest accurate internal links. Nothing is sent from drafts or private posts
* When Cloud publishes an article to your site: the article content, images and SEO fields are received by the plugin. The plugin only accepts these requests with your site secret
* When you ask TalkGenAI to refresh a specific page: that page's title, content, SEO title and description, featured image status and page-builder markers are sent to Cloud, so it can check the page is safe to replace and write the new version. Only the published page you name is read, never a draft, private or password-protected post. Cloud keeps a copy of the old page for 30 days for support
* Basic request data for security and rate limiting: IP address, timestamp and user ID of the WordPress admin who triggered an action

You can disconnect at any time with **Reset Connection** in TalkGenAI > Settings. This replaces the site secret, so the old one stops working immediately.

**2. IndexNow (https://api.indexnow.org)** - a public protocol used by Bing, Yandex and other search engines.
Provider: IndexNow. [Terms and info](https://www.indexnow.org/)

* When a post is published or updated, the plugin sends that post's URL, your domain, and a random key it generated for your site, so participating search engines can re-crawl it
* No account is needed. This is on by default and switches itself off if another IndexNow plugin (Microsoft IndexNow, Rank Math, Yoast SEO) is active. To turn it off, return false from the `talkgenai_indexnow_enabled` filter or set the option `talkgenai_indexnow_enabled` to false

**Data the plugin does NOT send:** passwords or user credentials, your database, drafts or private content, or data from other plugins.

You are responsible for reviewing all generated articles before publishing. AI can make mistakes, so always verify facts, links, and claims.

== Installation ==

= Automatic Installation =

1. In your WordPress admin, go to **Plugins > Add New**
2. Search for **TalkGenAI** or **AI content writer**
3. Click **Install Now**, then **Activate**
4. Create a free account at [app.talkgen.ai](https://app.talkgen.ai)
5. In **TalkGenAI > Settings**, click **Generate Connection Token**
6. In TalkGenAI Cloud open **Integrations > Publish to WordPress > Add Site > Connect via Plugin**, paste the token, and save
7. Create and publish articles from [app.talkgen.ai](https://app.talkgen.ai). They appear on this site through the plugin connection

Until you connect, the plugin shows "Not connected yet". That is expected on a new install.

= Manual Installation =

1. Download the plugin ZIP file
2. Go to **Plugins > Add New > Upload Plugin**
3. Upload the ZIP and click **Install Now**
4. Activate the plugin
5. Create an account at [app.talkgen.ai](https://app.talkgen.ai)
6. Follow steps 5 to 7 above

== Frequently Asked Questions ==

= What is GEO (Generative Engine Optimization)? =
GEO is the shift from traditional SEO to optimizing for AI-powered search engines like ChatGPT, Gemini, and Perplexity. Instead of only ranking in Google, GEO makes sure your content is structured so AI engines can trust, cite, and recommend it. TalkGenAI articles are built that way by default.

= Where do I create articles? =
In TalkGenAI Cloud at [app.talkgen.ai](https://app.talkgen.ai). This WordPress plugin is the connector: Settings, site connection, and publishing into your site. There is no article editor inside WordPress.

= Does it autopublish to WordPress? =
Yes. Connect your site in **TalkGenAI > Settings**, then publish or schedule from TalkGenAI Cloud, or let autopilot publish on the days you choose. Refined articles can update the live post in place so the URL stays the same. SEO meta is written for Yoast SEO, Rank Math, All in One SEO, and SEOPress when those plugins are active.

= Can I review articles before they go live? =
Yes. Articles can be saved as drafts, and you press publish yourself. Drafts are the recommended setting when you start.

= How do I get started? =
Install the plugin, open **TalkGenAI > Settings**, click **Generate Connection Token**, then paste it in TalkGenAI Cloud under Integrations > Publish to WordPress > Add Site > Connect via Plugin. Watch the [setup video](https://www.youtube.com/watch?v=ynFS1kJpXlM) for a quick walkthrough.

= Is it really free? =
The free plan gives you a content plan and 3 articles on your real site, no credit card required. When you want more, choose a paid plan.

= Is the content optimized for SEO? =
Yes. Each article uses a focus keyword in the title and headings, a clean H2/H3 structure, internal and external links, a meta description, and FAQ schema markup that search engines can read. Because TalkGenAI optimizes for both classic SEO and GEO, your content is positioned to rank in Google and to be cited by AI engines.

= How do the internal and external links work? =
When you connect, the plugin sends your published post and page titles, excerpts and URLs to TalkGenAI so it can pick relevant internal links. It also cites authoritative external sources and removes links that return errors.

= What is Brand Voice? =
Brand Voice learns from your existing content so new articles match your tone: sentence length, formality, and style. Articles are written in your voice instead of sounding like generic AI.

= Does it generate images for articles? =
Yes. Articles get an AI featured image matched to the topic. On Pro and Scale you can upload a few brand images so generated images follow your colors and look.

= Can I change an article after it is generated? =
Yes. Tell TalkGenAI what to change, such as "make it more formal" or "add more FAQ questions". Then push the refined version to a draft or to the live post.

= Can it refresh my old posts? =
Yes. TalkGenAI finds pages that get Google impressions but few clicks (from your Search Console), writes an improved version from the page's own text, and replaces it at the same URL. The URL, the subject, business facts and the page's internal links are kept. Nothing changes until you approve, and pages built with a page builder (Elementor, Divi, WPBakery and others), pages with forms or shortcodes, and the home page are refused. You can also change only the SEO title and meta description of any page. See the [guide](https://app.talkgen.ai/guides/refresh-old-posts-wordpress-ai).

= Can I use it from Claude or ChatGPT? =
Yes, with MCP-compatible clients. Add `https://app.talkgen.ai/mcp` as a connector and sign in. It is tested with Claude. Other MCP clients that support remote servers should work too, and setup steps are at [docs.talkgen.ai](https://docs.talkgen.ai). The assistant saves drafts by default and publishes live only when you ask.

= Does it work with other platforms or page builders? =
The plugin picks the right format automatically for the block editor, Classic Editor, and page builders such as WPBakery. The same TalkGenAI account also publishes to Webflow, Shopify, Wix and Framer.

= What happened to the calculators and widgets? =
Interactive apps (calculators, timers, comparison tables) were an earlier feature. Widgets already on your pages keep working through the `[talkgenai_app]` shortcode. New installs focus on articles and autopublish.

== Screenshots ==

1. **Content plan** - Topics recommended for your site, with their status and the dates they publish
2. **Create an article** - Enter a topic and choose the length, FAQ, internal links and image, with a live preview
3. **Article preview** - A structured article with headings and source links, ready to copy, refine or publish
4. **Publish to WordPress** - Pick your site and save the article as a draft to review in the WordPress editor
5. **Plugin settings** - Generate a connection token to link your WordPress site to TalkGenAI Cloud

== Changelog ==

= 2.7.12 - 2026-11-08 =
* New: TalkGenAI can look up an existing page or post by its address, so it can refresh a page you choose and keep its URL. It reads the page's title, text, SEO title and description, and whether the page was built with a page builder (Elementor, Divi, WPBakery, Beaver Builder, Bricks, Oxygen, Breakdance, Brizy, Thrive Architect, SiteOrigin, Avada). Pages built with a page builder are never replaced.
* New: TalkGenAI can update only the SEO title and meta description of an existing post or page (Yoast, Rank Math, All in One SEO, SEOPress), without touching its content.
* Improvement: When you refresh a page and ask for a new image, the new image replaces the page's featured image. Before, an update always kept the old featured image.
* Security: The page lookup only reads published posts and pages. Drafts, private and password-protected posts are never sent.

= 2.7.11 - 2026-11-07 =
* Fix: A fresh install no longer shows "Connection needs attention" about an invalid legacy API key. With no API key and no connection token there is nothing to verify, so the plugin no longer contacts the server or raises that alert.
* Improvement: Before you connect, the plugin now says "Not connected yet" and points to Generate Connection Token, instead of "TalkGenAI server is not configured".
* Fix: New installs now default to the production server (app.talkgen.ai). An empty saved server address also falls back to production.
* Improvement: The WordPress.org listing now matches the current product: plans, autopilot, reports, external-service and privacy disclosure.

= 2.7.10 - 2026-10-22 =
* Security: New "Reset Connection" button in TalkGenAI → Settings. It replaces this site's connection secret, so the old secret stops working right away, and gives you a new token to reconnect. Your articles and settings are kept.

= 2.7.9 - 2026-10-15 =
* Fix: Sites connected with a connection token no longer show "TalkGenAI server is not configured". A token connection does not need an API key, so the warning was wrong and made working connections look broken.
* Fix: The "Connection needs attention" notice about an old API key no longer appears once the site is connected with a connection token, and the stale notice is cleared automatically.

= 2.7.8 - 2026-08-29 =
* Feature: Post Format now has an "Automatic" setting, and it is the new default. The plugin checks which editor your site actually uses — the WordPress block editor, or a classic editor such as WPBakery Page Builder or the Classic Editor plugin — and saves each article in the format that fits. Sites that edit with a page builder no longer have to find this setting and switch it by hand.
* Improvement: The Settings screen now tells you which format was detected and why, so you can see the choice the plugin made. "Gutenberg blocks" and "Plain HTML" remain available if you would rather set it yourself; an existing choice is never overridden.
* Improvement: Tested up to WordPress 7.1.

= 2.7.7 - 2026-07-25 =
* Feature: All in One SEO (AIOSEO) and SEOPress support — the meta description, SEO title and focus keyphrase from TalkGenAI Cloud are now written to AIOSEO and SEOPress, alongside the existing Yoast SEO and Rank Math support. If your site uses any of these, generated articles now arrive fully optimised instead of with empty SEO fields.
* Feature: Article tags — tags provided by TalkGenAI Cloud are now applied to the published post, improving on-site organisation and internal discovery.
* Fix: Publishing now works on sites that lock down the WordPress REST API. Some hosts and security plugins block the REST API for all unauthenticated requests, which stopped TalkGenAI Cloud from publishing. The plugin now lets only its own secure endpoints through (still protected by your site key), so publishing succeeds without any manual firewall changes.
* Improvement: WordPress.org listing repositioned around AI content writer, GEO, and autopublish (calculators/widgets demoted from the primary story).
* Improvement: Admin UI is connector-only — TalkGenAI menu opens Settings; Generate Articles and Brand Voice menus are hidden. Create content on TalkGenAI Cloud; existing shortcodes and Cloud publish keep working.
* Improvement: Settings prioritizes Cloud connection token for new sites; Remote API Key is hidden unless a key is already saved (or WP_DEBUG is on).

= 2.7.6 - 2026-07-19 =
* Improvement: The check for legacy app data now caches its result, removing two uncached database queries on admin page loads. No change to how the plugin behaves.

= 2.7.5 - 2026-07-13 =
* Feature: Refined articles can now be pushed to the post that is already live. TalkGenAI Cloud updates that post in place, keeping its URL, publish status and featured image, so your edits reach the live page.
* Fix: Publishing the same article twice no longer creates a duplicate post — the existing post is updated instead.

= 2.7.4 - 2026-07-12 =
* Fix: Internal links now work on sites protected by Cloudflare (and similar firewalls). TalkGenAI Cloud could not read the sitemap of a protected site, so articles were generated with no internal links at all. The plugin now sends your published posts and pages to TalkGenAI Cloud itself, so it never needs to read your site from outside.
* Improvement: Internal links are more accurate. Link suggestions now use your real post titles, excerpts and permalinks (including category paths and Yoast primary categories) instead of titles guessed from the URL.
* Improvement: Clearer errors. If a firewall or security plugin blocks TalkGenAI Cloud from reaching your site, you now get an explanation and how to fix it, instead of an unhelpful server error.

= 2.7.3 - 2026-06-21 =
* Feature: Parent page support for auto-publish — choose a Parent page (WordPress Page Attributes → Parent) from the TalkGenAI Cloud dashboard so generated content nests under the right section of your site. Works for both Pages and, when a hierarchy plugin is active, Posts.
* Fix: Interactive app widgets (calculators, tools) published from TalkGenAI Cloud now render correctly on the page — they are saved as proper apps and embedded via the [talkgenai_app] shortcode, so their styling and behaviour load through WordPress instead of appearing as raw code. These apps now also show up under TalkGenAI → My Apps.
* Improvement: The Parent page picker now lists draft and private pages too, not just published ones.

= 2.7.2 - 2026-06-07 =
* Fix: When an article is pushed as a draft, the plugin now stores its clean, permanent permalink (e.g. /blog/your-article/) instead of the temporary ?p=ID link. This lets TalkGenAI Cloud correctly match Google Search and AI traffic back to the article it generated.

= 2.7.1 - 2026-06-07 =
* Feature: IndexNow integration — instantly notifies Bing, Yandex and other IndexNow engines whenever a post is published or updated, so new and refreshed content gets discovered in hours instead of days. Because ChatGPT Search and Perplexity draw on Bing's index, this speeds up how fast AI search engines pick up your articles.
* Feature: Article Type (optional) — choose a high-intent, buyer-focused format when generating an article: Comparison (X vs Y), Alternatives, or Best X for a use case. These structured formats are designed to get cited by AI search and convert. Leave it on "Standard article" for a normal blog post.
* Feature: Pillar length option — generate in-depth pillar articles (2,500+ words) directly from the plugin, matching the TalkGenAI Cloud dashboard. Available on Growth and Agency plans.
* Improvement: Self-contained and keyless — no Bing account or API key needed. Generates its own key, serves the verification file virtually (nothing written to disk), and stands down automatically if another IndexNow plugin (Microsoft IndexNow, Rank Math, Yoast SEO) is already active.

= 2.7.0 - 2026-05-24 =
* Feature: Articles are now saved as native Gutenberg blocks — each heading, paragraph, list, and image becomes its own editable block instead of one large "Classic" block
* Feature: New "Post Format" setting (Settings → Post Format) to choose between Gutenberg blocks (default) and plain HTML output
* Improvement: Applies to both the in-plugin "Save as Draft" button and articles published from TalkGenAI Cloud

= 2.6.9 - 2026-05-22 =
* Feature: WordPress category assignment when saving articles as draft (plugin UI + REST publish-article endpoint)
* Feature: Default WordPress category from TalkGenAI Cloud integration settings applied on article creation
* Improvement: Updated plugin listing copy and tags for WordPress.org
* Improvement: Tested up to WordPress 7.0

= 2.6.8 - 2026-05-15 =
* Feature: Connect WordPress site to TalkGenAI Cloud via one-time token (Settings → Generate Connection Token)
* Feature: REST API for SaaS direct article publish to WordPress (draft/post, featured image, SEO meta, FAQ schema)
* Feature: REST endpoint to set Yoast/RankMath SEO meta from TalkGenAI SaaS

= 2.6.7 - 2026-03-26 =
* Improvement: Article image alt text is now descriptive and in the article's language instead of just repeating the focus keyword
* Fix: Post slug now uses the focus keyword (short, SEO-friendly URL) instead of the full article title; falls back to the core topic phrase when no keyword is provided

= 2.6.6 - 2026-03-21 =
* Improvement: Widget content anchoring — calculators, comparison tables, and timers now always use exact numbers, values, and durations from the article instead of invented data
* Improvement: Article refinement is now fully asynchronous — no more timeouts on longer articles; progress bar shown during refinement
* Improvement: External links validated on generation — broken links (404) removed, duplicates deduplicated, none placed in the intro paragraph
* Fix: Domain mismatch between API key and active site now shown as a clear warning banner in the plugin admin

= 2.6.4 - 2026-03-15 =
* Feature: Article Refinement — iterate on generated articles with natural language instructions (e.g. "make it more formal", "add a section about pricing"). Paid plans only, 2 credits per refinement.
* Feature: Brand Voice tip shown in article empty state for paid users who haven't created a voice yet — one-click shortcut to set up their first voice
* Improvement: Articles now consistently reach the requested length target (short ~500 words, medium ~900, long ~1400)
* Improvement: Actual word count shown after article generation and after each refinement
* Improvement: Downloaded HTML for Hebrew and Arabic articles now includes correct RTL direction and text alignment
* Improvement: Refine panel UI — orange send button, correct message bubble alignment, no horizontal scroll, taller transcript area
* Fix: "Refine your article" upgrade nudge now uses orange brand colors instead of purple

= 2.6.3 - 2026-03-12 =
* Feature: Form preferences are now remembered across sessions in both WordPress plugin and SaaS dashboard — article options (FAQ, links, image, interactive app, length, writing style) are saved locally and restored on next visit
* Feature: Credit pre-check with descriptive error messages — free plan users see a clear breakdown (e.g. "5 for article + 3 for image = 8 total") when bonus credits are insufficient for image generation
* Feature: Upgrade nudge shown after article generation for free users, with direct link to billing
* Feature: Create Draft button now animates with a green glow after both article and interactive app are ready
* Improvement: Meta Description, FAQ Schema, and SEO Checklist now collapsed in an accordion after article result — cleaner view by default
* Improvement: Advanced options panel is now open by default for quicker access
* Improvement: Brand Voice profile preview is now collapsible (collapsed by default)
* Fix: Upgrade links now point directly to the billing tab

= 2.6.2 - 2026-03-11 =
* Feature: Interactive apps (charts, infographics, calculators) embedded inside articles are now available on all plans including Free
* Improvement: Free plan credit display corrected to 15 credits/month

= 2.6.1 - 2026-03-07 =
* Fix: Calculator "more info" toggle now works reliably across all themes — JS inline styles used instead of CSS class toggling; plugin-level footer script also initialises toggles on existing published articles so no regeneration is needed
* Fix: Article hero image now placed before the 3rd H2 (below the fold) to avoid impacting Largest Contentful Paint on mobile
* Fix: Article images now include a responsive srcset with 400px and 480px sizes — reduces mobile image payload and passes Lighthouse "properly sized images" audit
* Fix: Article images use lazy loading to avoid render-blocking on mobile
* Improvement: Meta descriptions extended to 145–155 characters for fuller Google search snippets
* Security: `$_POST['custom_urls']` now correctly unslashed before sanitization (PHPCS compliance)

= 2.6.0 - 2026-03-03 =
* Feature: Interactive Chart widget — bar, line & pie charts with axis titles, hover tooltips and auto-extracted article data
* Feature: Infographic widget — animated stats cards, key points, timelines and step flows embedded inside articles
* Feature: Smart widget placement — widgets are embedded at the most relevant section inside the article, not just appended at the end
* Feature: Brand Voice — create and apply custom writing voices to article generation
* Improvement: Widget decision engine now prioritizes high-value widgets (charts, calculators, infographics) over generic lists
* Improvement: Chart sizing is now compact with dynamic Y-axis padding so labels are never clipped
* Improvement: Chart bars use a bright 8-color palette for better readability
* Security: App previews now render inside a sandboxed iframe instead of direct script execution
* Security: Chart color and direction inputs are validated against strict whitelists
* Security: Sanitizer fallback now returns empty string instead of unsanitized input
* Fix: First paragraph no longer stripped when creating a WordPress draft with a featured image
* Fix: PUT/PATCH API requests now correctly attach the JSON body

= 2.5.2 - 2026-02-28 =
* Feature: Brand Voice section now always visible for premium users in the article generator — shows a "no voices yet" message with a link to create one when none exist
* Fix: Brand Voice dropdown was hidden on localhost due to domain filtering — resolved for local WordPress testing
* Fix: API key generation error code mismatch — website limit error now correctly triggers the upgrade prompt
* Fix: Dashboard tab state is now preserved across page refreshes — active tab is saved in the URL hash

= 2.5.1 - 2026-02-21 =
* Improvement: AI-generated article images now use gpt-image-1 for more realistic, photographic results
* Improvement: Image generation included at no extra credit cost for all paid plans
* Improvement: Image prompts now intelligently describe a scene based on the article topic
* Fix: Image title attribute now matches alt text for better SEO and accessibility
* UI: Updated demo video

= 2.5.0 - 2026-02-17 =
* Feature: FAQ JSON-LD schema now included in generated articles and WordPress drafts
* Feature: Copy Visual button now copies rich formatted content (not raw HTML code)
* Feature: Code tab shows FAQ schema alongside article HTML
* Fix: FAQ and external link options now properly passed for app-based articles
* UI: Standalone mode is now the default article generation mode
* UI: Article mode toggle redesigned with purple active state

= 2.4.9 - 2026-02-16 =
* Branding: Updated plugin title and tags to reflect AI content generation capabilities

= 2.4.7 - 2026-02-12 =
* Maintenance: Pre-release validation and stability improvements

= 2.4.6 - 2026-02-07 =
* Feature: Standalone article generation (articles not tied to a specific app)
* Maintenance: Minor improvements and cleanup

= 2.4.5 - 2026-01-24 =
* UI: Improved admin UI visibility and readability
* Install: More reliable database setup on activation and self-healing table creation
* Feature: Added sticky flag for apps

= 2.4.4 - 2026-01-18 =
* New: Smart Comparison Table Builder - create responsive comparison tables, pricing charts, and spec sheets with AI-researched data
* Feature: Added Comparison Table app type to the generation menu
* UI: Responsive table styles with checkmarks, cross marks, and winner badges

= 2.4.3 - 2026-01-18 =
* SEO: Updated plugin metadata to improve discoverability

= 2.4.2 - 2026-01-11 =
* Article Generation: Improved context with app URL and internal link candidates for smarter linking
* Performance: Optimized internal link candidate query

= 2.4.1 - 2025-12-18 =
* Fix: "Keep Calculator" reliably closes the overlay popup in admin preview
* Fix: Prevents chat transcript from leaking into subsequent AI requests

= 2.4.0 - 2025-12-04 =
* Security: Removed external CDN dependency - now using custom modal system
* Fix: "Get App Ideas" shows proper upgrade modal for free users
* New: "Generate New" button for quick workflow
* New: Clickable example prompts that auto-fill chat input
* UX: User-friendly error messages throughout
* Compatibility: Tested with WordPress 6.9

= 2.3.1 - 2025-11-30 =
* Improved error handling with clear messages when AI providers are temporarily unavailable

= 2.2.0 - 2025-11-30 =
* New: Bonus Credits System - earn credits for premium AI features
* Bonus credits are prioritized over plan credits
* Visual display of bonus credits in admin dashboard

= 1.0.0 - 2025-10-19 =
* Initial Release
* AI-powered app generation with multiple AI providers
* Template library for instant creation
* Live preview and shortcode embedding
* Automatic site registration with free monthly credits
* WordPress 6.4+ and PHP 8.2+ compatibility
