webCONSUL

the best webCONSUL(ting)

150% Geschwindigkeitsverbesserung durch manuelles Caching

Sie sind hier: Startseite

Wie ihr über das Wochenende sicher bemerkt habt, hatte dieser Server am Wochenende mehrmals Schluckauf, was dem Speicherengpässen zuzurechnen ist.

Sowohl der Arbeitsspeicher als auch die Swap-Partition liefen regelmäßig voll, da die Requests nicht mehr bearbeitet werden konnten.

Dies ist nun über einen einfachen aber sehr wirkungsvollen Hack gelöst.
Alle 45 Minuten wird nun der jeweilige Blogindex manuell gecached und somit als statische Variante ausgeliefert.
Das funktioniert einfach in der Verbindung mit cron (*/45 * * * * /home/pw/bin/cron.sh 2>&1 /dev/null) und:

/usr/bin/wget -N -q -O /.../www/domain1.org/index.html http://www.domain1.org/ondex.php
/usr/bin/wget -N -q -O /.../www/domain2.de/index.html http://www.domain2.de/ondex.php

Das funktioniert einfach und gut. Vorher muss nur die alte index.php von WordPress in ondex.php umbenannt werden (oder ihr ändert einfach die Auslieferungsreihenfolge von index.php auf zuerst index.html) und gegebenenfalls die Permalinks abgeändert werden, in diesem Fall auf:
/ondex.php/%category%/%year%/%monthnum%/%postname%/

Der Vorteil gegenüber herkömmlichen Caching-Plugins wie WP-Cache, WP Super Cache und Co ist schlichtweg, dass alle PHP-Interpretationen und MySQL-Aufrufe eliminiert werden und so zumindest auf der jeweiligen Startseite keine unnötige Speicherbelastung vorkommt.
Die jeweiligen Unterseiten werden, zumindest bei mir, dann über WP-Cache bedient, denn dort sind die Speicheraufrufe weniger interessant, da der meiste Traffic einfach auf der Startseite ankommt.

Der 45 Minutenintervall wird verwendet, da meine Blogs meist zu diesen Zeiten geupdatet werden.

Damit könnt ihr loslegen und euch einiges an Speicher sparen.

Written by PW - the webconsul

Juli 26th, 2010 at 9:02 am

Posted in wordpress

Eigenes Dateisystem in nur 50 Zeilen Code

Sie sind hier: Startseite

Geeks und nerds, schaut euch diesen Artikel an:
Building Filesystems the Way You Build Web Apps

In selbigem wird beschrieben, wie man ein Dateisystem in nur 50 Zeilen Python-Code schreiben kann.

Das ist zwar in erster Linie nur Spielerei kann aber meiner Meinung nach zum automatisierten Erzeugen von Content auf diversen Plattformen dienen :D

Written by PW - the webconsul

Juli 8th, 2010 at 6:28 pm

Posted in Geekstuff

Tagged with , ,

How To Hijack Facebook Like – oder: wie bringe ich Deinen Like-Button unter (meine) Kontrolle

Sie sind hier: Startseite

===DISCLAIMER===
Dieser Beitrag ist definitiv in die Kategorie Blackhat und damit in Deutschland als nicht nutzbar einzustufen.
Bitte haltet euch daran und respektiert, dass der Release des Codes nur als Proof of Concept dient und so keinesfalls genutzt werden darf und soll.
Wer dies macht, macht es auf eigene Gefahr und macht sich unter Umständen strafbar.
===/DISCLAIMER===

Genug der mahnenden Worte.
Heute geht es in einem einfachen aber effektiven Beispiel darum, wie ich Kontrolle über den Like-Button auf Facebook bekomme.
Damit könntet ihr eure Social Media Optimierung auf eure Links einfach durchführen, denn jeder Websitebesucher mag euch automatisch und teilt dies dann auch freudig allen seinen Freunden mit. Ob er mag oder nicht.

Als was man diese Methode genau bezeichnet weiß ich nicht, ist an dieser Stelle auch egal, denn es soll ja sowieso nicht gemacht werden. Man könnte es als Clickjacking bezeichnen.

