BreznGEO

Changelog

1.3.0

  • New: OpenRouter as a fifth AI provider — access to 600+ models (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, and more) through a single API key.
  • New: On-demand model loader fetches OpenRouter’s curated Marketing/SEO model list with live per-model pricing.
  • New: Custom model ID field lets you route to any OpenRouter model (e.g. anthropic/claude-opus-4.7) without waiting for a plugin update.
  • New: OpenRouter joins the wp-config.php key-mapping (BREZNGEO_OPENROUTER_KEY) — define any provider key as a constant to keep it out of the database entirely; the admin field becomes read-only.

1.2.2

  • i18n: Added explicit load_plugin_textdomain() call for reliable translation loading on ClassicPress and other WordPress derivatives.

1.2.1

  • Security: Added ABSPATH direct access guards to all PHP class files.
  • i18n: Complete German translation — all 394 UI strings now translated.
  • i18n: Regenerated .po/.mo/.pot translation files.

1.2.0

  • New: Keyword Analysis meta box in the post editor — checks keyword usage across title, headings, density, image alts, meta description, slug, first/last paragraph, image title/caption, and excerpt.
  • New: Primary and secondary keyword support with configurable minimum occurrences.
  • New: Three analysis update modes: live (debounced), manual, and on-save.
  • New: Locale-aware keyword variant matching for English and German (compound words, suffixes).
  • New: Optional AI-powered keyword suggestions, content optimization tips, and semantic keyword analysis.
  • New: Keyword Analysis settings page with target density, minimum occurrences, post type selection, and debounce configuration.

1.1.0

  • Fixed Google Gemini API terms URL that caused too many redirects during WordPress.org review.
  • Improved input sanitization in Schema.org meta box — uses map_deep() with sanitize_textarea_field instead of relying on downstream sanitization with phpcs suppression.
  • Improved input sanitization in Internal Link Suggestions AJAX handler — uses absint() and standard isset() pattern.
  • Removed all phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized comments — all $_POST data is now sanitized inline at the point of access.

1.0.0

  • Initial release as BreznGEO.
  • AI Meta Generator with auto-publish trigger, customizable prompt, and Polylang/WPML language detection.
  • Fallback meta extraction (sentence-boundary-aware, 150–160 characters) for use without an API key or on API failure.
  • Bulk Generator with batched AJAX processing, rate limiting, transient lock, per-post retry logic, and cost estimation.
  • Schema.org Enhancer: Organization, Article, Author, Speakable, BreadcrumbList JSON-LD; AI indexing meta tags.
  • Standalone meta description output with automatic suppression when Rank Math, Yoast, or AIOSEO is active.
  • Native field write-through for Rank Math, Yoast SEO, AIOSEO, and SEOPress.
  • llms.txt with pagination, ETag/Last-Modified HTTP caching, custom sections, and manual cache clear.
  • robots.txt manager for 13 known AI and data-harvesting crawlers.
  • Crawler Log database table with SHA-256 IP hashing and weekly auto-purge.
  • GEO Quick Overview block — AI-generated per-post summary, key bullet points, optional FAQ; four built-in themes (Light, Dark, Minimal, Brezn).
  • Internal Link Suggestions — editor meta box with text-based and optional AI-powered matching.
  • Meta Description meta box with source badge, character counter, and inline AI regeneration.
  • SEO Analysis sidebar widget with live content statistics and warnings.
  • Link Analysis dashboard panel: no-internal-links report, external-link outliers, pillar page ranking.
  • KeyVault API key obfuscation using XOR with WP salts.
  • Multi-provider support: OpenAI, Anthropic, Google Gemini, xAI Grok.
  • brezngeo_prompt filter and brezngeo_meta_saved action hooks for developers.

Plugin Website
Visit website

Author
mifupa
Version:
1.3.0
Last Updated
April 17, 2026
Requires
WordPress 6.0
Tested Up To
WordPress 6.9.4
Requires PHP
8.0

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.