wordpress
WordPress Plugin Lizenzsystem: Lizenzserver, Aktivierung und Updates aufbauen
So funktioniert ein Lizenzsystem für kostenpflichtige WordPress Plugins: Lizenzserver, Aktivierung pro Domain, Update-Auslieferung, Datenschutz und typische Stolpersteine.
Von AYM FlowVeröffentlicht: Aktualisiert: 6 Min. Lesezeit
Wer ein WordPress Plugin kostenpflichtig vertreibt, braucht mehr als einen Zahlungsanbieter. Kunden erwarten Lizenzschlüssel, automatische Updates und eine einfache Verwaltung ihrer Websites. Wir betreiben für unser eigenes Plugin AYM Multilingual einen selbst entwickelten Lizenzserver und zeigen hier, wie ein solches System aufgebaut ist und worauf es in der Praxis ankommt.
Die drei Bausteine eines Lizenzsystems
- Lizenzserver: eine Webanwendung mit API, die Lizenzen, Pläne und Aktivierungen verwaltet.
- Client im Plugin: Code, der Schlüssel entgegennimmt, den Server abfragt und das Ergebnis lokal speichert.
- Update-Dienst: liefert neue Versionen nur an gültige Lizenzen aus und meldet sie WordPress.
Hinzu kommt die Anbindung an Ihre Zahlungsabwicklung, damit nach dem Kauf automatisch ein Schlüssel erzeugt und per E-Mail versendet wird.
Der Lizenzserver: Datenmodell und API
Das Datenmodell ist schlank: eine Lizenz (Schlüssel, Plan, Status, Ablaufdatum, erlaubte Anzahl Websites) und zugehörige Aktivierungen (Domain, Aktivierungsdatum, Plugin-Version). Drei Endpunkte genügen für den Start: aktivieren, deaktivieren und prüfen.
- Schlüssel erzeugen: kryptografisch zufällig, ausreichend lang, nie aus Namen oder Zählern abgeleitet.
- Aktivierung pro Domain: Die Anzahl aktiver Domains wird gegen das Limit des Plans geprüft. Kunden müssen Domains selbst deaktivieren können, um Plätze zu übertragen.
- Pläne abbilden: Funktionsumfang, Websitelimit und Laufzeit hängen am Plan, nicht am Code. Ein Beispiel sehen Sie auf unserer Seite Preise.
- Absicherung: ausschließlich HTTPS, Ratenbegrenzung gegen Schlüssel-Ausprobieren und konsequente Eingabevalidierung.
- Protokollierung: Wer hat wann was aktiviert? Das hilft im Support und bei Missbrauch.
Definieren Sie klare Lizenzstatus: aktiv, abgelaufen, widerrufen und gegebenenfalls Testphase. Ein abgelaufener Schlüssel stoppt Updates und Support, lässt die Website aber unverändert laufen. Bei Verlängerung sollte derselbe Schlüssel wieder gültig werden, damit Kunden nichts neu eingeben müssen.
Der Client im Plugin: tolerant statt streng
Der wichtigste Grundsatz lautet: Ein Lizenzproblem darf niemals die Website des Kunden beschädigen. Fällt Ihr Server aus oder ist die Verbindung blockiert, muss das Plugin weiterarbeiten.
- Rufen Sie den Server per wp_remote_post mit Timeout auf und speichern Sie das Ergebnis zwischen, zum Beispiel einen Tag lang als Transient. Eine Prüfung bei jedem Seitenaufruf bremst die Website aus.
- Planen Sie eine Karenzzeit ein: Bei Serverfehlern gilt die zuletzt bekannte Lizenz weiter.
- Sperren Sie nur Zusatzfunktionen, Updates und Support, niemals bereits gespeicherte Inhalte oder die Frontend-Ausgabe.
- Zeigen Sie im Admin klare Meldungen mit Handlungsanweisung, etwa abgelaufene Lizenz, Domain-Limit erreicht oder Server nicht erreichbar.
- Behandeln Sie Schlüssel und Antworten wie alle Eingaben: bereinigen, validieren und mit Rechteprüfung speichern, wie in unserer Plugin-Entwicklungsanleitung beschrieben.
Bei der Gestaltung des Schlüssels hilft ein lesbares Format mit Prüfzeichen, damit Tippfehler beim Kopieren sofort auffallen. Vermeiden Sie mehrdeutige Zeichen wie Null und O. Zeigen Sie im Kundenkonto jederzeit, welche Domains aktiv sind, wann die Lizenz endet und wie viele Aktivierungen noch frei sind.
Update-Auslieferung über die WordPress-Mechanismen
WordPress prüft Updates über einen internen Transient. Ihr Plugin kann sich per Filter in diese Prüfung einklinken und dem System melden, dass auf Ihrem Server eine neuere Version liegt. Über einen weiteren Filter liefern Sie die Detailinformationen für das Popup Details ansehen. Die Download-URL sollte nur mit gültigem Schlüssel und Domain funktionieren, am besten als zeitlich begrenzte, signierte Adresse. Grundlagen zur Plugin-Struktur finden Sie in der WordPress Plugin-Dokumentation. Testen Sie den kompletten Updatepfad auf einer Testumgebung, bevor Sie eine Version freigeben, denn ein fehlerhaftes Update erreicht alle Kunden gleichzeitig.
Pflegen Sie zu jeder Version einen Changelog, die Angaben zu den unterstützten WordPress- und PHP-Versionen und eine Möglichkeit, Fehler schnell zurückzunehmen. Geben Sie neue Versionen zunächst an einen kleinen Teil der Installationen aus, bevor Sie sie breit verteilen.
GPL, DSGVO und Transparenz
WordPress und seine Plugins stehen unter der GPL. Das hat Konsequenzen: Rechtlich verkaufen Sie in der Regel nicht den Code, sondern Updates, Support und Dienste. Das Lizenzsystem sollte darauf ausgerichtet sein, also Zugang zu Updates und Zusatzdiensten steuern, nicht versuchen, den Code technisch unbenutzbar zu machen. Lassen Sie Ihr Lizenzmodell bei Bedarf juristisch prüfen.
Datenschutz gehört von Anfang an dazu. Übermitteln Sie nur, was zur Lizenzprüfung nötig ist: Schlüssel, Domain und Plugin-Version. So beschreiben wir es auch in unserer Datenschutzerklärung. Weisen Sie Kunden in der Plugin-Dokumentation und im Text für deren Datenschutzerklärung auf die Verbindung zu Ihrem Server hin, speichern Sie IP-Adressen nur, wenn Sie sie wirklich brauchen, und legen Sie Löschfristen fest. Rechtsgrundlage ist in der Regel die Vertragserfüllung nach Art. 6 Abs. 1 lit. b DSGVO.
Im Alltag entstehen Sonderfälle: Kunden wechseln die Domain, betreiben eine Staging-Kopie oder ziehen auf einen neuen Server um. Zählen Sie lokale Entwicklungsumgebungen und erkennbare Testdomains nicht als aktive Websites, bieten Sie die Selbstverwaltung von Aktivierungen im Kundenkonto an und halten Sie einen manuellen Weg für den Support bereit. Das spart viele Rückfragen.
Selbst bauen oder fertige Lösung nutzen?
Fertige Lösungen sparen Entwicklungszeit, binden Sie aber an Preismodell und Funktionsumfang des Anbieters und lassen sich schwerer an eigene Pläne anpassen. Ein eigener Lizenzserver lohnt sich, wenn Sie mehrere Pläne, Mehrfach-Website-Lizenzen, eigene Rechnungsprozesse oder volle Kontrolle über Kundendaten wollen. Rechnen Sie dabei ehrlich: Betrieb, Backups, Sicherheit und Support der Server-Seite gehören dauerhaft dazu.
Planen Sie die Kommunikation mit Kunden mit ein: automatische Erinnerungen vor Ablauf, eine verständliche Fehlermeldung bei Problemen und eine kurze Anleitung zum Übertragen einer Lizenz. Jedes dieser Details senkt Supportaufwand und verhindert, dass zahlende Kunden das Gefühl bekommen, mit ihrer Lizenz stimme etwas nicht.
Testen Sie das System vor dem Start mit realistischen Fällen: Aktivierung, Deaktivierung, Domain-Limit, abgelaufener Schlüssel, Serverausfall und Update. Erst wenn alle Pfade getestet sind, sollten Sie echte Kunden darauf schalten.
Lizenzsystem von Profis entwickeln lassen
Wir haben den gesamten Lebenszyklus selbst durchlaufen: Architektur, Lizenzserver, Updates, Datenschutz und Kundensupport für AYM Multilingual. Dieses Wissen setzen wir in der WordPress Plugin Entwicklung für Ihre Produkte ein, von der Lizenzaktivierung bis zur Update-Auslieferung. Beschreiben Sie uns Ihr Plugin und Ihr Preismodell, und wir entwerfen die passende Architektur. Sicherheitsgrundlagen für Plugins erklärt außerdem der Security-Bereich des Plugin-Handbuchs.
Häufig gestellte Fragen
Brauche ich einen eigenen Lizenzserver für ein kostenpflichtiges Plugin?
Nicht zwingend. Es gibt fertige Dienste und Erweiterungen. Ein eigener Server lohnt sich bei individuellen Plänen, Mehrfach-Website-Lizenzen und dem Wunsch nach voller Kontrolle über Kundendaten.
Was passiert, wenn der Lizenzserver nicht erreichbar ist?
Das Plugin sollte weiterarbeiten. Bewährt sind zwischengespeicherte Prüfergebnisse und eine Karenzzeit, in der die zuletzt bekannte Lizenz gültig bleibt.
Ist ein Lizenzsystem mit der GPL vereinbar?
In der Regel ja, wenn die Lizenz Updates, Support und Dienste steuert und nicht die Nutzung des Codes selbst. Lassen Sie Ihr Modell im Zweifel juristisch prüfen.
Welche Daten dürfen bei der Lizenzprüfung übertragen werden?
So wenige wie möglich: Lizenzschlüssel, Domain und Plugin-Version genügen. Dokumentieren Sie die Übertragung in der Datenschutzerklärung.
Ähnliche Artikel
wordpress
WooCommerce Performance und Conversion optimieren: Mehr Umsatz im Shop
Ein schneller Shop verkauft mehr. Wir zeigen, wie Sie WooCommerce beschleunigen, Produktseiten und Checkout verbessern und rechtlich sauber bleiben.
wordpress
WordPress schneller machen: Core Web Vitals verbessern (LCP, INP, CLS)
Langsame Ladezeiten kosten Anfragen und Rankings. Diese Anleitung zeigt, wie Sie WordPress schneller machen und die Core Web Vitals gezielt verbessern.
wordpress
WordPress Plugin entwickeln: Anleitung für sichere, wartbare Plugins
Von der Entwicklungsumgebung bis zum Release: So entwickeln Sie ein WordPress Plugin, das sicher, schnell, DSGVO-tauglich und langfristig wartbar ist.
