Zum Inhalt
Extension Foundry

Installation und erste Schritte

So installieren Sie Produktpass for WooCommerce, richten es ein und sorgen dafür, dass Ihr Webserver die Passadressen erreicht.

Produktpass hilft Ihnen beim Batteriepass und beim Batterie-QR-Code nach der Verordnung (EU) 2023/1542. Die Texte, Vorlagen und Hinweise des Plugins sind keine Rechtsberatung. Für Ihre Pflichten und für die Richtigkeit Ihrer Angaben bleiben Sie selbst verantwortlich. Für eine verbindliche Auskunft zu Ihrem Fall fragen Sie eine Rechtsanwältin oder einen Rechtsanwalt.

Voraussetzungen

  • WordPress 7.0 oder neuer, WooCommerce 11.1 oder neuer und PHP 8.2 oder neuer.
  • Hübsche Permalinks (Einstellungen > Permalinks) oder ein Hoster, der jede Adresse an index.php weiterreicht. Eine Adresse mit index.php darin druckt das Plugin nie.
  • Für PNG-Codes die PHP-Erweiterung GD; ohne sie bietet das Plugin nur SVG an und sagt, warum.
  • Die Aktivierung für ein ganzes Multisite-Netzwerk lehnt das Plugin ab; auf einzelnen Websites eines Netzwerks läuft es.

Installieren

  1. WooCommerce 11.1 oder neuer installieren und aktivieren.
  2. Produktpass for WooCommerce unter „Plugins“ installieren und aktivieren. Das Plugin legt seine Tabellen an und plant seine nächtliche Arbeit ein.
  3. „WooCommerce > Produktpass“ öffnen. Wer das Menü von WooCommerce nicht sieht, findet das Plugin unter „Produkte > Produktpass“.

Einstellungen

Unter „WooCommerce > Produktpass > Einstellungen“ tragen Sie ein:

  • den verantwortlichen Wirtschaftsakteur mit Name, Anschrift und Kontaktadresse,
  • die Kategorien mit Batterien; die Übersicht zählt diese Produkte und jedes Produkt mit Pass,
  • die Adresse der Pässe (Resolver-Basis); das Plugin prüft sie, bevor es sie speichert,
  • die Sprachen der Passwerte, die Position des Badges und ob die Produktseite den QR-Code zeigt,
  • die Seite mit Ihrem Impressum, die jede Passseite verlinkt.

Speichern darf, wer WooCommerce verwalten darf; alle anderen sehen die Einstellungen schreibgeschützt.

Passadressen, Permalinks und der Webserver

Jeder Pass hat eine Adresse nach GS1 Digital Link, etwa https://ihr-shop.de/dpp/01/09520000000479, bei einzelnen Batterien mit /21/ und der Seriennummer dahinter. Diese Adressen erreichen das Plugin nur, wenn der Webserver sie an WordPress weiterreicht.

Bevor das Plugin eine Adresse speichert, ruft es von Ihrem Server aus die Adresse mit angehängtem /_ping ab. Erst wenn die Antwort von diesem Plugin kommt, gilt die Adresse. Ein eigener Resolver-Host, etwa https://id.ihre-marke.example, muss zu dieser WordPress-Website führen; frühere Adressen leiten mit HTTP 301 auf die aktuelle weiter.

Seriennummern mit Schrägstrich

Seriennummern und Chargen mit einem Schrägstrich stehen in der Adresse als %2F. Apache beantwortet solche Adressen ohne die Einstellung AllowEncodedSlashes NoDecode mit 404, bevor WordPress sie sieht. Die Einstellung gehört in den VirtualHost der Website; in einer .htaccess-Datei wirkt sie nicht. Bitten Sie Ihren Hoster darum:

AllowEncodedSlashes NoDecode

Die Hilfe im Plugin nennt, auf welchem Webserver Ihre Website läuft. nginx reicht %2F unverändert weiter und braucht diese Einstellung nicht.

nginx und der Ordner der Dokumente

Hochgeladene Dokumente liegen in wp-content/uploads/produktpass/ unter zufälligen Namen; erreichbar sind sie nur über die Passseite. Unter Apache schützt eine .htaccess-Datei den Ordner, unter nginx wirkt sie nicht. Tragen Sie dort diese Regel in den server-Block der Website ein:

location ^~ /wp-content/uploads/produktpass/ {
    deny all;
}

Seiten-Caches und CDNs

