Deeplink über Produktnummer vor Indexierung?

In Shopware 5 gab es die Möglichkeit, einen Artikel aufzurufen über einen deeplink:

https://www.domain.de/search?sSearch=no123456

Der deeplink hat auf die Detailseite weitergeleitet und hat immer funktioniert, egal ob der Artikel indexiert war oder in der seo_url-Tabelle enthalten war.
Da wir viele Produkte haben, lassen wir die Indexierung nur einmal täglich laufen, d.h. bei neuen Produkten dauert es einen Tag, bis sie im Shop verfügbar sind. In SW5 konnten wir Kunden zumindest per E-Mail den Deeplink schicken, so dass sie noch am selben Tag bestellen konnten.

In shopware 6 wäre es analog dieser Link:

https://www.domain.de/search?search=no123456

Aber der liefert keinen Treffer, wenn der Artikel nicht indexiert ist.

Ich habe auch schon den direkten Link versucht, z.B.

https://www.domain.de/detail/59dcb435777a4d5e20910437a5045502

Aber der funktioniert auch erst, wenn das Indexing gelaufen ist.

Gibt es irgendeinen Trick, wie man einen Artikel im Shop aufrufen kann, bevor er indexiert ist?

Warum ist der Artikel nicht indexiert? Oder sollen bestimmte Artikel bewusst versteckt werden und sind daher von der Indexierung ausgeschlossen? Was du meinst ist eher vor Umwandlung zu einer speaking URL?!

Magst du mal deine Webseite nennen, dass wir es selbst ausprobieren können? Bei uns funktioniert es wunderbar (sind aber natürlich indexiert)

Wie gesagt, wir haben viele Artikel (400.000), daher indexieren wir nur einmal täglich über Nacht. Der Import indexiert nicht, weil das zu lange dauert im laufenden Betrieb und zu viel Performance abzieht.

Neu angelegte/importierte Artikel erscheinen erst dann im shop, wenn sie indexiert sind.
Ich suche einen Weg, über eine deeplink schon an den Artikel ranzukommen, bevor er indexiert ist. Er ist quasi im Backend vorhanden, aber noch nicht im Frontend.

Du müsstest Dir aus der Datenbank die Hash-URL ziehen. Ich würde aber eher an einer geordneten Indexierung arbeiten.

Okay verstehe. Wie lange dauert das indexieren? Vielleicht lohnt es sich einen dickeren Server zu hosten und dann kann man 2x täglich oder öfters indexieren lassen?

Ich weiß nicht wie clever die Indexierung ist, aber kann man es einstellen (oder programmieren), das nur die neuen Artikel indexiert werden bzw. eine speaking URL erstellt werden. Muss ja nicht immer alles neu indexiert bzw. speaking URL erstellt werden.

Moin @runi,

Sowas ähnliches haben wir schon mal umgesetzt für einen Kunden von uns. Du kannst dich bei Interesse gerne bei mir melden.

Generell wundert es mich aber auch, warum ihr das so handhabt. Es werden ja nicht jedes Mal alle Artikel indexiert, sondern nur welche bei denen sich etwas relevantes verändert hat. Vielleicht läuft da einfach etwas anderes nicht ganz rund?

Grüße
Matthias

Was verstehst Du unter hash-URL?

https://www.domain.de/detail/59dcb435777a4d5e20910437a5045502

Das? Das funktioniert wie gesagt auch nicht vor der Indexierung.

Oder meinst Du was anderes?

OK. Vielen Dank für Eure Antworten :slight_smile:

Scheinbar gibt es hier keine Out-of-the-Box-Lösung. Ich dachte, es gäbe in SW6 auch eine direkte route für den Aufruf, die immer funktioniert.

Dann muss ich mir was anderes überlegen… Merci

Hallo,

vielleicht hilft dir diese Erklärung weiter: Deep Dive into SEO URLs in Shopware: Implementation & Best Practices | Shopware .

Und ja, es gibt auch weiterhin die nicht SEO-freundliche URL (https://shop.de/detail/uuid-des-produkts). Diese leitet dann aber automatisch auf die SEO-freundliche URL um, sobald diese generiert wurden. Vorher sollte diese aber auch gehen, vorausgesetzt das Produkt ist in diesem Verkaufskanal auch aktiv.

Grüße
Sebastian

1 „Gefällt mir“

@runi verwendest du in deinem Setup Elasticsearch?

Die technische URL mit der UUID sollte normalerweise immer funktionieren, außer Elasticsearch wird verwendet und die Variable

SHOPWARE_ES_THROW_EXCEPTION

ist aktiviert.

Hier sollte es ausreichen die Variable zu deaktivieren ( =0 ), um die technische URL ohne Indexing aufrufen zu können. Aber Achtung es könnte die Performance des Shops beeinflussen.

Hallo abdullah,

ja, wir verwenden Elasticsearch.

Vielen Dank für den Tipp mit SHOPWARE_ES_THROW_EXCEPTION. Ich werde das mal auf unserem developer-system ausprobieren, inwieweit die Variable die Performance beeinträchtigt. Das wäre cool, wenn es sich damit lösen ließe. :+1: