ByTheWeb GEO - Full Changelog

= 1.2.5 =
* Added the new bytheweb branding.

= 1.2.4 =
* Added frontend meta indicators for ByTheWeb GEO and active ByTheWeb AI plugin detection.
* Added Robots.txt AI Policy Manager with selectable crawler blocking for major AI and search user agents, while keeping all bots allowed by default.
* Added automatic ByTheWeb GEO sitemap reference to the virtual robots.txt output when Yoast SEO is not active.
* Added llms-full.txt generation for a fuller Markdown version of public, indexable site content.
* Added configurable llms-full.txt character limit to prevent oversized responses on large sites.
* Extended llms.txt settings so selected post types and taxonomies apply to both llms.txt and llms-full.txt.
* Added Short Answer, AI Summary, cleaned content, last modified date, and Elementor text extraction support for llms-full.txt.
* Improved admin notices for robots.txt compatibility with physical robots.txt files, cache plugins, security plugins, firewalls, and server-level rules.

= 1.2.3 =
* Improved llms.txt generation with cleaner multilingual output, better content filtering, and exclusion of noindex or password-protected content.
* Added a one-time rewrite rules refresh after plugin updates to improve sitemap.xml availability.
* Enhancement: Fully synchronized the plugin's indexing rules with the global WordPress "Discourage search engines" setting to prevent indexing conflicts. The global WordPress setting will now strictly override any individual page/taxonomy index settings.
* UI/UX: Added a prominent alert notice in the SEO Settings dashboard when the site is globally blocked from search engines.
* Tweak: Added a helpful UX hint under the Physical Address field to assist users with GPS coordinate fetching without compromising LocalBusiness Schema accuracy.
* Tweak: Temporarily added local textdomain loading (`load_plugin_textdomain`) for Hebrew translations until the official GlotPress language pack is fully approved.

= 1.2.2 =
* Added sameAs official profile URLs for stronger entity recognition.
* Added ContactPoint customer support schema using existing business contact fields.
* Added Service schema for businesses that offer a primary service.
* Added Yoast SEO schema graph integration for sameAs, ContactPoint, Service, and LocalBusiness schema.
* Improved LocalBusiness / Service settings labels and descriptions.
* Fixed LocalBusiness schema output when Yoast SEO is active.

= 1.2.1 =
* Fix: Resolved a compatibility issue with Yoast SEO where the plugin's XML sitemap rewrite rules inadvertently overrode Yoast's `sitemap_index.xml` redirection.
* Enhancement: Improved `llms.txt` file delivery by enforcing a 200 HTTP status (preventing false 404s), clearing output buffers for a clean text output, preventing caching, and adding `X-Robots-Tag: index, follow` to ensure proper crawling and indexing by AI bots.

= 1.2.0 =
* Added GA4 tracking for plugin activation events.

= 1.1.8 =
* Enhancement: Expanded access for Editors (`edit_others_posts`). Editors can now fully access the main GEO Dashboard, modify GEO/SEO settings templates, use the AI Auto-Fix tools, and execute the Yoast SEO data migration tools.

= 1.1.71 =
* UI/UX: Syntax error

= 1.1.7 =
* UI/UX: Swapped the layout order of the main dashboard cards to display "AI Readiness (GEO)" first, aligning the layout with the post editor Metabox structure.
* Fix: Resolved a calculation mismatch where the top small alert counters for SEO Titles and Meta Descriptions didn't check for global fallback templates, causing false alerts on optimized pages.
* Fix: Updated the SEO Analyzer engine to check for site-wide global Open Graph/Social Media default images before flagging a page for missing media, ensuring accurate independent scoring.

= 1.1.6 =
* Fix: Fixed a JSON decoding issue (`wp_unslash`) that caused FAQ schemas with inner quotes to break and disappear from the dashboard modal and the frontend.
* Fix: Improved Yoast SEO integration by properly declaring the `@type` as `FAQPage` within the Yoast graph, ensuring Google correctly indexes the FAQ Rich Snippets.

= 1.1.5 =
* Compatible with WordPress 7.0
* Feature: Evolved "Focus Keyword" into "AI & SEO Keyword (Target Entity)". The analyzer now actively checks if your main entity is naturally included within your AI Summary, Short Answer, and FAQ Schema for maximum AI alignment.
* Enhancement: Completely rebuilt the GEO & SEO Analyzer engine. Removed direct content-scraping checks (word counts, H2/H3 headings, image alts) to guarantee 100% compatibility with page builders like Elementor and completely eliminate false-positive errors.
* Enhancement: Rebalanced the GEO and Classic SEO scoring algorithms to accurately reflect modern search priorities on a perfect, independent 100-point scale.
* Tweak: Improved UX by replacing the harsh red error for missing keywords with a friendly "Optimization Tip" and a dedicated guide link.
* Tweak: Redesigned the Metabox and Dashboard UI—moved the AI & SEO Keyword input to the very top for immediate access.
* Fix: Resolved an issue where GEO and SEO accordions (toggles) wouldn't open or close properly inside the Dashboard "Edit & Fix" modal.
* Fix: Removed duplicate keyword input fields from the Taxonomy edit screens.

= 1.1.4 =
* Feature: Added dedicated Elementor widgets (AI Summary, AI Short Answer, Breadcrumbs) to easily design and embed optimized GEO content directly within the Elementor page builder.
* Enhancement: Upgraded the 'llms.txt' generator to output advanced, semantic Markdown formatting (using blockquotes for Short Answers and structured lists for AI Summaries) to maximize LLM ingestion and readability.
* Enhancement: Injected the 'abstract' property natively into the global WebPage JSON-LD Schema (and seamlessly into Yoast's Schema graph) across all post types, complying with official Schema.org standards.

= 1.1.31 =
* Fix: Adjusted hook priorities for `llms.txt` and `sitemap.xml` to prevent WordPress from applying unintended canonical redirects or trailing slashes.

= 1.1.3 =
* Fix: Updated hardcoded core paths to use includes_url().
* Tweak: Renamed shortcodes and JS variables to use a unique 4-character prefix (btwgeo).

= 1.1.2 =
* Security: Added strict sanitization using `sanitize_key()` for array keys and `map_deep()` for all `json_decode()` operations to meet WordPress security standards.
* Tweak: Updated the plugin display name and slug to `bytheweb-geo` to better align with WordPress.org trademark and naming guidelines.
* Tweak: Refined the readme description to remove promotional language and provide clearer, objective instructions.
* Fix: Resolved a PHP warning/error during taxonomy meta saving.
* Fix: Addressed minor variable initialization notices in the frontend schema output.

= 1.1.1 =
* Fixed plugin slug and Text Domain to 'bytheweb-geo'.

= 1.1.0 =
* Initial release on the WordPress.org repository.
* Added comprehensive Site-wide GEO Dashboard.
* Introduced llms.txt auto-generation.
* Added advanced XML Sitemap with Video and Image support.
* Added Trust Signals (Organization & LocalBusiness Schema).
* Added full Yoast SEO compatibility mode.