Das Putzlowitsch Test- und SEO-Blog

Metaphysik und Müllabfuhr in WordPress 2.9.x

Meta-stase

Durch diese kurze Meldung zu WPMU habe ich erst mitbekommen, daß es in WordPress seit Version 2.9 eine neue Tabelle ‚wp_commentmeta‘ gibt. Für User und Posts gibt es ja schon länger die dazugehörigen Metadaten in wp_usermeta und wp_postmeta. Nun war ich natürlich neugierig, wofür diese neuen Kommentar-Metadaten in WordPress verwendet werden.

Müllabfuhr

MülltonnenEin wichtiger Punkt ist der seit WP 2.9 eingeführte Papierkorb (Trash). Hier werden Artikel, Seiten und auch Kommentare nicht sofort gelöscht, sondern landen zunächst im Papierkorb.

Genau dafür sind diese Metadaten wichtig. Der Trash-Status wird zwar direkt in den Tabellen wp_posts im Feld post_status als ‚trash‘ und wp_comments im Feld comment_approved als ‚trash‘ bzw. ‚post-trashed‘ vermerkt, zusätzlich aber auch in den Metadaten. Neben dem Status wird auch der Zeitpunkt des „Wegwerfens“ in den Mülleimer festgehalten, und dafür gibt es keine Felder in den Post- und Kommentartabellen, dafür werden die Meta-Tabellen auf jeden Fall benötigt. Deshalb gibt es nun eine Tabelle für Comment-Metadaten.

Aber wen interessiert es, wann die Sachen in den Müll gewandert sind? Die WordPress-Müllabfuhr. Die kommt einmal am Tag vorbei und nimmt alles mit, was schon länger als 30 Tage in der Tonne liegt. Man kann ihr aber auch sagen, das sie den Müll schon früher entsorgen soll oder bitte länger liegen läßt. Ein Eintrag in der wp-config.php genügt:

define( 'EMPTY_TRASH_DAYS', 30 );

Die 30 durch die gewünschte Anzahl an Müllvorhaltetage ersetzen.

Metaphorisch

Aber das ist natürlich nicht alles, was man mit den neuen Kommentar-Metadaten machen kann. Genau wie durch die Post-Metadaten bei Artikeln und Seiten ist es nun möglich, nahezu beliebige Daten zu einem Kommentar zu speichern. Der Phantasie sind da kaum Grenzen gesetzt. Denkbar wäre, hier die beliebte Sternchen-Wertung zu einem Kommentar abzuspeichern. Oder ein…, naja, mir fällt im Moment erstmal nichts weiter ein.

Die Funktionen für die Kommentar-Metadaten gibt es genauso wie für Post-Metadaten. Also z.B. update_post_meta -> update_comment_meta, get_post_meta -> get_comment_meta usw. Die Parameter sind praktisch dieselben, außer das dann natürlich nicht die Post-ID, sondern die Comment-ID übergeben wird.

Meta-don

Für Theme- und Pluginentwickler bieten die neuen Comment-Metadaten sicher berauschende Möglichkeiten für ganz neue, tolle und bisher ungeahnte Funktionen mit den WordPress-Kommentaren. :-)

Keine Kommentare »

Was gibt’s Neues? – 123 Tweets

Schnurpsel 123 Tweets
So sieht gerade mein Twitter-Status (Putzlowitsch) aus, also insgesamt habe ich bisher 123 Tweets abgesetzt. Bei „123 Tweets“ sind mir spontan meine WordPress-Plugins eingefallen, die ich auch immer „123 Irgendwas“ nenne. Da müßte ich jetzt also mal ein Twitter-Plugin entwickeln, daß ich dann „123 Tweets“ nennen kann.

Ich weiß zwar noch nicht genau, was das Plugin machen wird, aber eine Idee habe ich schon. Da ich Twitter bisher im wesentlichen als Linkschleuder für meine Blogartikel verwende, könnte ich das doch gleich automatisieren. Wenn ich einen neuen Artikel publiziere, wird wird gleich ein entsprechender Tweet abgesetzt. Na mal sehen…

Ein Kommentar »

Groß- und Kleinschreibung in der Google-Bildersuche

Google Bildersuche: Erdbeeren Groß- KleinschreibungBisher dachte ich immer, die Groß- und Kleinschreibung würde bei der Googlesuche keine Rolle spielen. Bei der Bildersuche hat sie zwar auch keinen Einfluß auf das eigentliche Suchergebnis, was die angezeigten Bilder anbelangt. Es wirkt sich aber möglicherweise auf die dem Bild zugeordnete Seite aus.

Mein Erdbeeren-Bild existiert noch als (mindestens) eine identische Kopie auf einer anderen Seite. Irgendwann war mir aufgefallen, das nicht mehr mein Erdbeeren-Bild, sondern die Seite mit der Kopie in der Bildersuche verlinkt wurde. Seit ein paar Wochen war dann wieder mein Bild in der Bildersuche aufgetaucht, seit ein paar Tagen wird nun wieder auf die Kopie verlinkt.

Heute nun ist mir zufällig aufgefallen, daß zwar bei der Suche nach erdbeere (Kleinschreibung) die Kopie angezeigt wird, bei Erdbeeren in richtiger Großschreibung (schließlich ist Erdbeeren ein Substantiv) jedoch mein Bild. Allerdings habe ich keine Ahnung, warum das so ist. Denn sowohl bei mir als auch auf der Kopieseite wird „Erdbeeren“ korrekt groß geschrieben.

Komische Sache, vielleicht ist aber alles nur Zufall, denn bei anderen Bildern konnte ich diesen Effekt noch nicht beobachten.

Nachtrag (12.01. 08:00 Uhr)
Es war wohl doch nur Zufall, gestern abend war bei beiden Schreibweisen mein Bilder gelistet, heute ist es wieder die Kopie. Schade. :-)
Nachtrag (12.01. 12:20 Uhr)
Verblüffend, im Monent ist es grad wieder so, wie oben beschrieben, also Kleinschreibung die Kopie, Großschreibung ich. Zudem wechselt beim Aktualisieren manchmal das Google-Logo zwischen „Google“ und „Google bilder“.

Keine Kommentare »

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 »