PHP Code-Analyse mit Ant

Dieser Beitrag ist Teil 1 von 2 in der Serie Continuous Integration

    Graph LeadIch mag Code. Nicht jeden natürlich, „Douchebag“ Code nervt, Code der aussieht wie ein schreiender Quasimodo oder Code der von einem Dr. Frankenstein in Ausbildung erstellt wurde sind bemitleidenswert und sehr viel Code stinkt. Code, der gefällt (wie beispielsweise der von Frigidor) ist clever ohne zu bluffen, kurz aber nicht kryptisch, tut etwas, ist lesbar und hat einige Wows drin.

    Diese Bewunderung sollte in Zahlen gefasst werden: mit Statistiken, Diagrammen, Balken und Graphen. Dies dient zur Vorbereitung der „Continuous Integration“ mit Jenkins/Hudson, die in dieser Serie behandelt wird. Als Quellen haben vor allem jenkins-php und ein äusserst Lesbarer Artikel im Entwickler Magazin 01/11 gedient.

    Hier wird nun gezeigt, wie mit einem Befehl:

    • Die Unittests durchführt.
    • Qualitative Softwaremetriken mit PHP Depend misst: Hierarchietiefe, Komplexität, …
    • Unschöne Teile mit PHPMD identifiziert.
    • Copy-Paste-Verbrecher aufspührt mit phpcpd.
    • Den Coding-Style prüft mit dem PHP Code Sniffer.
    • Quantitative Softwaremetriken mit phploc misst.
    • Die PHPDoc-Doku erstellt.
    • Die Resultate mit dem PHP Code Browser schön darstellt.

    Weiterlesen

    ClickHeat: Klick, zeig Dich, Du bist umzingelt!

    Heatmaps

    Spannende Methode zur Analyse des Benutzerverhaltens von Websites sind sogenannte Heatmaps. Sie speichern die Koordinaten aller Klicks auf eine Website und stellen sie mit „Hitzepunkten“ dar:
    Beispiel Heatmap

    Crazy Egg

    CrazyEgg in ActionEine „kommerzielle“ Möglichkeit zum Erstellen solcher Heatmaps ist CrazyEgg. Die Basisvariante ist gratis und reicht eigentlich aus für kleine Websites. Viel Web 2.0-Ajax und eine einfache Bedienungsführung machen es zu einem angenehmen Tool. Es ist möglich verschiedene „Tests“ zu fahren mit unterschliedlichem Aufbau der Website und diese Durchgänge dann zu vergleichen.
    CrazyEgg hat es voll im Griff die Klicks den richtigen Links zuzuordnen. Keine leichte Aufgabe wenn man bedenkt, dass jeder Besucher mit einer anderen Auflösung ankommt. Zur Auswertung stehen folgende Darstellungen zur Verfügung:

    Overlay (Siehe Bild)
    Zeigt die Attraktivität der Links in absoluten und relativen Zahlen
    List
    Eine Liste aller Links mit ihrer Popularität
    HeatMap
    Eine schöne Heatmap halt…
    Confetti
    Klicks anzeigen an Hand des Referrers (der Website von welcher die Besucher gekommen sind)

    ClickHeat

    ClickHeat ist eine freie Implementierung für Heatmaps. Sie kann auf dem eigenen Server betrieben werden und ist somit sehr geeignet für Kontrollfanatiker wie ich einer bin. Die Installation ist denkbar einfach:

    1. Downloaden der Applikation.
    2. Alles an einen Ort auf dem Server entpacken
    3. Im Browser dieses Verzeichnis aufrufen (Beispielsweise http://www.yoursite.com/clickheat/index.php)
    4. Alles korrekt einstellem
    5. Den Javascriptcode im Footer der Webseiten einbinden
    6. Abwarten, Tee trinken, Sackhüpfen und danach wieder das ClickHeat Verzeichnis aufrufen
    7. Sich freuen!

    Einige Tips noch dazu:

    • Man kann und sollte die eigenen Klicks ausblenden (erster Menüpunkt im Hauptmenü).
    • Beim Generieren vom Javascript kann angegeben werden, wie die Linkdaten unterschieden werden:
      • Mit Keyword. Hier muss aber auf jeder Seite der Javascriptcode angepasst werden! Hben alle Seiten denselben Footer, werden wild alle Klicks gesammelt, auch wenn jede Seite anders aufgebaut ist.
      • Nach Titel oder Pfad: Damit kann schön nach einzelnen Seiten unterschieden werden.
    • Um zu checken, ob die Datensammlung funktioniert, die Seite mit dem Parameter ?debugclickheat aufrufen. Also beispielsweise http://www.yoursite.com/index.php?debugclickheat. Dies zeigt ein nettes Overlay mit vielen Informationen.
    • Unbedingt das Layout der Site konfigurieren (beim Icon Icon zur Layoutangabe), da er ansonsten die Klickpositionen ein Bisschen durcheinander bringt. Dieses Blog beispielsweise ist Fixed left and right menus, liquid content.

    Resultate

    Was habe ich für dieses Blog für Erkenntnisse gewonnen?

    1. Die Suche wird benutzt und hat somit ihren prominenten Platz oben rechts verdient.
    2. Es wird ziemlich oft auf das „lead-in“ Bild geklickt. Hmmm, was dies zu bedeuten hat muss ich mir noch überlegen. Was erwarten die Besucher wenn sie draufklicken?
    3. Es wird auch auf den kleinen Link skaldrom oberhalb der Beiträge geklickt. Ich habe den Link darum weg von der Homepage (was wohl eher verwirrend war) auf die Schreiberling-Seite umgebogen.
    4. Die Ads scheinen in einem guten Bereich mit vielen Clicks rundherum zu sein.

    Weiteres

    t-error (error terror?) hat auch über ClickHeat geschrieben. Inspirierend war auch wieder einmal der ProBlogger Beitrag.

    Histogramme in Excel

    Aufgabenstellung

    In einer Umfrage wurde gefragt, wie viele Minuten für den Arbeitsweg gebraucht und mit welchem Verkehrsmittel sie zurückgelegt werden:

    Wieviel Zeit in Minuten benötigen Sie für den Schulweg? Welches Verkehrsmittel benützen Sie?
    15 Individualverkehr
    25 Öffentlicher Verkehr
    5 zu Fuss
    40 Individualverkehr
    30 Sonstiges
    55 Kombiniert
    80 Sonstiges
    45 Öffentlicher Verkehr

    Wie stellt man das als Diagramm dar? Jede einzelne Minute kann es nicht sein, das würde wohl etwas unübersichtlich… Man müsste Bereiche bilden können (bis zu einer Viertelstunde, zwischen einer Viertelstunde und einer halben Stunde, …). Genau hier kommen die Histogramme ins Spiel…

    Vorgehen

    Für die Diagrammdaten muss eine Tabelle nach folgendem Schema erstellt werden:

    A B C D E F G
    1 Zeit [Min] Individualverkehr Kombiniert Öffentlicher Verkehr Sonstiges Obergrenze Insgesamt
    2 0-15 15
    3 16-30 30
    4 31-45 45
    5 46-60 60
    6 61-75 75
    7 76-90 90
    8 91-120 120
    9 >121 9999

    Da wir nach Art und Weise wie der Schulweg zurückgelegt wird gruppieren möchten, muss die Tabelle mit den Rohdaten zuerst danach sortiert werden: Daten > Sortieren….

    Nun wirds tricky. Folgendes wiederholen für alle leeren Spalten (Individualverkehr, Kombiniert, Öffentlicher Verkehr, …):

    1. Den leeren Zellen eines Bereichs markieren (Beispielsweise B2-B9 für Individualverkehr)
    2. Einfügen > Funktion… > Statistik > HÄUFIGKEIT (FREQUENCY in Englisch). Daten sind die Quelldaten (die Minuten für den Individualverkehr) und die Klassen sind die Obergrenzen (bei diesem Beispiel G2:G9). Und nun (!) die drei Tasten ctrl+shift+Enter (Deutsch: strg+umschalt+Eingabe) gleichzeitigdrücken.

      Haeufigkeitsfunktion im Funktionsassistent

    Nachdem alle Arten von Verkehrsmitteln so eingereiht sind, kann ein Diagramm erstellt werden mit den Daten ohne die Obergrenze (A2:F9).

    Histogramm

    Weiteres

    Es gibt auch ein Add-In (Analyse-Funktionen), aber als Kontrollfreak mach ichs gerne von Hand…

    Arbeitszimmer hat eine sehr gute, bebilderte einführung.

    Wieviel Wert hat ein Blog bzw eine Website?

    Grundgedanken

    Ich möchte hier ein paar Gedanken fabrizieren zum Wert einer Website – nicht für den vielgesuchten Besucher – sondern für den Betreiber. Eigene Erfahrungen ergänzt durch ein paar Links und ein paar Fakten.

    Links auf Firmen bei denen ich eingetragen bin und die meinen persönlichen Code angehängt haben sind mit (Affiliate Link) gekennzeichneten. Ich hoffe, das ist ok so…

    Die Massgrösse

    Geld regiert die Welt, darum sollen alle ideellen Werte mal rechts und links vom Tunnelblick liegen. Klar macht es Spass, ein Blog zu schreiben und es ist ein schönes Gefühl, wenn ein Beitrag auch tatsächlich gelesen wird. Ein Kommentar oder ein Trackback machen Freude und Freunde und man fühlt sich wohlig eingebettet in die Heerscharen der Web 2.0 Anwender.

    Es wüden sich viele sinnvolle Massgrössen anbieten: Beispielsweise die Anzahl der erfolgreichen Geschäftsabschlüsse die durch eine Site generiert werden. Erstens passt das aber nicht auf Blogs und zweitens weiss man nie, ob diese Leads nicht auch ohne Internet zustande gekommen wären. Bei dieser Massgrösse ist auch nicht berücksichtigt wieviele potentielle Kunden sich über das Web informieren und auf einem anderen Kanal einkaufen.

    Die Anzahl Besucher wäre auch eine Messgrösse, aber leider ist sie schwer zu ermitteln und ob die Vorbeisurfenden wirklich zum Zielpublikum gehören kann auch nicht abschliessend beurteilt werden.

    Bewertungsmöglichkeiten bei Blogs

    Kaufangebote

    Jaaa, wenn man ein Blog veräussern kann ist der Wert sehr genau bestimmt. Dies wird aber den wenigsten von uns vergönnt sein.

    Werbung

    Will man mit Werbung auf dem Blog Geld verdienen, so gibt es grundsätzlich zwei Varianten:

    Provision

    Man verkauft Produkte und erhält einen Teil des Gewinns. Möglich zum Beispiel bei Amazon und vielen Weiteren. Der Rubel rollt zwar gut pro Verkauf, aber es ist kein einfacher Weg. Das Ganze bietet sich wohl am ehesten an für themenzentrierte Blogs. Die Margen sind unterschiedlich, von 3% bis 10%, mit und ohne Beschränkung nach oben.

    Hier kann ich keine praktische Erfahrung beisteuern…

    Clicks

    Man blendet Werbung ein und kriegt Kohle für jeden Klick.
    (Affiliate Link), aber es gibt auch den direkten Konkurrenten, das Yahoo Publisher Network.

    Die AdSense Seite hat viele Hilfen und gute Reports; man wird also unterstützt. Dieses Blog ist relativ neu und noch schlecht verlinkt. Mit ca. 40 Leserinnen und Lesern pro Tag habe ich innerhalb einer Woche schon fast $1 verdient! Das werde ich bei Gelegenheit mal mächtig versaufen gehen 😀 …

    Als Tool kann ich den AdSense Notifier empfehlen. Er blendet beim Firefox den aktuellen Stand unten rechts ein und verhindert das minütliche nachschauen ob der 5. Klick schon passierte und ob man schon am 2. Dollar arbeitet *lach*.

    Steigern kann man sich nur durch viele, klickfreudige Besucher. Sprich: Man optimiert die Seite für Suchmaschinen (SEO, siehe unten) und schreibt interessantes Zeux, das die Menschen interessiert.

    Bezahlte Inhalte

    Es gibt Unternehmen wie zum Beispiel Trigami (Affiliate Link) für den deutschen Raum. Diese Unternehmen bezahlen Blogger für Berichte. Das machen sie nicht aus Goodwill und Altruismus, sondern sie werden wiederum von ihren Auftraggebern bezahlt. Das Blog muss angemeldet werden und die Kunden bekommen das Profil mit Eckdaten präsentiert. Wird man ausgewählt, so kann man sich um einen Bericht bewerben.

    Für dieses Blog hätte es in 2 Wochen Aufträge für ca. 20 CHF (etwa 12 €) gegeben, die leider thematisch nicht gepasst haben.

    Steigern kann man sich, indem man seine Eckdaten verbessert, sprich SEO und/oder Anziehende Beiträge.

    Linkverkauf

    Firmen wie LinkLift (Affiliate Link) verkaufen Links. Damit steigt der PageRank (siehe unten) und theoretisch wird man als wichtiger geachtet. Allerdings ist das erst ab einem PageRank vom 3 und höher finanziell interessant. Da ich noch kein PageRank-Update mitgemacht habe funktioniert das mit diesem Blog noch nicht. LinkLift (Affiliate Link) besitzt auch einen interessanten Preisrechner, mit dem man mal grob abschätzen kann wieviel Kohle drin liegt.

    Nachtrag: Google mag keinen Linkverkauf!!!! Darum lieber zweimal überlegen!!!

    Wertsteigerung

    Wertsteigerungsmöglichkeiten gibt es einige.

    Mehr Besucher

    Die beste Möglichkeit viele BesucherInnen anzuziehen sind attraktive Inhalte (ich kanns nicht genug widerholen). Aber auch eine gute Plazierung bei den Suchmaschinen können helfen und soziales Bookmarking im weitesten Sinne wie Stumble Upon, Mister Wong, Del.icio.us, etc sind wichtige Besucherquellen.

    Weitere Möglichkeiten sind Kommentare in anderen Blogs oder Teilnahme in einem Forum. Auch „Linkbaits“ eignen sich gut. Linkbaits sind Köder in Form einer kleinen Applikation, einer kontroversen Meinung, etc…

    Google-Pagerank

    Google versieht alle Sites mit einem PageRank. Der ist abhängig von der Anzahl und Qualität der Links auf die Site und dem PageRank dieser linkenden Sites. In wieweit der PageRank bei der Positionierung der Suchergebnisse eine Rolle spielt ist unklar. Der PageRank wird nur alle paar Monate angepast! Also nicht verzweifeln.

    Die so enorm wichtigen Links kann man kaufen, tauschen, selber erstellen in Linklisten, Verzeichnissen und Gästebüchern (bei nofollow Tags bringts nichts für den PageRank, denn die Links zählt Google nicht) oder hoffen, dass der eigene Content gut und verlinkenswert ist ist. Blogs können in einem oder mehreren Blogverzeichnissen untergebracht werden.

    Beim Pagerank helfen die Webmaster Tools und Google Analytics, die eine tiefere Analyse der Website erlauben. Der Backlink-Checker liefert die Backlinks einiges zuverlässiger als Google.

    Alexa-Rating

    Alexa bietet eine Toolbar in einer Version für Firefox und einer für den MSIE an. Diese senden alle angesurften Sites zum Zentralserver und der generiert ein Ranking. Je höher dieses Ranking, desto besser. Sehr konfus, aber was solls. Verbessern kann man sein Rating durch installieren der Toolbar und surfen auf seiner seiner Site :)….

    Tools und Links

    Firefoxextensions
    ScribeFire, Alexa SearchStatus, WebDeveloper, Firebug und Adsense-Notifier in Aktion beim Firefox.

    Eine generelle Analyse macht Seitwert. es berücksichtigt viele Faktoren und gibt Anregungen. Sitescore ist nun schon seit längerem offline.

    Eine gute Serie, die viele Themen abdeckt, hat Problogger erstellt. Diesem Mensch sollte man besser glauben, immerhin macht er $20’000 pro Monat mit seinen Blogs!
    Fundierter als dieser Bericht über den Sitewert geht 7media an das Thema heran.

    Auch viele tote Bäume wurden mit Tinte getränkt: Das berühmteste Buch ist wohl das SEO Book. In Deutsch gibt seo-complete.com. – Suchmaschinenoptimierung einen guten Überblick.

    Spassiges

    Tja, der SEOismus treibt lustige Blüten! Spamluder verlost Backlinks. Linkgeil wie ich bin, hab ich somit auch beim Wettbewerb mitgemacht 😀 …