=== 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 `` 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.