Das Putzlowitsch Test- und SEO-Blog
Stichwort: Plugin

Das Problem mit WordPress und den ungültigen URL-Parametern

WordPress hat ein Problem mit ungültigen URL-Parametern. Wenn jemand an die Blogadresse einfach einen Parameter mit einem Wert anhängt, wird das von WP klaglos akzeptiert, obwohl es völlig unsinnige Werte sein können.

Ein Beispiel:
http://vierzehnfuffzig.de/?url=http://www.heise.de
oder
http://vierzehnfuffzig.de/?blafasel=trallalla
oder was auch immer.

In allen Fällen gibt WordPress brav die Startseite meines Test- und Probierblogs aus. Das ist aus SEO-Sicht natürlich schlecht, denn es kann dadurch ganz viel DC enstehen.

Die Abhilfe ist recht simpel, die URL-Parameter müssen einfach gegen die in WordPress bekannten Parameter getestet werden. Das sind nur ein paar Zeilen PHP-Code.

Ich habe das mal in eine kleines Plugin verpackt, welches ich hier zum Download anbiete: 123 Check URL Para Version 0.11

Das war’s, mehr wird nicht benötigt. Probleme könnte es nur geben, falls Plugins oder Themes URL-Parameter verwenden, die nicht in WordPress registriert wurden. Das ist dann aber schlecht programmiert. E sgibt jetzt im Plugin-Quelltext weitere erlaubte Parameter einzutragen:

$para = array( 'p1', 'p2', 'p3' );  // zusätzlich erlaubte URL-Parameter

Einfach die erlaubten Parameter im array wie im Beispiel oben eintragen.

5 Kommentare »

Das RaketenSEO-Ranking im Blog mit meinem Plugin einbinden

Gestern hatte ich ja bereits die maschinenlesbaren Daten von aus.gerech.net vorgestellt. Ihr könnt diese Daten selbst nutzen und auswerten (wenn Ihr es könnt :-). Oder Ihr benutzt einfach mein WordPress-Plugin, das ich hier kurz vorstellen will.

Raketenseo Top-100 Liste

123 Top-100 Plugin

Das Plugin besteht im wesentlichen aus zwei Funktionen.

Die erste Funktion agn_top100_read_data ist für das Abholen der Daten im JSON-Format zuständig. Hier habe ich etwas mehr Aufwand betrieben, um unnötige Requests und Datenübertragungen zu vermeiden. Die Daten werden lokal auf dem Server der WordPress-Installation im Verzeichnis wp-content/uploads gespeichert. Dieses muß daher von WordPress beschreibbar sein, damit das Caching funktioniert.

Die zweite Funktion agn_top100_shortcode implementiert einen WordPress-Shortcode, mit dem man sich die gewünschten Daten im Artikel oder auf der Seite ausgeben lassen kann.

Im einfachsten Fall sieht das dann so aus:
...
Hier findet ihr die aktuelle RaketenSEO Top-100:
<table class='chart-list'>[agn_top100 nam='raketenseo']</table>
...

Per Voreinstellung wird die Liste als Tabelle ausgegeben, allerdings ohne Table-Tags. Die müßt Ihr selbst drumrum packen. Das hat den Vorteil, daß Ihr der Tabelle einfach eine CSS-Klasse oder sonstige Formatierungen mitgeben könnt.

In der Voreinstellung ergibt sich damit eine Tabelle wie auf dieser Beispielseite (ohne Grafik). Die Platzierung wird einfach durchnummeriert, vor der URL steht ggf. ein Symbol für den Ergebnistyp, hinter der URL folgt ein Link-Symbol mit einem (nofollow!) Link zur Seite. URLs, die Länger als 70 Zeichen sind, werden am Ende mit … verkürzt.

