=== Image AI Labels Pro ===
Contributors: meindlwebdesign
Tags: ki, ai, bilder, kennzeichnung, transparenz
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 2.10.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Kennzeichnet KI-generierte Bilder auf deiner Website automatisch mit einem Label – einfach per Checkbox in der Mediathek.

== Description ==

Mit **Image AI Labels Pro** markierst du KI-generierte Bilder auf deiner WordPress-Website mit einem gut sichtbaren Label ("KI-generiert" / "AI-generated") – vorbereitet auf kommende gesetzliche Kennzeichnungspflichten für KI-Inhalte.

**So funktioniert's:**

1. Öffne die Mediathek (Listenansicht) – dort findest du eine neue Spalte "KI-Label".
2. Setze bei allen KI-generierten Bildern per Checkbox ein Häkchen.
3. Das Label erscheint automatisch überall dort, wo das Bild auf der Website ausgegeben wird.

**Kostenlos enthalten:**

* Checkbox-Markierung in der Mediathek (Listen- & Detailansicht)
* Eigener Label-Text auf Deutsch und Englisch (automatische Auswahl je nach Sprache der Website)
* Einstellbare Schriftgröße
* Einstellbare Größe/Innenabstand (Padding) des Labels
* Einstellbare Hintergrund-Deckkraft
* Freie Positionierung des Labels (9 Positionen + Randabstand in px)
* Live-Vorschau in den Einstellungen
* Gut lesbare Standard-Darstellung: schwarzer Hintergrund, weiße Schrift
* Funktioniert auch bei WooCommerce-Produktbildern (Shop-Übersicht, Produktseite, per AJAX nachgeladene Produkte)
* Kompatibel mit Elementor und dem Gutenberg-Editor – markierte Bilder werden direkt im Block-Editor als Live-Vorschau angezeigt, nicht erst nach dem Veröffentlichen

**Zusätzlich in der Pro-Version (per Lizenzschlüssel freischaltbar):**

* Individuelle Schriftfarbe & Hintergrundfarbe
* Eigene Schriftart, optional automatisch von Google Fonts geladen
* Funktioniert auch bei CSS-Hintergrundbildern statt `<img>`-Tag - bei Elementor (Section/Container/Spalte/Widget) sowie bei anderen Page-Buildern/Themes mit Inline-Style oder Lazy-Load-Attribut (z. B. Divi, WPBakery, Beaver Builder, Bricks)
* WooCommerce: Produktbilder zentral in einer Übersichtsseite und direkt im Produkt-Editor markieren - inklusive Varianten-Bildern, Lightbox und per JavaScript gerenderter Produktlisten
* Sitewide-Fallback für Theme-Builder-Widgets (z. B. das Beitragsbild- und Posts-Widget von Elementor), die ihr Bild-Markup selbst erzeugen - markierte Beitragsbilder von Blogartikeln werden dadurch zuverlässig erkannt
* Automatische KI-Erkennung (Beta): Der Metadaten-Scan findet C2PA/Content Credentials, den IPTC-Eintrag `DigitalSourceType` sowie über 80 bekannte Generatoren (Midjourney, DALL·E, Adobe Firefly, Gemini/Nano Banana, Stable Diffusion, ComfyUI u. a.) und liefert je Bild einen Punktwert mit Sicherheitsstufe. Noch nicht perfekt – nicht jedes KI-Bild trägt erkennbare Marker; Treffer bitte prüfen
* Sammel-Markierung mehrerer Bilder in der Mediathek
* Übersicht „Markierte KI-Bilder“ unter Medien (Liste / Kacheln / kleine Kacheln)
* Eigenes Vorschaubild aus der Mediathek für die Live-Vorschau in den Einstellungen wählbar

Die Pro-Version ist im selben Plugin enthalten – es muss nichts neu installiert werden. Ein gültiger Lizenzschlüssel in den Einstellungen genügt, um die Zusatzfunktionen freizuschalten.

