Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

[R=301,L,P] vs. [L] - Was macht bei einer neuen Seite Sinn?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Chumprohn
PostRank 1
PostRank 1
Beiträge: 13
Registriert: 19.04.2008, 16:43

Beitrag von Chumprohn » 09.12.2008, 15:42

Hallo zusammen,

wir haben vor einem Jahr ein neues Projekt gestartet, das von Anfang an sprechende URLs hatte. Dazu wurde ModRewrite genutzt.

Ein typischer Eintrag in unserer .htaccess sieht wiefolgt aus:

Code: Alles auswählen

RewriteRule ^keyword/[^/]+-([0-9]{1,2})/.*$ /search.php?site=$1 [R=301,L,P]
Ich frage mich nun, ob das Anhängsel "[R=301,L,P]" überhaupt richtig und notwendig ist, oder ob man die Regel nur so gestalten muss, sofern es sich um ein altes Projekt handelt, dass eine neue URL-Struktur verpasst bekommen soll?

Was meint ihr? Würde ein simples "[L]" ausreichen?

Würde man bei einer Umstellung Gefahr laufen die bisher indexierten Seiten zu verlieren?

Freue mich auf eure Antworten!

Chum

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 09.12.2008, 20:39

Chumprohn hat geschrieben:sprechende URLs
[…]
Ich frage mich nun, ob das Anhängsel "[R=301,L,P]" überhaupt richtig
Der Sinn einer sprechenden URL ist, die interne Verarbeitung vor der Außenwelt zu verstecken. Wenn du mit [R] eine externe Weiterleitung einrichtest, dann ist die ganze Umschreiberei nutzlos, weil mit jedem Aufruf der sprechenden URL der Browser bzw. Robot nur die Antwort bekommt, er möge doch bitte nochmals die interne URL aufrufen. Und speziell mit dem Code 301 führst du die ganze Sache restlos ad absurdum, weil dann zu obigem noch die Aussage hinzukommt, die sprechende URL existiere nicht mehr.
Kurz: Der R-Parameter hat bei sprechenden URLs, also beim Umschreiben von statischen URLs auf interne, dynamische URLs, nichts zu suchen.

Die Verwendung des L-Parameters (L wie last, d.h. letzte Regel) hängt davon ab, ob die URL noch weiter von mod_rewrite verarbeitet werden soll. In der Regel ist das nicht der Fall, deshalb taucht L meist auf. Das hat aber letztlich nichts mit sprechenden URLs zu tun.
Der P-Parameter zu guter Letzt dient dazu, Seiten von einem anderen Webserver im eigenen URL-Bereich zu spiegeln: P wie Proxy. Hat eigentlich noch weniger mit sprechenden URLs zu tun.
RewriteRule ^keyword/[^/]+-([0-9]{1,2})/.*$ /search.php?site=$1 [R=301,L,P]
Dieser spezielle Fall, eine Suchfunktion, ist nun allerdings wiederum einer, bei dem statische (sprechende) URLs reichlich fehl am Platze sind. Keine Suchmaschine möchte Ergebnislisten deiner Suchfunktion haben, Ergebnisse, die irgendein Benutzer für sich angefordert hat und die für andere Leute weitestgehend uninteressant sind. Suchen können Suchmaschinen selber.

Das Fragezeichen in der URL ist ausdrücklich für Fälle gedacht, in denen ein Benutzer eine speziell auf ihn zugeschnittene, temporäre Seite abruft - wie eben bei einer Suchfunktion. Aus genau diesem Grund wurden Fragezeichen-URLs bis vor einigen Jahren von Suchmaschinen ignoriert, diese URLs bzw. die Seiten sind für die Allgemeinheit per Definition uninteressant. Suchmaschinen wurden erst dazu gezwungen, Fragezeichen-URLs aufzunehmen, als mit dem Aufkommen von PHP die Unsitte zunahm, statische Inhalte über URLs à la index.php?seite=e902903 auszuliefern.
ob man die Regel nur so gestalten muss, sofern es sich um ein altes Projekt handelt, dass eine neue URL-Struktur verpasst bekommen soll?
Wenn man alte URLs durch neue ersetzen möchte, muss zwar R=301 eingesetzt werden (genau dafür ist 301 da), aber dann muss die Funktion auch genau andersrum aussehen. Nicht RewriteRule neu index.php?alt , sondern RewriteRule index.php?alt neu. Darüber hinaus muss verhindert werden, dass diese Regel selbst erzeugte interne URLs in die Finger kriegt, weil's sonst eine Endlosschleife gibt.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag