Das Putzlowitsch Test- und SEO-Blog

WordPress für statische Seiten optimieren

WordPress und Permalinks

In WordPress kann man für schönere URLs die Permalinks aktivieren. Diese werden nur für die Struktur der Artikel-URL festgelegt, zusätzlich kann ein Präfix für Kategorien und Tags vorgegeben werden, für Seiten jedoch gibt es keine extra Einstellmöglichkeit.

Für Artikle steht eine Vielzahl von von Platzhaltern (Variablen) zur Verfügung, die bei Zusammensetzen der URL durch die jeweiligen Daten des konkreten Artikels ersetzt werden.

Auch wenn man Permalinks nur für die Artikle wirklich konfigurieren kann, wirken sich die dort gewählten Optionen auch auf die Seiten und andere URLs in WordPress aus. Einen sichtbaren Effekt hat die Entscheidung, ob man die Permalinks mit einem Schrägstrich abschließt oder nicht. Entsprechend erhalten auch alle anderen von WordPress generierten URLs diesen Schrägstrich oder nicht. Das gilt übrigens nur für den Schrägstrich (Slash), alle anderen Endungen wie z.B. .html werden dabei nicht übernommen.

WordPress und Rewrite-Rules

Damit WordPress die Permalinks wieder in konkrete Artikel- und Seiten-IDs auflösen kann, wird eine Liste von Regeln (RewriteRules) erstellt, die sequentiell abgearbeitet wird. Mit dem ersten passenden Treffer wird dann die Datenbankabfrage für einen Artikel oder eine Seite, für eine Kategorie- oder Tagübersicht oder einen Feed usw. erstellt.

Wie diese interne Liste aussieht hängt unter anderem auch davon ab, welche Struktur für die Artikel bei der Permalinkkonfiguration gewählt wird. WordPress muß Artikel von Seiten eindeutig unterscheiden können und das funktioniert nur, wenn die Permalinks als ersten Platzhalter keinen variablen Wert wie Postname (%postnam%), Kategorie (%category%), Tag (%tag%) oder Autor (%author%) enthalten. Andernfalls werden für jede statische Seite jeweils 11 Einträge in der Liste der RewriteRules erstellt, die so aussehen:

[seite-1/attachment/([^/]+)/?$] => index.php?attachment=$matches[1]
[seite-1/attachment/([^/]+)/trackback/?$] => index.php?attachment=$matches[1]&tb=1
[seite-1/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?attachment=$matches[1]&feed=$matches[2]
[seite-1/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$] => index.php?attachment=$matches[1]&feed=$matches[2]
[seite-1/attachment/([^/]+)/comment-page-([0-9]{1,})/?$] => index.php?attachment=$matches[1]&cpage=$matches[2]
[(seite-1)/trackback/?$] => index.php?pagename=$matches[1]&tb=1
[(seite-1)/feed/(feed|rdf|rss|rss2|atom)/?$] => index.php?pagename=$matches[1]&feed=$matches[2]
[(seite-1)/(feed|rdf|rss|rss2|atom)/?$] => index.php?pagename=$matches[1]&feed=$matches[2]
[(seite-1)/page/?([0-9]{1,})/?$] => index.php?pagename=$matches[1]&paged=$matches[2]
[(seite-1)/comment-page-([0-9]{1,})/?$] => index.php?pagename=$matches[1]&cpage=$matches[2]
[(seite-1)(/[0-9]+)?/?$] => index.php?pagename=$matches[1]&page=$matches[2]

Das mag bei wenigen Seiten zwar kaum ins Gewicht fallen, bei hunderten oder gar tausenden Seiten aber schon. Einerseits belegen diese vielen Regeln Speicher, andererseits müssen sie jedesmal abgearbeitet werden, bei z.B. 300 Seiten mehr als 3300 Listeneinträge. Probleme kann es auch beim Anlegen und Ändern von Seiten geben, denn die Liste muß dann jedesmal neu erstellt werden.

Permalinks für statische Seiten optimieren

Wenn man viele statische Seiten verwendet oder vielleicht gar keine Artikel (WordPress als CMS), sollte man als ersten Platzhalter (Strukturtag) in den Permalinks einen numerischen Wert wie Datum (year,monthnum,day), Zeit (hour,minute,second) oder die ID (post_id) verwenden. Die von WordPress zur Auswahl angebotenen Möglichkeiten erfüllen diese Bedingungen:

Tag und Name: /%year%/%monthnum%/%day%/%postname%/
Monat und Name: /%year%/%monthnum%/%postname%/
Numerisch: /archives/%post_id%

Für Benutzerdefinierte Einstellungen wären z.B. /%post_id%-%postname%/ geeignet. Es darf auch ein fester Text vor dem ersten numerischen Wert stehen, also z.B. /news/%post_id%-%postname%/.

Mit diesen Permalinkeinstellungen werden keine extra Rules je Seite erzeugt, das spart zumindest bei WordPressinstallationen mit sehr vielen statischen Seiten Speicherplatz und Abarbeitungszeit.

Weitere Artikel mit Bezug zu diesem:
7 Kommentare »

Die schnurpsel.de Vor- und Frühgeschichte

Spam?

Spam oder nicht, das ist hier die Frage, und wenn ja, wozu ist es gut:

Betreff: [сugе.org] Aufnahme-Benachrichtigung: schnurpsel.de

Sehr geehrte Damen und Herren,

aufgrund der neuen Rechtslage in Europa haben wir die Pflicht Sie darüber zu informieren, dass die o.g. Website im Bewertungs-Index von сugе.org gelistet ist. сugе [kjudsch] ist ein freier Service für die Bewertung der Service-Qualität und Zuverlässigkeit von Websites durch die Kunden der Site selbst.

Dann kommt mehr oder weniger uninteressanter Text gefolgt von diesem wichtigen Hinwies:

*** Wichtige Hinweise: ***

Insbesondere Deutsche Website-Betreiber möchten wir darauf hinweisen, dass es sich bei dieser Benachrichtigung nicht um sog. Spam handelt. Sie erhalten diese E-Mail als vermuteter Inhaber der o.g. Website, weil ein Website-Betreiber nach neuer Europäischer Rechtslage das Recht hat, von dem Listing in einem Bewertungsdienst zu erfahren und sich ggfs. gegen ungerechtfertigte Bewertungen zu wehren.

Ich empfinde den eindringlichen Hinweis, daß es sich nicht um Spam handelt, schon fast wieder als Indiz dafür, daß es doch Spam ist. Und was für eine neue europäische Rechtslage ist gemeint?

Na egal, ich war dann doch neugierig (das ist vermutlich der Zweck) und habe mir meine Bewertung dort angesehen. Es gibt tatsächlich eine Bewertung die, nun ja, eher mittelprächtig ausfällt. Obwohl ich eine durchschnittliche Lieferzeit von einem Tag und vier Stunden gar nicht mal schlecht finde.

Das Problem ist nur, ich liefere überhaupt nichts, schon gar keine Erze, Mineralien und Substitute. Die gemachten Angaben wie Firmenname, Kategorie „Internationales Business“ und Internationaler Handel Import Export stimmen ünerhaupt nicht mit meiner Schnurpsel-Seite überein. Die Firma Linox GmbH gibt es allerdings wirklich und auf die paßt auch die Beschreibung, nur die Webseite ist falsch. Man findet die Firma, oh großes Wunder, unter www.linox-gmbh.de.

Schnurpsel von früher?

Was wäre nun aber, wenn es schnurpsel.de vielleicht schon vor meiner Zeit mit ganz anderen Inhalten gegeben hat? Ausschließen kann man das nicht, denn ich habe die Domain erst im Juni 2007 registriert und mein erster Artikel erschien am 06.06.07. Also habe ich mal bei archive.org nachgesehen, dort kann man die Internetgeschichte bis 1996 zurückverfolgen.

Und siehe da, schnurpsel.de gab es bereits von März 2001 bis zum Februar 2005. Leider kann man keine Inhalte mehr sehen, da die Domain damals nur per Frameset auf eine private Homepage bei berlinweb.de weiterleitete. Diese gehörte wohl einem gewissen ComiXxx aka Thomas Antelmann. Es war aber bestimmt keine Handelsfirma für Erze und Metalle.

Fazit

So hat mich eine (vermutliche) Spam-E-Mail zumindest dazu gebracht, mal in die Vergangenheit meiner Domain abzutauchen, von der ich vorher nicht vermutet hätte, das es sie überhaupt gibt.

Keine Kommentare »

Burger mit Pommes

Burger mit Pommes, ein Fastfood-Klassiker.

Idee vom SEO-Handbuch (Mohakenox) :-)

2 Kommentare »

WordPress Update 2.9.1

Ja, ich habe es schon wieder getan. Einfach bei den Werkzeugen->Autoupdate auf [Automatisch aktualisieren] geklickt und schon war ich nach kurzer Zeit auf dem aktuellen Stand (WP 2.9.1 de). Nur eine kleine Warnung wurde mir abermals angezeigt:

Warning: gzuncompress() [function.gzuncompress]: data error in /mnt/…/wp-includes/http.php on line 1831

Aber direkt danach steht „WordPress wurde erfolgreich aktualisiert„. Na dann will ich das mal glauben. Ich habe auch noch keine Probleme feststellen können.

Lustigerweise hat mein Artikel zum WordPress-Update auf Version 2.9 die ID 291, das hätte hier jetzt besser gepaßt :-)

2 Kommentare »

WordPress Update 2.9

Ja, ich habe es getan. Einfach bei den Werkzeugen->Autoupdate auf [Automatisch aktualisieren] geklickt und schon war ich nach kurzer Zeit auf dem aktuellen Stand (WP 2.9 de). Nur eine kleine Warnung wurde mir angezeigt:

Warning: gzuncompress() [function.gzuncompress]: data error in /mnt/…/wp-includes/http.php on line 1831

Aber direkt danach steht „WordPress wurde erfolgreich aktualisiert„. Na dann will ich das mal glauben. Ich habe auch noch keine Probleme feststellen können.

Nun werde ich mich erstmal umsehen und gucken, was es so Neues gibt…

Weitere Artikel mit Bezug zu diesem:
3 Kommentare »