Passseiten bitten Cache-Plugins mit der Konstante DONOTCACHEPAGE, sie nicht zu speichern. Für WP Super Cache haben wir das geprüft; für W3 Total Cache, WP Rocket, LiteSpeed Cache und Cache Enabler ist es ihr dokumentiertes Signal.

Browser und geteilte Caches halten einen Pass höchstens fünf Minuten. Nehmen Sie den Pfad der Passadressen in CDN- und Server-Caches aus, etwa bei Cloudflare, im Server-Cache von LiteSpeed oder im FastCGI-Cache von nginx, damit ein zurückgezogener Pass innerhalb dieser fünf Minuten verschwindet.

Hintergrundarbeit und WP-Cron

Die nächtliche Arbeit (Prüfsummen, Zählungen, Adress- und Badge-Prüfung) läuft über den Action Scheduler von WooCommerce, und der hängt an WP-Cron. WP-Cron läuft nur, wenn jemand die Website aufruft; in einem ruhigen Shop wartet die Arbeit.

Wartet Arbeit länger als eine Stunde, holt das Plugin beim Öffnen der Übersicht bis zu 500 Einträge nach und zeigt einen Hinweis. Dauerhaft hilft ein System-Cron, der alle paar Minuten wp-cron.php aufruft. Ihr Hoster richtet ihn ein, etwa so:

*/5 * * * * curl -s https://ihr-shop.de/wp-cron.php?doing_wp_cron > /dev/null

Mit dem System-Cron können Sie WP-Cron beim Seitenaufruf abschalten: define( 'DISABLE_WP_CRON', true ); in der wp-config.php.

Die Übersicht

Die Übersicht zählt die Tage bis zum 18.02.2027 und zeigt ab diesem Tag „Pflicht seit 18.02.2027“. Darunter stehen Ihre Produkte mit ihrem Zustand: kein Pass, unvollständig, bereit, veröffentlicht oder zurückgezogen. Ein Klick auf einen Zustand zeigt nur diese Produkte; bei einem unvollständigen Pass stehen die offenen Punkte dabei.

Bei mehr als 20.000 Produkten zählt die nächtliche Arbeit die Zustände; bis sie fertig ist, steht an den Zahlen „wird gezählt“.

Export und Sicherung

„Alle exportieren“ unter „Pässe“ schreibt die Pässe in CSV-Dateien, eine je Vorlage (UTF-8, Semikolon, Dezimalkomma), und dazu die zuletzt veröffentlichte Fassung jedes Passes als JSON. Batterien mit Seriennummer, die Produktpass Pro angelegt hat, stehen mit in den Dateien, auch wenn Pro nicht mehr aktiv ist.

Das Änderungsprotokoll eines Passes laden Sie bei seinen Versionen als CSV herunter. Jede Fassung trägt eine Prüfsumme (SHA-256), die die nächtliche Arbeit kontrolliert.

Sprachen

Die Verwaltung ist auf Deutsch und Englisch, und die Passwerte tragen Sie auf Deutsch und Englisch ein. Unter „Einstellungen > Sprachen der Passwerte“ legen Sie fest, welche Sprachen die Passseite anbietet: zu Beginn die Sprache der Website und Englisch; jede der 24 Amtssprachen der EU ist wählbar.

Die Passseite zeigt die Sprache des Besuchers, wenn sie in der Liste steht, sonst die erste der Liste. Für eine Sprache ohne eingetragenen Wert zeigt sie den deutschen oder englischen Wert und markiert ihn. Entfernen Sie eine Sprache aus der Liste, bleiben die Werte gespeichert.

Deaktivieren und löschen

Deaktivieren ändert keine Daten. Beim Löschen bleiben Tabellen, Dokumente und Einstellungen erhalten, es sei denn, Sie haben unter „Einstellungen“ „Daten beim Löschen des Plugins entfernen“ angekreuzt.

Ankreuzen können Sie das erst, wenn Sie nach der letzten Änderung alles exportiert haben oder „Ich verzichte auf die Sicherung“ bestätigen. Gilt das beim Löschen nicht mehr, behält das Plugin alles und schreibt ins WooCommerce-Protokoll, wie Sie die Daten löschen. Die nächtliche Arbeit plant das Plugin beim Löschen in jedem Fall aus.

Support

Schreiben Sie an support@extensionfoundry.com. Nennen Sie die Versionen von WordPress, WooCommerce und Produktpass (sie stehen im Plugin unter „Hilfe“) und was Sie getan haben. Schicken Sie keine Zugangsdaten. Sicherheitslücken melden Sie auf der Seite Sicherheit.

Zur Hilfe zu Produktpass für WooCommerce