Seite 1 von 2

Welche Syntax kommt besser an?

Verfasst: 03.01.2007, 21:47
von Phantom20
Hallo zusammen,

ich bin überzeugt, dass viele mit der url Struktur schon diverse Versuche gemacht haben.

Welche von den folgenden urls kommt besser an (Ranking Google, Onpage Optimierung), oder unterscheiden die beiden sich nur in Sachen Geschmack?

https://www.domain.de/forum/13/Beispiel-Forum.html

oder

https://www.domain.de/13-Beispiel-Forum/


Vielen Dank.

Momentan ist die 2. Url-Struktur mit den Verzeichnissen für Foren irgendwie "in".

Siehe hunderte VBulletin Foren (Search Engine Optimization by vBSEO 3.X.X)

Verfasst:
von

Verfasst: 03.01.2007, 22:39
von Mamboo
Dies...

https://www.domain.de/13-Beispiel-Forum/

desto kürzer umso besser.... und ob am ende .html oder .affe steht, interessiert die Sumas sowieso nicht.

Verfasst: 03.01.2007, 23:08
von Phantom20
Ich finde die url sieht so auch besser aus.

Ich müsste nur alle Links per htaccess 301 umleiten lassen.
Wie realisiere ich das am besten.


Der Eintrag für in der htaccess für die alten Links sieht so aus:
RewriteRule ^forum\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ board\.php?boardid=$1 [QSA,L]
RewriteRule ^forum\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ board\.php?boardid=$1&page=$2 [QSA,L]


Für die neuen urls (https://www.domain.de/13-Beispiel-Forum/) so:
RewriteRule ^([0-9]*)-([-_a-zA-Z0-9]*\/)$ board\.php?boardid=$1 [QSA,L]
RewriteRule ^([0-9]*)-([0-9]*)-([-_a-zA-Z0-9]*\/)$ board\.php?boardid=$1&page=$2 [QSA,L]


Wie müsste der 301er lauten, kann mir hierbei jemand helfen?
Alle einzelnen Forenlinks manuell in der htaccess aufzuführen wäre zuviel Arbeit, da sehr viele Unterforen.

Verfasst:
von

Verfasst: 03.01.2007, 23:21
von chris21

Code: Alles auswählen

RewriteRule ^forum\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ forum/$1-$2/ [R=301,L,QSA]
um von forum/13/beispiel-forum.html permanent auf forum/13-beispiel-forum/ umzuleiten.

Was macht denn die zweite Rule? Sind das Seitenzahlen?

Dann:

Code: Alles auswählen

RewriteRule ^forum\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ forum/$1-$2-$3/ [R=301,QSA,L]
um von forum/13/2/beispiel-forum.html permanent auf forum/13-2-beispiel-forum/ umzuleiten.

Diese werden dann jeweils durch die neuen Regeln mit dem tatsächlichen Inhalt versorgt. Bin gerade nur unschlüssig, ob das "L" dort reinpasst, notfalls mal ohne probieren.

Verfasst: 03.01.2007, 23:35
von Phantom20
Hallo Chris21,

das funktioniert einmandfrei so, danke, habe nur das forum am Anfang noch weg gemacht, also

Code: Alles auswählen

RewriteRule ^forum\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ $1-$2/ [R=301,L,QSA]
und

Code: Alles auswählen

RewriteRule ^forum\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ $1-$2-$3/ [R=301,QSA,L]
Danke nochmal!

Verfasst: 04.01.2007, 01:57
von Phantom20
Ich brauch nochmal kurz deine Hilfe Chris.

Aktuelle Struktur:
https://www.domain.de/thread/217/thread-name.html


Neue Struktur: (nur ein / statt .html hinten)
https://www.domain.de/thread/217/thread-name/


Alt:

Code: Alles auswählen

RewriteRule ^thread\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread\.php?threadid=$1 [QSA,L]
RewriteRule ^thread\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread\.php?threadid=$1&page=$2 [QSA,L]

Neu:

Code: Alles auswählen

RewriteRule ^thread\/([0-9]*)\/([-_a-zA-Z0-9]*\/)$ thread\.php?threadid=$1 [QSA,L]
RewriteRule ^thread\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*\/)$ thread\.php?threadid=$1&page=$2 [QSA,L]

Wie muss der 301er hier heißen für die permanente Weiterleitung?

Danke

Verfasst: 04.01.2007, 13:26
von chris21
Hallo Phantom20:

wieder ganz einfach:

Thread 1. Seite:

Code: Alles auswählen

RewriteRule ^thread\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread/$1/$2/ [R=310,L,QSA]
Thread Seite, 2 oder 3 etc.:

Code: Alles auswählen

RewriteRule ^thread\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread/$1/$2/$3/ [R=301,L,QSA]
Dann wieder die neuen Rules, um (intern) auf die thread.php zu leiten und dadurch den Inhalt zu bekommen.

Verfasst: 04.01.2007, 14:00
von Phantom20
Leider gibt es beim Aufruf der alten Seiten https://www.domain.de/thread/217/thread-name.html jetzt einen 500er Fehler, aber nur da. Irgendwas stimmt noch nicht.

Verfasst: 04.01.2007, 14:06
von chris21
Upps, mein Fehler: da hat der alte Jurist in mir ein paar Paragraphen-Zeichen "§" statt Dollarzeichen "$" eingebaut. :roll:


Ändere mal den Code für Thread mit Seitenzahl in den von oben, den habe ich gerade korrigiert.

Verfasst: 04.01.2007, 14:11
von Phantom20
mhh leider nicht, die Einträge sehen so aus:

Code: Alles auswählen

RewriteRule ^thread\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread/$1/$2/ [R=310,L,QSA]
RewriteRule ^thread\/([0-9]*)\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ thread/$1/$2/$3/ [R=301,L,QSA]

Verfasst: 04.01.2007, 14:26
von Phantom20
Jetzt geht alles! :)

Da stand R=310 und nicht 301 ;)

Danke vielmals!

Verfasst: 04.01.2007, 14:37
von Phantom20
Ok noch eins als Beispiel, ich glaube dann habe ich es verstanden. ;)

Code: Alles auswählen

Alt:
RewriteRule ^profile\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ profile\.php?userid=$1 [QSA,L]

Neu:
RewriteRule ^profile\/([0-9]*)\/([-_a-zA-Z0-9]*\/)$ profile\.php?userid=$1 [QSA,L]
Wie heißt der korrekte 301er?

Verfasst: 04.01.2007, 14:56
von chris21
Ok, jetzt mal zum Mitlernen:

Derzeit steht da profile/1/name-des-users.html

Dieses wurde intern weitergeleitet auf profile.php?userid=1

Neu soll es so aussehen:

profile/1/name-des-users/ wiederum intern umgeleitet auf profile.php?userid=1

Die RewriteRule sucht nun alle URLS, die mit profile beginnen "^profile", dann einen Slash haben"\/", von einer beliebigen Zahl gefolgt "([0-9]*)" = gesucht werden nur Zahlen"[0-9]", davon beliebige Anzahl "*", dies ist die erste Variable, die später in $1 genutzt werden kann, dann folgt wieder ein Slash"\/" und dann der Dateiname, bestehend aus Minus "-", Unterstrich "_", kleinen Buchstaben "a-z", großen Buchstaben "A-Z" und Zahlen"0-9", in einer beliebigen Anzahl von diesen Zeichen "*", dies ist dann in der Variablen $2 gespeichert, dann folgt noch die Dateiendung "\.html?" Das $ schließt das Suchmuster ab.

Also lenken wir um auf

profile/$1/$2/, d.h. profile/(User-Nr)/(User-Name)/

demnach

Code: Alles auswählen

^profile\/([0-9]*)\/([-_a-zA-Z0-9]*)(\.html?)$ profile/$1/$2/ [R=301,L,QSA]
R=301 bedeutet, dass ein externer Redirect mit Status 301 durchgeführt werden soll, L bedeutet, dass diese Rule damit für dieses Suchmuster beendet ist und QSA bedeutet, dass ein möglicher Querystring "?irgendwas=irgendwie" mit übernommen werden soll und der neu erzeugten URL wieder angehängt wird.

Verfasst: 04.01.2007, 15:35
von Phantom20
Danke für die ausführliche Erklärung Chris.

Bin mal gespannt wie lange es dauert, bis im index die neuen Links drinnen sind. (Unterforen, Threads)

Viele urls habe ich in der robots.txt ausgesperrt (wegen duplicate content) und einige Sachen aufgelöst und per 301 auf die Startseite leiten lassen.

Verfasst: 04.01.2007, 16:08
von chris21
Hast Du denn die Anweisungen schon in Deiner .htaccess drin? Es geht doch um Dein PC Forum, oder? Da sehe ich noch keine Änderungen.

PS: Falls es um das Forum geht, wie sieht es mit den Kategorien "cat" aus?