Mehr Informationen zur Pro-Version: [ai-label24.de](https://ai-label24.de/#preise)

== Installation ==

1. Plugin-Ordner nach `/wp-content/plugins/` hochladen oder über "Plugins -> Installieren" hochladen.
2. Plugin aktivieren.
3. Unter "Einstellungen -> Image AI Labels Pro" Texte, Schriftgröße und Deckkraft festlegen.
4. In der Mediathek die betroffenen Bilder per Checkbox markieren.

== Frequently Asked Questions ==

= Werden alle Bilder automatisch markiert? =

Nein. Du entscheidest bewusst pro Bild per Checkbox in der Mediathek, welche Bilder als KI-generiert gekennzeichnet werden.

= Wo genau wird das Label angezeigt? =

Überall dort, wo das markierte Bild über die Mediathek in Beiträgen/Seiten ausgegeben wird. Die Position wird dynamisch anhand der tatsächlichen Bildgröße berechnet, damit sie auch bei responsiven Layouts korrekt sitzt.

= Was passiert, wenn der Update-Zeitraum meiner Pro-Lizenz abläuft? =

Deine Pro-Funktionen (Farben, Schriftart, WooCommerce, KI-Erkennung) bleiben weiterhin nutzbar. Lediglich automatische Plugin-Updates werden erst nach einer Verlängerung wieder ausgeliefert. Es gehen keine Einstellungen oder Daten verloren.

= Werden Daten an Dritte übertragen? =

Bei Aktivierung und einer stündlichen Statusprüfung wird der Lizenzschlüssel (als Hash) zusammen mit der Domain an unseren eigenen Lizenzserver (ai-label24.de) übermittelt, um die Lizenz zu validieren. Es werden keine Bild- oder Seiteninhalte übertragen. Nur wenn du in der Pro-Version optional Google Fonts aktivierst, werden zusätzlich Schriftdateien von Google-Servern geladen (siehe Hinweis in den Einstellungen).

== Screenshots ==

1. Einstellungsseite mit Live-Vorschau
2. Checkbox-Spalte in der Mediathek

== Changelog ==

= 2.10.3 =
* Fix: WordPress-Updates funktionieren wieder auch ohne aktives Update-Abo (privates GitHub-Repo braucht den Token für die Versionsprüfung).

= 2.10.2 =
* Neu: Nach Lizenzverlust bleiben Pro-Funktionen noch 24 Stunden aktiv; danach nur noch Free-Labels. Admin-Hinweis nennt das Plugin und warnt vor der Abschaltung.
* Fix: Update-Hinweis ohne Lizenz zeigt jetzt „Image AI Labels Pro“ statt einer generischen Meldung.

= 2.10.1 =
* Design: FREE-/PRO-Badges und „Pro aktiv“ nutzen jetzt die Markenfarbe Türkis (#21D5DC).
* Fix: Lizenzsperren greifen schneller – Statusprüfung alle 15 Minuten (Admin: 5 Min.), gesperrte Keys lassen sich nicht erneut aktivieren.

= 2.10.0 =
* Fix: Bei vielen markierten Bildern wurden ab 500 (bzw. 2000 IDs) ältere Markierungen im Sitewide-/Editor-Fallback stillschweigend ignoriert – Limit entfernt, alle Markierungen werden wieder berücksichtigt.
* Neu (Pro): Unter Medien → „Markierte KI-Bilder“ Übersicht aller markierten Anhänge mit Listen-, Kachel- und Klein-Kachel-Ansicht, Suche und Entfernen der Markierung.
* Hinweis: Auto-Detect scannt die komplette Mediathek ohne Gesamt-Limit; ältere KI-Bilder ohne Metadaten werden weiterhin oft nicht erkannt.

= 2.9.8 =
* Fix: Beitragsbilder (Featured Image) wurden bei manchen Theme-Builder-Widgets (z. B. Elementor-Beitragsbild) nicht gekennzeichnet, u. a. wenn eine Seite von einem Cache-Plugin zwischengespeichert wurde, bevor das Bild als KI-Bild markiert wurde. Die Erkennung gleicht Bilder jetzt zusätzlich direkt über die Anhang-ID ab statt nur über die Bild-URL.

= 2.9.7 =
* Verbesserung (Pro): Die KI-Erkennung wurde komplett überarbeitet – Punktwert (0–100) mit Sicherheitsstufe statt Ja/Nein, deutlich mehr erkannte Generatoren (über 80, u. a. Midjourney, Stable Diffusion, Firefly, Gemini/Nano Banana, FLUX, Leonardo.Ai), Unterstützung für Content Credentials (C2PA) in JPEG/PNG/WebP/AVIF/HEIC, sowie Gegenprüfung anhand echter Kameradaten zur Vermeidung von Fehlalarmen.
* Fix: Bei Bildern über 2560px hat WordPress intern eine verkleinerte "-scaled"-Datei ohne die ursprünglichen Metadaten verwendet – die Erkennung prüft jetzt zusätzlich die unveränderte Originaldatei.
* Verbesserung: Plugin-Links zeigen auf ai-label24.de; ohne Pro-Lizenz erscheint in der Plugin-Übersicht ein „Get Pro“-Badge.

= 2.9.6 =
* Hinweis: Die automatische KI-Erkennung ist als Beta gekennzeichnet – sie funktioniert noch nicht perfekt und findet nur Bilder mit erkennbaren Metadaten-Markern. Treffer sollten geprüft werden.

= 2.9.5 =
* Neu: Die KI-Erkennung in der Mediathek lässt sich jetzt während des Scans abbrechen.
* Neu (Pro): Die Sitewide-Bilderkennung erkennt jetzt zusätzlich CSS-Hintergrundbilder außerhalb von Elementor (z. B. bei Divi, WPBakery, Beaver Builder, Bricks oder individuellem Theme-Markup), sofern sie per Inline-Style oder gängigem Lazy-Load-Datenattribut gesetzt werden.

= 2.9.4 =
* Verbesserung: Lizenzstatus wird jetzt stündlich statt täglich geprüft, damit z. B. eine neu aktivierte Lizenz oder Sperre schneller wirksam wird.
* Fix: Bild-URLs mit doppelter Dateiendung (z. B. `foto.jpg.webp`, typisch für manche WebP-Optimierungs-Plugins) wurden von der Sitewide-Erkennung nicht als markiert erkannt.

= 2.9.3 =
* Fix: Beitragsbilder wurden von der Sitewide-Erkennung nicht erkannt, wenn ein Hosting-/CDN-/Optimierungs-Plugin sie automatisch in ein anderes Format (z. B. AVIF oder WebP statt JPG/PNG) umgewandelt hat. Die Erkennung vergleicht Bild-URLs jetzt unabhängig von der Dateiendung.

= 2.9.2 =
* Fix: Kleine Vorschaubilder in Blog-/Beitragslisten (z. B. Beitragsraster von Elementor, Kadence & Co.) wurden von der Sitewide-Erkennung teils übersehen, wenn Lazy-Load-Plugins die Bild-URL zunächst in `data-src`/`data-lazy-src` statt in `src` ablegen. Die Erkennung prüft jetzt zusätzlich diese Attribute sowie `srcset`.

= 2.9.1 =
* Fix: Beitragsbilder von Blogartikeln bekamen bei manchen Themes/Page-Buildern (z. B. dem Beitragsbild- und Posts-Widget von Elementor) kein Label, weil diese ihr `<img>`-Markup selbst erzeugen statt über die WordPress-Bildfunktion. Markierte Bilder werden jetzt zusätzlich im Browser erkannt und gekennzeichnet - analog zur bestehenden WooCommerce-Lösung, aber für die gesamte Website.

= 2.9.0 =
* Neu: Als KI-Bild markierte Bilder werden jetzt auch direkt im Block-Editor (Gutenberg) mit dem Label angezeigt – als Live-Vorschau beim Bearbeiten, nicht erst nach dem Veröffentlichen/Ansehen der Seite.
* Neu: Kompatibilität mit Elementor und dem Gutenberg-Editor in der Funktionsübersicht ergänzt.

= 2.8.0 =
* Neu: Die Position des Labels (9 Positionen + Randabstand) ist ab sofort auch ohne Lizenz frei einstellbar und damit keine Pro-Funktion mehr.
* Neu: Automatische KI-Erkennung (Pro) – ein Scan liest die Metadaten der Mediathek aus (C2PA/Content Credentials, IPTC `DigitalSourceType`, EXIF-Feld „Software" sowie die Prompt-Daten in PNG-Textblöcken) und schlägt alle gefundenen KI-Bilder zum Markieren vor. Optional werden neue Uploads direkt beim Hochladen geprüft. Es werden keine Bilder an externe Dienste übertragen.
* Neu: Einstellungsseite in Tabs aufgeteilt (Label & Position, Farben & Schrift, WooCommerce, KI-Erkennung) mit dauerhaft sichtbarer Live-Vorschau in der Seitenspalte.
* Neu: WooCommerce-Bereich in den Einstellungen mit Schalter für die Shop-Kennzeichnung und einer Übersicht, wie viele Produktbilder bereits markiert sind.
* Fix: In vielen Shops bekamen Produktbilder kein Label, weil Themes (z. B. Woodmart), Block-Produktlisten, Produkt-Slider und Quick-View-Popups ihr Bild-Markup selbst per JavaScript erzeugen und die serverseitige Kennzeichnung dort nicht greift. Markierte Produktbilder werden jetzt zusätzlich im Browser erkannt und gekennzeichnet – inklusive Varianten-Wechsel und der Vollbild-Lightbox.

= 2.7.1 =
* Fix: Bei fehlendem Update-Abo wurden technische GitHub-API-Fehlermeldungen angezeigt. Es erscheint jetzt nur noch ein einzelner, verständlicher Hinweis mit Link zur Lizenz-Aktivierung.

= 2.7.0 =
* Neu: WooCommerce-Übersichtsseite (WooCommerce → KI-Labels) – alle Produktbilder zentral verwalten ohne in jedes Produkt wechseln zu müssen. Jede Änderung wird per AJAX sofort gespeichert.
* Neu: Spalte „KI-Labels" in der WooCommerce-Produktliste zeigt KI-/Gesamt-Anzahl pro Produkt auf einen Blick.
* Neu: Link zur WooCommerce-Übersichtsseite direkt auf der Plugin-Einstellungsseite.

= 2.6.2 =
* Fix: Schriftgröße/-farbe, Padding und Hintergrundfarbe des Labels werden jetzt zuverlässig auch bei Elementor-Hintergrundbildern angewendet (nicht mehr nur bei &lt;img&gt;-Tags).

= 2.6.1 =
* Fix: Plugin-Check-Hinweise zu ungeschätzten Ausgaben (Vorschaubild-Style, WooCommerce-Checkboxen) behoben.

= 2.6.0 =
* Neu: Eigenes Vorschaubild aus der Mediathek für die Live-Vorschau in den Einstellungen wählbar.

= 2.5.0 =
* Neu: WooCommerce-Produktbilder (Beitragsbild + Galerie) lassen sich jetzt direkt im Produkt-Editor als KI-generiert markieren, ohne extra in die Mediathek zu wechseln.

= 2.4.5 =
* Neu: Einstellung "Elementor-Hintergrundbilder" – Pro-Nutzer können die automatische Kennzeichnung von Elementor-Hintergrundbildern nun ein-/ausschalten (Basis-Version zeigt die Option ausgegraut wie Schrift-/Hintergrundfarbe).

= 2.4.4 =
* Änderung: Kennzeichnung von Elementor-Hintergrundbildern (CSS-Hintergrund statt `<img>`-Tag) ist jetzt korrekt an eine aktive Lizenz gebunden.
* Link zur Produktseite aktualisiert.

= 2.4.3 =
* Plugin vollständig zu "Image AI Labels Pro" umbenannt (Ordner, Slug, Text Domain, GitHub-Repository).

= 2.4.2 =
* Code-Qualität: Ausgaben escaped, Formulareingaben sanitisiert, fehlende Versionsnummer bei Google-Font-Einbindung ergänzt, "Tested up to" aktualisiert (Hinweise aus WordPress Plugin Check behoben, soweit mit dem bestehenden Lizenz-/Update-System vereinbar).

= 2.4.1 =
* Fix: Als KI-Bild markierte Produktbilder, die z. B. in WooCommerce per AJAX nachgeladen werden (Infinite Scroll, "Mehr laden", Quick View), bekamen kein Label, weil WordPress solche AJAX-Aufrufe intern wie einen Admin-Bereich behandelt. Das Label wird jetzt auch bei diesen Aufrufen korrekt ausgegeben.

= 2.4.0 =
* Neu: Als KI-Bild markierte Bilder werden jetzt auch automatisch gelabelt, wenn sie in Elementor als Hintergrundbild einer Section, eines Containers, einer Spalte oder eines Widgets verwendet werden (klassischer Bild-Hintergrund) - es ist keine zusätzliche Markierung nötig, die Checkbox in der Mediathek reicht.

= 2.3.3 =
* Fix: Label blitzte auf Seiten mit CSS-/JS-Optimierung durch Cache-Plugins (z. B. FlyingPress, WP Rocket, Autoptimize) kurz unformatiert auf und verschwand danach dauerhaft, weil die verzögert geladenen Styles/Skripte das Label erst nach dem ersten sichtbaren Rendern korrekt versteckt/positioniert haben. Die Basis-Styles (Position/Sichtbarkeit) werden jetzt direkt inline ausgegeben statt über einen separaten &lt;style&gt;-Block, damit sie unabhängig von jeglicher CSS-Optimierung sofort greifen. Das Positionierungs-Skript wird zusätzlich per Bypass-Attributen von gängigen Optimierungs-Plugins von der Verzögerung ausgenommen.

= 2.3.2 =
* Fix: Klick auf "Nach Updates suchen" zeigte ohne aktives Update-Abo die kryptische Meldung "Could not determine if updates are available" statt eines verständlichen Hinweises. Es erscheint jetzt "Für automatische Updates wird ein gültiges Update-Abo benötigt.".

= 2.3.1 =
* Fix: GitHub-Token für automatische Updates war auf das falsche Repository beschränkt und lieferte daher "Could not determine if updates are available".

= 2.3.0 =
* Fix: Label konnte auf Seiten mit Elementor-Animationen/Transform-Effekten sichtbar neben statt auf dem Bild landen (Ursache: "position: fixed" reagiert auf transformierte Vorfahren-Elemente). Das Label wird jetzt per JavaScript an die Seitenwurzel gehängt, damit die Positionierung unabhängig vom umgebenden Layout korrekt bleibt.
* Neu: Innenabstand/Größe des Labels (Padding) ist jetzt in der Basis-Version einstellbar.

= 2.2.0 =
* Neu: Lizenzprüfung läuft jetzt über einen eigenen Mini-Lizenzserver statt einer rein offline gespeicherten Schlüsselliste – dadurch ist eine Domain-Bindung pro Lizenz und ein zeitlich begrenzter Update-Zugriff (12 Monate, verlängerbar) möglich.
* Neu: Pro-Funktionen bleiben nach Ablauf des Update-Zeitraums weiterhin nutzbar, es gibt lediglich keine automatischen Updates mehr ohne Verlängerung.
* Neu: Lizenzstatus wird täglich im Hintergrund automatisch aktualisiert, inkl. Gnadenfrist bei kurzzeitiger Nichterreichbarkeit des Lizenzservers.

= 2.1.0 =
* Neu: Automatische Updates direkt aus dem GitHub-Repository (Plugin Update Checker) – neue Versionen erscheinen wie gewohnt unter "Plugins" mit Update-Hinweis und Ein-Klick-Update.

= 2.0.1 =
* Fix: Label wurde auf manchen Themes/Page-Buildern (z. B. Elementor) neben statt auf dem Bild angezeigt, solange die Seite nicht gescrollt wurde – Ursache waren nachträgliche Layoutverschiebungen durch Lazy-Loading, Web-Fonts oder Cookie-Banner. Position wird jetzt zusätzlich per MutationObserver, Font-Loading-Event und kurzer Nachjustierungsphase nach dem Laden korrigiert.

= 2.0.0 =
* Neu: Pro-Version im selben Plugin, Freischaltung per Lizenzschlüssel (offline, ohne Serveranfrage)
* Neu: Positionierung über 9 feste Bildecken + Randabstand statt X/Y-Prozentwerten (behebt fehlerhafte Vorschau-Darstellung)
* Neu: Basis-Version: Label-Text DE/EN, Schriftgröße und Hintergrund-Deckkraft frei einstellbar
* Neu: Pro-Version: Position, Schrift-/Hintergrundfarbe und individuelle Schriftart
* Fix: Vorschau zeigte "unten rechts" fälschlich in Richtung "unten links" an
* Diverse Code-Aufräumarbeiten (Aufteilung in includes/, externe CSS/JS-Dateien)

= 1.1.0 =
* Erste veröffentlichte Version mit Mediathek-Checkbox, Textanpassung, Position, Farbe und Schriftart

== Upgrade Notice ==

= 2.8.0 =
Die Label-Position ist jetzt für alle frei einstellbar. Neu in Pro: automatische KI-Erkennung über die Bild-Metadaten und eine deutlich zuverlässigere Kennzeichnung von WooCommerce-Produktbildern.

= 2.0.0 =
Größeres Update: Freie Positionierung, Farben und Schriftart sind ab sofort Pro-Funktionen. Bestehende Einstellungen bleiben erhalten und werden bei Lizenzaktivierung automatisch wieder angewendet.
