webCONSUL

the best webCONSUL(ting)

Update auf WordPress 3.0

Sie sind hier: Startseite » Archiv für wordpress

Soeben habe ich eine menge Blogs auf das neue WordPress 3.0 mit dem Releasenamen “Thelonious” in der de_DE-Version portiert.

Bei den meisten Blogs hat das Upgrade problemlos funktioniert, nur bei einem leider nicht.
Der Blog zeigt an sich nur statische Seiten an, weswegen ich mein Template so umgebogen habe, dass es keine weiteren Funktionen gibt und lediglich eine Theme-Datei geladen werden muss.

Um möglichst viele Rechenoperationen zu sparen hatte ich im Design für die Anzeige des Contents lediglich geschrieben:

Das führte dazu, dass nach dem Update der gesamte Content nicht angezeigt wurde.

Das Problem lässt sich einfach lösen, wenn man den Inhalt mit folgendem Code anzeigt:

Rechnet zwar ein paar Millisekunden länger aber das sollte keine Probleme machen.

Daher noch ein paar Empfehlungen für eine schnelle Auslieferung:

  • Fasst so viele Dateien zusammen, wie möglich. Dies sowohl bei den CSS- als auch JS-Files aber auch unbedingt die internen PHP-Aufrufe minimieren.
  • Installiert das WP-Cache-Plugin um möglichst viele Seiten statisch auszuliefern
  • Komprimiert euren Code
  • Optimiert eure Datenbank und euren Webserver auf minimale Timeouts, sodass diese lediglich so lange laufen wie nötig, aber so kurz wie möglicht.

    Hat jemand noch mehr Tips dazu?

    Beste Grüße!
    Peter

  • Designclou und SEO-Mod mittels einfachem JavaScript

    Sie sind hier: Startseite » Archiv für wordpress

    Wie heute schon berichtet arbeite ich gerade für einen Kunden an seinem Webdesign beziehungsweise programmier gerade das zugehörige Template. Das Content Management System dahinter ist einfach ein WordPress, aber das tut an dieser Stelle nichts zur Sache.

    Die Aufgabenstellung war, die “gelben Boxen” beim Überfahren eines Bildes zu deaktivieren. Nachdem ich herausgefunden hatte, dass damit die title- und alt-Tags bei den Bildern gemeint waren, war die Sache einfach.

    So werden aktuell aus SEO-technischer Sicht zwar die Tags geschrieben, aber mit folgendem Code beim Seitenladen mittels JavaScript entfernt:

    for(var i=0; i<document.getElementsByTagName('img').length; i++){
      document.getElementsByTagName('img')[i].removeAttribute('title');
      document.getElementsByTagName('img')[i].removeAttribute('alt');
    }

    Das mag zwar vielleicht den Google-Richtlinien widersprechen, aber heey, das hat mehrere Vorteile. Einerseits wird das Layout dadurch freundlicher und konnte dem Kundenwunsch entsprechend angepasst werden, andererseits wird vermieden, dass die Browserplugins für den 0815 Suchmaschinenoptimierer oder der konkurrierende SEO-Agentur nützliche Informationen preisgeben und letztlich ist es Google erstmal egal, da die Tags trotzdem gewertet werden.

    Somit muss kein Plugin für das WordPress Template extra gehackt werden, welches die Standardoption der Tags abändert und der dicke Bonus obendrauf ist, dass man dem barrierefreiem Web nicht im Wege steht. Denn gerade Browser die keine Bilder anzeigen können und JavaScript deaktiviert haben, ist es letztlich egal, denn hier sind alle Informationen enthalten, die gebraucht werden.
    Der Beweis, dass Google dynamische Inhalte oder genauer Modifikationen am DOM des Browsers aktuell nicht interessiert, habe ich damals schon getestet. Von daher: einfach machen!

    Zusätzlich habe ich für einfachen Bilderklau, über den Rechtsklick, das Kontextmenü sowie den Klick deaktiviert:
      document.getElementsByTagName('img')[i].setAttribute('onmousedown', 'return false;');
      document.getElementsByTagName('img')[i].setAttribute('oncontextmenu', 'return false;');

    Das hilft zwar nicht gegen jemanden der sich auskennt, denn dagegen gibt es keine wirklich wirksame Methode, aber für den 0815-Webuser dürfte das ausreichen.

    WordPress Permalinks mit lighttpd realisieren

    Sie sind hier: Startseite » Archiv für wordpress

    Um Permalinks eines WordPress-Blogs in lighttpd umzusetzen braucht man folgende Regeln:

    Einfach eine Datei /etc/lighttpd/wp-rewrite.conf anlegen und folgendes eintragen:

    url.rewrite-once = (
    "^" + wpdir + "(wp-.+).*/?" => "$0",
    "^" + wpdir + "(sitemap.xml)" => "$0",
    "^" + wpdir + "(xmlrpc.php)" => "$0",
    "^" + wpdir + "keyword/([A-Za-z_0-9-])/?$" => wpdir + "index.php?keyword=$1",
    "^" + wpdir + "(.+)/?$" => wpdir + "index.php/$1"
    )

    und in der /etc/lighttpd/lighttpd.conf beim jeweiligen vhost dann entsprechend:

    $HTTP["host"] =~ "webconsul\.de" {
    var.wpdir = "/"
    include "wp-rewrite.conf"
    }

    Die Infos dazu gibts auch bei: Hinrik und Sudhaker.

    JSXGraph WordPress Plugin Update

    Sie sind hier: Startseite » Archiv für wordpress

    Wie im vorherigen Post erläutert gab es letzte Woche ein neues JSXGraph Release und somit musste das WordPress Plugin dazu auch aktualisiert werden.

    Die Gelegenheit habe ich genutzt um folgende Änderungen einzubauen:
    1.) Jetzt werden die vorhandenen Bibliotheksdateien im Pluginverzeichnis überprüft. Vorher wurde von dem Skript aus der Pfad überprüft, was zwangsläufig zu einem Fehler führt.
    Dazu als Tipp an alle: bei einem WordPress Plugin immer die Pfade aus dem “root-Verzeichnis” aus überprüfen, zum Beispiel: if(file_exists(‘wp-content/plugins/jsxgraph/jsxgraph.css’))

    2.) In Abhängigkeit bereits geladener Javascript-Bibliotheken wie prototype oder jquery wird jetzt keine Bibliothek geladen oder prototype.
    Der Code dazu sieht folgendermaßen aus:

    if(
    !(typeof Prototype != 'undefined' && Prototype.Version)
    &&
    !(typeof jQuery != 'undefined' && jQuery.fn.jquery)
    ) {
    var scr = document.createElement('script');
    scr.src = '". get_bloginfo("wpurl") ."/wp-includes/js/prototype.js';
    document.getElementsByTagName('head')[0].appendChild(scr);
    }
    

    D.h. falls weder prototype noch jquery bekannt sind, wird das mit dem Blog ausgelieferte prototype dynamisch nachgeladen.

    Gibt es dazu evtl. eine elegantere Möglichkeit?

    Neues JSXGraph Release 0.71 – Pluginsupdate

    Sie sind hier: Startseite » Archiv für wordpress

    Gestern wurde das neue JSXGraph Release 0.71 (vgl. freshmeat und sourceforge) angekündigt.

    Damit gibt es auch eine neue Version des MediaWiki-Plugins direkt auf der zugehörigen Seite und das WordPress-Plugin ist auch in aktueller Version zu haben.
    Beim MediaWiki-Plugin gab es noch einen kleinen Securityfix: es darf die codebase nun nicht mehr als Parameter übergeben werden, da sonst beliebiger Code nachgeladen werden könnte, wie PD Dr. Alfred Wassermann bemerkt hat.

    Schaut euch das Release auf jeden Fall mal an, es haben sich einige tolle Sachen geändert bzw. wurden hinzugefügt.

    Neuigkeiten JSXGraph und YUI

    Sie sind hier: Startseite » Archiv für wordpress

    JSXGraph Plugintest

    Sie sind hier: Startseite » Archiv für wordpress

    Hier ist der erste funktionstüchtige Beiträg mit JSXGraph-Konstruktionen.


    Einmal über JavaScript-Code:

    und einmal mit der Übergabe eines Filestrings:

    Damit zählt es als funktionstüchtig, auch wenn momentan noch pre-Tags um die JavaScript-Konstruktionen angegeben werden müssen. Hat dazu vielleicht jemand eine Idee?