Oxseo SEO-Links

Hallo

Gibt es eine Möglichkeit alle bisherigen SEO-Links zu einem bestimmten Produkt zu finden?

Gruss
Roland

Hi,
der query für die DB:


Select * from oxseo where oxstdurl like "%anid=[OXID DES PRODUKTES]%"

Danke für die Antwort. Mit dieser Abfrage erhalte ich jedoch nur die aktuelle SEO-Url. Ich möchte aber alle registrierten Url’s eines Produktes abfragen.

Ok, dann verstehe ich nicht was du genau willst.
Mit der Abfrage erhälst du alle von OXID erstellten URLs für das Produkt.
Also z.B.
www.shop.de/Marke/Produkt.html
order
www.shop.de/Kategorie/Produkt.html
Ist die URL nicht in der oxseo Tabelle dann gibs die auch nicht…

Ok, dann mache ich mal ein Beispiel.

Man erstellt zum Beispiel ein neues Produkt mit der Url …/artikel-1.html. Eine gewisse Zeit später ändere ich den Titel des Produktes, wodurch Oxid dann eine neue Url generiert wird (zum Beispiel …/artikel-1-neu.html. Nun ist also der Artikel über …/artikel-1.html und …/artikel-1-neu.html erreichbar. Respektive die alte Url wird auf die neue weitergeleitet.
Wie kann ich nun die Url zum Artikel rausfinden, welche auf /artikel-1-neu.html weitergeleitet werden? Mit deiner Abfrage erhalte ich ja nur die Url /artikel-1-neu.html, jedoch nicht die /artikel-1-html.

Der Hintergrund ist, dass ich für eine Wawi-Migration einen kompletten Neuimport aller Artikel und Kategorien machen muss. Natürlich möchte ich die bisherigen SEO-Url’s nicht verlieren. Daher möchte ich die Einträge der alten Produkte den entsprechenden neu importierten und mit einer neuen oxid ausgestatteten Produkten zuweisen. Nur finde ich die alten SEO-Url’s leider nirgends.

[QUOTE=roland76;89963]Nur finde ich die alten SEO-Url’s leider nirgends.[/QUOTE]

die liegen wohl in der Tabelle OXSEOHISTORY
OXOBJECTID = Produkt
OXIDENT = Eintrag in der OXSEO

aber: in der OXSEO gibt es auch OXOBJECTID = Produkt und bei uns gleich viele Datensätze.

Wie die zusammenspielen weiss ich nicht; wahrscheinlich über den Datumseintrag in OXSEOHISTORY.

Grüsse Gregor

Richtig, die oxobjectid in der oxseohistory entspricht der oxid aus oxarticle. Die oxident aus oxseohistory kann ich aber leider mit keinem anderen Feld verknüpfen.

Die Urls sind da (m.E unsinnigerweise) md5 gehasht drin, d.h. man kann sie nicht mehr lesen.

Wenn du noch ein Backup der alten DB hast, leg dir in der DB eine Tabelle mit 3 Spalten an:

CREATE TABLE pbt_oxid5.oldseo (
OXID VARCHAR( 32 ) NOT NULL ,
OXTITLE VARCHAR( 255 ) NOT NULL ,
OXSEOURL TEXT NOT NULL
) ENGINE = MYISAM ;

Dann hol dir dahin deine alten URLs da rein mit 2 Referenzwerten:

INSERT INTO oldseo (OXID, OXTITLE, OXSEOURL) SELECT oxarticles.OXID, oxarticles.OXTITLE, oxseo.OXSTDURL FROM oxarticles LEFT JOIN oxseo ON oxarticles.OXID = oxseo.OXOBJECTID

Und nun kannst du in der neuen DB deine Werte wieder mit einem einfachen UPDATE zurückbringen. Die OXTITLE hab ich mitgenommen weil sich bei einer Wawi Umstellung oft die OXID ändern. Falls das so sein sollte kannst du immer noch in dieser Art mit LIKEraus holen:

SELECT * FROM oxarticles WHERE OXTITLE LIKE (SELECT OXTITLE FROM oldseo WHERE OXTITLE != “” LIMIT 1)

Das baust du dir halt eben noch in eine UPDATE Anweisung um und das wars schon. Ich hoffe das hilft weiter :wink:

Die Urls sind da (m.E unsinnigerweise) md5 gehasht drin, d.h. man kann sie nicht mehr lesen.

Das ist leider echt ein Ärgernis. Wäre vielleicht mal ein Gedanke in zukünftigen Versionen eine Spalte mit einem Klartextwert dazuzunehmen, die alte Spalte muss natürlich bleiben, man kommt ja rückwärts nicht mehr an die Werte ran.