OXSEO ausmisten

Hallo Community,
gibt es hier jemanden, der sich mit den Tabellen OXSEO, OXSEOHISTORY und OXSEOLOGS auskennt?

Wir würden gerne die OXSEO ausmisten, da hier ja scheinbar auch sehr viele alte Links vorhanden sind, und ein Shop mit 15000 Produkten nicht unbedingt eine OXSEO mit 500.000 Einträgen braucht.

Aus diesem Grund benötige ich entweder Informationen, was z.B. die Spalte OXEPIRED bedeutet bzw. wie man z.B. alte Einträge findet, die nicht mehr gültig sind und über z.B. 12Monate alt.

@Oxid-Team: Bitte stellt ein Tool zum Aufräumen der OXSEO bereit … diese Tabelle ist so ein riessen Speicherfresser, das ist unglaublich. Dadurch ist diese Datei auch ein performance Problem… Auch eine Erklärung, was die Felder der 3 Tabellen bedeuten wäre schon hilfreich, um mal eine Datei zu schreiben, welche die DB aufräumt.

Grüße und vielen Dank,
Sebastian

Besteht hier Bedarf in der Klärung? Bitte um Antworten…

Dann kann ich mich mal mit dem Support in Verbindung setzen. Oder mal die Oxid DB Profis hier im Board anfragen.

Grüße,
Sebastian

Vom Support wirst du nur Antwort erhalten, falls du eine PE besitzt. Bedarf besteht wohl schon. Teilweise gibt es auch bereits einige Infos hier im Forum. Ist nicht die erste Anfrage. Ausmisten ist schwierig, da aus den URL’s ein md5-Hash erzeug wird, welcher in die DB eingetragen wird.

Vom Support bekommt man auch oft keine Antwort trotz PE :wink:

Es geht hier auch v.a. um “EXPIRED” Einträge, welche über Jahre mitgeschleift werden.
Ich denke ein alter Link kann manchmal auch nach 1 Jahr gelöscht werden. Sonst hat man hunderte von Leichen in der DB und sie wird langsam ohne Ende.

Und wenn Bedarf besteht, vielleicht reagiert die Technik ja … es ist manchmal so einfach, die Leute zufrieden zu stellen

Grüße,
Sebastian

Ich versuche mal eine Antwort. Die Funktion der Tabellen:

OXSEO enthält die aktiven SEO-Urls. Auch die als EXPIRED markierten Einträge sind aktuell, EXPIRED bedeutet lediglich, dass der Eintrag beim nächsten Aufruf überprüft wird: Stimmt die SEO-URL noch, passiert nichts, ansonsten wird der Eintrag nach OXSEOHISTORY verschoben und in OXSEO neu generiert.

OXSEOHISTORY enthält alte, nicht mehr aktuelle SEO-Urls, für die aber (bei der Erstellung) noch die entsprechenden Seiten vorhanden sind. Diese alten Urls zeigen dann auf die entsprechenden Seiten. Wenn jemand die Seite über die alte Url aufruft, wird oxhits hochgezählt und oxtimestamp aktualisiert.

OXSEOLOGS enthält Logeinträge für aufgerufene Nicht-SEO-Urls, für die keine entsprechende SEO-Url gefunden wurde.

Zum Aufräumen der OXSEO würde ich mal schauen, ob Einträge für nicht mehr vorhandene Artikel drin sind.

Diese Artikel finde ich dann folgendermassen?

Hier mal als count:

SELECT count(*) from oxseo s, oxarticles a where s.OXOBJECTID <> a.OXID AND s.OXTYPE = ‘oxarticle’

Grüße,
Sebastian

Da fehlt noch die Verbindung über die oxid, etwa so:

SELECT * FROM oxseo LEFT JOIN oxarticles
ON (oxseo.oxobjectid=oxarticles.oxid)
WHERE oxarticles.oxid is NULL
AND oxseo.oxtype='oxarticle'

Das heißt, wenn man das Feld EXPIRED einfach bei allen Artikeln auf markiert setzen würde, um eine Prüfung zu erzwingen, bringt das nichts, da die URL erst bei einem manuellen Aufruf im Frontend überprüft wird ?

Bei Aufruf oder wenn der Link in der Übersicht generiert wird. Vorher kennt aber ja auch niemand die neue Url. Mit “Seo Urls neu berechnen” werden alle Einträge oxexpired=2 gesetzt (ausser statische Urls), so dass alle einmal überprüft werden und gegebenenfalls aktualisiert werden. Aufgeräumt wird da aber nichts, weil ungültige Einträge dadurch nicht entfernt werden.

Die Artikel und Kategorien sind auch gar nicht die Speicherfresser … die dynamic Einträge in der OXSEO sind es. Das sind scheinbar die TAG’s , die zusätzlich generiert werden.

Grüße,
Sebastian

Hallo Sebastian,

Mal ne Frage: Welche Version nutzt Du eigentlich?

Gruß

Hi Marco,
wir nutzen bei allen Kunden die 4.4.5, also die aktuelle Version. Die meisten wurden mit 4.2.0 in Betrieb genommen…

Ich bin halt gerade ein wenig am Server optimieren. Leider wurden bei einem Kunden viele Produkte in den Shop genommen und dann wieder entfernt.

Bei 14.000 Artikeln hat die OXSEO gerade knapp 500.000 Einträge. Dies geht nunmal auf die Performance, auch wenn der Server echt flott ist. Nun ist mein Anliegen, nicht mehr vorhandene Einträge zu löschen bzw. erst einmal zu finden.

Grüße,
Sebastian

Moin,

ok, war nur vorsichtshalber. Mir kam da noch der Security Bulletin 2010-006 in den Sinn. Das wurde aber mit der 4.4.3 erledigt.

Gruß!

Wobei die Shops auch lange mit der 4.2. liefen, und die ja laut Bulletin auch Betroffen ist.
Wurden bei diesem Bug immer neue Einträge angelegt, oder nur immer alte überschrieben?

Grüße,
Sebastian

Ne Marco, die oxseo ist leider auch ohne security bulletin ein performanceloch sondergleichen. @imd: da wurden nur neue angelegt, und das nur wenn entweder böswillig oder aus versehen bestimmte urls aufgerufen wurden.

Eben, und da es ein Performanceloch ist, würde ich mich freuen, von den Entwicklern mal Infos zu bekommen, wie man die OXSEO etwas entschlacken kann… einen Garbage-Collector haben sie ja scheinbar nicht eingebaut.

Grüße,
Sebastian

Leider hat sich immer noch niemand gemeldet … :frowning:

Lesen Entwickler auch mit?

Da die meisten Entwickler Englischsprachig sein, lesen die im Deutschen Teil des Forums ziemlich sicher nicht mit.

Interessant, bei einer deutschten Firma …

Naja, Oxid ist wohl nicht die erste Deutsche Firma, die Ihre Entwicklung im Ausland hat.