Woocommerce

Faq

Manuelles Installieren von Elementen #

WooCommerce ist auf Themes aufgebaut, was oft bedeutet, dass das Clerk.io Plugin unsere Embedcodes nicht einfügen kann, weil die Hooks nicht dort platziert sind, wo sie sein sollen.

In dieser Anleitung wird erklärt, wie Sie die Codes in diesem Fall manuell einfügen können.

1. Finden Sie die richtige Datei #

1. Beginnen Sie damit, Ihr Suchformular zu finden. Sie können dies tun, indem Sie Ihren Quellcode überprüfen und einen eindeutigen Text für das Feld finden.

2. Nachdem Sie diesen identifiziert haben, brauchen Sie eine gute Möglichkeit, Ihre Dateien zu durchsuchen, um ihn zu finden. Wir empfehlen die Verwendung von Sublime Text.

3. Öffnen Sie die FTP-Dateien Ihres Webshops und suchen Sie nach public_html -> wp-content -> themes.

4. Ziehen Sie die Themes auf Ihren Desktop, um sie auf Ihren Computer zu kopieren. So können Sie in den Dateien suchen:

5. Gehen Sie in Sublime auf Projekt -> Ordner zum Projekt hinzufügen.

6. Wählen Sie den Ordner themes, den Sie auf Ihrem Computer gespeichert haben.

7. Jetzt können Sie in den Dateien suchen, indem Sie auf Suchen -> In Dateien suchen gehen. Sie können sogar wählen, nur in .php-Dateien zu suchen, was normalerweise der Dateityp ist, der für Themen-Dateien in WooCommerce verwendet wird:

Wenn Sie bereits die Anleitung zum Einrichten der Suche befolgt haben und in WooCommerce eine Seite für die Suchergebnisse erstellt haben, Ihr Suchfeld aber nicht korrekt verlinkt ist, müssen Sie Folgendes tun.

1. Sehen Sie sich zunächst den Webshop in Ihrem Browser an. Wir empfehlen die Verwendung von Chrome.

2. Suchen Sie den HTML-Code, der für das Suchfeld eindeutig zu sein scheint. Zum Beispiel searchform:

3. Suchen Sie danach in Sublime, um eine Liste der Dateien zu finden, in denen es enthalten ist:

4. Finden Sie die passende Datei auf FTP.

5. Jetzt können Sie die erforderlichen Einstellungen ändern, damit Clerk.io auf die richtige Seite verlinkt. Die 3 Dinge, die Sie ändern müssen, sind:

  • Die URL, auf die der Kunde verlinkt ist, die oft im Element

    zu finden ist, muss so geändert werden, dass sie dem Namen der Seite entspricht, die Sie in WooCommerce erstellt haben. Dies ist häufig “soegeresultater” oder “search-results”.

  • Das Attribut “name” des Eingabefeldes, das searchterm lauten muss

  • Das versteckte Eingabefeld mit name=“post_type” muss auskommentiert werden.

6. Ein Suchformular könnte so aussehen, bevor es geändert wird:

7. Und so sollte es nach der Änderung aussehen:

8. Jetzt sollten Sie bei der Suche mit der Suchseite verlinkt werden: www.mywebshop.com/soegeresultater?searchterm=test

Verwendung von Formatierern in Designs #

Clerk.js erlaubt es Ihnen, eigene Javascript-Funktionen zu schreiben, die den Designs neue Funktionen hinzufügen.

Formatierer können auf zwei Arten hinzugefügt werden:

  • Über my.clerk.io > Einstellungen > Formatters, wobei jeder Formatter als separater Eintrag erstellt werden kann.
  • Als Konfiguration für Clerk.js, im Tracking-Skript, das auf allen Seiten eingefügt wird, wo mehrere Formatierer auf einmal hinzugefügt werden können.

Für WooCommerce enthält diese Datei das Tracking-Skript:

wp-content->plugins->clerkio->includes->class-clerk-visitor-tracking.php

Ein Beispiel ist unten zu sehen. Bitte beachten Sie, dass dies Clerk V2 (neueste Version) ist:

    Clerk('config', {
      key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
             log_price: function(price) {
             console.log(price);
          }
      });