Über Shortcode-Parameter kann die Ausgabe angepaßt werden. Folgende Einstellungen sind möglich:

  • nam – Name der Daten
    Vorgabe: ‚xovilichter‚, hier also raketenseo eintragen :-)
  • ret – Was soll der Shortcode zurückgeben?
    Vorgabe: ‚rnk‚, mögliche Werte
    • rnk – Ranking Tabelle/Liste (siehe lit)
    • upd – Datum und Zeit des letzten Updates (siehe dtf)
    • cnt – Anzahl der gefundenen Treffer insgesamt
  • max – Maximal Anzahl auszugebender Treffer
    Vorgabe: ‚100‚, eine Zahl zwischen 1 und 123
  • dtf – Ausgabeformat des letzten Updates (siehe ret:upd)
    Vorgabe: ‚‚d.m.Y H:i‘‚, Format entsprechend PHP-Date-Funktion
  • lit – Listentyp: Tabelle oder Liste?
    Vorgabe: ‚tab‚, mögliche Werte
    • tab – Tabelle (table)
    • lst – Liste (ol)
  • cut – Anzahl Zeichen, ab der eine URL verkürzt wird
    Vorgabe: ‚70‚, eine Zahl zwischen 0 (keine Verkürzung) und größer
  • sym – Typ-Symbol vor der URL anzeigen
    Vorgabe: ‚1‚, zum ausschalten ‚0‘ verwenden
  • lnk – Link am Ende der URL ausgeben
    Vorgabe: ‚1‚, zum ausschalten ‚0‘ verwenden

Hier ein paar Beispiele:
...
<ol>[agn_top100 nam='raketenseo' max='33' lit='lst' sym='0']</ol>
...

Gibt maximal 33 Einträge als HTML-Liste (OL) ohne vorangestelltem Typ-Symbol aus.

...
Top-100 vom [agn_top100 nam='raketenseo' ret='upd' dtf='l, d.m.Y H:i'] Uhr
...

Gibt den Zeitpunkt des letzten Updates formatiert aus.

Technische Voraussetzungen und Download

Technische Voraussetzungen:

  • WordPress 3.8 oder höher
  • PHP 5.2 oder höher mit curl-Funktion
  • Verzeichnis wp-content/uploads muß von WordPress beschreibbar sein

Download Version 0.14: 123 Top-100 Plugin

Falls es Unklarheiten oder Fragen gibt, einfach fragen. :-)

0 Kommentare »

XoviLichter Shortcode im WordPress-Widget – so gehts

Vorvorgestern habe ich das XoviLichter-Ranking-Plugin für WordPress vorgestellt. Mit dem vom Plugin implementierten sogenannten Shortcode kann man die Top-Liste und weitere Informationen an beliebigen Stellen in Artikeln oder Seiten einbinden.

Man kann den Shortcode aber auch prima in einem einfachen Text-Widget verwenden, um z.B. ein XoviLichter-Top-20 in der Sidebar oder im Fußbereich der Seite anzuzeigen. Ein Beispiel habe ich mal auf meiner Bla-Fasel-Testseite im Footer in der Mitte eingefügt. Die Sache ist auch ganz einfach.

Xovilichter-Shortcode im Widget

Man zieht ein Text-Widget in den gewünschten Seitenbereich und befüllt Titel und Inhalt mit den entsprechenden Daten. Ins Textfeld kommt natürlich der Shortcode, eingerahmt z.B. von einer Ordered List (OL) und mit ein paar Parametern versehen:

<ol>[agn_top100 max='20' cut='27' lit='lst' typ='txt']</ol>

Der Paramater max legt die maximale Anzahl der auszugebenden Listeneinträge fest, hier also 20.

Durch cut=‘27‚ werden die Einträge nach 27 Zeichen mit … verkürzt. Das ist ein brauchbarer Wert für ein Footer-Widget im Theme „Twenty Eleven“. In der Sidebar muß der Wert kleiner sein (z.B. 19), weil die Widgets dort schmaler sind.

Mit dem Wert ‚lst‚ für lit (Listentyp) erfolgt die Ausgabe nicht als Tabelle, sondern als HTML-Liste.

Mit dem typ txt werden nur normale Suchtreffer (Text) ausgegeben, also keine Bildern, News oder Videos, die beim XoviLichter-Wettbewerb eh nicht gewertet werden.

Dem ol-Tag kann man noch eine Klasse mitgeben und so die Ausgabe einfach per CSS anpassen. Für die Darstellung der Symbole unter Windows sollte die passende Font-Familie angegeben werden. Ansonsten werden je nach Browser nur Kästchen angezeigt.

ol.top-20 .sym { font-family: "Segoe UI Symbol"; }

Bis hierhin ist alles kein Problem, aber jetzt kommt der kleine Haken an der Sache. Normalerweise interessiert sich die Shortcode-Funktionalität von WordPress nicht für die Texte in Widgets. Glücklicherweise kann man dem mit einer Zeile PHP-Code in der functions.php des Themes Abhilfe schaffen:

add_filter('widget_text', 'do_shortcode');

Damit wird WordPress veranlaßt, auch den Widget-Text durch die Shortcode-Verarbeitung zu schicken und alles ist prima.

Wie man den Zeitpunkt der letzten Aktualisierung in den Widget-Titel bekommt, findet Ihr bestimmt selbst raus.

Na dann, frohes Ranking! :-)

Xovilichter

0 Kommentare »

XoviLichter-Ranking für alle – Das WordPress-Plugin

Vor einigen Tagen hatte ich ja bereits die maschinenlesbaren Daten von aus.gerech.net vorgestellt. Dort hatte ich auch ein paar Zeilen PHP-Code für die Nutzung der Daten angekündigt. Nun sind aus den paar Zeilen doch eine WordPress-Plugin geworden, welches ich hier kurz vorstellen will.

Xovilichter Top-100 Liste

123 Top-100 Plugin

Das Plugin besteht im wesentlichen aus zwei Funktionen.

Die erste Funktion agn_top100_read_data ist für das Abholen der Daten im JSON-Format zuständig. Hier habe ich etwas mehr Aufwand betrieben, um unnötige Requests und Datenübertragungen zu vermeiden. Die Daten werden lokal auf dem Server der WordPress-Installation im Verzeichnis wp-content/uploads gespeichert. Dieses muß daher von WordPress beschreibbar sein, damit das Caching funktioniert.

Die zweite Funktion agn_top100_shortcode implementiert einen WordPress-Shortcode, mit dem man sich die gewünschten Daten im Artikel oder auf der Seite ausgeben lassen kann.

Im einfachsten Fall sieht das dann so aus:
...
Hier findet ihr die aktuelle XoviLichter Top-100:
<table class='chart-list'>[agn_top100]</table>
...

Per Voreinstellung wird die Liste als Tabelle ausgegeben, allerdings ohne Table-Tags. Die müßt Ihr selbst drumrum packen. Das hat den Vorteil, daß Ihr der Tabelle einfach eine CSS-Klasse oder sonstige Formatierungen mitgeben könnt.

In der Voreinstellung ergibt sich damit eine Tabelle wie auf dieser Beispielseite (ohne Grafik). Die Platzierung wird einfach durchnummeriert, vor der URL steht ggf. ein Symbol für den Ergebnistyp, hinter der URL folgt ein Link-Symbol mit einem (nofollow!) Link zur Seite. URLs, die Länger als 70 Zeichen sind, werden am Ende mit … verkürzt.

Über Shortcode-Parameter kann die Ausgabe angepaßt werden. Folgende Einstellungen sind möglich:

  • nam – Name der Daten
    Vorgabe: ‚xovilichter‚, bei zukünftigen SEO-Wettbewerben etwas anderes :-)
  • ret – Was soll der Shortcode zurückgeben?
    Vorgabe: ‚rnk‚, mögliche Werte
    • rnk – Ranking Tabelle/Liste (siehe lit)
    • upd – Datum und Zeit des letzten Updates (siehe dtf)
    • cnt – Anzahl der gefundenen Treffer insgesamt
  • max – Maximal Anzahl auszugebender Treffer
    Vorgabe: ‚100‚, eine Zahl zwischen 1 und 123
  • dtf – Ausgabeformat des letzten Updates (siehe ret:upd)
    Vorgabe: ‚‚d.m.Y H:i‘‚, Format entsprechend PHP-Date-Funktion
  • lit – Listentyp: Tabelle oder Liste?
    Vorgabe: ‚tab‚, mögliche Werte
    • tab – Tabelle (table)
    • lst – Liste (ol)
  • cut – Anzahl Zeichen, ab der eine URL verkürzt wird
    Vorgabe: ‚70‚, eine Zahl zwischen 0 (keine Verkürzung) und größer
  • sym – Typ-Symbol vor der URL anzeigen
    Vorgabe: ‚1‚, zum ausschalten ‚0‘ verwenden
  • lnk – Link am Ende der URL ausgeben
    Vorgabe: ‚1‚, zum ausschalten ‚0‘ verwenden

Hier ein paar Beispiele:
...
<ol>[agn_top100 max='33' lit='lst' sym='0']</ol>
...

Gibt maximal 33 Einträge als HTML-Liste (OL) ohne vorangestelltem Typ-Symbol aus.

...
Top-100 vom [agn_top100 ret='upd' dtf='l, d.m.Y H:i'] Uhr
...

Gibt den Zeitpunkt des letzten Updates formatiert aus.

Technische Voraussetzungen und Download

Technische Voraussetzungen:

  • WordPress 3.8 oder höher
  • PHP 5.2 oder höher mit curl-Funktion
  • Verzeichnis wp-content/uploads muß von WordPress beschreibbar sein

Download Version 0.14: 123 Top-100 Plugin

Falls es Unklarheiten oder Fragen gibt, einfach fragen. :-)

7 Kommentare »

Plug and Play die Zweite

Webmasterfriday - WMF

Das mit den Plugins für WordPress ist ja wirklich eine feine Sache. Es gibt deren viele und sie leisten teilweise Dinge, von denen man gar nicht wußte, das man sie jemals gebrauchen könnte.

Ja, auch ich verwende Plugins. :-)

Das aktuelle Thema des Wabmasterfridays lautet „Die hilfreichsten WordPress Plugins“ und so habe ich hier im Blog-Adminbereich einfach mal nachgeschaut. Es sind derzeit ganze 24 aktive Plugins, die ich jetzt aber nicht alle ausführlich vorstellen werde.

Der Grund ist einfach. Das hier ist mein Test- und Entwicklungsblog und so laufen da viele Sachen zu Testzwecken. Von den 24 Plúgins sind bis auf eines alles Eigenentwicklungen. Man erkennt sie an dem „123 Irgendwas“-Namen.

Fremde Plugins

Das einzige fremde Plugin ist DoFollow. Damit wird des nofollow-Attribut bei Links in Kommentaren entfernt. Das stellt aber keinen Freifahrtschein für jeden Mist dar. Erstkommentare werden moderiert und gegebenfalls Entlinkt oder Entfollowt.

Eigene Plugins

Viele Plugins sind nur kleine Helferlein, teilweise sogar ohne Optionenseite, manche bügeln nur Fehlkonfigurationen der Webhoster aus.

Ein paar haben aber schon einen etwas größeren Umfang und Nutzwert.

  • 123 IntLink
    IntLink zählt zu meinen ältesten Plugins und hat sogar Editor-Buttons. Mit dem Plugin kann man mit der Artikel-ID (bzw. Kommentar-ID) einfach auf bloginterne Artikel, Seiten oder auch Kommentar verlinken. Die Links werden erst zur Laufzeit generiert. Damit passen sie immer, egal ob man mal die Permalinks ändert oder mit dem ganzen Blog umzieht.
  • 123 Shrink Link
    Wer kennt das nicht, im Kommentar hinterläßt jemand einen monstermäßig langen Link, der dann weit nach rechts über den Rand hinausragt und das in mühsamer Arbeit erstellte Design zerstört. Mit Shrink-Link werden solche Links für die Anzeige gekürzt. Mit ein paar Optionen kann man das Kürzungsverhalten steuern.
  • 123 Homelink
    Lange Zeit war es in WordPress nur möglich einen Menüeintrag mit einem Link zur Startseite im Theme zu programmieren. Das Plugin ermöglicht das Hinzufügen des Startseiten Links im Backend, außerdem das Ein- und Ausblenden von Seiten aus dem Menü un das ändern der Menütexte.
    Seit WP 3.0 ist das alles mit den Benutzermenüs ja bereits fest eingebaut.
  • 123 Tools
    Das Plugin ist eine Art Sammelplugin für kleinere Funktionen, für die sich kein eigenes Plugin lohnen würde. Ein Werkzeugkasten halt. :-)

Dann gibt es noch mehrere nicht öffentliche Plugins, die ganz unterschiedliche Funktionen haben. Mit dem „123 Character Mixer“ kann man Buchstaben vertauschen, so daß eigenartig fremdsprachig anmutende Texte entstehen.

Ein brandneues Plugin ist „123 Inline Image“, mit dem die Thumbnails der WordPress-Gallery als sogenannte Inline-Images auf der Seite integriert werde. Das soll dann auch noch für die Thumbnails von Einzelbildern funktionieren.

Auch noch relativ neu ist „123 Author Info“, welches die Autoreninfos und Profil-Links bei Artikeln bzw. im Impressum integriert.

Zu guter Letzt verwende ich für die Spam-Abwehr schon seit Jahren meine eigenes „123 AntiSpam“-Plugin, welches recht ordentlich seinen Dienst im Hintergrund verrichtet.

Feine Plugins

Die WordPress-Plugins sind schon eine feine Sache, wenn man weiß, was man tut und es nicht übertreibt. :-)

4 Kommentare »

Ich will den alten Datei-Hochlader in WordPress zurück haben!

Bis zur Version 3.4 war die WordPress-Welt für mich noch in Ordnung.

Doch mit Version 3.5 wurde ein neuer Dialog zum Hochladen von Dateien installiert, der mir überhaupt nicht zusagt.

Das linke Bild zeigt den alten Dialog, das rechte den neuen.

Gut, es gibt nun eine hübsche Thumbnail-Übersicht, aber darunter leiden die Beschreibungs- und Beschriftungsfelder zum Bild. Sie sind einfach zu schmal.

Außerdem ist mir die Handhabung der neuen Galerie-Funktion zu umständlich. In der alten Version konnte ich einfach alle zum Artikel hochgeladenen Bilder als Galerie einfügen. Jetzt muß ich erst eine Galerie erstellen.

Ich weiß nicht, wie es Euch geht, mir zumindest hat der alte Medien-Dialog besser gefallen.

Kurz und gut, ich habe mich durch die WordPress-Dateien gewühlt und den alten Upload-Dialog wieder hervor geholt. Es war letztendlich einfacher, als ich dachte. Mit ein paar Zeilen PHP-Code kann man den guten alten Datei-Hochlader wieder ans Licht holen.

Diese paar Zeilen PHP habe ich in ein kleines Plugin verpackt, welches Ihr hier findet:
123 Old Uploader

Nun will ich mal hoffen, daß der Code für den alten Uploader von WordPress nicht entfernt wird, dann sähe es nämlich schlecht aus. Aber solange die Möglichkeit besteht, werde ich den alten Uploader nutzen.

1 Kommentar »

Die gute, alte Blogrolle

Wordpress: Link bearbeiten

Lebt sie noch, oder ist sie schon verstorben, die gute, alte Blogrolle?

Die WordPress Linkliste

Ja, bei mir gibt es noch die Blogrolle und sie heißt sogar so. Eigentlich ist es eine von WordPress verwaltete, kategorisierbare Linkliste. Bei jeder neuen WordPress-Installation gibt es genau eine Link-Kategorie bereits vorinstalliert, eben die berühmte Blogroll. Sie ist auch schon mit ein paar Einträgen belegt, es sei denn, man machte eine leere WP-Installation.

In älteren Versionen von WordPress bis einschließlich 3.0.x hatten diese WordPress-Bookmarks noch eine nicht unwichtige technische Funktion. Wenn man bei den Kommentar-Einstellungen die Option

[x] Der Autor muss bereits einen genehmigten Kommentar geschrieben haben.

aktiviert hatte, wurden Trackbacks und Pingbacks von Blogs, die in der Linkliste stehen, automatisch freigeschaltet. Das fand ich sehr gut, mußte ich doch so nicht immer die vielen Pings und Trackbacks von befreundeten Blogs freischalten. Aber leider ist das irgendwie ab WP 3.1 unter den Tisch gefallen.

Deshalb habe ich diese praktische Funktion wieder zum Leben erweckt. Keine große Sache, alles in allem etwa 20 Zeilen PHP-Skript. Hier die Datei:

Download: 123 Comment Approve Blogroll (Version 0.10)

Die Verwendung ist in WordPress als Plugin, als MU-Plugin, in der my-hacks.php oder in der funcions.php des Themes möglich.

Webmasterfriday

Gut, das paßte jetzt vielleicht nicht 100%ig zum aktuellen Thema „Die Blogroll – wichtig oder weglassen?“ des Webmaster-Fridays. Aber egal, es hat mit der Blogrolle zu tun und ich nähere mich dem Thema halt aus einem technischen Blickwinkel.

Allein meiner Faulheit geschuldet, nicht immer alle Ping- und Trackbacks freischalten zu müssen, werde ich die Blogroll behalten und sogar erweitern. Die Funktionalität ist übrigens selbst dann gegeben, wenn ein Link auf

[x] Diesen Link als Privat markieren

steht, also unsichtbar ist. Man kann also einen Link auch nur intern als Trackback-Freischalter verwenden, ohne ihn öffentlich sichtbar zu machen. :-)

Webmasterfriday - WMF

0 Kommentare »