=== Rusnet Schema Manager ===
Contributors: rusnet
Donate link: https://rusnet.su/resheniya/schema-rusnet/
Tags: schema, json-ld, structured data, seo
Requires at least: 5.0
Tested up to: 7.0
Stable tag: 1.2.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add Schema.org structured data to your pages with manual type selection. Automatically adds JSON‑LD, disables duplicates from other SEO plugins.

== Description ==

**Rusnet Schema Manager** is a lightweight solution for manual control of Schema.org microdata on your WordPress site. Instead of relying on automatic generation (which often gets the type wrong), you can manually select the most appropriate entity type for each page – such as `Organization`, `Product`, `Article`, `LocalBusiness`, `FAQPage`, and many more.

= Key Features =
* **Select Schema Type** – a meta box on the edit screen provides 16 popular types.
* **Automatic JSON‑LD Output** – correctly structured code is added to the `<head>`, including title, description, URL, dates, and author (for articles).
* **Smart Disabling of Other Plugins** – to prevent duplication, the plugin automatically disables Schema output from Yoast SEO, Rank Math, All in One SEO Pack, SEOPress, The SEO Framework, and others.
* **Fully Compatible** – no configuration required; works right after activation.
* **Flexible** – you can disable the automatic override via the constant `SCHEMA_RUSNET_DISABLE_OVERRIDE` if needed.
* **Meta Box in the Main Area** – the schema type selector appears under the content editor for better visibility.

= Who is this plugin for? =
* Site owners who want precise control over which microdata appears on each page.
* SEO specialists who need a quick way to set an entity type without touching code.
* Users who run multiple SEO tools and want to avoid conflicts in structured data.

= Why not rely solely on automatic plugins? =
Automatic generators often misidentify the entity type or fill in the wrong fields. Manual selection gives you full control, and our plugin makes this process as simple as possible.

= External Services =
This plugin **does not** use any external APIs and does not send any data to third parties. All code runs locally on your server.

= Requirements =
* WordPress 5.0 or higher.
* PHP 7.2 or higher.

= Installation =
1. Upload the plugin folder to `/wp-content/plugins/`.
2. Activate the plugin via the "Plugins" menu.
3. When editing any page (or post), a meta box **"Schema Type for this Page"** will appear below the content editor.
4. Select the desired type from the dropdown and save the page.
5. Done – the plugin will automatically output JSON‑LD in the `<head>`.

== Frequently Asked Questions ==

= How do I know which Schema type to choose? =
Choose the type that best describes the page content. For example:
* For a company home page – `Organization` or `LocalBusiness`.
* For a product page – `Product`.
* For a blog post – `Article`.
* For a FAQ page – `FAQPage`.
If you are unsure, leave it as "No markup".

= Will the plugin conflict with my SEO plugin? =
No. The plugin automatically disables Schema output from the most popular SEO plugins (Yoast, Rank Math, AIOSEO, SEOPress, The SEO Framework, and others). You can be sure that duplication will not occur.

= How can I disable the automatic override of other plugins? =
Add the following line to your `wp-config.php` file:
`define( 'SCHEMA_RUSNET_DISABLE_OVERRIDE', true );`
After that, the plugin will only output its own markup, and other plugins will work as usual.

= Can I add support for additional Schema types? =
Yes, you can extend the list of types using the `schema_rusnet_type_classes` filter. Please refer to the developer documentation for more details.

= Why is JSON‑LD not output on some pages? =
Check that:
* A Schema type is selected for the page (not "No markup").
* The page is a singular post (not an archive).
* Your theme does not disable the `wp_head()` hook.

== Screenshots ==
1. The "Schema Type for this Page" meta box in the WordPress editor.
2. Example of the generated JSON‑LD markup in the page source.
3. Plugin settings page.

== Changelog ==

= 1.2.1 =
* **Fixed:** Added discount support for Service schema – originalPrice and priceValidUntil fields.

= 1.2.0 =
* **Complete removal of additional blocks** – now the plugin provides only main entity type selection, fully complying with WordPress.org guidelines (no trialware).
* **Security fixes**: nonce sanitization improved, JSON output escaped with HEX_TAG flags.
* **Improved compatibility**: automatic disabling of other SEO plugins only when our type is selected.
* **Refactored** – code simplified, all PRO-related mentions removed.
* **Fixed plugin and donate URLs** – now point to the main website.

= 1.1.6 =
* Plugin renamed to "Rusnet Schema Manager".

= 1.1.5 =
* Fixed display of new Repeater items (removed in 1.2.0).

= 1.1.4 =
* Automatic image fallback, basic OG tags.

= 1.1.3 =
* Complete rewrite, dynamic types.

= 1.1.0 =
* Automatic disabling of other SEO plugins.

= 1.0.0 =
* Initial release.