Statistik plugins i WordPress – Tæl klik med click counter

Blandt de mange statistik plugins til wordpress er Ozh’s “Click counter plugin for WordPress
Det plugin gør netop dette, dvs. tæller kliks på udgående links fra bloggen. (Udgående links defineres som links med http://osv.. )
Click Counter tæller de udgående klik vha. en trackerfil som alle udgående links i blogposterne ledes omkring. Når blogposterne vises i browseren er alle links tilføjet go.php? med den oprindelige url efterhængt. (altså f.eks. go.php?http://www.bo-k.dk ). Det sker rent automatisk.

Installation

Plugin’et er veldokumenteret og rimeligt nemt at installere. Ud over at selve plugin’et skal uploades til plugin mappen og aktiveres fra admin modulet, skal den nævnte trackerfil (go.php) uploades til blog-root folderen og så skal der oprettes en ekstra tabel i databasen.
Et par template tags placeret de rigtige steder gør det muligt bagefter at få et overblik over optællingen.

Konfiguration og hacks

Hvis man har lyst kan man – via konfigurationsparametre – influere på Click Counters opførsel.

Man kan f.eks. sætte det til at hente den originale titel på de websites der linkes til, første gang der klikkes. Og man kan sætte plugin’et til efterfølgende at opdatere denne information med et eller andet ønsket interval. (for hver 100, eller 1000 klik f.eks. ) Smart.

Vil man have links i f.eks. ens blogroll talt med må der fifles lidt med template filerne. Det fortælles hvordan dette kan gøres i vejledningen til plugin’et.

Jeg valgte istedet at hacke den relevante funktion i wordpress filen links.php i include mappen.
Find i givet fald funktionen get_links.
Tilføj flg. variabel i starten af funktionen:
$myoutgoingurl = get_settings('siteurl') . "/go.php?";
Og så skal man ændre den linie der starter med:
$output .= '<a href=
så den får formen:
$output .= '<a href="'.$myoutgoingurl . $the_link . '"' . $rel . $title . $target. '>';

Problemer?

Enkelte småting:
Click Counter er strikt xhtml. Det betyder at links i formen
<a href='http://bo-k.dk'>
maltrakteres af plugin’et. (Problemet er de enkelte ‘ anførselstegn, standarden kræver der anvendes dobbelte “).

Det har gav problemer med ældre poster på denne blog der af og til er håndkodede med enkelte anførselstegn. (UPS!) (WordPress som sådan håndterer linkene helt korrekt.)
Men problemet kan så vidt jeg har eksperimenteret mig frem til klares ved at finde linien:
preg_match_all ('/[^=]{1,}="[^"]+"/', $html, $wp_ozh_click['link']);
udkommentere denne
//preg_match_all ('/[^=]{1,}="[^"]+"/', $html, $wp_ozh_click['link']);

og indsætte flg. i stedet:
preg_match_all ('/[^=]{1,}=["\']?[^"\']+["\']?/', $html, $wp_ozh_click['link']);

Desuden skal linien
$wp_ozh_click['link'][trim($tag)]=trim($value, '"');

ændres til
$wp_ozh_click['link'][trim($tag)]=trim($value, '\'"');

Jeg var desuden ude for at en af de titler der automatisk var hentet ned brød layout her i bloggen. Det vidste sig der i selve titlen var indsat html tags, altså:
<title>her er <i>en</i> titel</title>
Det er formentlig heller ikke korrekt html(?). Problemet kan løses ved at tilføje php funktionen strip_tags() på rette sted i selve plugin’et.

Værre er at der også opstår problemer med tegnsætningen, f.eks. æøå (for slet ikke at tale om mere eksotiske tegnsæt end det danske alfabet) i denne sammenhæng.

Og nu vi er igang: I samme funktion (wp_ozh_click_gettitle) vil det såvidt jeg kan vurdere være en god ide at ændre asfnittet:
if (function_exists('fopen')) {
$fp = fopen ($url, 'r');
while (! feof ($fp)){
$webpage .= fgets ($fp, 1024);
if (stristr($webpage, '<title>' )){
break;
}
}

således det får flg. udseende:
if (function_exists('fopen'))
{
$fp = fopen($url, 'r');
if($fp)
{
while (!feof($fp))
{
$webpage .= fgets ($fp, 1024);
if (stristr($webpage, '<title>' ))
{
break;
}
}
fclose($fp);
}

Den nævnte trackerfil go.php fungerer v.h.a. af redirects. Jeg er blevet (gjort) opmærksom på problemer i den forbindelse… Det sidste kan man selvfølgelig vælge at ignorere, det kan også være anledning til at søge andre løsninger.

Konklusion

Click Counter er nemt at installere og installationen er veldokumenteret men plugin’et fungerer altså ikke helt uproblematisk.
Det er meget interessant at se hvor meget (eller hvor lidt!) der klikkes på links i en given post.

Click Counter er måske ikke den ultimative løsning og har som nævnt et par skønhedspletter, men jeg er ikke stødt på andre plug’ins som leverer denne funktionalitet. Har man lyst til mere, kan koden jo bruges som udgangspunkt for egne udvidelser og tilføjelser.

1 kommentar -

Poster der ligner : programmering - wordpress - - - - -

Indrykket : 10. november 2006 - (Læst 4047 gange)

*

En kommentar til “Statistik plugins i WordPress – Tæl klik med click counter”

  1. » AJAX Link Tracker - Weblog at bo-k dot dk skriver: 6. december 2006 kl. 19:47

    […] Jeg har tidligere skrevet om et link tracker plugin til wordpress, som giver nysgerrige bloggere mulighed for at tjekke i hvilket omfang der klikkes på links i blogposterne. […]

Skriv en kommentar

om...

Weblog at bo-k dot dk - blog om blogs, nettet, IT, medier, fri software etc.

cookies

Weblog at bo-k dot dk anvender både 1. parts- og 3. parts cookies. Besøg på Weblog at bo-k dot dk forudsætter at du er indforstået med anvendelsen af cookies.

følg med...

RSS Feed til din nyhedslæser Følg bloggen på twitter

find...

søg i alle indlæg:

kontakt...

kontaktformular

Creative Commons Navngivelse - Ikke-kommerciel - Del på samme vilkår 2.5  Licens Weblog at bo-k dot dk is powered by WordPress etc.

Valid XHTML, Valid CSS,

weblog at bo-k dot dk : http://www.bo-k.dk/weblog/index.php