ShortUrls mit WordPress
Ich muss gestehen, das dieser Artikel ein kleiner Lückenbüßer ist, er aber trotzdem für den ein oder anderen Gewinn bringen kann. Erstmal kurz, warum ich auf das Thema komme: Ich betreibe seit Anfang an WordPress als Blogsystem und bin sehr zufrieden. Egal wie SEOtastisch man seine URL auch im Backend strickt, es gibt immer eine kurze URL, die man verwenden kann: http://www.phphatesme.com/?p=5328. Diese leitet dann automatisch auf die schöne Url weiter.
Da ich aber Urls mit Fragezeichen nicht mag, wollte ich das nicht und habe mir gedacht, bauen wir doch einfach „WordPress“ so um, dass ich auch mit http://www.phphatesme.com/id/5328 und einer Weiterleitung an das gewünschte Ziel komme. Wenn man weiß, wie das geht ist es eigentlich ganz einfach. Die Weiterleitungen mache ich in meinem Fall über eine .htaccess Datei in meinem Hauptverzeichnis. Der Eintrag dazu sieht wie folgt aus:
RewriteRule ^id/([0-9]+)$ /?p=$1 [R,QSA,L]
Wichtig dabei ist das L in der Klammer, da ihr so dem Webserver sagt, dass dies die letzte Regel ist, die er ausführen soll. Ansonsten greifen nämlich andere und das will man ja nicht.
Mir fällt gerade auf, dass in dem neuen Layout kürzere Artikel kürzer aussehen, als im alten Layout. Liegt natürlich an der breiteren Textbox, aber so muss ich halt unauffällig mit ein wenig Smalltalk den Rest der Seite füllen.
you saved my day, genau den Lückenbüßer habe ich gebraucht.
@Nils
Im Netz ist man glücklich, wenn sich die Informationen in KURZEN, verständlichen Texten wiederfinden lassen. Da muss man nicht immer Romane schreiben, auch wenn du das toll machst 😉
RewriteRules sind echt praktisch! Sehr gut ist auch die Website http://www.modrewrite.de
Hat jemand einen Tipp, wie ich Stylesheets und JavaScript Files „versioniert“ abrufen kann? Also statt /styles/main.css => /1.2/styles/main.css – die Versionsnummer würde sich ja mit jeder Version ändern. Vielleicht schreibt ja hier jemand mal einen netten Artikel mit solchen kleinen Helferlein 🙂
WordPress hat doch einen eigenen Service dafür: http://wp.me
Dieser kann die URL völlig automatisch für jeden Beitrag erstellen.
@Dennis: 2 Möglichkeiten -> 1.) Mach eine CSS Datei und importiere dadrinnen deine JS Files, dann musst du nur eine Datei ändern, 2.) lagere deine CSS/JS Einbindungen in eine PHP Datei aus, z.B. css.php und die sendest du dann als CSS Datei und kannst dann in PHP sowas wie eine Mini Versions Verwaltung integrieren.
Ach was schreib ich denn, ich meinte natürlich CSS Datei und dort drinnen deine CSS Files importieren, viel zu früh, so kurz vor 10.00 Uhr 😀
@Dennis: Oder du nimmst die bereits existierende Versionsverwaltung. Hängst also die SVN Versionnummer hinten an und löst das per .htaccess dann immer auf die selbe css Datei auf.
@Michael: das ist eigentlich keien gute Variante für’s Client-Caching.
@Nils: meinst du sowas wie main.css.6452 ? Ich würde es eigentlich gerne als RewriteRule eintragen, damit ich nicht laufend was anpassen muss 😉
@Nils: Ich bin kein SEO-Experte, aber ich habe mal gelesen dass man 301 den 302 vorziehen sollte. In diesem Fall verwendest du erst einen 302 und dann einen 301.
Bei 302 wird z.B. der Pagerank nicht übertragen, siehe:
http://suchmaschinenoptimierung.michaelsattler.de/weiterleitung.html
Meine .htaccess sieht so aus:
RewriteRule ^([0-9]+)$ /?p=$1 [R=301,L]
(ausführlicher beschrieben, sorry für Eigenwerbung: http://www.phpgangsta.de/blog-url-struktur-geandert)
Bietet nicht WordPress ohnehin schon eine Möglichkeit über die Einstellungen derartiges zu verwalten?
WordPress macht da nichts anderes als die RewriteRules zu setzen. Ebenso sind die bei WordPress im Admin-Panel auf bestimmte Möglichkeiten begrenzt.
Ich finde eh schade, dass WordPress so unflexibel aufgezogen ist. Das hätte man alles schöner machen können. Aber es nun mal die beliebteste Blog-Software.
Und im Blog Artikel (single.php) kann man dann den Shortlink zeigen, indem man folgenden Code verwendet:
<?php echo get_bloginfo('url').'/id/'.get_the_ID(); ?>
Mod Rewrite ist wirklich Praktisch 🙂
Naja, also das hätte ich auch selbst hinbekommen 😛
@Simon: Das war wirklich erst der erste Artikel, den du selbst hinbekommen hättest? 😛
😀 😀 ja sicher
„Vielleicht schreibt ja hier jemand mal einen netten Artikel mit solchen kleinen Helferlein Sascha am 26…“ – danke! *g*
Hallo!
Mittlerweile gibt’s ein richtig gutes Plugin dafür: Greg’s High Performance SEO: http://gregsplugins.com/lib/plugin-details/gregs-high-performance-seo/
Grüße