Sie können eine beliebige Anzahl von Formatierern angeben, getrennt durch ein Komma:

formatters: {
   log_price: function(price) {
      console.log(price);
   },
   calculate_discount: function(price,special_price) {
      return price-special_price;
   },
   substring: function(text) {
      var short_string = text.substring(0,20);
      return short_string;
   }
}

Nachdem Sie Ihre Formatierer erstellt haben, können Sie sie mit dieser Syntax in Ihren Designs verwenden:

{%raw%}{{ price | log_price }} {{ price | calculate_discount |  special_price }}{%endraw%}

Auf diese Weise können Sie jede beliebige Funktionalität in Ihren Designs erstellen, die Sie benötigen.

Synchronisierung mit HTTP-Authentifizierung #

Häufig wird die HTTP-Authentifizierung auf Staging-Sites verwendet, um ungebetene Besucher zu vermeiden.

Dadurch wird der Clerk-Importer ebenfalls blockiert und im Synchronisierungsprotokoll wird ein Fehler 401 Unauthorized angezeigt.

Sie können den Importer leicht überprüfen, indem Sie die Authentifizierungsinformationen in die Import-URL einfügen, wie unten, in Data Sync unter my.clerk.io:

https//USER:PASS@www.ewoksRus.com

Häufige Synchronisationsprobleme #

Hinweis: Wir empfehlen Ihnen, das Plugin immer auf die neueste Version zu aktualisieren, um alle aktuellen Funktionen von Clerk zu nutzen.

Beim Datenimport mit dem WooCommerce-Plugin von Clerk.io ist der Webshop-Server dafür verantwortlich, die Produkt-, Kategorie- und Verkaufsdaten an Clerk.io zu senden.

In einigen Fällen kann es jedoch vorkommen, dass die Serverkonfiguration den Zugriff auf den Import verhindert, was zu einem Fehler in Data Sync. führt.

Nachfolgend finden Sie eine Liste der häufigsten Fehler und wie Sie diese beheben können.

401 Server-Fehler: Nicht autorisiert #

Dieser Fehler tritt auf, wenn Ihr Webshop/Ihre Entwicklungsumgebung eine HTTP-Authentifizierung für den Zugriff erfordert.

Dies wird einfach durch Einfügen von Benutzername und Passwort als Teil der Import-URL gelöst:

http://username:password@woocommerce.clerk.io

403 Server-Fehler: Forbidden #

Dieser Fehler tritt auf, wenn Ihr Server den Zugriff des Importeurs blockiert. In den meisten Fällen müssen Sie einfach die IP-Adresse des Importeurs auf eine Whitelist setzen, um ihm den Zugriff zu ermöglichen.

Die aktuelle IP-Adresse finden Sie hier.

Überprüfen Sie auch, ob Ihr öffentlicher Schlüssel, Ihr privater Schlüssel und Ihre Import-URL für den Shop, den Sie auf my.clerk.io betreiben, korrekt sind.

**Was ist, wenn ich mich bereits auf die Whitelist gesetzt habe und der gleiche Fehler immer noch auftritt?

Es gibt einige Fälle, in denen Sie die IP-Adresse des Importeurs bereits auf die Whitelist gesetzt haben, der Fehler aber immer noch auftritt:

  • Der Authentifizierungsteil des Body kann aus der Anfrage vom Server des Shops entfernt werden.

  • Ratenlimit für den Server in Bezug auf Cloudflares.

404 Serverfehler: Nicht gefunden #

Dieser Fehler tritt auf, wenn der Importeur nicht auf den Link zugreifen konnte, der uns Daten aus dem Webshop sendet. In den meisten Fällen passiert es, weil das Plugin entweder:

  • Überhaupt nicht installiert

  • Deaktiviert aufgrund eines Updates

  • Ein Cache führt dazu, dass der Link nicht initialisiert wird

  • WooCommerce-Permalinks werden auf Postname anstelle von Monat und Name gesetzt

Vergewissern Sie sich zunächst, dass Sie das Plugin korrekt installiert haben und dass es aktiviert ist.

