SEO-Pfad im Onlineshop

Dieser Abschnitt beschreibt, wie Sie mit dem SEO-Pfad im Onlineshop umgehen. Der typische Suche-Vorgang sieht schematisch so aus:

  1. Der Besucher tippt eine Suchanfrage im Onlineshop ein.
  2. Der Shop-Server ruft FACT-Finder auf, überträgt ihm die Suchanfrage und empfängt das Suchergebnis.
  3. Der Shop-Server baut die Suchergebnisseite auf. Dabei erstellt er bei Aktions-Elementen (nächste Seite, Filter anwenden, Produkte) Links. FACT-Finder liefert zu allen Aktions-Elementen einen Parameter-Block (URL im Fall von JSON- und XML-Schnittstelle) mit, der wieder an FACT-Finder geschickt werden soll, wenn der Besucher auf dieses Element klickt. Die Aufgabe des Shops ist es nun, diesen Parameter-Block in dem Link des Elements unterzubringen[1].
  4. Der Besucher sieht sich das Such-Ergebnis an und klickt auf einen Link (z.B. Filter anwenden).
  5. Der Request kommt beim Shop an, dieser dekodiert die FACT-Finder-Parameter-Informationen aus der URL und schickt den Request an FACT-Finder. Der Vorgang wird bei Punkt 3 fortgeführt bis der Besucher einen Link anklickt, der nichts mit der Suche zu tun hat, oder bis er den Shop verlässt.

Das Verarbeiten des SEO-Pfades ändert sich kaum von dem vorher vorgestellten Vorgang. Nur das Kodieren der FACT-Finder Parameter zu einem Link und das Dekodieren ändern sich. FACT-Finder generiert schon einen SEO-Pfad, den man in einem Link verwenden kann. Würden wir die Beispiel-Rückgabe von oben in Shop-URLs umwandeln wollen, würden diese so aussehen:

http://www.myshop.de/Herren
http://www.myshop.de/Damen
http://www.myshop.de/Kinder

Es wurde einfach der SEO-Pfad an die Shop-Domain angehängt. Jetzt kommt der schwierigere Schritt. Der Shop muss erkennen, wenn ein http://www.myshop.de/Herren Request hereinkommt, dass dies ein Request für FACT-Finder ist. Die Lösung dafür wird immer Shop spezifisch ausfallen. Eine mögliche einfache Lösung ist, alle SEO-URLs mit einem festen Präfix zu versehen:

http://www.myshop.de/s/Herren
http://www.myshop.de/s/Damen
http://www.myshop.de/s/Kinder

Jetzt kann der Shop erkennen, falls eine URL mit /s/ beginnt, so handelt es sich um eine SEO-URL. Der Teil nach dem /s/ würde abgetrennt und als seoPath an FACT-Finder übertragen. Beispiel für die XML-API:

/FACT-Finder/Search.ff?seoPath=/Herren&format=XML

Dieses Beispiel ist simpel. Der Fall aber wird mit der Anzahl der angewandten Filter immer komplexer:

...shop.de/s/Herren/Jacken-und-Maentel/Wintermaentel/Langmantel.html

Das Vorgehen ist immer dasselbe.

  1. Den SEO-Pfad aus den FACT-Finder-Parametern nehmen und an die Shop-URL hängen.
  2. Erkennen, welche Shop-Requests SEO-Requests sind.
  3. Den SEO-Pfad-Anteil aus der URL nehmen und als seoPath-Parameter an FACT-Finder übertragen.

Neben dem SEO-Pfad kann es sein, dass FACT-Finder weitere Parameter zurückliefert. Ausschnitt aus einer XML-Rückgabe:

<element name="Kinder" ...>
        <searchParams><![CDATA[/FACT-Finder/Search.ff?seoPath=/Kinder&format=XML&channel=de&followSearch=9899]]></searchParams>
      </element>

Die Parameter lassen sich in zwei Kategorien trennen:

  1. Parameter, die der Shop angehängt hat, und die einfach durchgereicht werden. Dazu gehören format und channel.
  2. Parameter, die die Suchanfrage spezifizieren, die von FACT-Finder angehängt wurden. Dazu gehört z.B. followSearch aus dem obigen Beispiel.

Die vom Shop angehängten Parameter müssen nicht unbedingt in die Shop-URL aufgenommen werden, schließlich würden diese Parameter vom Shop bei einem Request eh wieder angehängt werden. Die Suchanfragen-Parameter müssen allerdings "erhalten" werden. Würden sie ignoriert, und beim nächsten Request nicht an FACT-Finder übertragen, wird dies nicht die beabsichtigten Suchergebnisse zur Folge haben. Die Shop-URL zu dem obigen Beispiel müsste so aussehen:

http://www.myshop.de/s/Kinder?followSearch=9899


[1] Dieses Vorgehen befreit den Onlineshop-Programmierer davon, sich mit den Details der FACT-Finder-Parameter zu beschäftigen. Die Parameter, die FACT-Finder zurückbekommt, will FACT-Finder auch empfangen.