SEO-URLs in Datenbank eintragen

Hallo!

Ich habe hier eine Tabelle mit Artikelnummern und den URLs, die die Produkte im “alten” Online-Shop haben. Ich will diese so in die Datenbank eintragen, dass die URLs sich beim Wechsel des Shopsystems nicht ändern.

Die oxarticles.OXID ist bei diesen Produkten gleich der Artikelnummer.

Ich habe es mir folgendem SQL-Statement versucht:


update oxseo 
set
	OXSEOURL = 'alte/url.html',
	OXFIXED = '1'
where
	OXOBJECTID = '4711'
	and
	OXLANG = '0'
	and
	OXTYPE = 'oxarticle'
	and
	OXEXPIRED = '0'
;

die Artikelnummer 4711 soll also unter /alte/url.html abrufbar sein.

Wenn ich dieses Statement über die DB laufen lasse, dann werden mir in der Kategorie schon die richtigen URLs als Links ausgegeben, wenn ich dann allerdings versuche den Artikel aufzurufen, dann kommt ein 404er. Was (tmp-Verzeichnis habe ich schon gelöscht) muss ich noch tun?

Hallo,

das eigentliche Problem kannst Du cleverer lösen :wink:
Es gibt eine oxseohistory, in die Du alle älteren URLs pumpen kannst. Beim Aufruf dieser älteren URL wird dann per 301 auf die neue URL umgeleitet, so dass die Suchmaschine schnell neu indexieren kann. Hier ist eine Anleitung dazu:

Wenn der alte Shop auch ein OXID war - aufpassen: In dem Fall musst Du für einige Zeit das Sperren der SID in der robots.txt ausschalten.

Gruß

Hallo Marco!

[QUOTE=Marco Steinhaeuser;100275]das eigentliche Problem kannst Du cleverer lösen ;)[/QUOTE]

Danke, das ist auch eine gute Sache, aber nicht das, was ich will. Die alten URLs wurden aufwändig von Hand geschnitzt und sind sehr wohlüberlegt. Sie sind IMHO besser als das, was Oxid vollautomatisch macht. Ich hätte gerne die alten URLs beibehalten und nicht auf neue umgeleitet.

Eine Umleitung bekomme ich ja auch über die Webserver-Konfiguration sehr praktisch hin, dazu brauche ich Oxid nicht, sondern kann das Werkzeug verwenden, das ich auch von den Non-Shop-Sites her kenne.

Gibt es nicht irgendwo eine Zusammenfassung wo steht, wie diese URL-Geschichte funktioniert?

Grüße, Matthias

Hallo Matthias,

[QUOTE=MPCube;100353]Gibt es nicht irgendwo eine Zusammenfassung wo steht, wie diese URL-Geschichte funktioniert?[/QUOTE]

Klar: die oxseo :smiley:
Ohne Quatsch - ich vermute, dass Du diese Klasse mit einem Modul überschreiben musst, um den gewünschten Effekt zu erzielen.

Gruß

Also ich habe es nun hinbekommen.

Dazu habe ich oxseo, oxseohisory unf oxseologs mal komplett geleert. Dann habe ich mich durch alle Kategorien durchgeklickt, damit die in der oxseo erscheinen. Dann bin ich mit meinem schon erwähnten SQL-Statement drüber, habe dies aber etwas erweitert:

Der Hinweis auf die Doku der oxseohistory hat mir den entscheidenen Hinweis gegeben: Wir brauchen noch den md5-Hash der URL in Kleinbuchstaben.


<?php
// OXID und URL durch ; getrennt:
// "123456780";"/super/krasse/url.html"
$fp = fopen("url.csv","r");
$arr = array();
while($line = fgets($fp)){
	$line = explode(";",$line);
	$a = trim($line[0],"\"");
	$u = trim($line[1]);
	$u = trim($u,"\"");
	$arr[$a] = $u;
}
while(list($art,$url)=each($arr)){
$md5=md5(strtolower($url));
$str = "update oxseo 
set
	OXSEOURL = '$url',
	OXFIXED = '1',
	OXIDENT = '$md5'
where
	OXOBJECTID = '$art'
	and
	OXLANG = '0'
	and
	OXTYPE = 'oxarticle'
	and
	OXEXPIRED = '0'
;
";
echo $str;
}

Das SQL habe ich dann auf die Datenbank losgelassen. Anschliessen tmp/* gelöscht und fertig.

Grüße, Matthias

Naja ich würde das mit dem explode noch einmal prüfen, ich weiß nicht ob man das da so einfach machen kann. Auf jeden Fall sollte gesagt sein, dass das aus SEO-Sicht schon sehr viel Sinn macht, wenn man den doch relativ geringen Aufwand berücksichtigt.

jedenfalls gehört Spamlinkschleudern nicht dazu…

[QUOTE=hochgeschwindigkeitsseo;100691]Naja ich würde das mit dem explode noch einmal prüfen, ich weiß nicht ob man das da so einfach machen kann. Auf jeden Fall sollte gesagt sein, dass das aus SEO-Sicht schon sehr viel Sinn macht, wenn man den doch relativ geringen Aufwand berücksichtigt.[/QUOTE]

Das mit dem explode geht schon i.O., weil die Quelldatei nun mal so ist un weder in Artikelnummern noch URLs ein Semikolon vorkommt.

Unabhängig von dem SEO-Kram (der glaube ich über 301 auch ganz gut abgefackelt wird) sind die alten URLs kürzer und einfach schöner. Es ist nicht einzusehen, dass es bei jedem Softwarewechsel neue URLs gibt. Software richtet sich nach meinen URLs, nicht umgekehrt. Aus Prinzip! :slight_smile:

Grüße, Matthias

Etwas spät aber: Danke für den MD5 Hinweis!

Und auch für dein “aus Prinzip!” :slight_smile: