Einen Onlineshop per iFrame einbinden? Besser nicht!

In vielen Fällen steht ein Onlineshop nicht alleine für sich, sondern soll – mehr oder weniger nahtlos – in eine (bestehende) Webseite eingebunden werden. Hierfür bietet sich eine auf den ersten Blick einfache Lösung an: Der Webshop wird per iFrame in die Webseite eingebunden. Clever, einfach, genial? Leider nicht immer, es gibt vieles, was dagegen […]

In vielen Fällen steht ein Onlineshop nicht alleine für sich, sondern soll – mehr oder weniger nahtlos – in eine (bestehende) Webseite eingebunden werden. Hierfür bietet sich eine auf den ersten Blick einfache Lösung an: Der Webshop wird per iFrame in die Webseite eingebunden.

Clever, einfach, genial? Leider nicht immer, es gibt vieles, was dagegen spricht. Sicher, pragmatische Lösungen sind nicht per se schlecht, und was Aufwand und Budget betrifft, ist diese Lösung natürlich unschlagbar.

Aber werfen wir doch mal einen etwas detaillierteren Blick darauf, sicher fallen uns schnell ein paar Punkte ins Auge, die wir berücksichtigen müssen:

Zahlarten funktionieren evtl. nicht

Wird ein PSP (Payment Service Provider) wie z.B. Paypal verwendet, wird der Benutzer während bzw. nach dem Checkout auf die Seiten des PSP geleitet, um die Zahlung dort zu verarbeiten. Aus Sicherheitsgründen unterbinden viele PSPs die Anzeige ihrer Systeme in Frames. Damit kann ein reibungsloser Checkout nicht gewährleistet werden.

Sicher, man könnte den Checkout so umbauen, dass Redirects zu PSPs in einem neuen Fenster geöffnet werden. So ganz ideal ist das auch nicht, oder?

Kein direktes Verlinken

Ein direktes Verlinken ist nicht möglich, da alle Seiten des Shops für den Besucher dieselbe Adresse haben. Ein Beispiel:

Der Shop wird auf www.meine-seite.de/shop.html eingebunden. Darin wird der Shop via iFrame geladen. Innerhalb des iFrames findet der Benutzer ein Produkt, will es sich merken und z.B. in seine Bookmarks legen oder jmd. per Facebook o.a. senden. Das Produkt hat die URL shop.meine-seite.de/produkte/123. Was der Benutzer aber als URL sieht ist nur die o.g. www.meine-seite.de/shop.html und kann damit nicht auf Unterseiten verweisen.

Nun könnte man natürlich via Javascript die URL im übergeordneten Fenster manipulieren, oder einfach als Ankerpunkt (das mit dem #) ergänzen und mit dem Shop synchronisieren. Aber sollte die Lösung nicht einfach sein?

Ignorieren von Browserfunktionen

Gewohnte Navigation im Browser mittels „Seite zurück / Seite vor“ funktioniert u.U. nicht reibungslos, evtl. verlässt ein Benutzer den Shop vollständig: Der Besucher ruft die umgebende Seite auf, darin wird der Shop per iFrame geladen. Er navigiert sich durch den Shop, legt etwas in den Warenkorb und möchte das Produkt erneut aufrufen. Gewohnt klickt er im Browser auf „zurück“. Interpretiert der Browser dieses „zurück“ nun für die umgebende, d.h. den iFrame enthaltene, Seite, verlässt er den Shop ganz.

Ein ähnliches Problem wie bei der direkten Verlinkung…

Suchmaschinen sind nicht begeistert

Suchmaschinen crawlen Seiten in iFrames nur teilweise und ranken diese auch schlechter. Und wenn eine Suchmaschine trotzdem eine Shopseite als Suchergebnis anzeigt, gelangt der Besucher dann auch direkt auf die Shopseite. Da dieser Seite aber dann die umgebende Seite, die Menü etc. beinhaltet, fehlt, wird die Shopseite dem Besucher nur unvollständig angezeigt.

Barrierefreiheit von iFrames? Naja …

Ein wichtiger Aspekt, der oft vergessen wird: Nicht jeder potentielle Kunde erlebt die Website auf dem „klassischem“ Weg. Spezielle Screenreader oder auch nur geänderte Auflösungen bzw. massiver Zoom um Sehschwächen auszugleichen, machen aus einem iFrame ein kaum zu bedienendes Schlüsselloch.

Das ganze ist keine erweiterte Anfordung, sondern hat sogar Gesetzesrang: Die Barrierefreie-Informationstechnik-Verordnung (BITV) folgt der EU-Richtlinie 2016/2102 und soll eine umfassend und grundsätzlich uneingeschränkt barrierefreie Gestaltung moderner Informations- und Kommunikationstechnik gewährleisten.

Fazit

Es hat schon seinen Grund, warum moderne Shopsysteme von Haus aus das Einbinden via iFrame verhindern. Magento etwa sendet als X-Frame-Header standardmäßig die SAMEORIGIN-Policy (mehr dazu hier). Uns ist dies übrigens auch schon vor einigen Jahren im Zusammenhang mit der Google-Bildersuche untergekommen.

Also, wenn Sie mit dem Gedanken spielen: Wir sagen nicht, dass Sie es nicht tun dürfen. Wir sagen nur, dass Sie sich das ganze gut überlegen sollten. Es gibt bestimmt immer auch Anwendungsfälle, wo diese Lösung gerechtfertigt ist.

Am besten, Sie stimmen sich mit ihrer Agentur ab.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.