Changelog: WordPress-Plugin
Alle Änderungen am WordPress-Plugin affilinode, die neueste Version oben.
English: the changelog from version 0.22.0 on is also part of the plugin readme. Older entries are available in German only.
0.71.0
- Entfernt: Das freie Feld „Eigenes CSS“ in den Einstellungen und das CSS-Feld eigener Vorlagen. Farben, Button-Größe, Eckenradius und Badge-Farben bleiben in den Einstellungen; für eigene Stile nutze Design → Customizer → Zusätzliches CSS. Früher eingetragenes CSS wird nicht mehr angewendet; die Einstellungs- und Vorlagenseite zeigen es einmal an, damit du es kopieren kannst.
- Geändert: Eigene Vorlagen werden für alle Benutzer immer auf eine feste Liste von HTML-Elementen und -Attributen gefiltert – keine Skripte, Ereignisattribute, Inline-Stile oder style-Elemente.
- Geändert: Die Vorschauen in den Einstellungen, im Vorlagen-Editor und im Shortcode-Generator laden als eigene Vorschauseite mit der normalen WordPress-Stilverwaltung.
- Geändert: WP-CLI
settings exportgibt auf der Standardausgabe aus; mit--file=<Name>schreibt es nach wp-content/uploads/affilinode/.settings importliest von dort oder von der Standardeingabe. Die MaxMind-Datenbank liegt im selben Ordner. - Geändert: Hinweise des Plugins erscheinen nur noch auf seinen eigenen Seiten und lassen sich wegklicken. Der Hinweis zum „Umgesetzt mit affilinode“-Link auf der Einstellungsseite entfällt.
- Behoben: In allen Admin-Aktionen werden Berechtigung und Nonce geprüft, bevor Formulardaten gelesen werden, und jede Ausgabe wird dort escaped, wo sie erfolgt.
- Behoben: Die angezeigte Adresse für den Webhook nutzt die REST-Adresse deiner Website.
0.70.2
- Behoben: Die Skripte von Produktsuche, Produktberater, Vergleichswähler, Preisalarm, „Wieder verfügbar“, Gutscheinen, Tarifrechner und Variantenwähler sind gegen manipulierte Inhalte in Beiträgen gehärtet. Sie sprechen nur noch mit deiner eigenen Website und übernehmen nur deren Inhalte.
- Behoben: Die automatische rel-Korrektur der Kennzeichnungsprüfung ist gehärtet. Beiträge, die das Plugin ändert (Kennzeichnungsprüfung, Link-Wächter, Umstellung alter Shortcodes), werden wie beim normalen Speichern bereinigt, außer du oder der Autor dürfen ungefiltertes HTML nutzen.
- Behoben: Preisaktualisierungen pausieren nur noch, wenn affilinode wirklich nicht erreichbar ist. Die öffentliche Produktsuche nimmt nur gültige Produktarten an, und der Deals-Feed begrenzt neue Abfragen je Besucher und Stunde.
- Geändert: Die Links in Preisalarm- und „Wieder verfügbar“-Mails öffnen eine Seite mit Knopf – bestätigt oder gelöscht wird erst per Klick, Mail-Scanner bestätigen also nichts mehr. Unbestätigte Links laufen nach sieben Tagen ab. Die Abmeldung mit einem Klick aus dem Mailprogramm funktioniert weiter.
- Geändert: Eine erneute Anmeldung zu einem Produkt mit laufendem Preisalarm lässt den laufenden Alarm bestehen, bis die neue Anmeldung bestätigt ist.
- Geändert: Treffer übernehmen oder Aufträge schließen im Produkt-Import braucht das Recht, Beiträge zu veröffentlichen; Mitarbeiter sehen die Treffer mit einem Hinweis.
- Geändert: Vorlagen von Administratoren ohne das Recht für ungefiltertes HTML behalten keine data:-Adressen (außer bei Bildern) und keine Konfigurationsattribute der Plugin-Skripte mehr.
- Geändert: Hinter einem Proxy oder CDN können Ratenbegrenzungen über den Filter
affilinode_client_ipdie echte Besucheradresse zählen. - Geändert: Der Einstellungs-Export sagt klarer, dass geheime Schlüssel (jetzt auch der Cloudflare-Token) nur mit „Geheime Schlüssel einschließen“ enthalten sind.
0.70.1
- Behoben: Konnten die Produktdaten einer Box nicht geladen werden (API-Schlüssel fehlt, wurde abgelehnt oder die Verbindung ist gestört), blieb die Box komplett leer, und der Block-Editor meldete nur „Block rendered as empty“. Redakteure sehen jetzt den Grund, und Besucher bekommen die Box danach wieder nachgeladen.
- Geändert: Blöcke, die nichts anzuzeigen haben, erklären das jetzt im Editor, mit einem Link zu den affilinode-Einstellungen. Der Hinweis zu einem unbekannten Produkt nennt, dass es zu einem anderen Konto gehören oder nicht mehr aktiv sein kann.
0.70.0
- Neu: Produktberater: Fragen können von früheren Antworten abhängen – eine Frage erscheint nur, wenn eine frühere Antwort passt („Nur fragen, wenn …“ im Dashboard). Fortschritt, Fragennummern und „Weiter“ folgen den tatsächlich gestellten Fragen; Antworten auf übersprungene Fragen werden ignoriert, auch in einem alten Link.
- Neu: Produktberater: Das Dashboard zeigt, wo Besucher abspringen – je Frage, wie viele sie gesehen haben und wie viele danach gegangen sind („Frage 3 verliert 40 %“), dazu Vorschläge wie kürzere Auswahlmöglichkeiten. Gezählt werden nur anonyme Tagessummen je Frage, ohne Cookies und IP-Adressen; geteilte Links zählen nicht.
- Neu: Produktberater: „Preise zeigen“ je Berater. Ausgeschaltet zeigt das Ergebnis Produkt, Gründe und den Knopf zum Angebot, aber keinen Preis.
- Verbessert: Produktberater: Der Link zu den Antworten wird auch angeboten, wenn das Ergebnis ohne Neuladen der Seite erschienen ist.
- Geändert: Bewertungen mit Quelle: Sternebewertungen erscheinen nur zusammen mit ihrem Quellenhinweis (Quelle, Datum, Anzahl der Bewertungen und ein Hinweis, ob sie auf Echtheit geprüft sind). Die Sterne erscheinen nur, wenn die Quelle freigegeben ist und „Bewertungen zeigen“ für die Website eingeschaltet ist.
- Neu: Umzug aus dem Affiliate Toolkit: Übernimmt auf Wunsch die Texte der Produkt-Beiträge als Produktbeschreibungen (und Auszüge als Kurzbeschreibungen; ohne Auszug entsteht die Kurzbeschreibung aus dem Anfang der Beschreibung). Shortcodes, Skripte, Bilder und Affiliate-Links werden vor der Übertragung entfernt, vorhandene Texte in affilinode werden nie überschrieben, und deine Beiträge bleiben unverändert. Die Vorschau zeigt, wie viele Beiträge einen Text haben.
- Neu: Produktbox:
docs="1"zeigt unter der Box eine Liste „Downloads“ (Datenblatt, Bedienungsanleitung, Kurzanleitung, Energielabel, Konformitätserklärung) mit Links zur Originalquelle und beim Energielabel zum EPREL-Eintrag. - Geändert: Der Betriebskostenrechner nutzt den Betriebswert, wenn ein Datenblatt den Stromverbrauch getrennt für Betrieb, Leerlauf, Bereitschaft und Aus angibt.
- Geändert: Preisalarme über affilinode gehen nur nach einer echten, anhaltenden Preissenkung per E-Mail raus (der Preis hält seit mehreren Stunden und liegt deutlich unter dem üblichen Preis der letzten 30 Tage, nach affilinodes eigener Preisaufzeichnung). Ein Alarm, der den Zielpreis erreicht, diese Prüfung aber noch nicht bestanden hat, bleibt aktiv und wird in der nächsten Stunde erneut geprüft. Wenn die Aufzeichnung es belegt, nennt die E-Mail, wie weit der Preis unter dem 30-Tage-Durchschnitt liegt. Alarme über WordPress (wp_mail) bleiben unverändert.
0.69.0
- Neu: Modellprodukte – ein Produkt wie „Apple iPhone 18 Pro“ fasst Farben und Speichergrößen als Varianten zusammen. Die Box zeigt „ab“-Preis und einen Variantenwähler.
- Neu: Gerät + Tarife in drei Ansichten (voll, kompakt, Tarifdetails), filterbar nach Anbieter und Netz, mit genau beschrifteten Preisen (monatlich, einmalig, Aktionspreis, Gesamtkosten).
- Neu: Warenkorb-Knopf je Box (Amazon, nur mit deinem Partner-Tag); Links von Seller-Netzwerken bleiben unverändert.
- Geändert: Der Link „Umgesetzt mit affilinode“ ist nie erzwungen – der Schalter steht immer in den Einstellungen und ist änderbar.
- Geändert: Erfordert WordPress 6.5 oder neuer; klarere Texte in den Einstellungen.
0.68.0
- Behoben: Fataler Fehler „Call to undefined function wp_salt()“ beim Laden einer Seite mit gespeichertem API-Schlüssel (aufgetreten auf Multisite, seit 0.67.0). Der verschlüsselte Schlüssel wird erst gelesen, wenn WordPress seine Salts geladen hat. Betroffene Sites kommen nach dem Austausch der Plugin-Dateien (FTP) wieder hoch.
- Neu: Zubehör zu Produkten – Shortcode
[affilinode_accessories]und Block „Zubehör“.
0.67.0
- Schneller: Seiten laden schneller (Einstellungen werden gebündelt geladen, Produkte einer Seite gesammelt statt einzeln). Fällt die API aus, warten Besucher nicht mehr mehrfach auf Zeitüberschreitungen.
- Im Hintergrund: Die Erkennung anderer Affiliate-Plugins sowie Richtlinien und Tarif werden nicht mehr während eines Besucheraufrufs geholt, sondern im Hintergrund erneuert.
- Widgets und Vorlagen: Shortcodes in Widgets und im Website-Editor werden zusammen mit den Produkten der Seite in einer Anfrage geladen.
- Editor und Einwilligung: Alle Blöcke nutzen Block-API 3 (Editor im iframe). Bannerboxen lesen die Einwilligung aus der WP Consent API, Complianz, Borlabs Cookie und Cookiebot.
- Länderfreigabe: Ein nur für ein Land freigegebener Shop erscheint nicht mehr bei Besuchern aus einem anderen Land.
- Neu: Banner aus Partnerprogrammen, „Shop my Look“, Rabattcodes und weitere Boxen; „Umgesetzt mit affilinode“ lässt sich in den Plugin-Einstellungen (Darstellung) in jedem Tarif selbst ein- oder ausschalten (Standard aus).
0.66.0
- Sicherheit: Der API-Schlüssel wird jetzt verschlüsselt gespeichert und beim ersten Seitenaufruf nach dem Update automatisch umgestellt.
- Neu: affilinode → Alte Shortcodes schreibt die alten
[ac_…]-Shortcodes undaffiliate-central/…-Blöcke in Beiträgen, Seiten und Widgets auf[affilinode_…]undaffilinode/…um – nur per Klick, mit Revision und Protokoll zum Rückgängigmachen. - Veraltet: Die alten Namen (
[ac_…],affiliate-central/…,affiliate_central_…) entfallen in Version 1.0. - Behoben: Boxen zeigen nach einer sofortigen Aktualisierung die frischen Daten statt der vorherigen Kopie.
0.65.0
- Sicherheit: Bestätigungs- und Abmeldelinks von Preisalarmen und „Wieder verfügbar“-Benachrichtigungen funktionieren wieder; höchstens 3 Bestätigungs-Mails je Adresse und Tag; Auswertung nur ab Redakteursrolle; Anfragen an die affilinode-API folgen keinen Weiterleitungen.
0.64.0
- Neu: „Preis aktualisiert vor …“ unter jedem Angebot (abschaltbar); Amazon-Preise älter als 24 Stunden werden nie angezeigt.
- Neu: Geo-Kurzlinks für Social Media – ein Kurzlink führt jeden Besucher zum Angebot seines Landes.
- Neu: Sprache folgt der Seite (Polylang, WPML, TranslatePress); Produktseiten je Sprache.
- Neu: Prüfung der Kennzeichnung vor dem Veröffentlichen mit Korrektur per Klick.
- Neu: „A vs B“-Vergleiche und Hinweis auf Nachfolger-Produkte für Redakteure.
0.63.0
- Neu: Angebote je Besucherland (Shop-Auswahl und bevorzugter Partner je Box) und die Spalte „Provision (30 Tage)“ in der Beitragsliste.
- Neu: „Wieder verfügbar“-Benachrichtigung (standardmäßig aus, nie bei Amazon).
0.62.0
- Behoben: Boxen, die bei vollständig zwischengespeicherten Seiten leer oder veraltet blieben (Hintergrundaufgaben liefen nicht).
- Neu: Seiten-Caches (LiteSpeed, Cloudflare, WP Rocket …) werden nach Produktänderungen geleert; Link-Wächter; Vergleichstabellen aus der Produktsuche.
0.61.1
- Behoben: „HTTP 502“ in der Produktsuche des Shortcode-Generators.
0.61.0
- Behoben: Häufige Fehler „not valid JSON“ in der Produktsuche des Shortcode-Generators.
- Neu: Box „Packungsgrößen“ und Pack-Reiter im Preisvergleich (standardmäßig aus); Preisalarm-Mails über affilinode oder den eigenen SMTP-Server.
0.60.0
- Neu: Gutschein-Box, SEO-Bausteine (FAQ, Brotkrumen, Kategorie-Hubs, verwandte Produktseiten) und Import neuer Produkte direkt im Shortcode-Generator.
0.59.1
- Behoben: Fataler Fehler „Call to a member function using_index_permalinks() on null“, wenn das Plugin auf Multisite-Installationen mit sprechenden Permalinks geladen wird (die Webhook-Adresse in den Einstellungen wurde erstellt, bevor WordPress seine Rewrite-Regeln eingerichtet hatte).
0.59.0
- Behoben: „Tracking-IDs abgleichen“ und das Speichern eines Beitrags finden jetzt auch deine eigenen Amazon-Tracking-IDs in den Modulen für Divi und WPBakery (Feld der gewählten Box-Art, z. B.
product_tracking) und in Beaver-Builder-Layouts (Beitrags-Meta_fl_builder_data/_fl_builder_draft). - Neu: Der Shortcode-Generator bietet deine eigenen Templates aus affilinode → Templates an: „Eigenes Template“ für Produktboxen (alle vier Layouts), das Produktraster und Listen sowie als weitere Werte von „Layout“ für Kategorieansichten und Deals. Der Shortcode erhält dann
template="custom:<slug>"statt des Layouts der gewählten Kachel. - Neu: Die AAWP-Kompatibilität übernimmt Sortierung und Filterung:
orderby/ordermehrerer Boxen sowie Bestseller- und Neuerscheinungslisten werden zusort(orderin[affilinode_amazon_list]),filterby="price" filter="available"wird zuonly_available="1"undfilter="offer"wird zumin_discount="1". Ausschließende Filter, Preisgrenzen und Filter nach Titel oder ASIN werden nicht nachgebildet.
- Behoben: „Tracking-IDs abgleichen“ und das Speichern eines Beitrags finden jetzt auch deine eigenen Amazon-Tracking-IDs in den Modulen für Divi und WPBakery (Feld der gewählten Box-Art, z. B.
0.58.0
- Neu: Module für Divi, WPBakery Page Builder und Beaver Builder. Ein Modul „affilinode“ je Builder mit Auswahl jeder Box-Art aus den Blöcken und nur den Optionen dieser Art (Divi
show_if, WPBakerydependency, Beavertoggle), Sprache, Land und Lademodus auf einem eigenen Tab. Ausgabe über den Shortcode-Renderer (gleiche Templates, Caching, Lademodus, Tracking, Klickstatistik, A/B-Test). Serverseitige Vorschau im Builder (Divi Visual Builder über Ajax-Rendering, WPBakery-Frontend-Editor, Beaver-Builder-Teilaktualisierung) mit Hinweisen statt leerer Flächen. WPBakery hat die Produkt-, Listen- und Kategoriesuche unter den ID-Feldern; Divi und Beaver Builder ein ID-Feld mit Hinweis. Wird nur geladen, wenn der Builder aktiv ist (et_builder_ready,vc_before_initmitvc_map(),FLBuilder).
- Neu: Module für Divi, WPBakery Page Builder und Beaver Builder. Ein Modul „affilinode“ je Builder mit Auswahl jeder Box-Art aus den Blöcken und nur den Optionen dieser Art (Divi
0.57.0
- Neu: Template-Editor im Admin. Unter affilinode → Templates gestaltest du eigene Produktboxen, Karten und Listeneinträge in HTML mit Platzhaltern –
{{title}},{{price}},{{#offers}}…{{/offers}},{{#if rating}}…{{else}}…{{/if}},{{{button}}}– im WordPress-Code-Editor, mit einer anklickbaren Liste aller Platzhalter, Fehlermeldungen mit Zeilennummern und einer Live-Vorschau mit Beispielprodukten. Starte mit der eingebauten Box, Karte oder Zeile oder mit einem leeren Template; Templates lassen sich duplizieren, löschen, als JSON exportieren und importieren (auch Teil des Einstellungsexports). Verwende sie mittemplate="custom:<slug>"in[affilinode_product],[affilinode_products],[affilinode_list],[affilinode_amazon_list],[affilinode_deals]und[affilinode_context]oder wähle sie in den Blöcken und Elementor-Widgets als „Layout“. Von Grund auf sicher: kein PHP, ein eigener kleiner Parser ohneeval, Werte standardmäßig maskiert (als URL inhref/src),{{{…}}}nur für fertige Teile des Plugins, Ausgabe überwp_ksesmit erweiterter Allowlist, sofern der Autor nichtunfiltered_htmlhat. Affiliate-Links nur über{{{button}}}und<a {{{link_attrs}}}>(Tracking-ID, Sub-IDs, /go/-Weiterleitungen, Amazon-Warenkorb und Klick-Tracking bleiben erhalten),rel="sponsored nofollow"an jedem Link eines Templates, und die Anzeigenkennzeichnung, Offenlegung, das Preisdatum, der Amazon-Hinweis und die Datenquellen werden unter Einzelboxen ergänzt, wenn ein Template sie weglässt. Jedes Template kann eigenes CSS haben (bereinigt wie „Eigenes CSS“). Auf AMP-Seiten fallen Templates mit eigenem Script, Style, eigenen Bildern oder Formularelementen auf das eingebaute Layout zurück. Fehlerhafte oder fehlende Templates fallen ebenfalls zurück (mit einem Hinweis für Redakteure). Die Mini-Karte an Textlinks behält ihr festes Layout.
- Neu: Template-Editor im Admin. Unter affilinode → Templates gestaltest du eigene Produktboxen, Karten und Listeneinträge in HTML mit Platzhaltern –
0.56.0
- Neu: AMP-Ausgabe der Boxen. AMP-Seiten des offiziellen AMP-Plugins (alle Modi) und von „AMP for WP“ werden erkannt (andere AMP-Lösungen: Filter
affilinode_is_amp). Dort wird jede Box auf dem Server gerendert (kein Ajax-/Hybrid-Laden, kein Platzhalter), es wird kein JavaScript von affilinode geladen, und die Styles kommen als kompakte, AMP-konforme Variante nur der benötigten Stylesheets als Inline-Styles (Reader-Templates:amp_post_template_css), zusammen mit dem Produkt-JSON-LD. Suche, Produktberater und Kompatibilitätsprüfung funktionieren als Formulare mitaction/target, der Preisalarm über amp-form (action-xhr), der Tarifrechner als Formular zum Anbieter, wo der Link es zulässt; Betriebskosten mit Standardannahmen, Preis-Leistungs-Diagramm mit geöffneter Tabelle, Vergleichsauswahl mit dem vorausgewählten Vergleich, Karussells als scrollbare Reihe ohne Buttons, keine Mini-Karte an Textlinks. Bilder haben immer Breite und Höhe. Klick-Tracking, Box-Statistik und A/B-Test laufen auf AMP-Seiten nicht; Affiliate-Links tragen dortdata-vars-affilinode-*für dein eigenes amp-analytics.
- Neu: AMP-Ausgabe der Boxen. AMP-Seiten des offiziellen AMP-Plugins (alle Modi) und von „AMP for WP“ werden erkannt (andere AMP-Lösungen: Filter
0.55.0
- Neu: Einstellungen exportieren und importieren: Einstellungen → „Einstellungen exportieren und importieren“ lädt alle affilinode-Einstellungen der Website (einschließlich automatischer Verlinkung und Tarifrechner) oder des Netzwerks als JSON-Datei herunter. Geheime Schlüssel (API-Schlüssel, Webhook-Geheimnis, MaxMind-Lizenzschlüssel) nur mit „Geheime Schlüssel einschließen“, mit einer Warnung. Der Import zeigt vor dem Speichern eine Vorschau jedes Werts, der sich ändert; alle Werte durchlaufen dieselben Prüfungen wie das Einstellungsformular, fehlende Werte und leere Schlüssel behalten das Gespeicherte. Multisite: Netzwerk- und Website-Einstellungen bleiben getrennt, Websites übernehmen nie reine Netzwerk-Einstellungen. Nur für Administratoren (
manage_options, im Netzwerkmanage_network_options). - Neu: WP-CLI:
wp affilinode status(Version, Verbindung, Cache, geplante Aufgaben, Synchronisierungen),wp affilinode cache flush [--network],wp affilinode sync [product-pages] [content] [--queue],wp affilinode migrate <source>(ATKP, AAWP, AffiliateTheme, Lasso, AmaLinks, ASA, SiteStripe in Stapeln mit Fortschrittsbalken,--analyse,--batches,--restart,--blog; setzt nach einer Unterbrechung fort),wp affilinode settings export|import(mit--dry-run,--yes,--with-secrets,--network) undwp affilinode tracking sync [--send-only]. Wird nur geladen, wenn WP-CLI läuft; die Befehle verwenden dieselben Funktionen wie die Buttons im Admin. - Neu: Karussell für Listen und Raster:
view="carousel"(odertemplate="carousel") bei[affilinode_list],[affilinode_products],[affilinode_amazon_list],[affilinode_deals]und[affilinode_context], auch als Layout „Karussell“ in den Blöcken, Elementor und dem Shortcode-Generator. CSS Scroll Snap mit Zurück-/Weiter-Buttons, Pfeiltasten, Pos1/Ende und einer Statuszeile für Screenreader nach dem WAI-ARIA-Karussell-Muster; keine Bibliothek, feste Kartenbreiten, funktioniert ohne JavaScript. Standardmäßig kein automatischer Folienwechsel;autoplay="<Sekunden>"ergänzt einen mit Stopp-Button, Pause beim Überfahren, Stopp bei Fokus und nie bei reduzierter Bewegung. - Neu: Mini-Karte an Textlinks (standardmäßig aus): Einstellungen → Layout → „Mini-Karte beim Überfahren von Textlinks“ zeigt Bild, Titel, Preis mit Datum und den Affiliate-Hinweis, wenn der Mauszeiger auf
[affilinode_link],[affilinode_field field="link"]oder einem automatischen Produktlink ruht oder dieser den Tastaturfokus erhält. Preise nur, solange sie aktuell sind, Amazon-Preise höchstens 24 Stunden alt. Eine schwebende Karte (kein Layout-Sprung), mit Escape schließbar, nichts auf Touchscreens. Je Linkpreview="1"/"0", auch im Block „Textlink“ und im Shortcode-Generator. - Neu: „Amazon-Buttons: direkt in den Amazon-Warenkorb legen“ (standardmäßig aus): Buttons zu aktuellen, verfügbaren Amazon-Angeboten in Produktboxen und
[affilinode_button]verwenden das Warenkorb-Formular von Amazon (/gp/aws/cart/add.html?AssociateTag=…&ASIN.1=…&Quantity.1=1) und sagen „In den Amazon-Warenkorb“ (auch im A/B-Test und anstelle eines eigenen Button-Texts). Textlinks, Bilder, der Preisvergleich und andere Shops bleiben unverändert; Links ohne ASIN oder Tracking-ID bleiben normale Links.
- Neu: Einstellungen exportieren und importieren: Einstellungen → „Einstellungen exportieren und importieren“ lädt alle affilinode-Einstellungen der Website (einschließlich automatischer Verlinkung und Tarifrechner) oder des Netzwerks als JSON-Datei herunter. Geheime Schlüssel (API-Schlüssel, Webhook-Geheimnis, MaxMind-Lizenzschlüssel) nur mit „Geheime Schlüssel einschließen“, mit einer Warnung. Der Import zeigt vor dem Speichern eine Vorschau jedes Werts, der sich ändert; alle Werte durchlaufen dieselben Prüfungen wie das Einstellungsformular, fehlende Werte und leere Schlüssel behalten das Gespeicherte. Multisite: Netzwerk- und Website-Einstellungen bleiben getrennt, Websites übernehmen nie reine Netzwerk-Einstellungen. Nur für Administratoren (
0.54.0
- Neu: „Betriebskosten“:
[affilinode_energy id="…" compare="…" years="5" price="…"]und der Block „Betriebskosten“ (auch in Elementor und im Shortcode-Generator) zeigen Strom- (und Wasser-)Verbrauch und -Kosten pro Jahr und über den gewählten Zeitraum aus den Werten des EU-Energielabels (EPREL): Waschmaschinen, Geschirrspüler und Wäschetrockner je 100 Zyklen mit Zyklen pro Woche, Kühlschränke pro Jahr, Fernseher und Monitore mit Stunden pro Tag, andere Produkte grob aus ihrer Leistungsangabe. Optional im Vergleich mit einem zweiten Gerät der gleichen Art („In 5 Jahren etwa 148 € weniger Strom- und Wasserkosten als …“). Die Annahmen sind immer sichtbar, und Besucher können sie live ändern (energy.js); ohne JavaScript gelten die Standardwerte. Verwendet nie Kaufpreise. Neue Einstellungen „Strompreis für Betriebskosten“ (Standard 35 ct/kWh) und „Wasserpreis für Betriebskosten“ (Standard 4,50 €/m³), neue Box-Art „Betriebskosten“ für Tracking und Statistik. Waschmaschinen, Geschirrspüler und Wäschetrockner brauchen das affilinode-Server-Update mit dem Feld „Energieverbrauch pro 100 Zyklen“ (aus EPREL befüllt).
- Neu: „Betriebskosten“:
0.53.0
- Neu: Preis-Leistungs-Diagramm:
[affilinode_scatter type="…" field="…" highlight="…"]und der Block „Preis-Leistungs-Diagramm“ (auch in Elementor und im Shortcode-Generator). Ein Streudiagramm ohne Bibliothek: aktueller Bestpreis gegen einen technischen Wert, ein Punkt je Produkt, jeder ein per Tastatur bedienbarer Link zu dem Angebot, dessen Preis er zeigt (mit Tracking); Tooltip beim Überfahren und bei Fokus, hervorgehobenes Produkt mit Ring, Beschriftung und Legende, eine Zeile, die erklärt, welche Richtung besser ist, Ausreißer weggelassen, Tabelle aller Werte zum Aufklappen (auch ohne JavaScript), responsiv, Dunkelmodus und Hochkontrastmodus. Auf Websites unter dem Amazon-Partnerprogramm nur angezeigt, wenn kein Preis darin von Amazon stammt (Redakteure sehen einen Hinweis). Neue Box-Art „Preis-Leistungs-Diagramm“ für Tracking und die Statistik. Braucht das affilinode-Server-Update mitGET /v1/categories/:type/scatter.
- Neu: Preis-Leistungs-Diagramm:
0.52.0
- Neu: „Auf einen Blick“:
[affilinode_glance id="…" count="6"]und der Block „Auf einen Blick“ (auch in Elementor und im Shortcode-Generator) zeigen die wichtigsten Kennwerte eines Produkts als Kacheln mit einem Symbol je Feldgruppe, dem Wert mit Einheit und – wo er sich einordnen lässt – fünf Stufen und einem kurzen Text wie „besser als 80 % der Smartphones“. Die Einordnung vergleicht mit den zentralen technischen Daten der ganzen Kategorie (mindestens 20 Werte); Felder ohne Richtung werden nur angezeigt.fieldswählt die Felder,button="1"ergänzt einen Button zum besten Angebot, sonst hat die Box keine Affiliate-Links. Optional in jeder Produktbox (Einstellungen → Darstellung → „„Auf einen Blick“ unter Produktboxen zeigen“, standardmäßig aus; je Boxglance="1"/"0", auch im Produktbox-Block). Jede Kachel hat eine Textalternative für Screenreader. Neue Box-Art „Auf einen Blick“ für Tracking und Statistik; zwischengespeichert mit Hintergrundaktualisierung. Braucht das affilinode-Server-Update mitGET /v1/products/:id/highlights.
- Neu: „Auf einen Blick“:
0.51.0
- Neu: „Beste der Kategorie“ – automatische Top 3:
[affilinode_top type="smartphone" by="rating" limit="3"]und der Block „Beste der Kategorie“ (auch in Elementor und im Shortcode-Generator). Ordnet die Produkte einer Kategorie nach Testnote (by="rating"), Preis-Leistung (by="value": wichtige technische Werte pro Euro, oderby="value:<field>", z. B. die meisten mAh pro Euro) oder einem technischen Wert (by="field:<field>", Richtung aus der Kategorie). Angezeigt als Podest (Platz 1 in der Mitte), Karten oder Zeilen mit der Platznummer in Medaillenfarben, einem Abzeichen auf Platz 1 („Testsieger“, „Preis-Leistung“, „Bester: <Wert>“, eigener Text mitbadge) und „Warum er hier steht“ für jeden Platz. Aktualisiert sich selbst (Ranking fünf Minuten zwischengespeichert). Preis-Leistung nur mit aktuellen Preisen und nie auf Websites unter dem Amazon-Partnerprogramm (Redakteure sehen einen Hinweis). Neue Box-Art „Beste der Kategorie“ für Tracking und die Statistik. Braucht das affilinode-Server-Update mitGET /v1/categories/:type/top.
- Neu: „Beste der Kategorie“ – automatische Top 3:
0.50.0
- Neu: Alternativen:
[affilinode_alternatives id="…" kinds="cheaper,better,successor"]und der Block „Alternativen“ (auch Elementor und Shortcode-Generator) zeigen kleine Karten mit den Bezeichnungen „Günstigere Alternative“, „Besser ausgestattet“ und „Nachfolger“ mit dem Grund („Akkukapazität: 5.000 statt 4.000 mAh“) und einem eventuellen Nachteil. Optional unter jeder Produktbox (Einstellungen → Darstellung → „Alternativen unter Produktboxen zeigen“, standardmäßig aus; je Boxalternatives="1"/"0", auch im Produktbox-Block). Nur Produkte deines affilinode-Kontos, optional nur die dieser Website (scope="site"). Keine Preissignale: Die Gründe erwähnen nie Preise oder Ersparnisse, und bei Amazon-Preisen sagt die Karte nur „Alternative“, sofern Amazon keine schriftliche Ausnahme erteilt hat. Tracking und Klickstatistik mit der neuen Box-Art „Alternativen“; zwischengespeichert wie Ersatzteile mit Hintergrundaktualisierung. Braucht das affilinode-Server-Update mitGET /v1/products/:id/alternatives. - Geändert: Die Häkchen von „Warum es passt“ (Produktberater) verwenden das volle Grün für besseren Kontrast.
- Neu: Alternativen:
0.49.0
- Neu: Kompatibilitätsprüfung „Passt das zu meinem …?“:
[affilinode_compat]und der Block „Kompatibilitätsprüfung“ (auch in Elementor und im Shortcode-Generator). Besucher wählen ihr System – Smart-Home-Zentrale (Home Assistant, Zigbee2MQTT, ZHA, deCONZ, Z-Wave JS, ESPHome, Tasmota, openHAB …), Ökosystem oder Sprachassistent (Matter, Alexa, Google Home, Apple Home, SmartThings), Funkprotokoll, Akku-Plattform von Elektrowerkzeugen, CPU-Sockel oder Objektivanschluss – aus einer Liste mit Suchfeld und sehen die passenden Produkte als Karten oder Zeilen mit dem Abzeichen „Kompatibel laut <Quelle>“. Mitproduct="…"antwortet die Box mit Ja, Nein oder Unbekannt samt Grund und Quellen (Links nur zu den öffentlichen Gerätelisten, nie zu Amazon) und zeigt das Produkt mit seinen Angeboten. Wählbar sind nur Systeme, zu denen deine Produkte Daten haben. Der Zustand ist Teil der Adresse (acc_system,acc_page) und funktioniert ohne JavaScript; neue Box-Art „Kompatibilitätsprüfung“ in der Statistik; barrierefreie Beschriftungen und Statusmeldungen. Braucht das affilinode-Server-Update mitGET /v1/compatibility.
- Neu: Kompatibilitätsprüfung „Passt das zu meinem …?“:
0.48.0
- Neu: Produktberater / Kaufberatungs-Quiz:
[affilinode_advisor id="…" view="grid"]und der Block „Produktberater“ (auch Elementor und Shortcode-Generator). Fragen, Antworten und Regeln werden im affilinode-Dashboard erstellt (Inhalte → Produktberater, mit Fragenvorschlägen und einem Live-Test). Besucher beantworten eine Frage nach der anderen mit Fortschrittsbalken, Zurück und Neustart; das Ergebnis zeigt die üblichen Karten oder Zeilen mit „Warum es passt“ (Checkliste), einem Match-Wert und dem Abzeichen „Beste Wahl“, dazu einen Hinweis, wenn Regeln gelockert werden mussten. Ohne JavaScript sind alle Fragen ein normales Formular; Antworten sind Teil der Adresse (aca_*) und lassen sich teilen. Barrierefrei: Fieldsets mit Legenden, der Fokus wandert zu jeder Frage und zum Ergebnis, eine Live-Region kündigt den Fortschritt und die Zahl der Treffer an. Tracking und Klickstatistik mit der neuen Box-Art „Produktberater“; die Antwortverteilung (Tagessummen je Frage und Antwort, keine personenbezogenen Daten) wird im affilinode-Dashboard angezeigt. Fragen werden fünf Minuten, Ergebnisse eine Minute zwischengespeichert; die öffentliche Route ist pro IP ratenbegrenzt und führt nur Berater aus, deren Einstellungen vom Server signiert sind. Braucht das affilinode-Server-Update mitGET /v1/advisors/:idund/v1/advisors/:id/result.
- Neu: Produktberater / Kaufberatungs-Quiz:
0.47.0
- Neu: Umzug aus Lasso und Lasso Lite, AmaLinks Pro und ASA1/ASA2. Kompatibilitätsmodus (Einstellungen → Kompatibilität, standardmäßig automatisch, nie solange das Original-Plugin aktiv ist oder ein anderes Plugin den Shortcode-Namen verwendet):
[lasso …]und der Lasso-Block,[amalinkspro …]/[amalinkspro_autoshowcase],[asa]ASIN[/asa],[asa_collection],[asa2 …],[asa2_img],[asa2_textlink]werden als affilinode-Boxen, -Buttons, -Textlinks, -Bilder, -Raster oder -Vergleichstabellen gerendert; ihre Tracking-IDs bleiben je Box erhalten. Lasso-Links zu anderen Shops bleiben Links mit exakt demselben Ziel. Umzugsseite: Analyse, Übernahme der ASINs als Produktanfragen, für die Berichte gemeldete Tracking-IDs (auch die Standard-Tracking-IDs aus den Einstellungen von ASA1 und AmaLinks Pro). - Neu: Quelle der Umzugsseite „Amazon-Links (SiteStripe)“: findet Text- und Bildlinks, alte iframe-Bildlinks, amzn.to-/amzn.eu-Kurzlinks und Amazon-Adressen in einer eigenen Zeile, listet sie mit Beitrag, ASIN und Tracking-ID auf, fordert die ASINs an und meldet die Tracking-IDs. Kurzlinks werden nur per Klick aufgelöst (gedrosselt, robots.txt geprüft, affilinode-User-Agent, Weiterleitung nicht verfolgt).
- Neu: Schritt 4 „Beiträge umwandeln“ auf der Umzugsseite für Lasso, AmaLinks Pro, ASA und Amazon-Links: Vorschau jeder Stelle mit ihrem Ersatz, einzelne Beiträge oder eine Auswahl umwandeln, Rückgängigmachen über die vor der Änderung gespeicherte Revision (solange der Beitrag danach nicht bearbeitet wurde). Amazon-Links werden zu Textlinks oder Boxen (Auswahl), optional mit Beibehaltung ihrer Tracking-ID.
- Neu: Umzug aus Lasso und Lasso Lite, AmaLinks Pro und ASA1/ASA2. Kompatibilitätsmodus (Einstellungen → Kompatibilität, standardmäßig automatisch, nie solange das Original-Plugin aktiv ist oder ein anderes Plugin den Shortcode-Namen verwendet):
0.46.0
- Neu: Produktsuche mit Filtern (wie Suche & Filter des Affiliate Toolkit):
[affilinode_search type="cordless_drill_driver" facets="brand,price,availability,field:voltage" per_page="12" view="grid"]und der Block „Produktsuche“. Ein Suchfeld mit Live-Ergebnissen beim Tippen, Filter mit Anzahlen in einer Seitenleiste (Marke, aktueller Preis von/bis, Verfügbarkeit und die technischen Daten der gewählten Kategorie: Auswahlen und Ja/Nein als Checkboxen, Zahlen als von/bis), Sortierung (beste Übereinstimmung, Beliebtheit, Preis, Name) und Seiten. Auf Smartphones öffnen sich die Filter als Dialog. Der Suchzustand ist Teil der Adresse (acs_q,acs_f[…],acs_sort,acs_page), sodass gefilterte Ergebnisse sich teilen lassen und ohne JavaScript als normales Formular funktionieren. Die Ergebnisse verwenden die üblichen Karten oder Zeilen mit Tracking und Klickstatistik (neue Box-Art „Produktsuche“); die Zahl der Ergebnisse wird Screenreadern angesagt.scope="site"durchsucht nur die auf dieser Website verwendeten Produkte. Für den Preisfilter und die Sortierung zählen nur aktuelle Preise (Amazon: höchstens 24 Stunden alt; Angebote der eBay-API zählen nicht), und es gibt keine Preissignale. Antworten werden zwei Minuten zwischengespeichert, die öffentliche Route ist pro IP ratenbegrenzt und führt nur Suchen aus, deren Einstellungen vom Server signiert sind. Braucht das affilinode-Server-Update mitGET /v1/products/search.
- Neu: Produktsuche mit Filtern (wie Suche & Filter des Affiliate Toolkit):
0.45.0
- Neu: Sidebar-Widget „affilinode“ (
WP_Widget): Produktbox (kompakt oder Karte), Produktliste (untereinander oder Raster), Preisvergleich oder Deals für Seitenleisten und Fußbereiche, mit Produkt-, Listen- und Kategoriesuche im Widget-Formular. Rendert über dieselben Shortcodes; Klicks zählen als neue Box-Art „Sidebar-Widget“ (box_kind="widget": Klickstatistik, Awin clickref4, eBay „~bwidget“). Immer registriert – der Block-Widget-Editor bietet es als klassisches Widget an, der Customizer ebenso. Auf Einzelbeiträgen werden die Klicks dem Beitrag zugeordnet, auf Archiven keinem Beitrag. - Neu: Eigene Weiterleitungen (standardmäßig aus, Einstellungen → Eigene Weiterleitungen): Affiliate-Links als
/go/<produkt>-<shop>(lesbar) oder/go/<code>(kurz) auf deiner eigenen Domain. Das Plugin zählt den Klick auf dem Server (Tagessummen je Link und Beitrag; keine Bots, Link-Vorschauen, Prefetching oder HEAD; keine IP, kein Cookie, keine Browserkennung) und leitet mit 302 auf denselben Affiliate-Link weiter, den die Box zeigen würde, samt Awin clickref2–4 und eBay-Custom-ID. Amazon-Links werden nie weitergeleitet (Richtlinien des Amazon-Partnerprogramms)./go/ist noindex (X-Robots-Tag), steht in der virtuellen robots.txt, ist vom spekulativen Laden ausgenommen und wird nie zwischengespeichert (Cache-Control: no-store,DONOTCACHEPAGE, LiteSpeed). Neuer Bereich „Weiterleitungen“ unter Auswertung; Filteraffilinode_go_link; Analytics-Klick-Events behalten die Zieldomain (link_domain). An affilinode wird nichts gesendet.
- Neu: Sidebar-Widget „affilinode“ (
0.44.0
- Neu: Amazon-Verkaufsrang:
[affilinode_field field="sales_rank"]zeigt den Bestseller-Rang bei Amazon in der Hauptkategorie („Nr. 197 in Elektronik“), und die neue Einstellung „Amazon-Verkaufsrang anzeigen“ (Darstellung, standardmäßig aus) ergänzt ihn in Produktboxen mit Amazon-Angebot und unter dem Amazon-Angebot im Preisvergleich. Nur wenn Amazon einen Rang liefert und wie Amazon-Preise nie älter als 24 Stunden. Braucht das affilinode-Server-Update mit Migration 0137. - Neu: Darstellung (Einstellungen → Darstellung): Button-Größe (klein, mittel, groß), Eckenradius in px, Button-Farbe beim Überfahren (automatisch oder eigene), Abzeichen-Farben für „Testsieger“, „Preis-Leistung“ und alle übrigen, dazu ein Feld „Eigenes CSS“ (nur für Administratoren, die CSS bearbeiten dürfen, also mit
unfiltered_html; HTML und<werden entfernt, geladen nur zusammen mit den affilinode-Styles). Alles wirkt über die CSS-Variablen der Boxen (--acp-btn-h,--acp-btn-radius,--acp-radius,--acp-cta-hover,--acp-badge-winner…); Textfarben von Buttons, Hover und Abzeichen werden für ausreichenden Kontrast automatisch gewählt. Eine Live-Vorschau mit Beispielprodukten zeigt die Änderungen vor dem Speichern. Abzeichen werden nach ihrem Text eingeordnet („Testsieger“, „Preis-Leistung“, „Preistipp“ …), anpassbar mit dem Filteraffilinode_badge_type. - Geändert: AAWP
[amazon fields value="prime"]und[affilinode_field field="prime"]zeigen Redakteuren einen klaren Hinweis: Die Creators API von Amazon liefert keine Prime-Berechtigung mehr, deshalb zeigt affilinode kein Prime-Kennzeichen, statt zu raten.
- Neu: Amazon-Verkaufsrang:
0.43.0
- Neu: Automatische Verlinkung (standardmäßig aus, affilinode → Automatische Verlinkung): Produkt- und Kategorienamen in Beiträgen werden automatisch verlinkt – Produkte zum besten Angebot oder zu den gewählten Shops in Reihenfolge („Amazon zuerst, sonst Awin“), Kategorien zur Amazon-Suche mit deiner Tracking-ID oder zu deiner eigenen gleichnamigen Seite, dazu eine eigene Schlagwortliste. Höchstens N Links je Beitrag (Standard 3), nur das erste Vorkommen, nur ganze Wörter (Unicode-sicher, Komposita bleiben ganz), nie in Überschriften, Links, Code, Bildunterschriften, Inhaltsverzeichnissen oder affilinode-Ausgaben. Je Beitragstyp, je Beitrag (Seitenleiste im Editor) und je Kategorie. Links wie Textlinks (rel, Tracking, Klickstatistik mit der neuen Box-Art „Automatischer Link“, Affiliate-Hinweis), nie mit Preis, nicht in Feeds. Einstellungsseite mit Vorschau und Klickzahlen. Die Begriffe kommen vom neuen API-Endpunkt
GET /v1/autolink/terms(täglich und auf Abruf).
- Neu: Automatische Verlinkung (standardmäßig aus, affilinode → Automatische Verlinkung): Produkt- und Kategorienamen in Beiträgen werden automatisch verlinkt – Produkte zum besten Angebot oder zu den gewählten Shops in Reihenfolge („Amazon zuerst, sonst Awin“), Kategorien zur Amazon-Suche mit deiner Tracking-ID oder zu deiner eigenen gleichnamigen Seite, dazu eine eigene Schlagwortliste. Höchstens N Links je Beitrag (Standard 3), nur das erste Vorkommen, nur ganze Wörter (Unicode-sicher, Komposita bleiben ganz), nie in Überschriften, Links, Code, Bildunterschriften, Inhaltsverzeichnissen oder affilinode-Ausgaben. Je Beitragstyp, je Beitrag (Seitenleiste im Editor) und je Kategorie. Links wie Textlinks (rel, Tracking, Klickstatistik mit der neuen Box-Art „Automatischer Link“, Affiliate-Hinweis), nie mit Preis, nicht in Feeds. Einstellungsseite mit Vorschau und Klickzahlen. Die Begriffe kommen vom neuen API-Endpunkt
0.42.0
- Neu: Sortieren und Filtern je Shortcode (wie
orderby/filterbei AAWP):[affilinode_list],[affilinode_products]und[affilinode_amazon_list]nehmensort(orderin der Amazon-Liste) =price|-price|rating|discount|title|position,only_available="1",min_discount="…"(Prozent) undbrand="…";[affilinode_products]nimmt außerdemlimit.[affilinode_deals]nimmtsortundbrand,[affilinode_offers]nimmtonly_available="1". Beim Sortieren oder Filtern wird die ganze Liste geladen und danach auflimitgekürzt. Es zählen nur aktuelle Shop-Preise; eBay-Angebote aus der eBay-API bleiben in ihrem eigenen Block und zählen nie für Preis oder Ersparnis. Bei Amazon (ohne schriftliche Ausnahme) werdensort="discount"undmin_discountals Preissignale ignoriert, mit Hinweis für Redakteure. Blöcke, Elementor und der Shortcode-Generator („Erweitert“) bieten die neuen Optionen. - Neu:
hide_unavailable="1"an[affilinode_product],[affilinode_button],[affilinode_link]und[affilinode_field]sowie die Einstellung „Nicht verfügbare Einzelboxen ausblenden“ (standardmäßig aus, Produktboxen und Buttons): Ein nicht verfügbares Produkt ohne verfügbaren Ersatz entfällt; angemeldete Redakteure sehen einen Hinweis. Ausgeblendete Produkte kommen nicht in die strukturierten Daten. - Behoben: Eine nachgeladene Box (Ajax/hybrid), die nichts zu zeigen hat, verschwindet jetzt, statt ihr Lade-Skelett (oder veraltetes Server-HTML) zu behalten.
- Geändert: In der Angebotstabelle steht der eigene Block „Bei eBay“ jetzt direkt unter dem Preisvergleich (weiterhin optisch getrennt, wie es die eBay-Bedingungen verlangen).
- Neu: Sortieren und Filtern je Shortcode (wie
0.41.0
- Neu: Testbewertung (wie die Testnote im Affiliate Toolkit):
[affilinode_rating id="…"]und der Block „Testbewertung“ zeigen deinen eigenen Test – Note groß mit Skala und Urteil in fünf Stufen (sehr gut, gut, befriedigend, ausreichend, mangelhaft), Testdatum, Fazit, Kriterien als Balken, Pro und Contra, Abzeichen und einen Button zum besten Angebot. Skalen: Schulnote 1,0–6,0, Punkte 0–10 oder 0–100, Sterne 0–5. Die Bewertung kommt aus dem affilinode-Dashboard (Produkt → „Testbewertung“, je Sprache und Website) oder aus der neuen Seitenleiste „affilinode: Testbewertung“ im Beitrag (Box im klassischen Editor), die sie für einen Beitrag oder ein Produkt im Beitrag überschreibt. Immer serverseitig gerendert; barrierearm (Note als Text, Balken und Farben nur Schmuck). - Neu:
rating="1"in[affilinode_product]und[affilinode_products]ergänzt die Testnote in der Box; Vergleichstabellen haben die Standardzeile „Testnote“ (review, auch in im Dashboard gespeicherten Tabellen). - Neu: Optional schema.org-
ReviewmitreviewRating,author(Autor des Beitrags oder Name der Website),datePublished,reviewBodyund Pro/Contra (positiveNotes/negativeNotes) im JSON-LD des Produkts – nur für[affilinode_rating]und nur mit der neuen Einstellung „Testbewertungen als Review in den strukturierten Daten“ (standardmäßig aus, siehe Hinweis zu Googles Richtlinien). Ein Produkt mit Bewertung wird auch aufgeführt, wenn es nur Amazon-Angebote hat (ohne Preis).
- Neu: Testbewertung (wie die Testnote im Affiliate Toolkit):
0.40.0
- Neu: eBay-Angebote aus der eBay-API (Feld
ebayOffers) erscheinen in einem eigenen, beschrifteten Block „Bei eBay“ unter Produktbox und Preisvergleich – nie mit anderen Shops gemischt, nie als Bestpreis, ohne Ersparnis-Abzeichen und nur, solange sie höchstens 6 Stunden alt sind (eBay API License Agreement).[affilinode_button shop="ebay"]und[affilinode_link shop="ebay"]nehmen das günstigste eBay-Angebot aus diesem Block.
- Neu: eBay-Angebote aus der eBay-API (Feld
0.39.0
- Neu: Klick-Tracking für Google Analytics 4, Google Tag Manager und Umami neben Matomo (Einstellungen → Klick-Tracking an Analytics, vorher „Matomo-Tracking“). Jedes Ziel lässt sich einzeln einschalten und ist ab Werk aus; GA4, Tag Manager und Umami bekommen je einen eigenen Ereignisnamen (Standard
affiliate_click). Das Plugin nutzt nur Tracker, die deine Seite schon lädt (gtag,dataLayer,umami,_paq/_mtm), und sendet nichts, wenn sie fehlen. Einheitliche Ereignisdaten: shop, product (affilinode-ID), product_name (gekürzt), box_kind, position, post_id, link_domain (nie die vollständige Affiliate-URL) und mit „Ereigniswert: Preis“ value und currency. Ein Klick-Handler für alle Boxen, Textlinks, Felder und nachgeladenen (Ajax/hybriden) Boxen; Mittel- und Strg-Klicks zählen, Doppelklicks einmal, die Navigation wird nie verzögert (GA4 mittransport_type: 'beacon'). - Geändert: Die Matomo-Einstellung und ihr
_mtm-Ereignisnameacp_affiliate_clickbleiben unverändert; Content-Tracking (Impressionen) bleibt nur bei Matomo. Der Filteraffilinode_track_clicksschaltet jetzt alle Ziele.
- Neu: Klick-Tracking für Google Analytics 4, Google Tag Manager und Umami neben Matomo (Einstellungen → Klick-Tracking an Analytics, vorher „Matomo-Tracking“). Jedes Ziel lässt sich einzeln einschalten und ist ab Werk aus; GA4, Tag Manager und Umami bekommen je einen eigenen Ereignisnamen (Standard
0.38.0
- Neu: Tracking-IDs für die Auswertung. Das Plugin meldet die gefundenen Amazon-Tracking-IDs, Awin-clickrefs, eBay-Kampagnen-IDs und Sub-IDs von Netzwerken (Tradedoubler, ADCELL, CJ) an affilinode (
POST /v1/site/tracking), damit Umsätze mit älteren oder zusätzlichen IDs der richtigen Website und Unterseite zugeordnet werden: beim Speichern eines Beitrags (Beitragsfeld,tracking="…"in Shortcodes und Blöcken, Affiliate-Links im Inhalt), beim Umzug von AAWP (Standard-Tracking-ID aus den AAWP-Einstellungen,tracking_id="…") und vom Affiliate Toolkit (Tracking-ID, clickref oder Kampagnen-ID jedes Shops; die meistgenutzte als Standard) und mit „Tracking-IDs jetzt abgleichen“ (Einstellungen → Matomo-Tracking, alle Beiträge in Paketen). Gesendet wird gebündelt per WP-Cron, im Multisite je Unterseite; Fehler und „noch kein Shop“ werden später erneut versucht. Den Stand zeigen die Einstellungen und die Umzugsseite. - Geändert: Der Umzug vom Affiliate Toolkit liest jetzt die Tracking-ID der ATKP-Shops (weiterhin nie Schlüssel oder Secrets); der Umzug von AAWP liest die Standard-Tracking-ID aus den AAWP-Einstellungen.
- Neu: Tracking-IDs für die Auswertung. Das Plugin meldet die gefundenen Amazon-Tracking-IDs, Awin-clickrefs, eBay-Kampagnen-IDs und Sub-IDs von Netzwerken (Tradedoubler, ADCELL, CJ) an affilinode (
0.37.0
- Neu: Im affilinode-Dashboard gespeicherte Vergleichstabellen:
[affilinode_compare table="<ID>"]zeigt die Produkte in der gespeicherten Reihenfolge mit den gewählten Zeilen – Standardzeilen (Bild, Titel, Preis, Button, Bewertung, Vorteile, Nachteile, Highlights), Felder der technischen Daten und eigene Text- oder Ja/Nein-Zeilen – und das hervorgehobene Produkt mit seinem Abzeichen (z. B. „Testsieger“). Zwischengespeichert wie Listen; der Webhookcompare_table.updatedaktualisiert sie. Der Demo-Modus enthält eine Beispieltabelle (ID00000000-0000-4000-8000-00000000c0de). - Neu:
[affilinode_compare]nimmtrows="price,rating,field:display_size,…"(Zeilen und ihre Reihenfolge),highlight="<Position oder Produkt-ID>"undbadge="…"für Ad-hoc-Tabellen; ohnerowssieht der Vergleich aus wie bisher, jetzt wahlweise mit hervorgehobener Spalte. - Neu: Der Block „Produktvergleich“, das Elementor-Widget und der Shortcode-Generator („Gespeicherte Vergleichstabelle“) haben die Felder Tabelle, Zeilen, Hervorhebung und Abzeichen.
- Neu: Im affilinode-Dashboard gespeicherte Vergleichstabellen:
0.36.0
- Neu: Amazon-Tracking-ID je Box und je Beitrag. Jeder Shortcode und Block mit Affiliate-Links nimmt
tracking="…"an (auch in der Block-Seitenleiste, im Elementor-Widget, im Shortcode-Generator und inaffilinode_link()/affilinode_field()); Beiträge bekommen das Feld „Amazon-Tracking-ID für diesen Beitrag“ (Seitenleiste im Block-Editor, Box im klassischen Editor, Post-Meta_affilinode_trackingin der REST-API für Nutzer, die den Beitrag bearbeiten dürfen). Box vor Beitrag vor der Tracking-ID der Website aus dem Dashboard; geändert wird nur der Parametertagder Amazon-Links. Ungültige Werte werden ignoriert, Redakteure sehen einen Hinweis. - Neu: AAWP
tracking_id="…"geht nicht mehr verloren: Der Kompatibilitätsmodus übernimmt es als Amazon-Tracking-ID der Box ([amazon box|link|fields|table|bestseller|new]und AAWP-Blöcke). - Geändert: Ajax-Platzhalter und hybride Boxen tragen die Tracking-ID in ihren signierten Daten, der Vergleichswähler gibt sie an seine Vergleichstabelle weiter – zwischengespeicherte und nachgeladene Boxen behalten so den richtigen Tag.
- Neu: Amazon-Tracking-ID je Box und je Beitrag. Jeder Shortcode und Block mit Affiliate-Links nimmt
0.35.0
- Neu:
[affilinode_link id="…"]– ein Textlink zum besten oder zu einem gewählten Shop (shop="amazon|ebay|awin") im Fließtext;text="…"oder eingeschlossener Text bestimmt den Linktext,price="1"ergänzt den aktuellen Preis. - Neu:
[affilinode_field id="…" field="…"]– ein einzelner Wert eines Produkts: Preis, Titel, Link, Button, URL, Shop, Verfügbarkeit, Sterne, Bewertung, Rezensionen, Bild, Vorschaubild, Marke, Beschreibung, Listenpreis, Ersparnis, letzte Aktualisierung oder ASIN. Beide funktionieren mitid,asinodereanund werden immer mit der Seite gerendert. - Neu: PHP-Funktionen für Themes,
affilinode_field( $product, $field, $args )undaffilinode_link( $product, $args ), die escaptes HTML zurückgeben (geschützt mitfunction_exists). - Neu: „affilinode-Link“ in der Format-Werkzeugleiste von Absätzen öffnet den Shortcode-Generator mit dem Textlink und setzt den Shortcode an die Stelle des markierten Texts. Außerdem neu: die Blöcke „Textlink“ und „Produktfeld“, beide Ansichten im Shortcode-Generator und im Elementor-Widget „affilinode-Box“.
- Neu: Klicks auf Textlinks und verlinkte Felder zählen in der Klickstatistik wie Box-Klicks (Box-Arten „Textlink“ und „Produktfeld“, auch in Awin
clickref4und der eBay-Zuordnung). - Geändert: Preise aus
[amazon fields value="price"],[price]und den neuen Shortcodes zeigen die Zeit der letzten Aktualisierung und den Affiliate-Hinweis als Tooltip (mit Sternchen, solange der Affiliate-Hinweis an ist); die Felder von AAWP und AffiliateTheme nutzen jetzt dieselbe Ausgabe wie[affilinode_field].
- Neu:
0.34.0
- Neu:
[affilinode_amazon_list keyword="…" sort="bestseller|new" limit="10"]– Bestseller oder Neuheiten bei Amazon zu einem Suchbegriff (optional eingegrenzt mitnode="<Browse-Node-ID>"), auch als Block „Amazon-Bestseller“ und im Elementor-Widget „affilinode-Box“. affilinode legt die Liste beim ersten Aufruf an, aktualisiert sie höchstens alle 24 Stunden über dein eigenes Amazon-Konto und ergänzt fehlende Produkte im Rahmen deines Produktkontingents. Solange die Liste entsteht, sehen Redakteure einen kurzen Hinweis, und der Zwischenspeicher fragt nach zwei Minuten erneut. - Neu: Umzug von AAWP –
[amazon bestseller="…"]und[amazon new="…"](mititems,grid,templatesowie Browse-Node pluskeywords) zeigen jetzt eine solche dynamische Amazon-Liste statt eines Hinweises für Redakteure. Nur eine Browse-Node ohne Suchbegriff zeigt weiter den Hinweis. - Neu: Umzug von AAWP –
[amazon fields]gibt auchimage(nur die Bildadresse,image="2"für das zweite Bild),thumb,description,rating,star_rating,reviews,list_price,amount_saved,percentage_savedundlast_updateaus. Preisfelder bleiben leer, wenn der Preis veraltet ist; Bewertungen erscheinen nur, wenn die API eine liefert. - Neu: Beiträge für „Passend zum Artikel“ an affilinode senden (Einstellungen → Passend zum Artikel, standardmäßig aus). Titel, Adresse und Text öffentlicher Beiträge (ohne HTML und Shortcodes, gekürzt) werden beim Veröffentlichen oder Ändern gebündelt per WP-Cron gesendet; gelöschte, zurückgezogene oder passwortgeschützte Beiträge werden als entfernt gemeldet. Produktseiten und Anhänge werden nie gesendet. affilinode wertet jede Fassung einmal aus, die Kontext-Box braucht daher nur die Adresse der Seite.
- Neu: „Alle Beiträge jetzt senden“ überträgt alle veröffentlichten Beiträge einmalig, in Paketen zu 50 im Hintergrund, mit Fortschritt, letzter Übertragung und letztem Fehler in den Einstellungen.
- Neu:
[affilinode_context limit="3"]– passende Produkte zum aktuellen Beitrag, serverseitig gerendert ausGET /v1/content/context; mit Contextual Ads+ zeigt jeder Vorschlag seinen Grund („Passt zu: Zigbee, unter 50 €“). Auch als Block.
- Neu:
0.33.0
- Neu: Eine Produktseite für jedes Produkt. Einstellungen → Produktseiten → „Für jedes Produkt automatisch eine Produktseite anlegen“ liest stündlich die Katalogänderungen (
/v1/catalog/changes) und legt für jedes aktive Produkt ohne Seite eine an – Titel und Kurztext aus affilinode, als Entwurf oder veröffentlicht („Status neuer Produktseiten“). Große Kataloge werden in mehreren Durchläufen abgearbeitet. Vorhandene Seiten (auch per ASIN oder EAN verknüpfte, Entwürfe und Seiten im Papierkorb) werden nie geändert oder doppelt angelegt, gelöschte Seiten nicht erneut erstellt, und Seiten von Produkten, die in affilinode gelöscht wurden, werden auf Entwurf gesetzt. - Neu: „Jetzt synchronisieren“ in den Einstellungen und „Produktseiten für alle Produkte anlegen“ über der Produktliste starten sofort einen Durchlauf; beide zeigen den letzten Lauf, die Summen und den letzten Fehler.
- Neu:
[affilinode_details]– Beschreibung (Langtext, sonst der kurze), Vor- und Nachteile und das Datenblatt als Tabelle je Gruppe, mitshow="description,proscons,specs"undheading="2|3". Auch als Block und im Elementor-Widget „affilinode-Box“. Leere Abschnitte entfallen; serverseitig gerendert, damit Suchmaschinen den Text sehen. - Geändert: Die Produktseite zeigt jetzt Box, „Beschreibung“, deinen eigenen Text, „Preisvergleich“ (bis zu zehn Angebote), „Technische Daten“ und Preisverlauf. Die Box auf der Produktseite hat kein „Mehr erfahren“, wenn die Beschreibung darunter folgt. Neue Einstellungen „Beschreibung anzeigen“ und „Technische Daten anzeigen“ (beide an).
- Neu:
[affilinode_product … more="0"]blendet den Bereich „Mehr erfahren“ der Box aus. - Neu: Strukturierte Daten enthalten die Kurzbeschreibung des Produkts; Produktseiten tragen ihr Produkt immer, auch im Ajax-Modus.
- Behoben: Lädt eine Box nachträglich, weil die API nicht erreichbar war, wird das Ladeskript jetzt immer eingebunden.
- Neu: Eine Produktseite für jedes Produkt. Einstellungen → Produktseiten → „Für jedes Produkt automatisch eine Produktseite anlegen“ liest stündlich die Katalogänderungen (
0.32.0
- Neu: Einnahmen je Box-Art. Awin-Links bekommen die Box-Art in
clickref4(product, products, list, offers, compare, button, tariffs, deals, price_history …), eBay-Partnerlinks als~b<Art>am Ende der Custom-ID. Bereits gesetzte Parameter – etwa von der affilinode-API – werden nie überschrieben. - Neu: Auswertung → „Gruppieren nach“ bietet „Nach Box-Art“: Klicks, Bestellungen, Umsatz und Provision je Box-Art, aus denselben Netzwerk-Berichten wie die Zahlen je Beitrag.
- Neu: Einnahmen je Box-Art. Awin-Links bekommen die Box-Art in
0.31.0
- Neu: Elementor-Widgets in einer eigenen Kategorie „affilinode“ – „affilinode-Box“ mit Auswahl jeder Box-Art und nur den Optionen, die diese Art kennt, dazu Produktbox, Produktliste und Preisvergleich als eigene Widgets. Sie nutzen den Shortcode-Renderer; Ausgabe, Caching, Lademodus, Klickstatistik und Tracking sind dieselben wie bei den Shortcodes.
- Neu: Produkt-, Listen-, Kategorieansicht- und Kategoriesuche unter den ID-Feldern im Elementor-Panel (über die eigenen REST-Routen des Plugins; der API-Schlüssel bleibt auf dem Server).
- Neu: Im Elementor-Editor werden die Boxen serverseitig gerendert; statt einer leeren Fläche erscheint ein Hinweis, solange nichts gewählt ist, weder API-Schlüssel noch Demo-Modus eingerichtet sind oder es nichts zu zeigen gibt.
- Neu: Elementor speichert den entsprechenden Shortcode als einfachen Inhalt des Beitrags – so finden Beitragsprüfung, Vorabladen und frühes Laden der Stylesheets die Boxen auch auf Elementor-Seiten, und die Boxen funktionieren weiter, wenn Elementor abgeschaltet wird.
- Neu: Das Plugin kennt die Fähigkeiten deines affilinode-Tarifs. Boxen „Gerät + Tarife“ und Vergleichsrechner zeigen Redakteuren einen kurzen Hinweis statt einer leeren Fläche, wenn der Tarif sie nicht enthält; die Übernahme aus AAWP, AffiliateTheme und Affiliate Toolkit sagt das vor dem Start (die Analyse funktioniert weiter).
0.30.0
- Geändert: Einheitliches Präfix „affilinode“ überall – Optionen, Netzwerk-Optionen, Transients, Datenbanktabellen, geplante Aufgaben, Hooks, Ajax-Aktionen, Nonces, der Beitragstyp für Produktseiten (
affilinode_product) und sein Metafeld, Skript-Handles, JavaScript-Globals, Blocknamen (affilinode/…) und der REST-Namensraum (affilinode/v1). Bestehende Installationen werden beim ersten Aufruf nach dem Update einmalig umgestellt (im Multisite je Unterseite). - Geändert: Die Shortcodes heißen jetzt
[affilinode_product],[affilinode_list]usw. Generator, Blöcke und Migrationen schreiben die neuen Namen. Die alten Namen[ac_…]bleiben als Alias registriert (Einstellungen → Kompatibilität, standardmäßig an), sofern kein anderes Plugin sie belegt. - Geändert: Blöcke aus früheren Versionen (
affiliate-central/…) werden weiter dargestellt und lassen sich in die neuen Blöcke umwandeln; im Block-Einfüger erscheinen sie nicht mehr. - Geändert: Die REST-Routen sind auch unter dem bisherigen Namensraum
affiliate-central/v1erreichbar (Webhooks, zwischengespeicherte Seiten, Links in Preisalarm-Mails). - Geändert: Überschriebene Templates werden zuerst aus
dein-theme/affilinode/gelesen, danach ausdein-theme/affiliate-central/. - Veraltet: Hooks mit dem Namen
affiliate_central_…– bitteaffilinode_…verwenden. Callbacks auf die alten Namen laufen weiter und lösen einen Hinweis aus. - Geändert: Alle Texte im Quellcode sind englisch. Deutsch (de_DE, de_DE_formal) kommt als Übersetzung mit, auch für das JavaScript des Shortcode-Generators; andere deutsche Varianten (de_AT, de_CH …) greifen darauf zurück.
- Geändert: Einheitliches Präfix „affilinode“ überall – Optionen, Netzwerk-Optionen, Transients, Datenbanktabellen, geplante Aufgaben, Hooks, Ajax-Aktionen, Nonces, der Beitragstyp für Produktseiten (
0.29.0
- Vorbereitet für wordpress.org: Plugin-Slug und Text-Domain „affilinode“, englische readme. Der Plugin-Ordner heißt jetzt „affilinode“ – ist der alte Ordner „affiliate-central“ noch installiert, diesen deaktivieren und löschen; alle Einstellungen bleiben erhalten.
- Neu: Box
[ac_tariffs]„Gerät + Tarife“ – das Gerät ohne Vertrag bei den Shops und darunter Angebote mit Mobilfunkvertrag, sortiert nach effektivem Monatspreis; auch als Block und im Shortcode-Generator. - Geändert: Tarifrechner sind jetzt eine eigene Box (Felder für Postleitzahl und Verbrauch, öffnet die Ergebnisse beim Partner). Einbindungscodes von Vergleichsportalen werden nicht mehr ausgeführt.
- Neu: Amazon-Richtlinie 6(y) – mit Amazon-Konto sind Preisverlauf, Preisalarm, Deal-Listen und Preissignale aus, außer eine schriftliche Ausnahme von Amazon wird in den Einstellungen bestätigt.
- Neu: Datenquellen mit Nennungspflicht stehen unter Produktboxen und Vergleichstabellen.
- Geändert: Die Klickmessung über Matomo ist standardmäßig aus.
- Behoben: Geplante Aufgaben werden beim Deaktivieren entfernt.
- Neu: Umzug von AAWP – die Shortcodes
[amazon box|link|fields|table]und AAWP-Blöcke erscheinen als affilinode-Boxen, sobald AAWP deaktiviert ist; ihre ASINs lassen sich auf der Seite „Umzug“ anfordern. - Neu: Umzug von AffiliateTheme – die Produkt-Shortcodes des Themes erscheinen als affilinode-Boxen, wenn ein anderes Theme aktiv ist; die Produkte des Themes (Titel, ASIN, EAN) lassen sich auf der Seite „Umzug“ anfordern.
- Neu: Die Produktdaten übernommener AAWP- und AffiliateTheme-Shortcodes und -Blöcke werden je Seite gesammelt vorgeladen, und der Beitrags-Check prüft sie mit.
- Geändert: Templates bekommen alle Variablen zusätzlich als
$args; überschriebene Templates inyour-theme/affiliate-central/funktionieren weiter. - Geändert: Die Ausgabe der Templates wird an der Stelle der Ausgabe maskiert (escaped); das Markup der Boxen bleibt gleich.
- Geändert: Die Webhook-Route prüft die HMAC-Signatur bereits in der Berechtigungsprüfung.
0.28.0
- Geändert: Das Plugin spricht fest mit https://api.affilinode.com – das Feld „API-URL“ entfällt, eine früher eingetragene Adresse wird nicht mehr verwendet. Einzutragen ist nur noch der API-Schlüssel.
0.27.0
- Neu: Das affilinode-Logo (Knotenbogen) als Menüsymbol – passt sich dem Farbschema des Dashboards an.
0.26.0
- Neu: Themenideen → „Wunschpreise der Leser“: Produkte, auf deren Preis Leser per Preisalarm warten, mit mittlerem Wunschpreis und Abstand zum zuletzt gesehenen Preis – „fast erreicht“ ist ein Anlass für einen Beitrag oder Post. Ohne E-Mail-Adressen.
- Neu: A/B-Test – ist Variante B belastbar besser, übernimmt ein Klick ihren Button-Text und ihre Preissignale für alle Boxen; der Test endet.
- Neu: Prüfung im Editor – bei „Nachfolger wird gezeigt“ bzw. „Ersatz wird gezeigt“ setzt ein Knopf den Ersatz direkt in die Box ein (Blöcke und Shortcode-Blöcke; steht das Produkt als ASIN oder EAN im Beitrag, bitte von Hand).
- Neu: Boxen im RSS-Feed der Beiträge und damit in Newslettern aus dem Feed: je Produkt Bild, Titel, Preis und Link mit Kennzeichnung, ohne Skripte. Rechner, Vergleichswähler, Preisalarm und Preisverlauf verlinken auf den Beitrag.
0.25.0
- Neu: Prüfung im Editor. Im Block-Editor zeigt die Seitenleiste „affilinode: Produkte im Beitrag“ beim Schreiben, welche Produkte lieferbar sind, für welche nur noch Ersatz oder Nachfolger erscheint und wessen Preis gerade gesunken ist – geprüft wird der aktuelle, auch ungespeicherte Inhalt.
- Neu: Verlinkungsvorschläge in derselben Seitenleiste: andere Beiträge, in denen dieselben Produkte stehen, mit „Link kopieren“; schon verlinkte Beiträge werden nicht vorgeschlagen. Die Zuordnung kennt das Plugin nach einem Durchgang des Beitrags-Checks.
- Neu: Deals als RSS-Feed (/feed/affilinode-deals/, nach Kategorien filterbar) – standardmäßig an, abschaltbar unter Darstellung.
0.24.0
- Neu: Deal-Box
[ac_deals]bzw. der Block „Deals“ – Produkte mit gerade gesunkenem Preis, nach Kategorien filterbar (im Block und im Shortcode-Generator zum Ankreuzen), mit Mindestersparnis und Ersparnis-Kennzeichen. Braucht die API ab 04.10.2026. - Neu: Auswertung → Beiträge: die zehn Beiträge mit der meisten Provision samt Klickrate ihrer Boxen, und „Schwache Boxen“ – Darstellungen, die auf einem Beitrag höchstens halb so oft geklickt werden wie dieselbe Darstellung auf den übrigen Beiträgen, mit den entgangenen Klicks. Die Klickstatistik zählt dafür zusätzlich je Beitrag (nur Tagessummen, ohne Kennung des Lesers).
- Neu: Themenideen (affilinode → Themenideen): Produktpaare, die Besucher im Vergleichswähler oft gegenüberstellen und zu denen es noch keinen gemeinsamen Beitrag gibt, und gefragte Produkte (viele Klicks), die in höchstens einem Beitrag stehen.
- Neu: Deal-Box
0.23.0
- Neu: Beitrags-Check. Stündlich prüft das Plugin einen Schwung veröffentlichter Beiträge: Welche Boxen zeigen gerade kein lieferbares Angebot oder nur noch den Ersatz? Die Seite affilinode → Beitrags-Check listet diese Beiträge, sortiert nach Klicks der letzten 30 Tage – die Arbeitsliste für Redakteure. Abschaltbar unter Einstellungen → Beitrags-Check & Wochenbericht.
- Neu: Wochenbericht per Mail (standardmäßig aus): montags „Nachfolger erschienen für X – steht in 4 Beiträgen“ und „Preis von Y um 20 % gefallen“ (Schwelle einstellbar). Empfänger: eigene Adresse oder die Admin-Adresse der Website.
0.22.0
- Neu: Strukturierte Daten (schema.org, JSON-LD). Die Produkte einer Seite stehen zusätzlich als Product-Daten im Quelltext (Name, Marke, EAN/MPN, Bilder, Preis bzw. Preisspanne, Verfügbarkeit) – für Suchmaschinen. Ohne Bewertungen (die stammen von den Shops) und ohne Amazon-Preise; nicht erhältliche Produkte erscheinen als ihr Ersatz. Standardmäßig an, abschaltbar unter Darstellung → „Strukturierte Daten“, z. B. wenn ein SEO-Plugin dieselben Produkte schon ausgibt. Nicht im Ajax-Modus (dort rendert der Server die Box nicht).
- Neu: Klicks je Box-Art. Unter Auswertung steht, wie oft Buttons in Produktboxen, Karten, Listen, Vergleichstabellen usw. sichtbar waren und geklickt wurden – getrennt nach kurzem und ausführlichem Titel. Nur Tagessummen, ohne Cookie und ohne IP; abschaltbar unter Darstellung → „Klicks je Box-Art zählen“.
- Neu: Kategorie-Sichten im Shortcode-Generator ([ac_list view="…"]) – wie bisher schon im Block.
- Behoben: Beim Löschen des Plugins blieben die Tabelle und Optionen des A/B-Tests zurück.
0.21.0
- Geändert: Produktboxen zeigen standardmäßig den ausführlichen Titel (Marke, Modell, Produktart und wichtigste Merkmale). Die Einstellung „Produkttitel in Boxen“ steht dafür neu auf „Ausführlich“ – auch auf bestehenden Installationen; „Kurz“ lässt sich dort oder je Box mit title_style="short" wählen. Vergleichstabellen bleiben beim kurzen Titel.
0.20.0
- Neu: Tarifrechner von CHECK24, Tarifcheck & Co. (Strom, Gas, Internet, Mobilfunk, Reisen, Versicherungen …). Unter affilinode → Tarifrechner den Einbindungscode aus dem Partnerbereich einmal je Rechner hinterlegen (die Partner-ID steckt darin), im Beitrag [ac_calculator key="strom"] oder den Block „Tarifrechner“ nutzen – auch im Shortcode-Generator.
- Datenschutz: Standard ist „erst nach Klick laden“ – bis dahin steht nur ein Platzhalter mit Hinweis auf den Anbieter und Link zur Datenschutzerklärung; ein Klick lädt alle Rechner desselben Anbieters auf der Seite. „Sofort laden“, wenn ein Consent-Tool den Rechner steuert. Gekennzeichnet als Anzeige.
- Speichern der Codes nur mit der Berechtigung für ungefiltertes HTML (sie enthalten Skripte des Anbieters).
0.19.0
- Neu: Ausführlicher Produkttitel. Unter Darstellung → „Produkttitel in Boxen“ wählst du zwischen dem kurzen Titel („SMLIGHT SLZB-06M Zigbee-Koordinator (PoE)“) und dem ausführlichen mit den wichtigsten Merkmalen („SMLIGHT SLZB-06M Zigbee-Koordinator mit Ethernet, PoE, USB und WLAN für Home Assistant“). Je Box änderbar mit title_style="short|detailed" in [ac_product], [ac_products], [ac_list] und [ac_compare]; ohne ausführlichen Titel bleibt der kurze. Braucht die API ab 30.09.2026.
- Neu: Eigener Titel je Box – [ac_product id="…" title="Mein Titel"], auch im Block und im Shortcode-Generator.
0.18.1
- Migration vom Affiliate Toolkit: Das Plugin schickt je Amazon-Shop den Marktplatz mit (atkp_shop_access_website, Unter-Shops erben ihn vom Eltern-Shop). ASINs eines anderen Marktplatzes in den weiteren Slots – z. B. die amazon.com-ASIN in Slot 2 – werden damit zu zusätzlichen Kennungen des Produkts, und die Angebotssuche in einem Amazon-US-Shop findet das Produkt direkt über diese ASIN. Weitere ASINs desselben Marktplatzes bleiben wie bisher ein Hinweis zur Prüfung (oft eine andere Variante). Für bereits übertragene Unterseiten die Migration einfach erneut senden.
0.18.0
- Neu: Preissignale unter dem Preis – „Tiefstpreis der letzten 30 Tage“ bzw. „Preis gesunken −12 %“. Sie kommen aus der Preisaufzeichnung von affilinode und erscheinen nur, wenn sie belegt sind: Tiefstpreis erst ab 30 Tagen Aufzeichnung und wenn der Preis zwischendurch höher lag; eine Senkung wird am niedrigsten Preis der 30 Tage davor gemessen (wie § 11 PAngV) und höchstens 14 Tage lang gezeigt. Nicht bei Amazon-Angeboten, deren Preise nicht aufgezeichnet werden dürfen. Abschaltbar unter Darstellung → Preissignale anzeigen (braucht die API ab 30.09.2026).
- Neu: A/B-Test der Produktboxen (Einstellungen → A/B-Test). Variante B mit eigenem Button-Text und wahlweise ohne Preissignale; je Seitenaufruf zufällig, ohne Cookie und ohne IP, auch mit Seiten-Cache. Unter Auswertung stehen sichtbare Buttons, Klicks und Klickrate je Variante samt Bewertung, ob der Unterschied trägt (95 %).
- Geändert: Der Standard-Button heißt jetzt „Jetzt bei {shop} ansehen“ (vorher „Zum Angebot bei {shop}“). Ein eigener Button-Text bleibt unverändert.
0.17.2
- Behoben: Mit LiteSpeed Cache blieben Produktboxen bis zu sieben Tage leer. LiteSpeed speichert REST-Antworten und hält sich dabei nicht an „Cache-Control: no-store“ – ein einziger fehlgeschlagener Abruf stand damit eine Woche lang als leere Box auf der Seite, für jeden Besucher. Der Nachlader sagt LiteSpeed jetzt ausdrücklich, dass er nicht gespeichert werden darf; die Routen des Vergleichswählers gelten dort so kurz wie gedacht (2–5 Minuten).
- Neu: Scheitert der Abruf an der API (nicht: Produkt unbekannt), versucht der Nachlader es nach 15 und nach 60 Sekunden erneut, statt das Ladegerüst für immer stehen zu lassen. Die Antwort sagt dafür, ob es ein Fehler war – ohne Details, die bleiben eingeloggten Redakteuren vorbehalten.
- Hinweis: Nach dem Update den LiteSpeed-Cache einmal leeren, sonst liefert LiteSpeed die alten Seiten noch bis zu sieben Tage aus.
0.17.1
- Behoben: Auf Websites, die das Plugin aktualisiert (statt neu aktiviert) haben, gab es die Tabelle des Preisalarms noch nicht – die stündliche Prüfung lief trotzdem und schrieb einen Datenbankfehler ins Log. Sie ruht jetzt, bis der erste Preisalarm angelegt wird.
0.17.0
- Neu: Preisalarm für Leser –
[ac_price_alert id="…"]bzw. der Block „Preisalarm“: Leser tragen einen Wunschpreis und ihre E-Mail-Adresse ein und bekommen eine Mail, sobald der Preis erreicht ist. Die Adresse bleibt in der Datenbank dieser Website, die Mail kommt von dieser Website; an affilinode geht sie nie. Mit Bestätigungsmail (Double-Opt-in), genau einer Alarm-Mail und Abmeldelink in jeder Mail. Abschaltbar über den Filteraffiliate_central_price_alerts.
- Neu: Preisalarm für Leser –
0.16.0
- Neu: Vergleichstext über der Vergleichstabelle – zwei bis vier Sätze dazu, worin sich zwei Produkte unterscheiden und wofür welches taugt. Er kommt aus der zentralen Datenbank (
[ac_compare]mit genau zwei Produkten) und wird dort gepflegt; ohne Text ändert sich nichts.
- Neu: Vergleichstext über der Vergleichstabelle – zwei bis vier Sätze dazu, worin sich zwei Produkte unterscheiden und wofür welches taugt. Er kommt aus der zentralen Datenbank (
0.15.0
- Neu: „Auswertung“ im Menü – Klicks, Bestellungen, Umsatz und Provision dieser Site, wahlweise je Beitrag, Tag, Shop oder Produkt. Am Beitrag selbst zeigt eine kleine Box die Zahlen der letzten 30 Tage. Quelle sind die Netzwerk-Berichte in affilinode (Amazon, Awin, eBay); Beträge werden nie umgerechnet.
0.14.0
- Neu: Produktseiten als eigener Beitragstyp – je Produkt eine eigene Seite mit Bildern, Beschreibung und Angeboten, mit eigener Adresse (
/produkt/…), im Menü verlinkbar, in Suche und Sitemap. In den Einstellungen unter „Produktseiten“ einschalten; Seiten legt man im Editor oder direkt aus der Produktliste an („Produktseite anlegen“).
- Neu: Produktseiten als eigener Beitragstyp – je Produkt eine eigene Seite mit Bildern, Beschreibung und Angeboten, mit eigener Adresse (
0.13.0
- Neu: Kategorie-Sichten im Plugin –
[ac_list view="zigbee_gateways"]zeigt die Produkte einer zentral gepflegten Sicht („Zigbee-Steckdosen“, „Zigbee-Gateways“, „Steckdosen mit Verbrauchsmessung“ …) wie eine Liste, mit der Überschrift der Sicht. Im Block „Produktliste“ als Auswahl „Oder: Kategorie-Sicht“.
- Neu: Kategorie-Sichten im Plugin –
0.12.0
- Neu: echte Blöcke im Block-Editor – Produktbox, Produkt-Grid, Produktliste, Preisvergleich, Produktvergleich, Vergleichs-Auswahl, Preisverlauf, Ersatzteile und Kaufen-Button. Produkte werden im Block gesucht und gewählt, Optionen stehen in der Seitenleiste, die Vorschau steht im Beitrag. Eingefügte Shortcodes werden automatisch in den passenden Block umgewandelt; Shortcodes und der bisherige Block „affilinode“ funktionieren unverändert weiter.
0.11.0
- eBay-Auswertung je Artikel: Die
customidder eBay-Links trägt jetzt neben dem Artikel auch das Produkt (~a<Artikel>~p<Produkt>). Damit ordnet affilinode die hochgeladenen Berichte aus dem eBay Partner Network Site, Artikel und Produkt zu. Eine von der API gesetzte Site-Kennung bleibt unverändert vorn stehen.
- eBay-Auswertung je Artikel: Die
0.10.0
- Neu: Ersatzteile direkt in der Produktbox –
[ac_product id="…" spare_parts="1"]zeigt sie aufklappbar nach Art gruppiert; am Ersatzteil selbst steht „Passt zu: …“. Im Shortcode-Generator als Option „Ersatzteile“.
- Neu: Ersatzteile direkt in der Produktbox –
0.9.1
- eBay-Partnerlinks tragen die Artikel-Kennung in
customid(wieclickref3bei Awin) – für die Auswertung je Artikel. Eine Site-Kennung der API bleibt vorn stehen (blog-de~a198).
- eBay-Partnerlinks tragen die Artikel-Kennung in
0.9.0
- Neu: Vergleichswähler
[ac_compare_picker]– Besucher suchen Produkte und vergleichen bis zu fünf; im Shortcode-Generator und Block als Ansicht „Vergleichswähler“. - Neu: öffentliche Routen
/public/productsund/public/compare(gedrosselt, abschaltbar) – z. B. für eigene Vergleichsseiten; der API-Key bleibt auf dem Server.
- Neu: Vergleichswähler
0.8.0
- Neu: Ersatzteile
[ac_spare_parts id="…"]– die passenden Ersatzteile eines Geräts (z. B. Filter für den Luftreiniger), je Art gruppiert, als Grid oder untereinander; im Shortcode-Generator und Block als Ansicht „Ersatzteile“. Braucht affilinode mit dem Endpunkt/v1/products/:id/spare-parts.
- Neu: Ersatzteile
0.7.2
- Behoben: Im Netzwerk-Admin (Multisite) führte „Speichern“ und „Verbindung testen“ auf die alte Adresse
settings.php?page=affiliate-central-settingsund damit zu „Du hast keine Berechtigung, diese Seite zu sehen“. Gespeichert wurde trotzdem; jetzt geht es zurück auf die Einstellungen unter affilinode. - Alte Lesezeichen auf die Einstellungen (Site und Netzwerk) werden jetzt tatsächlich weitergeleitet – vorher wies WordPress sie ab, bevor die Weiterleitung greifen konnte.
- Behoben: Im Netzwerk-Admin (Multisite) führte „Speichern“ und „Verbindung testen“ auf die alte Adresse
0.7.1
- Varianten-Wähler: Klicks auf eine Variante laufen jetzt durch dasselbe Klick-Tracking und dieselbe Awin-Zuordnung wie jeder andere Angebotslink.
- Shortcode-Generator und Block: Option „Varianten-Wähler“ bei der Produktbox.
0.7.0
- Neu: Varianten-Wähler in der Produktbox –
[ac_product id="…" variants="1"]. Zeigt die Farben, Speichergrößen usw. eines Geräts mit Preis und den günstigsten „ab“-Preis samt Variante. Ohne das Attribut ändert sich nichts. - Mehrstückangebote (Doppelpack, 3er-Set …) zeigen Stückzahl und Preis je Stück, im Preis der Box und in der Angebotsliste.
- Neu: Varianten-Wähler in der Produktbox –
0.6.0
- Ein Menü statt drei Fundorte: Alle Seiten liegen jetzt unter affilinode – Produkte, Produkt-Import, Shortcode-Generator, Migration und Einstellungen. Die Einstellungen sind von „Einstellungen → affilinode“ dorthin umgezogen; alte Lesezeichen werden weitergeleitet.
- Neu: Produkte – Übersicht des Katalogs mit Suche, Filter nach Produktart, Blättern und fertigem Shortcode je Produkt.
- Neu: Produkt-Import – Produkte anfordern, die es im Katalog noch nicht gibt. Erkennt ASIN, EAN/GTIN, Amazon-Adressen und Freitext; zeigt je Zeile, was daraus geworden ist, und lässt bei mehrdeutigen Treffern auswählen. Doppelte Durchgänge kosten kein zweites Kontingent (Idempotenz-Schlüssel).
- Einstellungen als Reiter statt einer langen Seite. Ohne JavaScript bleiben weiterhin alle Abschnitte sichtbar.
0.5.0
- Umbenennung: Das Plugin heißt jetzt „affilinode“ (vorher „Affiliate Central“). Es ändert sich nur der angezeigte Name – Text-Domain, Slug (
affiliate-central), Shortcodes (ac_product,ac_list, …), Hooks, Einstellungen und alle gespeicherten Werte bleiben unverändert. Bereits eingetragene API-, Dashboard- und Bild-URLs funktionieren unverändert weiter; nichts muss neu konfiguriert werden.
- Umbenennung: Das Plugin heißt jetzt „affilinode“ (vorher „Affiliate Central“). Es ändert sich nur der angezeigte Name – Text-Domain, Slug (
0.4.3
- Produktbild in der Produktbox und der waagerechten Box deutlich größer (Bildspalte rund 35 % statt 20 % der Boxbreite, weniger Innenabstand am Bild) – näher an der Darstellung des Affiliate Toolkit.
0.4.2
- Kompakt-Darstellung zeigt jetzt ebenfalls die Lieferzeit, sofern der Shop sie liefert (Box, Karte, waagerechte Box und Preisvergleich zeigten sie bereits).
- Neu: Awin-Zuordnung je Produkt und Artikel – Awin-Links bekommen beim Rendern
clickref2(zentrale Produkt-ID) undclickref3(Artikel:<Blog-ID>:<Post-ID>im Netzwerk, sonst die Post-ID). Derclickrefder Site bleibt unverändert, von der API gesetzte Werte werden nie überschrieben. Gilt für alle Darstellungen und für Server-, Hybrid- und Ajax-Rendering. Amazon kann das nicht (Tracking-ID nur je Site bzw. Unterseite). - Neu: Filter
affiliate_central_offer_urlfür eigene Parameter an Angebots-Links. - Matomo: Die Einstellung heißt jetzt „Klicks auf Affiliate-Links an Matomo melden“ und ist standardmäßig an, wenn eine Matomo-Einbindung erkannt wird; neue Filter
affiliate_central_track_clicksundaffiliate_central_matomo_detected. - Matomo:
track.jslegtwindow._paqnicht mehr selbst an – ohne Tracker der Seite (oder vor der Einwilligung) wird nichts gesendet. Affiliate-Links tragen zusätzlichdata-acp-shopunddata-acp-product; fehlt ein Shopname, wird der Shoptyp gemeldet. - Neu: Bildrechte aus der API (
imageRights). Bilder, die nicht verwendet werden dürfen (none), werden übersprungen – es rückt das nächste erlaubte Bild nach, sonst erscheint die Darstellung ohne Bild. Fehlt die Angabe, bleibt es wie bisher beim Einbinden.
0.4.1
- Neu: Multisite meldet der API die Unterseite (Blog-ID, Name, URL) – damit lassen sich in affilinode Tracking-IDs je Unterseite hinterlegen, bei einem gemeinsamen Netzwerk-Schlüssel.
- Behoben: Ist die API beim Seitenaufbau nicht erreichbar, erscheint jetzt der Ajax-Platzhalter statt einer leeren Stelle. So kann sich keine leere Box in einen Seiten-Cache brennen; der Inhalt wird nachgeladen.
0.4.0
- Neu: Multisite mit einem gemeinsamen Schlüssel – jeder API-Aufruf trägt
X-AC-Blog(plus Name und Adresse der Unterseite), damit affilinode je Unterseite eigene Tracking-IDs einsetzen kann. Cache bleibt je Unterseite getrennt. - Neu: Preisverlauf
[ac_price_history id="…" days="90" height=""]als eigene Box mit Inline-SVG-Diagramm (ohne JavaScript), Kennzahlen, Legende, versteckter Datentabelle, Hell/Dunkel und Container Queries; im Shortcode-Generator und Block als Ansicht „Preisverlauf“. - Daten aus dem neuen Endpunkt
GET /v1/products/:id/price-historymit Cache, Stale-while-revalidate, Prefetch und Invalidierung über Produkt-Webhooks; Demo-Modus mit erzeugtem Verlauf. - Affiliate Toolkit:
pricehistory,pricehistory_lastxdays(30 Tage) undpricehistory_lastxmonths(180 Tage) rendern jetzt den Preisverlauf statt des Preisvergleichs. - Generator-Vorschau: Shortcodes mit Unterstrich im Namen (
ac_price_history) werden erkannt. - Neu: Migration vom Affiliate Toolkit (Netzwerk-Admin): Analyse je Unterseite, fortsetzbare Übertragung in Häppchen über
POST /v1/migration/atkp, Stand ausGET /v1/migration/atkp/status. Keine Zugangsdaten, keine Änderung an Beiträgen.
- Neu: Multisite mit einem gemeinsamen Schlüssel – jeder API-Aufruf trägt
0.3.0
- Neu: Webhook-Empfänger (
/wp-json/affiliate-central/v1/webhook) mit HMAC-Signatur, Zeitstempel- und Replay-Schutz; geänderte Produkte und Listen werden gezielt als abgelaufen markiert (Stale-while-revalidate). Webhook-Secret verschlüsselt in den Einstellungen. - Neu: Produkte, deren Angebote gerade gesucht werden (
offersStatus: pending), werden nach 2 Minuten erneut abgefragt statt erst nach Ablauf der Cache-Dauer. - Preisvergleich: Bei gleichem Preis steht der eigene Shop oben, Links zum eigenen Shop tragen eine Matomo-Kampagne (Einstellung in affilinode je Site).
- Plugin-URI zeigt auf das Git-Repository.
- Neu: Webhook-Empfänger (
0.2.0
- Neu: waagerechte Box, Listen (
[ac_list]) mit einheitlichem Grid, neu gestalteter Preisvergleich mit Lieferzeiten, Shortcode-Generator mit Block und Editor-Button, Affiliate-Hinweis, Polylang, Hybrid-/Ajax-Laden, Geolocation (CDN-Header, MaxMind), Matomo-Tracking, Affiliate-Toolkit-Kompatibilität, austauschbare Produkt-Kennungen. - Vertrag:
savings,delivery,title,productType,resolved,compare?replace=true, Listen, Suche.
- Neu: waagerechte Box, Listen (
0.1.0
- Erste Version: Produktbox, Kompakt, Karte, Grid, Preisvergleich, Produktvergleich, Button, Ersatzprodukte, Multisite, Cache, Demo-Modus.