Und zwar kommt der Nutzer auf eine Seite und es wird ein kleines Skript geladen, welches sich an seinen Mauszeiger hängt und bei einem Klickevent eben auf den Button drückt.
Klingt simpel, ist es auch:
Facebook Like Button Hijack
Das Skript gibt es als Archiv zum Download hier: fb-hijack-direct

Das funktioniert ganz einfach, da in der JavaScript-Datei eine HTML-Division erzeugt wird, mit folgendem Inhalt:
<iframe id="ifra" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.google.de/&layout=standard&show-faces=true&width=650&action=like&colorscheme=light" scrolling=no frameborder=0 width="30px" height="25px" style="opacity:.0;filter: alpha(opacity=0); -moz-opacity: 0.0;"></iframe>
Damit wäre die zu mögende Adresse http://www.google.de/.
Zu bermerken ist hierbei, dass der CSS-Style das ganze unsichtbar macht.

Wenn Du das Skript auf genau der Seite nutzt, dessen URL gehypt werden soll, dann funktioniert es. Denn der iframe sendet an Facebook den richtigen Referer, sodass auch so mancher Sicherheitscheck umgangen werden kann.

Der Hook document.onmousemove=followmouse erledigt dann den Rest, denn die Funktion followmouse nimmt jeweils die aktuelle Position des Mauszeigers, korrigiert dann die Position des obigen divs mit dem enthaltenen iframe, sodass sich der Zeiger immer über der jeweiligen Klickposition, dem Like-Button, befindet.

In Anlehnung an meinen Post damals zur effektiven Steigerung der Conversion Rate mittels Browserhistory kann man dieses Beispiel natürlich auch noch aufwerten und vorher überprüfen, ob der User überhaupt schonmal auf Facebook war und sich dort gegebenfalls schon eingeloggt hat.
Das Beispiel dazu gibt es in diesem Archiv als Download:
fb-hijack-visited

UPDATE: Genutzt wird das aktuell über diverse Tattoo oder ähnliche Seiten!

Also lasst euch nochmals sagen, dass ihr das auf keinen Fall nutzen sollt.
Und wenn ihr das doch macht, dann seid ihr böse Buben!
Diesen Jungs dürfte das gefallen.

Written by PW - the webconsul

Juli 1st, 2010 at 4:45 am

Lesetipps zu Multitouch Events auf dem iPad

Sie sind hier: Startseite

Wer sich auch gerne in das Thema Multitouch auf Apple-Geräten einlesen möchte, dem seien folgende Links empfohlen:

In den obigen 4 Artikel (bzw. 6 Links) wird ausführlich, mit Codebeispielen, erklärt, wie man für das iPhone von Apple oder dem neuen Apple iPad Events erzeugt um Aktionen mehrerer Finger, dem so genannten Multitouch, entwickelt.

Dabei handelt es sich nicht um die üblichen Dreh- und Zoombewegungen, denn das sind eigentich nur Gesten und in der Entwicklung nicht unbedingt als Multitouch anzusehen. Multi kann mehr als 2, 3 oder 10 Finger sein.

Written by PW - the webconsul

Juni 30th, 2010 at 5:56 am

Conversion Rate Optimierung – Call To Action und die Kunst

Sie sind hier: Startseite

Um die Conversion Rate Deiner Website zu verbessern, solltest Du unbedingt den Call To Action auf die rechte Seitenhälfte schreiben.

Dies ist der erste Post zu dem Thema hier, deswegen eine genauere Erläuterung ;-)

Dieser Test wurde genutzt um auszuprobieren, wohin die Aufforderung an der User soll eine bestimme Aktion zu machen. Sei es sich in den Newsletter einzutragen, Software herunterzuladen, in den Einkaufswagen zu klicken und vieles mehr.
Man kann sich streiten ob es wissenschaftlich ist, empirisch bewiesen ist es auf jeden Fall ;-)

Da dies der erste Post in der Kategorie Conversion Rate Optimization ist, gibt es noch einen Link auf The Art Of Conversion in 200 Wörtern:

