=== OST AIO Smart Schema ===
Contributors: orienst
Tags: schema, structured-data, json-ld, seo, rich-results
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 1.0.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

No expertise needed. Select a schema type from the editor sidebar and structured data (JSON-LD) is generated automatically.

== Description ==

OST AIO Smart Schema generates and outputs Google-recommended structured data (JSON-LD) automatically for each page type. Simply select the schema type from the Gutenberg editor sidebar — no manual coding required.

**Supported Schema Types**

* WebSite / WebPage
* Article / BlogPosting / NewsArticle
* Organization / LocalBusiness
* Product (with availability and condition)
* Event
* JobPosting
* VideoObject
* Course
* Review
* BreadcrumbList (automatic)
* ItemList (archive / search pages)

**Key Features**

* Outputs JSON-LD directly to `<head>` via `wp_head`
* Gutenberg block editor sidebar integration — select schema type per post
* Global defaults configurable per post type from the settings page
* Organization / LocalBusiness settings with opening hours and price range
* XSS-safe output using `wp_json_encode` with JSON_HEX_* flags
* Automatic breadcrumb schema for hierarchical content

== Installation ==

1. Upload the `ost-aio-smart-schema` directory to the `/wp-content/plugins/` directory.
1. Activate the plugin through the **Plugins** menu in WordPress.
1. Go to **Settings > OST** to configure the organization name, logo, and other global settings.
1. When editing a post or page, find the **OST Schema** panel in the editor sidebar and select the appropriate schema type.

== Frequently Asked Questions ==

= Which post types are supported? =

All public post types are supported. You can set a default schema type for each post type in the plugin settings, and override it on a per-post basis from the editor sidebar.

= Does this plugin conflict with other SEO plugins? =

OST AIO Smart Schema outputs JSON-LD only. It does not modify meta tags or Open Graph data, so it can be used alongside most SEO plugins (Yoast SEO, All in One SEO, etc.).

= Where is the structured data output? =

The JSON-LD `<script>` block is output in the `<head>` section of each page via the `wp_head` hook.

= What happens when I uninstall the plugin? =

All plugin options and post meta stored by OST AIO Smart Schema are deleted automatically on uninstall.

== External services ==

This plugin uses one third-party service, and only inside the wp-admin settings screen (Settings → OST). It is never loaded on the front end.

**YubinBango (Japanese postal-code → address auto-completion)**

On the settings screen the plugin loads the YubinBango script from `https://yubinbango.github.io/yubinbango/yubinbango.js`. It is used so that, when an administrator types a Japanese postal code into the address fields, the matching prefecture / city / town is filled in automatically.

* What data is sent and when: When (and only when) an administrator enters a postal code on the settings screen, YubinBango requests the corresponding address-data file from the YubinBango data service hosted on `yubinbango.github.io`. Only the entered postal code is used for the lookup; no personal data, site data, or credentials are transmitted.
* Service / source code: https://github.com/yubinbango/yubinbango (MIT License)
* The files are served from GitHub Pages, so the following policies apply:
  * Terms of Service: https://docs.github.com/site-policy/github-terms/github-terms-of-service
  * Privacy Policy: https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement

== Source code and build ==

This plugin is not obfuscated. The compiled editor bundle `build/index.js` is generated from the human-readable source in the `src/` directory, which is included in the plugin package.

Build tools and steps (uses [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts)):

`npm install`
`npm run build`

The compiled output is written to the `build/` directory.

== Screenshots ==

1. Editor sidebar panel — select schema type per post.
2. Settings page — configure organization details and default schema types.
3. Example JSON-LD output in page source.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
