Steady-Switch ist ein Alt-Feature. Wir empfehlen es seit November 2022 nicht mehr und können dafür keinen technischen Support leisten. Es funktioniert weiterhin überall dort, wo der Steady-Code eingebunden ist, und es gibt kein Abschaltdatum. Für neue Integrationen – besonders wenn Werbung, Skripte von Drittanbietern oder geschützter Zugang im Spiel sind – nutze stattdessen die Steady-API.
Mit dem Steady-Switch zeigst du auf deiner Website einen HTML-Block deinen Mitgliedern und einen anderen allen übrigen Besucher:innen.
Typische Anwendungsfälle:
Werbung für Mitglieder ausblenden
Nicht-Mitgliedern einen Hinweis auf die Mitgliedschaft zeigen
Mitgliedern eine Danke-Nachricht oder einen Bonus-Link zeigen
kleine statische HTML-Blöcke je nach Mitgliedschaft tauschen
Der Steady-Switch ist keine Zugangskontrolle. Er blendet Inhalte im Browser ein und aus – beide Varianten werden trotzdem an den Browser ausgeliefert und sind im Quelltext sichtbar. Nutze ihn nicht für bezahlte Artikel, private Downloads, geheime Links, Rabattcodes oder personenbezogene Daten. Für wirklich geschützte Inhalte nimm die Steady-Paywall, Posts auf Steady oder eine serverseitige Prüfung über die Steady-API.
Voraussetzungen
Der Switch funktioniert nur, wenn das Steady-Widget erkennen kann, ob jemand Mitglied ist. Dafür muss alles davon zutreffen:
Der Steady-Code ist auf deiner Website eingebaut – nicht nur auf der Seite mit dem Switch, sondern mindestens auch auf der Startseite.
Der Steady-Code steht genau einmal pro Seite.
Auf deiner Website gibt es einen Steady-Login, eine Paywall oder eine andere Steady-Integration, über die sich Besucher:innen anmelden können.
Die Besucherin oder der Besucher ist im Browser bei Steady angemeldet.
Dein HTML ist gültig und wird nicht von einem CMS-, Cache- oder Optimierungs-Plugin verändert.
Inhalte nur Mitgliedern anzeigen
<script type="text/plain" data-steady-switch data-when="subscription"><!--
INHALTE FÜR MITGLIEDER
--></script>
Inhalte nur Nicht-Mitgliedern anzeigen
<script type="text/plain" data-steady-switch data-when="no-subscription"><!--
INHALTE FÜR NICHT-MITGLIEDER
--></script>
Deine Inhalte gehören zwischen <!-- und -->, und dieser Kommentar steht innerhalb der script-Tags. Direkt nach <!-- und direkt vor --> muss jeweils ein Zeilenumbruch stehen – ohne die beiden Umbrüche funktioniert der Switch nicht.
Zur Schreibweise: Der Code wurde im Juni 2022 geändert. Die alte Notation type="steady-switch" wird weiterhin erkannt, für neue Einbauten empfehlen wir die oben gezeigte Variante.
Beispiel: Werbung für Mitglieder ausblenden
Setze deinen Werbecode in den Block für Nicht-Mitglieder. Mitglieder sehen die Werbung dann nicht.
<script type="text/plain" data-steady-switch data-when="no-subscription"><!--
<div class="ad-container">
HIER DEIN WERBECODE
</div>
--></script>
Enthält dein Werbecode eigene HTML-Kommentare – etwa <!-- /leaderboard --> – musst du die vorher entfernen. HTML-Kommentare lassen sich nicht verschachteln: Das innere --> beendet den Switch-Block vorzeitig, und alles danach wird für alle sichtbar, auch für Mitglieder. Das ist der häufigste Grund dafür, dass Werbung trotz Switch bei Mitgliedern erscheint.
Häufige Fehler
Inhalte stehen außerhalb des Kommentars
Der Inhalt muss zwischen <!-- und --> stehen. Steht er hinter dem schließenden script-Tag, wird er nicht geschaltet und immer angezeigt.
Die Zeilenumbrüche fehlen
Nach <!-- und vor --> muss jeweils ein Zeilenumbruch stehen. Fehlen sie, funktioniert der Switch nicht. Heikel dabei: HTML-Minifier entfernen die Umbrüche stillschweigend, dein Code sieht im Editor also weiter richtig aus. Beim WordPress-Plugin Autoptimize (Option „Optimize HTML") ist genau das mehrfach passiert und hat den Switch lahmgelegt.
Verschachtelte HTML-Kommentare
Deine Inhalte dürfen selbst keine HTML-Kommentare enthalten. Entferne sie, bevor du den Code einfügst.
Falsche data-when-Werte
Gültig sind ausschließlich subscription für Mitglieder und no-subscription für Nicht-Mitglieder. Schreibweisen wie member, non-member, no_subscription oder subscribed werden nicht erkannt. Prüfe außerdem, ob du die beiden nicht vertauscht hast – das ist der übliche Grund dafür, dass das Falsche ausgeblendet wird.
Der Steady-Code ist mehrfach eingebaut
Der Steady-Code gehört genau einmal auf jede Seite. Häufige Ursache für ein Duplikat: Das Steady-WordPress-Plugin und ein zusätzlicher Code-Schnipsel im Header laufen gleichzeitig. Entscheide dich für eines von beidem.
Was nicht zuverlässig funktioniert
Der Switch fügt den passenden HTML-Block erst ein, nachdem das Steady-Widget geladen hat. Enthält dieser Block JavaScript oder hängt er von einem anderen Skript ab, ist die Reihenfolge nicht mehr vorhersehbar. Gut funktionieren einfache statische Elemente: Text, Links, Bilder, Layout-Container.
WordPress-Shortcodes werden im Switch nicht ausgeführt, sie erscheinen als reiner Text. Nutze stattdessen ein HTML- oder Embed-Element.
Asynchron geladene Werbung wird oft nicht korrekt ausgeblendet, besonders Google AdSense Auto Ads. Der synchrone Anzeigencode hat das in vielen Fällen gelöst.
Nicht jedes Werbenetzwerk passt. Nach unserer Erfahrung funktionieren Taboola und Seeding Alliance. Google AdSense verursacht mit Abstand die meisten Probleme. Ezoic haben wir nicht getestet.
Richtig testen
Mit deinem eigenen Konto kannst du die Mitglieder-Ansicht nicht prüfen: Als Inhaber:in des Projekts hast du immer Mitgliederzugang und siehst deshalb immer den subscription-Inhalt. Teste die Ansicht für Nicht-Mitglieder in einem privaten Fenster und die Mitglieder-Ansicht mit einem zweiten Konto, das eine echte Mitgliedschaft bei deiner Publikation hat.
Prüfe alle drei Zustände:
Nicht angemeldet: Der no-subscription-Inhalt erscheint, der subscription-Inhalt nicht.
Angemeldet, aber kein Mitglied: genauso.
Angemeldet als aktives Mitglied: Der subscription-Inhalt erscheint, der no-subscription-Inhalt nicht.
Teste außerdem am Desktop und mobil, nach dem Leeren aller Caches, mit aktivierten Optimierungs-Plugins und auf der Live-Domain statt nur in der Vorschau.
Fehlersuche
Es erscheint gar nichts
Prüfe der Reihe nach: Ist der Steady-Code eingebaut, auch auf der Startseite? Steht er nur einmal pro Seite? Gibt es einen Login oder eine Paywall, über die Besucher:innen erkannt werden? Hat ein CMS- oder Optimierungs-Plugin den script-Block oder den HTML-Kommentar entfernt? Sind die Zeilenumbrüche noch da? Liefert ein Cache eine alte Version aus? Stimmen die data-when-Werte genau?
Beide Varianten erscheinen
Meist steht der Inhalt nicht innerhalb des Kommentars, oder ein verschachtelter Kommentar hat den Block vorzeitig beendet. Schau in den Quelltext der Seite und prüfe, ob deine Inhalte wirklich zwischen <!-- und --> stehen.
Die falsche Variante erscheint
Prüfe, ob die Person wirklich angemeldet ist und eine aktive Mitgliedschaft für diese Publikation hat – und ob du subscription und no-subscription vertauscht hast. Denk daran, dass dein eigenes Konto immer als Mitglied zählt.
In der Vorschau funktioniert es, live nicht
Typische Ursachen sind Seiten-Cache, Cloudflare, ein WordPress-Optimierungs-Plugin, Skript-Minifizierung, ein Consent-Manager, der Skripte verzögert, oder ein Adblocker. Leere alle Caches und schalte Optimierungs-Plugins testweise ab.
Statisches HTML funktioniert, Werbung nicht
Entferne verschachtelte HTML-Kommentare aus dem Werbecode, stelle von asynchronem auf synchronen Anzeigencode um und prüfe, ob dein Werbenetzwerk kompatibel ist. Hilft das nicht, führt an einer serverseitigen Lösung kein Weg vorbei.
Wenn der Switch nicht reicht
Hängt deine Umsetzung an Werbung, Skripten von Drittanbietern oder an echtem Zugangsschutz, ist der Switch das falsche Werkzeug. Nutze dann die Steady-API und prüfe den Mitgliedsstatus serverseitig.