PERSUADE BUT DON’T COERCE. BELIEVE YOUR OWN MESSAGE. DON’T MAKE YOUR CTA BIG JUST TO OVERCOMPENSATE. SHOW CONTEXT. BE RELEVANT. SUCCINCT. THROW AWAY COPY. THROW AWAY MORE COPY. USE DIFFERENTIATION AS A FILTER. BE OK WITH PEOPLE LEAVING. BE HUMBLE RE: YOUR BENEFITS. SURPRISE YOURSELF TO SURPRISE THE CUSTOMER. AUTHENTICITY RULES. ALWAYS. IF THE ACTION IS COOL YOU DON’T NEED TO CALL IT OUT. DRINK RED WINE. SEEK PRESSURE POINTS. OBSERVE. MAKE ORDINARY UNORDINARY (there’s no extra). GO BIG OR GO SMALL. IT DOESN’T MATTER. USE CONTRAST. USE DIRECTIONAL CUES. LOOK HERE vs CLICK HERE. …weiterlesen

Written by PW - the webconsul

Juni 30th, 2010 at 3:05 am

Mind Maps für Blogbeiträge

Sie sind hier: Startseite

Mind Maps für Blogbeiträge
von eisy auf blogsezene.com

Nicht nur das Bild lohnt sich, auch der Beitrag von eisy lohnt es sich komplett zu lesen.
Die Methodik kann man nämlich nicht nur für die Entwicklung eines Blogposts nehmen, sondern auch sehr gut zum Programmieren.

Written by PW - the webconsul

Juni 30th, 2010 at 12:56 am

Update auf WordPress 3.0

Sie sind hier: Startseite

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

  • Written by PW - the webconsul

    Juni 20th, 2010 at 8:17 pm

    Safari Reader im neuen Safari 5

    Sie sind hier: Startseite

    Im neuen Safari 5 von Apple gibt es ein besonders wichtiges Feature, den Safari Reader.

    Dieser ermöglicht es auf Newsseiten oder Blogartikel nur den Inhalt anzuzeigen, die Sidebars, Header, Werbung und das andere Drumherum auszublenden.
    Im Screenshot ist das beispielhaft für heise online zu sehen:

    Safari Reader

    Weitere Informationen zum neuen Apple Safari 5 gibt es for news articles und im fscklog.

    Wenn ihr das Feature auf eurer eigenen Seite anbieten und einbinden wollt, dann braucht ihr lediglich die HTML 5 Tags <article> sowie </article> um den anzuzeigenden Content schreiben.
    Dabei scheint es so, als ob nur geschlossene Textblöcke darin zugelassen sind und nicht jeder <article> verwendet wird um das Reader Symbol in der Adresszeile anzuzeigen.

    Written by PW - the webconsul

    Juni 9th, 2010 at 10:08 am

    Posted in entwicklung

    Tagged with , , , , , , ,

    Caffeine ist live – Google on the run!

    Sie sind hier: Startseite

    Google hat es getan: Caffeine ist live.

    Eine detaillierte Erläuterung dazu schreibt Vanessa Fox persönlich beim Search Engine Land

    Den besten deutschen Artikel gibt es dazu bei Sistrix, der dazu schon einen Vortrag gehalten hatte.

    Aber natürlich darf man die unterschiedlichen Rankings zwischen Google und Bing nicht vergessen, die Rand herausgearbeitet hat.

    Written by PW - the webconsul

    Juni 9th, 2010 at 9:44 am

    Posted in Google

    Tagged with , , , ,

    Flattr – die andere Wertschätzung für einen Blog

    Sie sind hier: Startseite

    Den letzten Post über Flattr habe ich eben bei Jochen Mai in der Karrierebibel gelesen:
    Flattr – Haste mal nen Euro?
    Und genau deswegen habe ich mir das mal näher angeschaut.

    Enno hatte auch schon darüber berichtet, genauso wie netzwertig, netzpolitik und die TAZ.
    Sucht man tiefer, findet man so einiges.

    Das Video zeigt das Prinzip:



    Ich finde die Idee sehr gut, hab aber Bedenken, dass sich das System zu leicht aushebeln und manipulieren lässt.
    Auf der anderen Seite ist es ein guter Start um eine Art Bezahlsystem für Blognachrichten einzuführen, welches schon lange hat auf sich warten lassen.

    Es muss ja nicht immer alles durch Werbung finanziert werden, im Gegenteil!

    Written by PW - the webconsul

    Juni 8th, 2010 at 4:25 pm

    Posted in Affiliate

    Tagged with , , , , ,