Links mit trailing slash umleiten

mathmos

404
Registriert
14 Juli 2013
Beiträge
4.412
Hallo,

aktuell läuft eine Seite mit Wordpress deren Links am Ende einen Slash haben. Also zum Beispiel . Die Seite soll auf Bolt CMS migriert werden. Dieses CMS entfernt automatisch alle "trailing slashes" am Ende, so dass herauskommt. Diese Automatismus ist in einer Core-Datei enthalten, so dass ich auf eine Änderung verzichten möchte (zum einen wegen der Updates und zum anderen wegen mangelnder Programmierkenntnisse).

Laut diverser Quellen behandelt Google nun die beiden oben genannten Links wie zwei voneinander unabhängige Links auch wenn diese unterm Strich auf die gleiche Seite verweisen. Da einige der Wordpress-Artikel bei Google auf Seite 1, teilweise sogar auf Platz 1 zu finden sind, erzeugt das bei mir leichte Bauchschmerzen. Nicht dass ich jetzt das System wechsle und Google indexiert jetzt wieder neu und platziert die Artikel schlechter.

Hat jemand eine Ahnung inwieweit der Wegfall des Slash ein Problem beim Indexieren macht? Würde es eventuell etwas bringen, wenn man alle Anfragen mit Slash per .htaccess auf die Links ohne Slash umleitet? Zum Beispiel (ungetestet):

[src=text]RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301][/src]
 
Hallo mathmos,

Bolt CMS entfernt den / doch mit einer einer Weiterleitung per Status Code 301 (Moved Permanently)?
Warum das per mod_rewrite nochmal machen? Einer von uns steht auf dem Schlauch.

Eine 301 Weiterleitung wird auch nicht als "weitere URL" verstanden. Die alte URL wird aus dem index entfernt und die neue aufgenommen. Auch der Pagerank den du durch Verlinkung von anderen Seiten bekommst, bleibt erhalten, wenn diese auf /test/ verlinken und dann per 301 auf /test weitergeleitet wird. Der Effekt ist identisch zu: verlinkt direkt auf /test

Achtung aber: Stell die neue Seite auf keinen Fall live, bevor der gesamte Content übertragen ist:
/test/ (301) --> /test + Neuer Content: "Wir bauen gerade um und sind bald wieder für sie da" = Ranking Killer. Eine gute Suchmaschine bemerkt es, wenn eine Seite die als relevant für Keyword X, Y und Z markiert war die Keywords X, Y und Z nicht mehr enthält.
 
  • Thread Starter Thread Starter
  • #3
Hallo,

ich wäre ja froh, wenn ich auf dem Schlauch stehe und alle gut ist. :D

Inzwischen habe ich die Datei UrlMatcher.php mit folgendem Inhalt gefunden.

[src=php]namespace Bolt\Routing;

use Silex;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;

/**
* If Silex\RedirectableUrlMatcher does not match a route,
* it checks for a route with a trailing slash and redirects to it.
*
* This additionally checks for a route without a trailing slash and redirects to it.
*/
class UrlMatcher extends Silex\RedirectableUrlMatcher
{
public function match($pathinfo)
{
try {
return parent::match($pathinfo);
} catch (ResourceNotFoundException $e) {
if ('/' !== substr($pathinfo, -1)) {
throw $e;
}

// Try matching the route without trailing slash
$withoutTrailingSlash = substr($pathinfo, 0, -1);
try {
parent::match($withoutTrailingSlash);

return $this->redirect($withoutTrailingSlash, null);
} catch (ResourceNotFoundException $e2) {
throw $e;
}
}
}
}[/src]

So wie es aussieht erfolgt hier tatsächlich ein automatisierte Weiterleitung. Mir stellt sich aber halt die Frage, ob das Google als 301-Weiterleitung akzeptiert.

Mit weiteren Link habe ich nicht die 301-Weiterleitung gemeint sondern und . Laut diversen Quellen (welche aber alle schon ein paar Jahre alt sind) sind das für Google zwei, voneinander unabhängige, Links (auch wenn das Ziel gleich ist). Hier habe ich halt die Befürchtung, dass wenn die bereits indexierte Version mit Slash nicht mehr vorhanden ist, Google wieder von Null mit der Indexierung der Links ohne Slash anfängt (da eben zwei unterschiedliche Links) und diese ggf. weniger gut platziert. Daher eben die Idee mit der 301-Weiterleitung per htaccess damit Google das auf jeden Fall mitbekommt. Wenn aber der Wegfall des trailing slash kein Ding ist, soll es mir ja recht sein. Weniger Arbeit. :)

Die Seite wird dann veröffentlicht, wenn ich soweit bin, dass man sie nutzen kann. Also mit allen bisherigen Inhalt, Kommentarfunktion und Template. Die Kommentarfunktion (gelöst mit Isso Comment) habe ich gestern "besiegt". Hier erfolgt die Verknüpfung zwischen Artikel und Kommentare auch über den Titel. Da ich die Kommentare aus Wordpress importiert habe, wurden die Titel natürlich mit trailing slash gespeichert, so dass sie den Artikeln in Bolt nicht zugeordnet werden konnten. Da musste ich dann der Isso-Datenbank auch zu Leibe rücken und den Slash entfernen. Soviel zum Thema ich steige mal eben von Wordpress auf Bolt CMS um. :D
 
Die URL ist ja noch vorhanden, d.h. das CMS antwortet auf /test/ mit 301 und nicht mit 404.
Aber sie werden nicht als "Duplicated Content" wahrgenommen, weil eine mit einem Permanent Redirect auf die andere weiterleitet.
Gibt es da eine Race Condition? D.h. wenn /test entdeckt wird, bevor /test/ erneut gecrawled wird ist das Ergebnis dann anders, wie wenn /test/ zuerst gecrawled wird?
Wenn ja, ist es dann lange anders oder "ranked" sich das wieder ein?

SEO ist ein ekliges Themengebiet, voller Gerüchte und schlecht informierter Kommentare xD
Die einen sagen Google ist schlauer wie man denkt. Die anderen es ist dümmer, wie man vermutet.
 
Zurück
Oben