Produkt-Weiterleitungsbutton - Bezugsquellen und externe Links, maskierte Ziel-URL, Klickzähler, CSV-Massenbearbeitung
Setzen Sie auf jede Produktseite einen Button, der Besucher woanders hinschickt: zur Hersteller- oder Lieferantenseite, zu einem Marktplatz, zu einem Datenblatt oder Partnerangebot. Die externe Adresse taucht nie im Quelltext auf — der Button zeigt auf eine neutrale Shop-URL, die weiterleitet und mit noindex, nofollow antwortet. Aktivieren Sie ihn pro Produkt, jeweils mit eigenem Ziel und Buttontext, und sehen Sie den Klickzähler direkt im Produkt. Drei Positionen, neuer Tab, optionaler Hinweisdialog vor dem Verlassen. CSV-Export und -Import, jede Zeile geprüft. Kein jQuery, keine Theme-Änderung, keine Overrides. Für PrestaShop 1.7 und 8.
Ein Button, der dorthin zeigt, wo Sie ihn brauchen
Manche Produkte verkaufen Sie nicht selbst. Eine Marke, die Sie präsentieren, aber nicht auf Lager haben. Ein Artikel, der auf einem Marktplatz liegt. Eine Dienstleistung, die anderswo gebucht wird. Eine Maschine, deren Datenblatt beim Hersteller liegt. Für solche Fälle ist ein Warenkorb-Button die falsche Antwort — und eine reine Beschreibung eine Sackgasse.
Dieses Modul setzt einen echten Button auf die Produktseite und schickt den Besucher an die Adresse Ihrer Wahl. Sie schalten ihn einzeln pro Produkt frei, Ihr übriger Katalog bleibt unangetastet.
Die Zieladresse bleibt aus Ihrem Quelltext heraus
Das ist der Punkt, der dieses Modul von einem selbst gebauten Link unterscheidet.
Der Button trägt die externe URL nicht. Er zeigt auf eine neutrale Adresse in Ihrem eigenen Shop — /module/redirectproduct/redirect?id_product=… — und dieser Controller leitet den Besucher weiter. Die Antwort wird mit X-Robots-Tag: noindex, nofollow ausgeliefert, und der Link selbst trägt rel="nofollow noopener".
Das Ziel steht also nicht in Ihrem HTML, wo Scraper es abgreifen könnten, und Suchmaschinen wird unmissverständlich gesagt, dass sie diesen Sprung weder verfolgen noch indexieren sollen.
Zum offenen Weiterleiter lässt es sich nicht umfunktionieren
Der weiterleitende Controller vertraut nicht auf das, was ihm übergeben wird. Er lädt die gespeicherte Weiterleitung des Produkts und leitet nur dann weiter, wenn dieser Eintrag existiert, aktiviert ist und seine URL zum Zeitpunkt der Anfrage erneut die Prüfung besteht. Alles andere landet auf Ihrer 404-Seite.
Geprüft wird auf eine absolute http- oder https-Adresse; Steuerzeichen, Leerzeichen, doppelte Anführungszeichen, spitze Klammern und Backslashes werden rundweg abgewiesen, gefolgt von einer abschließenden Prüfung durch PHPs eigenen URL-Validator. Ein Schema mit ausführbarem Code oder eingebetteten Daten kommt damit nicht durch — und ein Produkt ohne konfigurierte Weiterleitung ebenso wenig.
Ein Klickzähler dort, wo Sie ihn auch wirklich sehen
Jeder Besucher, der einem Button folgt, wird gezählt. Die Zahl erscheint in der Übersichtsliste der Modulkonfiguration und auf der Bearbeitungsseite des jeweiligen Produkts. Sie müssen also nicht danach suchen — Sie sehen die Leistung eines Produkts, während Sie es ohnehin gerade bearbeiten.
Ein optionaler Hinweis vor dem Verlassen des Shops
Pro Produkt können Sie einen kleinen Bestätigungsdialog aktivieren, bevor der Besucher Ihren Shop verlässt. Er bietet "Stay on this page" (auf dieser Seite bleiben) und "Continue" (fortfahren) an; den Text formulieren Sie selbst, und er ist übersetzbar.
Bei einem Marktplatz-Angebot, das Ihre Kunden ohnehin erwarten, lassen Sie ihn aus. Bei einem Partnerlink schalten Sie ihn ein — oder überall dort, wo Sie den Wechsel auf eine fremde Seite lieber ausdrücklich kenntlich machen.
Ihre Formulierung, pro Shop und pro Produkt
Legen Sie einmalig einen Standard-Buttontext für den gesamten Shop fest — lassen Sie ihn leer, steht auf den Buttons "More information" (weitere Informationen). Auf einzelnen Produkten überschreiben Sie ihn dort, wo ein konkreteres Verb besser passt: Verfügbarkeit prüfen, Termin buchen, Datenblatt herunterladen, Auf dem Marktplatz kaufen.
Hinter der Beschriftung trägt der Button außerdem ein kleines Symbol für externe Links, gezeichnet als Inline-SVG, das Farbe und Schriftgröße des Buttons übernimmt. So erkennt der Besucher auf einen Blick, dass es hier nach außen geht.
Drei Positionen — und eine Warnung, wenn eine davon nicht funktioniert
Setzen Sie den Button neben den Warenkorb-Button, unter die Verfügbarkeitsanzeige oder ans Ende der Produktseite. Jede Position ist ein Standard-Anzeigehook von PrestaShop, es wird also keine Theme-Datei angefasst.
Läuft Ihr Shop im Katalogmodus, während die Position auf neben den Warenkorb-Button steht — ein Block, den die meisten Themes im Katalogmodus vollständig ausblenden —, weist die Konfigurationsseite Sie darauf hin und schlägt eine Position vor, die tatsächlich dargestellt wird. Das Modul prüft diese Bedingung selbst, statt Sie rätseln zu lassen, warum nichts erscheint.
Er wird höchstens einmal pro Seite ausgegeben, und zwar ausschließlich an der eingestellten Position.
CSV-Export und -Import für die Massenbearbeitung
Exportieren Sie die gesamte Tabelle, bearbeiten Sie sie in der Tabellenkalkulation und spielen Sie sie zurück. Das Format ist eine Zeile pro Produkt:
id_product;active;url;button_label;confirm;clicks
Jede Zeile wird beim Import geprüft, und abgewiesene Zeilen werden mit Zeilennummer und Grund gemeldet — Produkt existiert nicht, Schalter ist nicht 1/0, Adresse ist leer oder keine gültige absolute URL. Eine Zeile mit ungültiger Adresse wird deaktiviert importiert statt stillschweigend verworfen, damit Sie sie sehen und korrigieren können. Der Bericht führt die ersten zehn Probleme auf und nennt anschließend, wie viele weitere es gab.
Der Klickzähler wird beim Import ignoriert, ein gewöhnlicher Umweg über die Tabellenkalkulation überschreibt Ihre Statistik also nie — bestehende Zeilen werden an Ort und Stelle aktualisiert und behalten ihre Zählerstände. Die Ausnahme ist beabsichtigt: Wird "Replace all" (alles ersetzen) angehakt, wird die Tabelle zuvor geleert, Zähler inklusive. Diese Option löscht allerdings erst dann etwas, wenn die hochgeladene Datei nachgewiesen hat, dass sie importierbare Zeilen enthält — eine fehlerhafte Datei kann Ihre Daten also nicht versehentlich löschen.
Dateien aus Version 3.x — kommagetrennt, mit den alten Spaltennamen — werden erkannt und automatisch umgewandelt.
Version 4 hat zwei ungeschützte Endpunkte geschlossen
Das gehört klar benannt.
Version 3.x lieferte import.php und export.php als eigenständige Dateien aus, erreichbar ohne jede Authentifizierung. Wer die URL kannte, konnte Ihre komplette Weiterleitungstabelle herunterladen — oder sie löschen und durch eigene Einträge ersetzen. Beide Dateien sind verschwunden. CSV läuft jetzt innerhalb der Konfigurationsseite, geschützt durch Ihr Mitarbeiter-Sitzungstoken.
Eine dritte Datei, redirection.php, leitete Besucher weiter, ohne die gespeicherte URL zu prüfen, und umging den Front-Controller-Stack vollständig. Sie ist durch den oben beschriebenen regulären Front-Controller ersetzt, der das Ziel validiert und den Klick zählt.
Das Upgrade auf 4.0.0 löscht diese überholten Dateien von der Festplatte, statt sie liegen zu lassen.
Was Version 4 sonst noch behoben hat
Die alte Adminseite lud jQuery 1.9 von einem Google-CDN — auf jedem Shop mit strenger Content-Security-Policy kaputt und überall sonst unnötiger Ballast. Sämtliche CDN- und jQuery-Abhängigkeiten sind verschwunden; im Frontend läuft eine kleine JavaScript-Datei ohne Framework, geladen nur auf den Produktseiten, die sie tatsächlich brauchen.
Unter PrestaShop 1.7 erschien der Button häufig überhaupt nicht, weil das Modul auf einem Hook-Alias aus 1.6-Zeiten registriert war; Shops im Katalogmodus sahen ihn wegen einer umgekehrten Bedingung nur im Footer. Die Positionen sind jetzt eindeutig und werden von Ihnen gewählt.
Am schlimmsten: Wurde ein Produkt von irgendwo gespeichert, wo das Modulpanel nicht dargestellt war, löschte das die Weiterleitung dieses Produkts stillschweigend — bei Massenaktionen, Schnellbearbeitung, Importen. Speichervorgänge sind jetzt durch ein Markierungsfeld abgesichert: Ein Speichern, bei dem das Panel nie zu sehen war, lässt die Weiterleitung unangetastet.
Version 3.x zeigte außerdem eine Schein-URL an und tauschte sie beim Überfahren mit der Maus aus. Das täuschte niemanden und wirkte unseriös. Version 4 erreicht das legitime Ziel — das Ziel aus dem Quelltext und von Crawlern fernzuhalten — auf saubere Weise, mit dem neutralen Link und der noindex-Antwort.
Das Upgrade von 3.x ist ein einziger Schritt
Spielen Sie Version 4 über die alte Fassung ein oder nutzen Sie den Upgrade-Button des Moduls. Das Upgrade überführt jede gespeicherte Weiterleitung an Ort und Stelle — Ziele, Ein-/Aus-Status, Hinweis-Kennzeichen —, wandelt Ihren alten Buttontext um, entfernt verwaiste Zeilen aus 3.x und löscht die überholten Dateien samt aller drei unsicheren Endpunkte.
Version 4.0.3 hat einen Upgrade-Fehler behoben, den man beim Namen nennen sollte: Der 4.0.0-Schritt knüpfte seinen Erfolg daran, dass fünf aufeinanderfolgende registerHook()-Aufrufe allesamt true zurückgaben. Ein einziger vorübergehender Fehlschlag — oder ein Hook, der durch einen früheren, abgebrochenen Versuch bereits registriert war — ließ den gesamten Schritt als gescheitert gelten, und PrestaShop deaktivierte das Modul. Die Hooks werden jetzt idempotent registriert, und der Schritt meldet immer Erfolg.
Kompatibilität
PrestaShop 1.7 und 8, in acht Sprachen: Deutsch, Englisch, Französisch, Italienisch, Niederländisch, Polnisch, Spanisch und Türkisch.
Keine Overrides, keine Änderung an Core oder Theme. Der Button nutzt die Button-Klassen Ihres Themes und übernimmt damit Ihr Styling. Beim Deinstallieren werden die Modultabelle — sämtliche Weiterleitungen und Klickzähler — sowie die Einstellungen entfernt; exportieren Sie vorher nach CSV, falls Sie die Daten noch einmal brauchen könnten.
Häufig gestellte Fragen
Sehen Besucher die externe Adresse schon vor dem Klick?
Nicht in Ihrem Quelltext. Der Button verweist auf eine neutrale Adresse in Ihrem eigenen Shop, die weiterleitet, und diese Antwort wird mit noindex, nofollow ausgeliefert. Das Ziel erscheint erst in der Adressleiste, nachdem der Besucher dem Link gefolgt ist.
Kann jemand die Weiterleitungs-URL missbrauchen, um auf die eigene Seite umzuleiten?
Nein. Der Controller leitet ausschließlich an die für dieses Produkt gespeicherte Adresse weiter, und das erst nach erneuter Prüfung zum Zeitpunkt der Anfrage. Eine manipulierte oder nicht konfigurierte Anfrage landet auf Ihrer 404-Seite.
Wo aktiviere ich das für ein Produkt?
Katalog → Produkte → Produkt öffnen → Reiter Module. Dort hinterlegen Sie die Zieladresse, setzen den Schalter, vergeben bei Bedarf einen eigenen Buttontext und Verlassen-Hinweis und sehen die Klickzahl.
Warum erscheint mein Button nicht?
Drei Dinge, in dieser Reihenfolge: Der Schalter des Produkts ist gesetzt; die Adresse beginnt mit http:// oder https:// (das Panel warnt Sie andernfalls); und die gewählte Position wird von Ihrem Theme dargestellt. Im Zweifel nehmen Sie Ende der Produktseite — diesen Hook unterstützt jedes Theme.
Funktioniert es im Katalogmodus?
Ja, allerdings nicht an der Position neben dem Warenkorb-Button, weil die meisten Themes diesen Block im Katalogmodus vollständig ausblenden. Die Konfigurationsseite erkennt das und fordert Sie auf, eine andere Position zu wählen.
Setzt ein Umweg über die Tabellenkalkulation meine Klickzähler zurück?
Bei einem gewöhnlichen Import nicht: Die Zählerspalte wird zur Information exportiert und beim Import ignoriert, und bestehende Zeilen behalten ihre Zählerstände. Die einzige Ausnahme ist Replace all (alles ersetzen) — dabei wird die Tabelle geleert und die Zähler verschwinden mit ihr. Lassen Sie dieses Kästchen leer, wenn Sie Ihre Zahlen behalten möchten.
Ich steige von 3.x um — verliere ich meine Weiterleitungen?
Nein. Das Upgrade überführt jede Weiterleitung, ihren Ein-/Aus-Status und ihr Hinweis-Kennzeichen an Ort und Stelle, wandelt Ihren Buttontext um und räumt die überholten 3.x-Dateien weg.
Verändert es mein Theme oder überschreibt es Core-Dateien?
Nein. Drei Standard-Anzeigehooks für den Button plus Hooks für das Produktspeichern und die Medieneinbindung, mehr nicht.
-
KompatibilitätPrestashop 1.5
Prestashop 1.6
Prestashop 1.7
Prestashop 8 -
Verfügbare ModulübersetzungenDeutsch
Englisch
Französisch
Italienisch
Niederländisch
Polnisch
Spanisch
Türkisch
MEG Venture
4 other products in the same category
| Version | 4.0.3 |
|---|---|
| Zuletzt aktualisiert | 2026-07-30 |
| Änderungsprotokoll | - [2026-07-30] Backfill missing translation keys for product redirect module in multiple languages - [2026-07-24] Add Polish and Turkish translations for redirect product module strings - [2026-07-23] Fix upgrade process to prevent module disablement and update version to 4.0.3 - [2026-07-23] Translate product redirect module strings to Turkish for better localization and user experience. - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add translation files for FR, DE, PL, NL, TR, IT, ES (7 languages) - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Populate translation files with complete translatable strings - [2026-07-23] Add missing translation files (fr, de, pl, nl, tr, it, es) - [2026-07-23] Fix invisible "Stay on this page" button in confirm modal (4.0.2) - [2026-07-23] Add an "opens another page" icon to the redirect button (4.0.1) - [2026-07-22] Fix typo in display name for Product Redirect Button - [2026-07-15] Add redirect product module files and functionality - [2026-06-21] Refactor code style and update comments for consistency - [2023-09-21] v3.2.5 - [2023-09-06] v3.2.4 - [2021-04-06] v3.2.3 - [2021-01-23] v3.2.2 - [2021-01-23] Initial commit |
• [2023-09-21] v3.2.5
• [2023-09-06] v3.2.4
• [2021-04-06] v3.2.3
• [2021-01-23] v3.2.2
• [2021-01-23] Initial commit
Kommentare (3)
Ihre Bewertung der Rezension kann nicht gesendet werden
Kommentar melden
Meldung gesendet
Ihre Meldung kann nicht gesendet werden