Wenn Sie das Plugin kürzlich automatisch aktualisiert haben, deaktiviert WooCommerce gelegentlich das Plugin. Wenn das passiert ist, gehen Sie einfach zu Plugins > Clerk und klicken Sie auf Aktivieren, um es wieder zu aktivieren.

Zweitens, stellen Sie sicher, dass Sie den Cache Ihres Webshops leeren, bevor Sie einen neuen Import versuchen.

Wenn die Synchronisierung immer noch nicht funktioniert, gehen Sie zu Einstellungen => Permalinks und ändern Sie die Gemeinsamen Einstellungen in Monat und Name_ und drücken Sie Speichern:

429 Serverfehler: Zu viele Requests #

Dieser Fehler tritt auf, wenn Ihr Server dem Importeur den Zugriff verweigert, weil zu viele Anfragen eingehen.

Sie können dies beheben, indem Sie das Request-Limit für Ihren Server höher setzen oder indem Sie Page Size im Clerk.io importer auf einen höheren Wert setzen, so dass der Importer weniger und größere Anfragen stellt:

Wenn Sie den Host-Provider Byte.nl verwenden, gibt der Importeur diesen Fehler normalerweise wegen seines Ratenbegrenzers zurück. Wenden Sie sich in diesem Fall einfach an Byte.nl und bitten Sie sie, den User-Agent des Importeurs " **clerk" auf die Whitelist zu setzen.

500 Interner Serverfehler #

Dieser Fehler bedeutet, dass Ihr Server auf einen internen Fehler gestoßen ist und nicht angeben konnte, welcher Fehler aufgetreten ist.

In diesen Fällen können Sie Ihr Server Log überprüfen, um festzustellen, welcher Prozess abgestürzt ist und warum. In den meisten Fällen liegt es einfach an einem Produkt mit einem ungültigen Attribut oder an einer Funktion, die im Webshop falsch aufgerufen wird.

Ein Beispiel für einen solchen Fehler könnte auftreten, wenn Sie sowohl WooCommerce als auch Klarna aktualisieren. In diesem Fall wird das Problem durch das Plugin “woocommerce-gateway-klarna” verursacht, das sich nicht aktualisieren lässt.

Wenn Ihnen das passiert, gehen Sie zu woocommerce-gateway-klarna ->includes->variablen-checkout.php .

Suchen Sie nach:

