=== WP Exit ===
Contributors: decivo
Tags: migration, analysis, costs, headless, export
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.1
Stable tag: 0.5.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Analysiert deine WordPress-Installation read-only und zeigt dir, was dein WordPress kostet und was ein Exit bringt.

== Description ==

WP Exit erfasst die technische Struktur deiner Website – Plugins, Themes, Inhaltstypen, Felder, Formulare, Weiterleitungen, Integrationen und Hosting-Umgebung – und zeigt dir daraus einen wirtschaftlichen Vergleich: laufende Kosten heute vs. nach einem Exit aus WordPress, Einsparung, Fixpreis für die Migration und Break-even.

**Read-only.** Das Plugin verändert nichts an deiner Website und schreibt nur seine eigenen Einstellungen.

**Kein Datenversand ohne deine Freigabe.** Der Bestand wird lokal erfasst. Erst wenn du die Analyse freigibst oder ein Angebot anfragst, wird die technische Struktur (keine Inhalte, keine Nutzerdaten, keine Zugangsdaten) an app.decivo.de übertragen. Die Freigabe listet exakt auf, was übertragen wird. Verarbeitung in der EU, AVV verlinkt.

**Migration nach Auftrag.** Nach Auftragserteilung kannst du den Migrationsmodus mit einem Freischaltcode aktivieren. decivo liest deine Inhalte dann zeitlich begrenzt und lesend über eine token-geschützte REST-Schnittstelle aus. Du kannst den Zugriff jederzeit beenden.

== Installation ==

1. Plugin hochladen und aktivieren.
2. Menüpunkt „WP Exit“ öffnen und „Jetzt analysieren“ klicken.
3. Analyse freigeben, um Kosten und Einsparung berechnen zu lassen.

== Frequently Asked Questions ==

= Welche Daten werden übertragen? =
Nur die technische Struktur: Plugin- und Theme-Namen mit Versionen, Inhaltstypen und Zähler, Feld-Definitionen, Formular-Definitionen, URL-Struktur, Weiterleitungen, SEO-Konfiguration, Hosting-Umgebung sowie deine Website-URL. Keine Texte, Bilder, Kommentare, Formular-Einträge, Nutzerdaten, Passwörter, Lizenzschlüssel oder API-Keys.

= Legt das Plugin Dateien ab? =
Nein. Die Analyse wird im Speicher erzeugt und sofort übertragen. Für Wiederholungsversuche bei Verbindungsproblemen wird sie ausschließlich verschlüsselt gespeichert; nur decivo kann diese Daten lesen.

= Was passiert bei der Deinstallation? =
Alle Einstellungen und gespeicherten Ergebnisse werden entfernt.

== Changelog ==

= 0.5.1 =
* Ist eine Anfrage schon gesendet oder läuft die Migration, führen „Migration starten“ in der Übersicht, im Preis-Fenster und im Migrations-Tab zum aktuellen Schritt („Zu deiner Anfrage“ bzw. „Zur Migration“) statt erneut zum Anfrageformular.
* Das Plugin schickt seine Sprache an decivo (`locale`, Header `X-WP-Exit-Locale`), damit der Report künftig auf Englisch kommen kann.

= 0.5.0 =
* Englische Oberfläche: Ist WordPress oder dein Profil auf Englisch eingestellt, erscheint WP Exit auf Englisch, mit Beträgen wie „€1,930“ und englischem Datum. Texte aus dem Report von decivo bleiben vorerst deutsch.
* Alle Texte sind übersetzbar, auch im Bestands-Tab und beim Migrationsstatus.

= 0.4.0 =
* Test-Konto für Seiten hinter dem Login legt WP Exit auf Wunsch selbst an: ein eigener Nutzer mit der Rolle Kunde, Zufallspasswort, das nur decivo öffnen kann, keine E-Mail. Häkchen gleich bei der Eingabe des Freischaltcodes oder später der Button „Test-Konto anlegen“.
* Der angelegte Nutzer wird automatisch gelöscht, sobald der Zugriff endet oder abläuft, und beim Deaktivieren oder Deinstallieren des Plugins. Gelöscht wird nur dieser markierte Nutzer.
* Ein eigenes Test-Konto lässt sich weiterhin eintragen.

= 0.3.1 =
* Nach der Eingabe des Freischaltcodes beginnt decivo automatisch mit der Übertragung. Der Migrations-Tab sagt das beim Freischalten.
* Das Test-Konto lässt sich optional direkt zusammen mit dem Freischaltcode hinterlegen, damit es schon beim ersten Lauf da ist. Wird nur das Test-Konto abgelehnt, bleibt der Zugriff aktiv und der Hinweis steht am Feld.

= 0.3.0 =
* Bereiche hinter dem Login: Im Migrations-Tab lässt sich ein eigenes Test-Konto (Rolle Kunde oder Abonnent) hinterlegen. decivo meldet sich damit an und liest Kontobereich, Bestellungen oder Kasse so, wie Kunden sie sehen, nur lesend.
* Das Passwort wird sofort mit dem Schlüssel von decivo versiegelt; das Plugin kann es danach selbst nicht mehr lesen. Konten mit Redaktions- oder Adminrechten werden abgelehnt. Beim Beenden oder Ablaufen des Zugriffs wird das Test-Konto gelöscht.
* Neue Route `GET /wp-exit/v1/test-account` für den Migrationszugang.
* Die Live-Aktualisierung des Migrations-Tabs pausiert, solange du im Formular tippst.

