Magento PRG (Post/Redirect/Get – Redirect After Post)

Magento PRG (Post/Redirect/Get – Redirect After Post)

von Andreas Pointner, 23. Oktober 2017
Als Shopbetreiber möchte man viele potentielle Kunden auf seine Seite bekommen. Dazu gibt es einige Strategien und Ansätze. Neben den Klassikern wie SEO / SEM, Paid Advertising usw. wollen wir euch heute eine Alternative vorstellen bei dem man im Google Ranking noch ordentlich nach oben klettern kann.
In Magento aber auch in vielen anderen Onlineshops gibt es eine Vielzahl an URLs die alle von Google durchsucht werden. Jede Seite ist dabei im Index vorhanden aber das führt auch oft zu Problemen mit dem Ranking. Doppelter Inhalt wird nämlich von Google gar nicht gerne gesehen und auch bestraft.

Sehr viele Links in einem Onlineshop sind aber nicht für Google gedacht und auch nicht relevant. Das Benutzerkonto (/customer/account/) ist für Google eigentlich nicht von bedeutung, genauso wie ein Add-To-Cart-Link oder ein Link um ein Produkt auf die Vergleichsliste zu bringen. Ein weiterer großer Bereich ist die Filternavigation (Layered-Navigation) dabei ist die Seite immer die gleiche, nur die Produkte sind andere und sogar das muss nicht immer der Fall sein.

Jede dieser Seiten rankt also bei Google individuell was dazu führt, dass jede ein bisschen rankt und keine Seite auf Platz 1 zu finden ist.

Und das Zauberwort heißt: PRG

Wie schafft man es nun Google zu sagen, dass diese URLs nicht weiterverfolgt werden sollen?

Die meisten würden sofort aufschreien und sagen: No-Index, No-Follow. Doch das ist Google (wenn man ganz ehrlich ist) egal. Google versucht trotzdem diesen Links zu folgen.

Ein normaler Request funktioniert folgendermaßen:

Irgendwo auf der Seite ist der Link zum Benutzerkonto (zumeist ganz oben rechts) zu finden. Klickt man auf diesen Link so sendet man einen GET-Request an den Server. Dieser bearbeitet die Anfrage und schickt die Antwort zurück.

Genau das gleiche macht Google. Die Suchmaschine sammelt alle möglichen GET-Resourcen (href-Tags, Images, …) und grast diese ab.

PRG bietet eine Lösung dazu

Doch genau das oben beschriebene verhalten führt zu vielen ungewollten Einträgen die auch möglicherweise den gleichen Inhalt aufweisen.

Sieht man sich das Beispiel der Filternavigation an so sind Urls wie t-shirt/?size=38 oder t-shirt/?size=39 zu finden. Jede Suchmaschine liebt neuen als auch einzigartigen Text und genau da kommt das PRG Modul zum Einsatz.

Aber was genau ist nun PRG?

PRG
Beim PRG ( Post / Request / GET) – Verfahren passiert die Anfrage in einer dreistufigen Abfolge.

Zunächst wir die URL die sonst im href-Attribut zu finden ist ersetzt. Anstelle davon wird ein neues Formular implementiert das an den Server mittels der POST-Methode gesendet wird. Daten die an den Server gesendet werden (POST) werden von Google nicht weiter verfolgt. Die POST-Anfrage an den Server löst die gesendeten Daten auf und sendet einen Redirect (3xx) and den Client zurück. Im Redirect ist dann die URL zu finden die sonst im normalen href-Attribut stehen würde. Der Client kommt also so über Umwegen zu seinem Ziel. Dies passiert jedoch so schnell, dass es der User zumeist nicht mitbekommt.

Jeder der aber für Magento entwickelt, weiß wie schwierig es sein kann die URLs bzw. die Templates dementsprechend anzupassen.

Wir haben deshalb ein Modul für Magento 1 und Magento 2 erstellt, das genau dieses Problem behebt und so den ausschlaggebenden Vorsprung gegenüber der Konkurrenz im Google Ranking bringt. Ein positiver Nebeneffekt dabei ist außerdem, dass das Google Crawling Budget besser genutzt wird.

Teilen