Changelog
1.3.5 — Footer & Übersetzungen Aktuell5. März 2026
Geändert
- Admin-Footer — auf allen Plugin-Seiten aktualisiert zu „entwickelt von 🍺 noschmarrn.dev für Donau2Space.de" mit Links zu beiden Seiten.
Fix
- Deutsche Übersetzungen für KI-Funktionen-Dashboard — Abschnittsüberschrift, Einleitungstext, Feature-Bezeichnungen und -Beschreibungen sowie der Speichern-Button wurden auf deutschen WordPress-Installationen auf Englisch angezeigt.
1.3.4 — GEO-Block-Themes 4. März 2026
Neu
- Vier integrierte GEO-Block-Themes — Hell (Standard-Karte), Dunkel (für Dark-Mode-Seiten), Minimal (nur linker Rahmen, keine Box) und Bavarian (Bayerisch-blauer Header mit CSS-Rautenmuster). Auswahl über das neue Theme-Dropdown in den GEO-Block-Einstellungen.
Geändert
- Styling-Steuerung vereinfacht — Farbschema (auto/hell/dunkel) und „Minimales CSS laden"-Checkbox durch die einzelne Theme-Auswahl ersetzt. CSS wird immer geladen, wenn der Block aktiviert ist.
Entfernt
- Custom-CSS-Feld — gemäß WordPress.org-Plugin-Richtlinien entfernt. Zum Überschreiben von
.bre-geo-Custom-Properties das Theme-Stylesheet oder den Customizer verwenden. Verfügbare CSS-Klassen und Theme-Overrides: How-to-Seite.
1.3.3 — CSS-Sicherheitshärtung 3. März 2026
Sicherheit
- GEO-Block Custom-CSS — Eingabe wird jetzt durch einen dedizierten Parser bereinigt, der Kommentare entfernt, At-Regeln (
@import,@mediausw.) blockiert undexpression(),javascript:sowieurl()zurückweist, um CSS-Injection zu verhindern. - Inline-Style-Escaping — der GEO-Block verwendete zuvor
esc_attr()auf rohem CSS-Inhalt, was Anführungszeichen und Ampersands in gültigen Deklarationen korrumpiert. Ersetzt durch den neuen CSS-sicheren Sanitizer.
Fix
- Schema.org JSON-LD — Output übergibt
JSON_UNESCAPED_SLASHESnicht mehr anwp_json_encode(), was</script>-Injection im JSON-LD-Block ermöglichen konnte. - Einheitliches Präfix — alle JS-lokalisierten Objekte, Test-Bootstrap-Konstanten und ein KeyVault-Doc-Kommentar verwenden jetzt einheitlich das
brezngeo_-/brezngeo-Präfix.
1.3.2 — Schema-Fix & WordPress.org-Compliance 2. März 2026
Fix
- Schema.org Meta-Beschreibung — strukturierte Daten (Article, BlogPosting, VideoObject) lesen jetzt korrekt die KI-generierte Meta-Beschreibung. Ein umbenannter Post-Meta-Key führte seit v1.3.1 bei allen Beiträgen zu einem stillen Fallback auf den Beitrags-Excerpt.
- Dashboard-Stats-Transient — Tippfehler im Transient-Key der Nutzungsstatistik korrigiert. Sichtbarer Effekt: Der Zähler im Dashboard-Status-Widget wird einmalig nach dem Update zurückgesetzt.
Intern
- WordPress.org-Compliance — alle Plugin-Bezeichner (Options-Keys, AJAX-Actions, Post-Meta, Transients, JS-Globals) von
bre_aufbrezngeo_-Präfix umbenannt.
1.3.1 — Smarteres Link-Matching & KI-Feature-Schalter 1. März 2026
Verbessert
- Themenbasiertes Anker-Matching — Link-Vorschläge finden Anker-Phrasen jetzt über Titel, Tags, Kategorien und Excerpt des Zielartikels. Ein Donau-Artikel kann jetzt auf einen Deggendorf-Artikel verlinken, wenn „donau" als Tag vorhanden ist — auch wenn „Deggendorf" im Text gar nicht vorkommt.
- Excerpt-Scoring — Kandidaten-Beiträge werden jetzt auch anhand ihrer Excerpt-Tokens bewertet (Gewicht ×1,5), was die Lücke zwischen kurzem Titel und vollem Inhalt überbrückt.
Neu
- KI-Features-Karte im Dashboard — wenn ein KI-Anbieter verbunden ist, können einzelne Features per Opt-in für KI aktiviert werden: Meta-Beschreibungen, Interne Link-Vorschläge, GEO-Block. Standard: alle deaktiviert.
Fix
- Post-Suche in Link-Vorschläge-Einstellungen — Ausschluss- und Boost-Suche war komplett defekt: falsche REST-API-URL und das Such-Script wurde auf der Einstellungsseite nie geladen.
- Plugin Check — Translator-Kommentar-Position in bulk.php; NonPrefixedVariable-Warnungen in link-suggest-settings.php und txt.php.
1.3.0 — Interne Link-Vorschläge 1. März 2026
Neu
- Interne Link-Vorschläge — neue Editor-Meta-Box schlägt beim Schreiben passende interne Links vor: „Phrase im Artikel" → Zielbeitrag. Multi-Select, Vorschau vor dem Anwenden, kein automatisches Einfügen.
- Text-basiertes Matching — funktioniert ohne KI-Key. Bewertet Kandidaten nach Titel-, Tag- und Kategorie-Überschneidung. Optionales KI-Upgrade schickt Top-Kandidaten zur semantischen Verfeinerung an den verbundenen KI-Anbieter.
- Konfigurierbarer Auslöser — Manueller Button (Standard), beim Speichern des Beitrags oder alle N Minuten. Im manuellen Modus kein Hintergrund-Load.
- Ausschluss & Boost — neue Einstellungsseite (Link-Vorschläge) zum Ausschließen von Beiträgen (z.B. Impressum, Kontakt) und zum Priorisieren bestimmter Beiträge.
- Gutenberg + Classic Editor — liest und fügt Inhalte in beiden Editoren über offizielle Editor-APIs ein.
- Vollständige Lokalisierung — alle Strings auf Deutsch (de_DE) und Englisch (en_US) übersetzt.
1.2.4 — UX-Verbesserungen & i18n-Fixes 28. Feb. 2026
Fix
- KI-Generierung ist standardmäßig deaktiviert — neue Installationen zeigen KI nicht mehr als aktiv an, bis der User sie explizit aktiviert und einen API-Key eingibt
- Aktiver Provider im Dashboard zeigt jetzt korrekt „KI deaktiviert" oder „Nicht konfiguriert" an, wenn kein API-Key hinterlegt ist — kein irreführendes „OpenAI" mehr
- Deutsche Strings aus der Schema.org-Adminseite, der Schema-Metabox im Post-Editor und dem SEO-Widget entfernt
Neu
- KI-inaktiv-Hinweis auf den Seiten Meta Generator und GEO Block — erklärt klar, dass der Fallback aktiv ist, und verlinkt zu den KI-Provider-Einstellungen
- Sprachabhängiger Standard-Prompt — deutsche WordPress-Installationen erhalten den deutschen Meta-Prompt, alle anderen Englisch
- „Theme gibt Beitragstitel als H1 aus" in den Meta-Generator-Einstellungen — unterdrückt die falsch-positive „Keine H1"-Warnung für Themes, die den Titel außerhalb des Inhaltsbereichs als H1 rendern
- SEO-Widget-Warnmeldungen sind jetzt vollständig via WordPress-i18n übersetzbar
1.2.3 — TXT-Dateien-Seite 28. Feb. 2026
Verbessert
- TXT-Dateien — llms.txt und robots.txt sind jetzt in einer einzigen Admin-Seite mit nativer WordPress-Tab-Navigation zusammengeführt; Status-Punkt im llms.txt-Tab, Anzahl blockierter Bots als Badge im robots.txt-Tab
1.2.2 — Dashboard UX & KI-Steuerung 25. Feb. 2026
Neu
- Ausblendbare Willkommens-Hinweis-Box — erscheint 24 Stunden nach der ersten Aktivierung, pro Nutzer ausblendbar, mit einem kleinen bayerischen Touch
- KI-Aktivierungs-Schalter auf der KI-Anbieter-Seite — KI-Generierung deaktivieren ohne den API-Key zu löschen; zeigt Kostenwarnung bei der Ersteinrichtung
- Token-Verbrauch und geschätzte Kosten im Status-Widget — verfolgt generierte Beschreibungen und verbrauchte Token über alle Bulk- und Einzelläufe
Verbessert
- Dashboard-Meta-Coverage zeigt jetzt Fortschrittsbalken (grün / gelb / rot) statt einer einfachen Tabelle
- Quick-Links-Panel mit Hover-Animation ersetzt die bisherige ungestylte Liste
- KI-Crawler-Einträge zeigen jetzt einen grünen Punkt-Indikator in der Crawler-Tabelle
- 5-Minuten-Transient-Caching für alle Dashboard-Datenbankabfragen (Meta-Statistiken, Crawler-Zusammenfassung)
Fix
- Plugin Check / PHPCS: Variablen-Zuweisungen aus dem Dashboard-Template in den Controller verschoben — keine NonPrefixedVariableFound-Warnungen mehr
- Fest kodierte deutsche Strings in
admin.jsdurch ordnungsgemäß lokalisierte Entsprechungen viawp_localize_scriptersetzt
1.2.1 — Schema-Admin-Seite 24. Feb. 2026
Admin UI
- Neue BreznGEO → Schema.org-Admin-Seite — Schema-Einstellungen sind jetzt ein eigener Menüpunkt auf oberster Ebene statt unter Meta-Generator versteckt
- Schema-Einstellungen werden in einem separaten Options-Key (
bre_schema_settings) gespeichert; bestehende Installationen fallen automatisch auf die bisherigen Einstellungen zurück
1.2.0 — Schema Suite v2 24. Feb. 2026
Schema.org
- FAQPage JSON-LD — automatisch aus GEO Quick Overview FAQ-Paaren generiert; keine zusätzliche Eingabe nötig
- BlogPosting / Article JSON-LD mit eingebettetem Autor (
Person) und Beitragsbild (ImageObject) - ImageObject JSON-LD aus dem Beitragsbild — beinhaltet
contentUrl,widthundheight - VideoObject JSON-LD — erkennt automatisch das erste YouTube- oder Vimeo-Embed im Beitragsinhalt und gibt Embed-URL, Thumbnail und Upload-Datum aus
Beitragseditor Meta-Box
- Neue BreznGEO Schema Meta-Box im Beitrags- und Seiten-Editor — Schema-Typ-Auswahl mit Feldgruppen pro Typ
- HowTo — Titel + Schrittliste (ein Schritt pro Zeile), gibt
HowTomitHowToStep-Einträgen aus - Review — Produkt-/Dienstleistungsname und Sternbewertung (1–5), gibt
ReviewmitRatingaus - Recipe — Name, Vorbereitungszeit, Kochzeit, Portionen, Zutaten und Anweisungen; gibt vollständiges
Recipe-Schema mit ISO 8601 Zeitangaben aus - Event — Name, Startdatum, Enddatum (optional), Ort oder URL; Online/Offline-Umschalter gibt
PlaceoderVirtualLocationaus - Meta-Box erscheint nur, wenn mindestens ein Meta-Box-Typ in den Einstellungen aktiviert ist
1.1.1 — Encoding & Styling-Fixes 22. Feb. 2026
Fehlerbehebungen
- Behoben: Umlaute und Sonderzeichen (ä, ö, ü, schmale Leerzeichen) wurden als rohe Escape-Sequenzen (z. B.
u00e4) im GEO Quick Overview Block im Frontend angezeigt - Behoben: Die Einstellung für dunkles / helles Farbschema hatte im Frontend-Block keinen sichtbaren Effekt aufgrund des Browser-CSS-Cache von v1.1.0
- GEO-Block-JSON-Speicherung nutzt jetzt
JSON_UNESCAPED_UNICODE— echte UTF-8-Bytes werden gespeichert statt\uXXXX-Escape-Sequenzen, was jegliche Encoding-Unklarheit im Datenbankrundtrip beseitigt
1.1.0 — GEO Quick Overview 22. Feb. 2026
GEO-Block
- GEO Quick Overview — KI-generierter Pro-Beitrag-Zusammenfassungsblock mit kurzer Zusammenfassung, Kern-Bullet-Points und optionalem FAQ
- Gerendert als natives
<details>-Element: aufklappbar (Standard), immer offen oder nur-speichern (kein Frontend-Output) - Konfigurierbare Einfügeposition: nach dem ersten Absatz (Standard), oben oder unten im Inhalt
- Auto-Generierung beim Veröffentlichen via
transition_post_status-Hook; optionale Neu-Generierung bei jedem Update - Drei Modi: automatisch beim Veröffentlichen, hybrid (nur automatisch wenn Felder leer sind) oder nur manuell
- Quality Gate: Wortzahl-Schwellenwert unterdrückt FAQ bei kurzen Beiträgen (Standard: 350 Wörter)
- JSON-Response-Parsing mit Markdown-Fence-Stripping und harten Grenzen für Zusammenfassungslänge und Bullet/FAQ-Anzahl
- Füllphrasen-Erkennung verhindert Füllsprache in der KI-Ausgabe
Editor-Integration
- Beitragseditor-Meta-Box mit Live-Generieren- und Löschen-Buttons, Pro-Beitrag-Aktivierungs-/Deaktivierungs-Schalter und Sperr-Checkbox
- Auto-Lock: Manuelle Bearbeitungen von Zusammenfassung, Bullets oder FAQ aktivieren automatisch die Sperre, um KI-Überschreibung zu verhindern
- Optionales Pro-Beitrag-Prompt-Erweiterungsfeld für Anpassungen auf Autorenebene
- AJAX-Generierung füllt Felder sofort ohne Seitenneuladen; zuletzt generierter Zeitstempel wird in der Meta-Box angezeigt
Einstellungen & Styling
- Eigene Admin-Seite unter BreznGEO → GEO-Block mit vollständigem Einstellungsformular
- Konfigurierbare Labels (Block-Titel, Zusammenfassung, Bullets, FAQ) und Ausgabestil pro Website
- Mitgeliefertes minimales CSS, auf
.bre-geobeschränkt — optional, kann deaktiviert werden - Benutzerdefiniertes CSS-Feld für Theme-Level-Overrides; Ausgabe automatisch auf
.bre-geo{…}beschränkt - Vollständig anpassbarer KI-Prompt mit
{title},{content}und{language}Platzhaltern
1.0.0 — Erstveröffentlichung 21. Feb. 2026
KI & Meta-Generierung
- KI-Meta-Generator — generiert automatisch eine 150–160-Zeichen-SEO-optimierte Metabeschreibung beim Veröffentlichen eines Beitrags
- Anpassbarer Prompt mit
{title},{content},{excerpt}und{language}Platzhaltern - Automatische Spracherkennung via Polylang, WPML oder WordPress-Website-Locale
- Fallback-Meta-Extraktion (satzgrenzbasiert, 150–160 Zeichen) — funktioniert ohne API-Key oder bei API-Fehler
- Multi-Provider-Unterstützung: OpenAI (GPT-4.1, GPT-4o, GPT-4o mini), Anthropic Claude (3.5 Sonnet, 3 Haiku), Google Gemini (2.0 Flash, 1.5 Pro), xAI Grok (3, 3 mini)
Bulk-Operationen
- Bulk-Generator — Stapelverarbeitung von Beiträgen ohne Metabeschreibung
- Batch-basierte AJAX-Verarbeitung mit 6-Sekunden-Rate-Limiting-Verzögerung zwischen Batches
- Transient-basierte Sperre verhindert gleichzeitige Läufe; läuft automatisch nach 15 Minuten ab
- Bis zu 3 Versuche pro Beitrag mit 1-Sekunden-Verzögerung zwischen Versuchen
- Live-Fortschrittslog, Pro-Batch-Kostenschätzung und Fehlerbeitrag-Zusammenfassung
Schema.org & GEO
- Schema.org Enhancer — fügt JSON-LD strukturierte Daten für Organization, Article, Author, Speakable und BreadcrumbList Typen ein
- KI-Indexierungs-Meta-Tags:
max-snippet:-1,max-image-preview:large,max-video-preview:-1 - BreadcrumbList-Ausgabe automatisch unterdrückt, wenn Rank Math oder Yoast SEO aktiv ist
- Organization
sameAsSocial-Links aus dem Admin konfigurierbar
Inhalts-Discovery
- llms.txt — stellt einen maschinenlesbaren Inhaltsindex unter
/llms.txtfür KI-Retrieval-Systeme bereit - Unterstützt benutzerdefinierten Titel, Beschreibungsabschnitte, Featured-Resource-Links und Post-Type-Auswahl
- Paginierung für große Websites; HTTP ETag / Last-Modified-Caching; manueller Cache-Leer-Button
Bot & Crawler-Verwaltung
- robots.txt-Manager — 13 bekannte KI-Crawler und Daten-Harvesting-Bots aus dem WordPress-Admin blockieren: GPTBot, ClaudeBot, Google-Extended, PerplexityBot, CCBot, Applebot-Extended, Bytespider, DataForSeoBot, ImagesiftBot, Omgili, Diffbot, FacebookBot, Amazonbot
- Crawler-Log — zeichnet KI-Bot-Besuche auf (Bot-Name, gehashte IP, URL) in einer privaten Datenbanktabelle
- 30-Tage-Zusammenfassung im Plugin-Dashboard angezeigt; Einträge automatisch nach 90 Tagen gelöscht
Editor & Dashboard
- Metabeschreibungs-Meta-Box — zeigt aktuelle Beschreibung, ihre Quelle (KI / Fallback / Manuell), einen Live-Zeichenzähler und Ein-Klick-KI-Neu-Generierung
- SEO-Analyse-Sidebar-Widget — Wortzahl, Lesezeit, Überschriftenstruktur, Link-Anzahlen, Live-Warnungen
- Link-Analyse-Dashboard-Panel — Beiträge ohne interne Links, externe-Link-Ausreißer, Top-Pillar-Pages nach eingehender Link-Anzahl
- Plugin-Dashboard mit Provider-Status, Meta-Coverage pro Beitragstyp und Crawler-Aktivitäts-Zusammenfassung
Plugin-Integrationen
- Natives Meta-Feld Write-through für Rank Math, Yoast SEO, AIOSEO und SEOPress
- Bestehende Beschreibungen, die von diesen Plugins gesetzt wurden, werden immer respektiert und nie überschrieben
- Eigenständige Meta-Ausgabe automatisch unterdrückt, wenn ein unterstütztes SEO-Plugin aktiv ist
- Spracherkennung aus Polylang und WPML für korrekte Metabeschreibungsgenerierung pro Sprache
Sicherheit
- KeyVault API-Key-Verschleierung — Keys werden mit XOR verschlüsselt, abgeleitet aus WordPress-Auth-Salts vor der Datenbankspeicherung; nie im Klartext gespeichert
- Keine OpenSSL-Extension erforderlich
- SHA-256 IP-Hashing im Crawler-Log — originale IP-Adressen werden nie gespeichert
Entwickler
bre_promptFilter — KI-Prompt zur Laufzeit anpassenbre_meta_savedAction — in Metabeschreibungs-Speicherungen für benutzerdefinierte Workflows einhaken- Erweiterbare Provider-Architektur —
ProviderInterfaceimplementieren, um eigene KI-Provider hinzuzufügen