= 0.2.9 =
* Hosting steht nicht mehr im Kostenvergleich: Jede Website braucht es, vorher wie nachher. Verglichen werden Lizenzen und Services. Hosting & Betrieb bei decivo bleibt im Angebot zum Anhaken.
* Nach der Anfrage nennt der Umfang das Hosting mit, wenn es angehakt ist, auch wenn der Fixpreis erst im Angebot kommt.
* Migration: Der Tab zeigt Fortschritt und letzten Zugriff live, ohne Neuladen.

= 0.2.8 =
* Keine persönliche Zeit mehr: Das Plugin zeigt nur nachweisbare Zahlungen für Hosting, Lizenzen und Services. Stunden, „erwartete“ Werte und die Betriebsgruppe erscheinen nirgends mehr.
* Im Fall „Zeit“ zeigt die Übersicht Mehrkosten oder Einsparung bei den Zahlungen und die belegbaren Vorteile aus dem Scan.

= 0.2.7 =
* Migrationszugang: Das Token kommt auch an, wenn Apache den Authorization-Header verwirft (PHP-FPM/CGI ohne WordPress-Rewrite-Regel). Zusätzlich gilt der Header X-WP-Exit-Token.
* Browser-Tests für Angebot, Fehlermeldungen, Drawer und Freischaltcode (npm run test:e2e).

= 0.2.6 =
* Freischaltcode: Die Meldung von decivo erscheint, etwa „abgelaufen“, „schon eingelöst“ oder „gesperrt“, statt pauschal „nicht erkannt“.
* Release-Zip nur noch aus einer Liste erlaubter Dateien; Testreste und fremde Dokumente können nicht mehr hineingeraten.

= 0.2.5 =
* Themify Builder auch in umbenannten Themes erkannt (Konstante), Themify Builder Lite ergänzt.
* Impreza und Zephyr über UpSolution Core erkannt; US Builder und WPBakery speichern dasselbe Format.

= 0.2.4 =
* Builder-Erkennung für 26 Page Builder und Builder-Themes, belegt aus deren Code: Elementor, Divi 4/5, WPBakery samt Theme-Fassungen, Avada, Beaver, Bricks, Oxygen, Breakdance, SiteOrigin, Thrive, Brizy, Enfold, BeTheme, Flatsome, Cornerstone, Themify, Visual Composer, Zion, YOOtheme Pro, tagDiv, Impreza, Live Composer, Kadence Blocks, GenerateBlocks, Spectra.
* Erkennung über Zusatzfelder der Seiten statt nur über den Inhalt; Oxygen und Bricks werden damit erstmals gefunden.
* Lizenz-Optionsnamen für das aktive Theme.

= 0.2.3 =
* Page Builder: zählt nur, wenn sein Plugin oder Theme aktiv ist. Alte Builder-Daten (z. B. Elementor-Reste nach einem Theme-Wechsel) stehen getrennt als Reste im Manifest.
* YOOtheme Pro wird als Builder erkannt, über das aktive Theme und das Layout-Format im Seiteninhalt.
* Update-Weg je Plugin und Theme aus dem Update-Check von WordPress (wordpress.org, fremder Updater, keiner).
* Eigene Plugins mit Autorenangabe werden erkannt, wenn WordPress sie nirgends kennt und sie weder Readme noch Lizenzsignal haben.

= 0.2.2 =
* Fehler behoben: Klicks auf die Checkbox „Hosting & Betrieb“, das E-Mail-Feld oder die Anmerkungen sprangen zurück in die Übersicht.
* Fehlermeldungen stehen direkt am Feld: fehlende oder unvollständige E-Mail-Adresse, fehlender Freischaltcode.
* Verständliche Hinweise bei abgelaufener Anmeldung und fehlender Verbindung statt technischer Meldungen.

= 0.2.1 =
* Mehrkosten heißen Mehrkosten: Differenzen werden als „Mehrkosten“ oder „… € mehr“ beschriftet, nie als Einsparung.
* Detailansicht Technischer Betrieb in Stunden statt Euro; Balken für Stunden mit eigener Skala.
* Angebotsseite: Zahlungen und Zeit getrennt, im Fall „Zeit“ kein Break-even.

= 0.2.0 =
* Kostenmodell: Zahlungen und Zeit getrennt. Betriebsaufwand als Stunden, Einsparung nur aus Zahlungen.
* Fall „Zeit“: Exit lohnt sich über Aufwand und Sicherheit, ohne Break-even-Versprechen.
* Hosting-Tarif „Klein“ für kleine Websites.

= 0.1.0 =
* Erste Version: Bestandserfassung, Kostenanalyse, Angebotsanfrage, Migrationsmodus.
