HTTP Cache Invalidierung nach Artikel Änderungen und SEO URL von inaktiven Artikeln

Moinsen,

ich debugge gerade unseren SW HTTP Cache. Den eingebauten, nicht den Varnish Cache. Dabei ist mir aufgefallen, dass dabei deaktivieren Artikel noch eine SEO-URL in der s_core_rewrite_urls steht. Die werden scheinbar beim deaktiveren des Artikels nicht gelöscht und produzieren dann beim Cache Warming 404 Errors. Soll/Muss das so?

Außerdem dachte ich immer gedacht, das nach dem Bearbeiten und Speichern eines Artikels, der entsprechenden Einträge im HTTP Cache invalidiert werden. Dafür gibt es ja das Event “Shopware_Plugins_HttpCache_InvalidateCacheId”. Beim Durchsuchen des Quellcodes ist mir allerdings aufgefallen, das dieses nur in der MultiEdit Komponente (shopware/BatchProcess.php at 56df57575909854d2dec7fcba07500e27a3361ee · shopware/shopware · GitHub) gefeuert wird. Für das einzelne Bearbeiten eines Artikels habe ich nichts gefunden. Habe ich etwas übersehen? Oder soll das wieder so sein? Oder ist das ein Bug?

VG Arne

Hallo Arne,

zum einen müssen die Einträge in der s_core_rewrite_urls erhalten bleiben, damit du die SEO-Historie nicht verlierst. Die erzeugen dann zwar einen 404 beim Cache-Warmer, aber dazu gibt es ein Ticket (wird wohl mit 5.5 umgesetzt).

Wie die Invalidierung technisch funktioniert, kann ich dir nicht sagen - nur das sie funktioniert. Beim Speichern des Artikels wird der Cache für den Artikel invalidiert - aber nur die Detailseiten, nicht die Listingseiten. Ich glaube das läuft über Doctrine (bin mir da aber nicht sicher).

Moritz

Hey Moritz,

danke für die schnelle Antwort. Was hat es denn mit der SEO-Historie aufsich?

VG Arne

Hallo Arne,

generell werden SEO-URLs niemals gelöscht. Wenn du bspw. einen Artikel umbenennst, dann kann Shopware automatisch die alte URL auf die neue URL umleiten, da beide URLs in der Datenbank sind. Die URLs werden nur über einen Flag “main” in der Tabelle aktiv/inaktiv geschaltet. Alle mit Main 0 leitenm automatisch auf den Eintrag mit Main 1 um, sofern der orgPath übereinstimmt.

Bei gelöschten Artikeln möchte man ja i.d.R. den Linktraffic umleiten und nicht ins leere gehen lassen. 

Grüße
Moritz

Ach, ja cool. Danke :slight_smile:

Hab den Teil gefunden, wo die Artikel invalidiert werden :slight_smile:

1 „Gefällt mir“