if ( ! is_admin() && ! empty( $klarna_country )) {

und ändern Sie es in:

if ( ! is_admin() && ! empty( $klarna_country ) && WC()->session ) {

503 Server-Fehler: Dienst nicht verfügbar #

Dieser Fehler ist in der Regel vorübergehend und wird dadurch verursacht, dass der Server zu beschäftigt ist, um die Anfrage zu bearbeiten. Versuchen Sie es etwas später erneut.

Wenn das Problem weiterhin auftritt, könnte dies bedeuten, dass der Server mit Prozessen überlastet ist und sich nahe der maximalen Kapazität befindet.

Überprüfen Sie die Serverauslastung, um festzustellen, ob dies der Fall ist.

520 Web Server hat einen unbekannten Fehler zurückgegeben #

Normalerweise wird dieser Fehler von CloudFlare zurückgegeben und tritt oft aufgrund eines Engpasses in Woocommerce auf, der Probleme mit höheren Seitengrößen verursacht. Um diesen Fehler zu beheben, setzen Sie einfach die Seitengröße auf 50 und führen Sie eine neue Synchronisierung durch:

522 Server Error: Zeitüberschreitung der Verbindung #

Dieser Fehler tritt in der Regel auf, wenn der Server zu beschäftigt ist, um zu antworten, oder wenn unser Importeur keinen Zugriff auf den Server hat.

Warten Sie zunächst ein paar Minuten und versuchen Sie erneut zu synchronisieren, um zu sehen, ob der Server beschäftigt war.

Wenn es dann immer noch nicht funktioniert, stellen Sie sicher, dass Sie die IP-Adresse des Importeurs in Ihrer Serverkonfiguration auf die Whitelist setzen. Die aktuelle IP-Adresse finden Sie hier.

Ungültige Antwort von der WooCommerce-API zurückgegeben #

Dieser Fehler tritt in der Regel auf, wenn das Debugging von WooCommerce aktiviert wurde. Dies ist nie eine gute Idee, auf einem Live-Setup aktiviert haben, weil es verlangsamt Seiten, und möglicherweise zeigt Fehlermeldungen im Frontend.

Das Synchronisationsproblem tritt auf, wenn WooCommerce einen Fehler bei der Generierung der Produktdaten für den Import feststellt.

Dies kann durch Deaktivierung der Fehlersuche in wp-config.php durch Setzen von define(WP_DEBUG’, false) gelöst werden.

In dieser Anleitung wird dies genauer erklärt:

https://docs.woocommerce.com/document/woocommerce-product-search/api/debugging/

Und dieser Leitfaden erklärt eine alternative Lösung:

https://aristath.github.io/blog/wp-hide-php-errors

Fehler werden auch dann protokolliert, wenn sie sich nicht im Debug-Modus befinden, aber sie werden stattdessen in einer Datei gespeichert.

Upgrade auf Clerk.js 2 #

Clerk.js 2 ist eine schnellere und viel flexiblere Version unserer JavaScript-Bibliothek, die die Installation von Clerk.io in jedem Webshop zu einem Kinderspiel macht.

Da die beiden Versionen jedoch leicht unterschiedlich funktionieren, müssen Sie die folgenden Schritte befolgen, um das Upgrade erfolgreich durchzuführen.

Die beiden Hauptunterschiede in Clerk.js 2 bestehen darin, dass die Designs in my.clerk.io die Liquid Schablonensprache verwenden, aber auch einfach mit dem Design Editor erstellt werden können.

Schritt 1: Konvertieren von Designs #

Da Clerk.js 2 einen anderen Ansatz hat, müssen Sie neue Designs erstellen.

Sie können Ihre Clerk.js 2 Designs auf eine von zwei Arten erstellen:

1.1 Beginnen Sie, indem Sie zu my.clerk.io -> Empfehlungen / Suche -> Designs gehen und auf Neues Design: klicken.

1.2. Wählen Sie Design Typ und folgen Sie dem Design einrichten Wizzard.

1.3. Klicken Sie im Design-Editor auf eines der vorhandenen Elemente wie den Namen, das Bild, die Schaltfläche usw., um es zu bearbeiten, oder fügen Sie neue Elemente zum Design hinzu, um mehr Informationen über Produkte hinzuzufügen.

1.4. Klicken Sie auf Veröffentlichen, wenn Sie fertig sind, und gehen Sie zu Schritt 2 in der Anleitung.

1.5. Gehen Sie abschließend zu Empfehlungen / Suche -> Inhalt und ändern Sie Ihren Clerk.io Inhalt, um Ihr neues Design zu verwenden.

1.6. Klicken Sie auf Inhalt aktualisieren. Dadurch werden die Inhalte vorübergehend nicht in Ihrem Webshop angezeigt, bis Sie mit Schritt 2 fertig sind. Wählen Sie das neue Design für alle Inhalte, die aktualisiert werden sollen.

1.7. So! Sie sind nun bereit, auf Clerk.js 2 umzusteigen.

Schritt 2: Upgrade Ihres Plugins #

**ACHTUNG: Denken Sie daran, von allen geänderten Dateien eine Sicherungskopie zu erstellen, da sie überschrieben werden.

Das Upgrade des Plugins kann direkt über die WooCommerce-Administration durchgeführt werden.

Gehen Sie zunächst zu Plugin->Neu hinzufügen.

Suchen Sie dann im Suchfeld auf der rechten Seite nach Clerk und klicken Sie auf Jetzt aktualisieren.

Das war’s! Jetzt haben Sie die neueste Version von Clerk.io für WooCommerce und Clerk.js 2 läuft in Ihrem Webshop!

Wenn Sie bereits die neueste Version haben, wird auf dieser Schaltfläche einfach Aktiv stehen.

Die vollständige Dokumentation für Clerk.js 2 finden Sie hier:

https://docs.clerk.io/docs/clerkjs-quick-start

Hin und wieder kommen Wordpress-/Woocommerce-Plugins mit der Wordpress-Rewrite-Regel durcheinander.

Die Rewrite-Regel ist eine Reihe von Konfigurationen, die dafür sorgen, dass Links wie dieser

domain.com/?p=123

zu schönen und SEO-optimierten Links wie

Domäne.com/Produkt/mein-schönes-Produkt/_

und sind für Sie und Ihre Kunden tatsächlich erreichbar.

Wenn Ihre Links nicht richtig funktionieren, tun Sie dies:

1. Loggen Sie sich in Ihr Wordpress-Backend ein

2. Gehen Sie dann zu: Dashboard –> Einstellungen –> Permalink

3. Scrollen Sie nach unten und klicken Sie auf die Schaltfläche “Änderungen speichern” unten auf der Seite, ohne etwas zu ändern. Dadurch wird die Rewrite-Regel von Wordpress überschrieben.

4. Sobald die Seite aktualisiert wurde, leeren Sie Ihren Wordpress-Cache (falls vorhanden) und warten Sie ein paar Minuten. Sie sollten nun wieder alle Seiten Ihrer Website sehen können.

Wenn Sie nach all dem immer noch nicht auf Ihre Webseiten zugreifen können, kontaktieren Sie uns unter support@clerk.io , wir helfen Ihnen gerne!

Warnungen im Backend und Frontend #

Dieser Fehler tritt in der Regel auf, wenn das Debugging von WooCommerce aktiviert wurde. Es ist nie eine gute Idee, dies bei einem Live-Setup zu aktivieren, da es die Seiten verlangsamt und möglicherweise Fehlermeldungen im Frontend anzeigt.

Das Synchronisationsproblem tritt auf, wenn WooCommerce einen Fehler bei der Generierung der Produktdaten für den Import feststellt.

Dies kann durch Deaktivieren des Debug-Modus entweder über das Plugin oder direkt in den WooCommerce-Dateien gelöst werden.

Umgang mit require.js #

**Diese Anleitung gilt nur, wenn Sie die WooCommerce Clerk-Erweiterung bis zur Version [v.1.7.1] (https://github.com/clerkio/clerk-woocommerce/releases) verwenden.

In einigen Konfigurationen verhindert Require.js das Laden von Clerk.js, was bedeutet, dass keine Schieberegler oder Suchergebnisse angezeigt werden.

Wenn dies geschieht, wird der folgende Fehler in Ihrer Konsole angezeigt:

Uncaught ReferenceError: Clerk is not defined

Es gibt zwei Möglichkeiten, Require.js. zu handhaben. Beide Ansätze erfordern, dass Sie Änderungen am Tracking-Skript in dieser Datei vornehmen:

wp-content -> plugins -> clerkio -> includes -> class-clerk-visitor-tracking.php

clerk" in Require.js einschließen

Der beste Ansatz ist der Versuch, Require.js dazu zu bringen, Clerk.io. zu erkennen.

Sie können dies tun, indem Sie require([‘clerk’], function() {}); unten in das Tracking-Skript einfügen:

Verwendung des Plugins

Wenn Sie Clerk.io v2.2.4 oder höher verwenden, kann das Debugging direkt auf der Plugin-Seite in Ihrem WooCommerce-Backend deaktiviert werden.

Gehen Sie zu Clerk -> Clerk-Einstellungen -> Debug Guide und klicken Sie auf Debug-Modus deaktivieren:

Oder direkt in den Dateien

Der Debug-Modus kann auch über FTP in der wp-config.php durch Setzen von define(WP_DEBUG’, false) deaktiviert werden.

In dieser Anleitung wird dies genauer erklärt:

https://docs.woocommerce.com/document/woocommerce-product-search/api/debugging/

In diesem Leitfaden wird ein alternativer Lösungsweg erläutert:

https://aristath.github.io/blog/wp-hide-php-errors

Fehler werden auch dann protokolliert, wenn sie sich nicht im Debug-Modus befinden, aber sie werden stattdessen in einer Datei gespeichert.

Require.js ignorieren

Wenn die obige Lösung nicht funktioniert, ist es möglich, Require.js zu ignorieren.

Sie können dies tun, indem Sie window.__clerk_ignore_requirejs = true; einfügen.

oben in das Tracking-Skript einfügen:

Nach Anwendung einer dieser Methoden ist Require.js nun mit Clerk.io kompatibel.