=== Simply SEO ===
Contributors: jordymeo101
Tags: seo, meta tags, schema, breadcrumbs, redirects
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.1.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight SEO plugin with just the essentials: meta tags, schema markup, breadcrumbs, and redirects.

== Description ==

Simply SEO provides everything you need for on-page SEO without the bloat of larger SEO plugins.

**Features:**

* Custom SEO title per post/page
* Meta description with automatic fallback to content excerpt
* Meta keywords support
* Canonical URL override per post
* Robots control (noindex/nofollow) per post
* Custom social media image (Open Graph / Twitter Cards)
* Configurable title format with placeholders
* Default fallback image for social sharing
* Full Gutenberg editor integration
* Classic editor support
* Enable/disable per post type
* Search and 404 page robots settings
* Clean, WordPress-native UI
* No external requests
* Lightweight and fast

**Archive & Taxonomy SEO (New in 1.0.2):**

* SEO fields for categories, tags, and custom taxonomies
* Custom title and description per taxonomy term
* Social image per taxonomy
* noindex/nofollow control per taxonomy

**Schema.org / JSON-LD (New in 1.0.2):**

* Automatic structured data output
* WebSite schema with search action
* Organization schema on homepage
* Article schema for blog posts
* WebPage schema for pages
* CollectionPage schema for archives
* BreadcrumbList schema for navigation
* Rich snippets ready

**Breadcrumbs (New in 1.0.2):**

* Shortcode: `[simply_seo_breadcrumbs]`
* Template function: `simply_seo_breadcrumbs()`
* Schema.org markup included
* Customizable separator and home text
* Automatic hierarchy detection

**URL Redirects (New in 1.0.6):**

* 301 (permanent) and 302 (temporary) redirects
* Easy-to-use admin interface
* Enable/disable individual redirects
* Hit counter for tracking redirect usage
* Prevents redirect loops
* No database tables - uses WordPress options

**Available Placeholders for Title Format:**

* `%title%` - Post/page title
* `%sitename%` - Site name
* `%tagline%` - Site tagline

**Shortcode Attributes:**

* `separator` - Separator between items (default: ›)
* `home_text` - Text for home link (default: Home)
* `show_home` - Show home link (default: true)
* `show_current` - Show current page (default: true)

Example: `[simply_seo_breadcrumbs separator="/" home_text="Start"]`

== Installation ==

1. Upload the `simply-seo` folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the 'Plugins' menu in WordPress
3. Go to Settings > Simply SEO to configure the plugin
4. Edit any post or page to add SEO data

== Development ==

The Gutenberg sidebar panel source code is located in the `src/` directory.

To build from source:

1. Install dependencies: `npm install`
2. Build for production: `npm run build`
3. For development with watch mode: `npm run start`

The compiled output is placed in the `build/` directory.

== Frequently Asked Questions ==

= Does this include a sitemap? =

No, WordPress has built-in sitemap functionality since version 5.5. This plugin focuses on meta tags, schema, and breadcrumbs.

= Is this compatible with other SEO plugins? =

We recommend using only one SEO plugin at a time to avoid conflicts with meta tags.

= How do I add breadcrumbs to my theme? =

Use the shortcode `[simply_seo_breadcrumbs]` or add `<?php simply_seo_breadcrumbs(); ?>` to your theme template.

= How do I set SEO data for the homepage? =

Go to Settings > Simply SEO and use the Homepage tab.

= How do I set SEO for categories? =

Edit any category, tag, or custom taxonomy term and you'll see the SEO fields at the bottom.

= What schema types are included? =

WebSite, Organization, Article, WebPage, CollectionPage, ProfilePage, and BreadcrumbList.

== Screenshots ==

1. Gutenberg sidebar panel
2. Settings page with tabs
3. Classic editor meta box
4. Taxonomy SEO fields
5. Breadcrumbs output

== Changelog ==

= 1.1.3 =
* Fixed: Tested up to updated to WordPress 6.9
* Fixed: Added version parameter to wp_register_style for breadcrumbs CSS

= 1.1.2 =
* Fixed: Contributor now matches WordPress.org username (jordymeo101)
* Fixed: Added source code (src/index.js) for Gutenberg sidebar panel
* Fixed: Added package.json with build instructions for transparency
* Fixed: Breadcrumbs CSS now uses wp_add_inline_style instead of direct style tag
* Fixed: JSON-LD schema output properly documented for escaping
* Added: Development section in readme with build instructions

= 1.1.1 =
* Fixed: Media upload for social images now works correctly in classic editor
* Fixed: Better detection of block editor vs classic editor per post
* Fixed: Support for Classic Editor plugin
* Updated: Author changed to MEO (wijzijnmeo.nl)

= 1.1.0 =
* Performance: Added object caching for redirect lookups (1 hour TTL)
* Performance: Cache automatically invalidated when redirects are added/deleted/toggled
* Improved: Moved more inline styles to external CSS file
* Improved: Added CSS classes for redirects table columns and help section
* Code: Better separation of styles and markup

= 1.0.9 =
* Fixed: PHPCS ignore comments now placed inline on query strings for proper suppression

= 1.0.8 =
* Fixed: Plugin Check warnings for SQL interpolation
* Fixed: Now uses wp_redirect with allowed_redirect_hosts filter for external redirects
* Fixed: Reduced tags to maximum of 5 as per WordPress.org guidelines
* Improved: Better SQL escaping with esc_sql() for table names

= 1.0.7 =
* Improved: Redirects now use dedicated database table for better performance
* Improved: Redirects tab moved into main Simply SEO settings page
* New: Options tab with "Keep data on uninstall" setting
* New: Database table automatically created on plugin activation
* Improved: Better uninstall handling - respects user preference for data retention

= 1.0.6 =
* New: URL Redirects feature (301/302)
* New: Dedicated redirects admin page under Settings
* New: Enable/disable individual redirects with toggle
* New: Hit counter to track redirect usage
* New: Redirect loop prevention

= 1.0.5 =
* Improved: Removed all remaining inline JavaScript from PHP files
* Improved: Classic editor social image now uses external JS file
* Improved: Moved inline styles to external CSS file
* Performance: All scripts now properly enqueued and cacheable
* Performance: Scripts only load on relevant admin pages
* Security: Better separation of concerns

= 1.0.4 =
* Improved: Better styling for taxonomy SEO fields on "Add New" screens
* Improved: SEO fields now grouped in a clear card-style container

= 1.0.3 =
* Improved: Moved all inline JavaScript to external file for better caching
* Improved: Breadcrumbs CSS now only loads when breadcrumbs are used (lazy loading)
* Improved: Better code organization and WordPress coding standards compliance
* Performance: Reduced page load by eliminating unnecessary inline scripts

= 1.0.2 =
* New: Archive/Taxonomy SEO - SEO fields for categories, tags, and custom taxonomies
* New: Schema.org / JSON-LD structured data output
* New: Breadcrumbs with shortcode and template function
* New: SEO column in taxonomy list tables
* Improved: Social image support for taxonomy archives

= 1.0.1 =
* New: Canonical URL field per post/page
* Improved: New settings page with tabs navigation
* Improved: WordPress postbox styling for settings sections
* Improved: Toggle switches for better UX
* Improved: Cleaner, more intuitive interface
* Updated: Author information

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.0.2 =
Major update with Archive/Taxonomy SEO, Schema.org structured data, and Breadcrumbs.
