=== GrowthLife Blog Scheduler & Schema ===
Contributors: growthlife
Tags: schema, structured data, json-ld, woocommerce, blog scheduler
Requires at least: 5.6
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Schedule blog posts to auto-publish and add JSON-LD schema for WooCommerce products & pages. Free, no account or key needed.

== Description ==

**GrowthLife Blog Scheduler & Schema** helps you do two things that improve how search engines see your site — schedule blog posts to publish automatically, and add valid JSON-LD structured data (schema) to your WooCommerce products and WordPress pages.

Everything below is **100% free**. No sign-up, no license key, no account, and no external connection is required.

= Blog Scheduler =
* Save a post as a draft, then schedule it from **Posts → All Posts** with one click.
* Posts auto-publish on the **date you choose**, using WordPress' native scheduling.
* See everything queued, and re-schedule or publish early from one screen.

= Product Schema (WooCommerce) =
* Add and save **JSON-LD Product** schema for your products — covering name, image, description, SKU/brand, price & currency, stock availability and ratings.
* Live validation as you edit, with clear status for each product.
* Auto-injects your saved schema into your product pages' `<head>`.

= Page Schema =
* Add and save **JSON-LD** schema for your pages — **WebPage, FAQPage, AboutPage, ContactPage** or **ItemList**.
* Live validation, breadcrumbs and publisher fields.

= Simple, clean settings =
* Toggle head-injection and set your organization name & URL. That's it.

== Looking for more? (Pro) ==

The Pro version adds power features for stores and busy publishers:

* **Auto-Generate schema** — one-click, per item or in bulk (Auto Generate All, Fix All Errors, Generate Missing).
* **Custom schedule time** — pick the exact time of day, not just the date.
* **Bulk-schedule** months of posts in one go.
* **Local Business** schema (address, opening hours, geo, GST).
* **Shipping & Returns** schema for products.
* Priority support.

Learn more: https://growthlife.in/growthlife-schema-blog-scheduler/

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/`, or install it from **Plugins → Add New**.
2. Activate the plugin through the **Plugins** screen.
3. Open **GrowthLife Blog Scheduler & Schema** in the admin menu.
4. (Optional) Set your organization name and URL under **Settings**.

== Source Code ==

This plugin contains no compiled, obfuscated, or externally-built code. All
PHP, JavaScript (`assets/js/`) and CSS (`assets/css/`) files are shipped in
their original, human-readable, unminified form inside the plugin — there is
no build step, bundler, or minifier involved. You can read and modify every
file directly. Public development copy: https://growthlife.in/growthlife-schema-blog-scheduler/

== Frequently Asked Questions ==

= Do I need an account or license key? =
No. The free version works fully on its own with no sign-up and no key.

= Does it require WooCommerce? =
WooCommerce is only needed for **Product** schema. Blog scheduling and Page schema work without it.

= What time do scheduled posts publish? =
In the free version you choose the **date**, and the post auto-publishes on that day at the time of day you scheduled it (using your site's own timezone from Settings → General). Choosing a specific time of day is available in Pro.

= How far ahead can I schedule? =
Any future date. The free version schedules one post at a time; Pro adds bulk scheduling of many posts at once.

= Will scheduling cause any WordPress errors? =
No. Scheduling uses WordPress' native future-post system, applied safely with clear messages instead of errors.

= Does the plugin send my data anywhere? =
No. The free version makes no external calls and stores everything in your own WordPress site.

== Changelog ==

= 1.0.7 =
* Hardened JSON-LD output so schema is always safely contained inside its script tag.
* Renamed the internal code prefix for stronger collision safety (existing saved schema and settings are migrated automatically).
* Shipped all JavaScript in unminified, human-readable form.

= 1.0.2 =
* The Schedule Blog button now appears only on the Posts list (not on Pages).

= 1.0.1 =
* Blog Scheduler is now date-based (pick a date; publishes that day). Fixed the Schedule Blog popup not opening on the Posts list.

= 1.0.0 =
* Initial free release: Blog Scheduler (choose date), Product schema (WooCommerce), Page schema.

== Upgrade Notice ==

= 1.0.7 =
Security-hardening and code-quality update. Your saved schema and settings carry over automatically.

= 1.0.2 =
Schedule Blog button now shows only on Posts.

= 1.0.1 =
Fixes the Schedule Blog button and switches scheduling to date-based.

= 1.0.0 =
First public release.
