=== iGen SEO ===
Contributors: igenai
Tags: yoast, seo, rank-math, indexnow, i-gen
Requires at least: 5.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.3.11
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect your WordPress site to iGen SEO to publish posts and pages from iGen, sync categories, enable IndexNow, and keep SEO titles and descriptions aligned with your SEO plugin.

== Description ==

**iGen SEO** is the official bridge between your WordPress site and **[iGen SEO](https://i-gen.ai/)**. After a simple one-time setup in your dashboard, you can manage your connection, copy or rotate your site key, and see whether your SEO tools are ready to work with iGen.

**What you can do**

* **Link your site** — Add your site in the iGen SEO app using the key from WordPress so only you can send content to your site.
* **Publish from iGen** — Create **posts** and **pages** from your iGen workflow, including titles, excerpts, categories, featured images, and SEO title, description, and focus keyword when you use a supported SEO plugin.
* **Stay in sync with your SEO stack** — When **Yoast SEO**, **Rank Math**, or **All in One SEO** is active, SEO fields you send from iGen are applied in a way that matches that plugin so your on-page SEO stays consistent.
* **Categories** — Use your WordPress categories when planning and publishing from iGen.
* **IndexNow** — Optional setup from the plugin so search engines can discover updates faster when you use IndexNow-compatible workflows.
* **Clear WordPress admin** — A dedicated **iGen SEO** screen shows connection status, which SEO plugins are active, your site key, and sensible defaults for content created through iGen (such as default author and category).

**Before you start**

* For the richest SEO experience, install and activate **Yoast SEO**, **Rank Math**, or **All in One SEO**. The plugin will remind you if Yoast SEO is missing; other SEO plugins work without that notice.
* The plugin follows your WordPress **site language** for admin messages and includes Traditional Chinese and Simplified Chinese language packs.

**About iGen**

Built by **[IGen](https://i-gen.ai/)** for teams that want AI-assisted content and SEO workflows tied to a real WordPress site.

== Installation ==

1. Upload the `igen-seo-api` folder to `/wp-content/plugins/` or install from the Plugins screen.
2. Activate **iGen SEO** through the Plugins menu.
3. In the WordPress admin, open **iGen SEO**, copy your site key, and add your WordPress URL in the iGen SEO app to finish linking.
4. Optionally install **Yoast SEO**, **Rank Math**, or **All in One SEO** so SEO metadata from iGen is written the way those plugins expect.

== Frequently Asked Questions ==

= Do I need Yoast SEO? =

No. Core connection and publishing from iGen work without Yoast. For automatic SEO title, meta description, and focus keyword on your content, use **Yoast SEO**, **Rank Math**, or **All in One SEO**—whichever you prefer.

= Which content types are supported? =

Publishing supports **posts** and **pages**. SEO field alignment applies to those types when your SEO plugin is active.

= How do I connect iGen to my site? =

Open **iGen SEO** in WordPress, copy the site key, then paste it (or follow the in-app steps) where iGen SEO asks for your WordPress connection.

= Translations =

Admin strings follow your WordPress **Settings → General → Site Language**. This plugin includes Chinese (Taiwan) and Chinese (China) packs; see the `languages` folder if you want to contribute more locales.

== Screenshots ==

1. iGen SEO settings: connection status, SEO plugin status, site key, and defaults

== Changelog ==

= 1.3.11 =
* Preserve `extra_meta._elementor_data` as validated JSON during publish (skip `wp_kses_post`) to prevent Elementor payload corruption.

= 1.3.10 =
* Roll back Elementor publish behavior to match 1.3.8 logic while keeping 1.3.10 release numbering.

= 1.3.9 =
* Publish: when `extra_meta._elementor_data` is present, store Elementor JSON only in post meta — leave `post_content` empty so the front end does not show raw Elementor data
* Meta: stop running `wp_kses_post` on `_elementor_data` (can corrupt Elementor JSON)

= 1.3.8 =
* REST: `POST /igen-seo/v1/media-from-url` — import image from URL into Media Library using API key only (for iGen / Dify pipelines)

= 1.3.7 =
* Improved site key visibility toggle and related admin UI layout
* Updated Simplified and Traditional Chinese translations

= 1.3.1 =
* Refreshed readme and short description for clarity (user-focused)

= 1.3.0 =
* Align SEO meta to Yoast, Rank Math, and AIOSEO when each plugin is active
* Redesigned Settings UI (iGen SEO)

= 1.0.0 =
* Initial release
* Register Yoast SEO meta fields to REST API
* Support for page and post post types
* Added permission control mechanism

== Upgrade Notice ==

= 1.3.11 =
Fixes Elementor JSON handling so generated layouts are stored without content corruption.

= 1.3.10 =
Rolls back Elementor publish handling to 1.3.8-compatible behavior.

= 1.3.9 =
Required for Elementor publishing from iGen: prevents Elementor JSON from appearing as visible page content.

= 1.3.8 =
Adds authenticated media import endpoint for iGen; upgrade if you publish from iGen without WordPress Application Passwords.

= 1.3.7 =
Maintenance and UI improvements; safe to upgrade from 1.3.x.
