WordPress plugin: Blogbabel Rank Plus

ATTENZIONE: il plugin ha una sezione tutta sua su WordPress.org – Ti consiglio di seguire quella pagina per il download e le indicazioni sull’installazione!

~

In questi giorni ho vissuto almeno 18 ore al giorno sveglio.

Ho ridipinto casa, ho fatto un esame, ho aiutato la mia pulcina per i preparativi per il Jamboree e… la notte, non contento, mi sono rilassato scrivendo un plugin per WordPress: Blogbabel Rank Plus.

BlogBabel Rank PlusL’idea di scriverlo, a dir la verità, nacque tanti mesi fa, quando Giovanbattista scrisse BlogBabel Rank e decise di passarmi il testimone. Il tempo purtroppo è tiranno… e così, ho potuto realizzarlo solamente in queste ultime tre notti.

Sinceramente, nonostante la bella idea, quel plugin non riuscì mai a piacermi in pieno, tanto che alcuni giorni fa l’ho disattivato.

Come sapete, non mi piacciono le pagine web pesanti. Sono per i blog semanticamente validi (appena posso continuo anche con BlogValidator, tranquilli… ;-)) ed il plugin di Giovanbattista richiede una connessione verso i server di BlogFlux per la creazione dell’immagine, il che, rallenta il caricamento della pagina.

Ma i motivi per cui non mi piace quel plugin sono anche altri:

  1. Il plugin non salva mai l’immagine in cache, così apre anche una connessione verso i server di BlogBabel durante il caricamento di ogni pagina (si, magari l’immagine rimane nella cache del browser, ma la connessione verso BlogBabel parte sempre…).
  2. Nella versione jpg (non flash), lo sfondo dell’antipixel diventa verde solamente quando si supera il rank massimo assoluto e non quando magari, giornalmente, si sale o si scende: questo comporta che l’antipixel sia “verde” molto raramente, mentre magari si è guadagnata qualche posizione.
  3. Il plugin, sebbene la pubblicità indiretta, sicuramente stressava i server di BlogBabel il che non è mai bello.
  4. BlogBabel ha recentemente introdotto le API, perché non sfruttarle?

Ecco dunque BlogBabel Rank Plus, che risolve e supera tutti questi difettucci.

Per i più curiosi, Blogbabel Rank Plus:

  1. Sfrutta le API di BlogBabel;
  2. Memorizza e mantiene per 12 ore una immagine sul server nella cartella /wp-images/, in modo da non aprire nuove connessioni e generare nuove immagini per ogni visitatore del blog;
  3. Non usa il database ma riesce a capire quando aggiornare l’immagine e *ricordare* il rank del giorno prima: questa è la mia ciliegina, in quanto non volevo aumentare il numero di query sul mio blog per ogni visitatore…
  4. Non richiede la generazione dell’immagine a servizi esterni, così non crea neanche nuove connessioni esterne; piuttosto, ogni 12 ore, genera un antipixel 80×15 computazionalmente leggerissimo.

Come installare Blobabel Rank Plus?

Come al solito, installare un plugin per WordPress non è mai complicato.

Caricate il file blogbabelrankplus.php nella cartella dei plugin (/wp-content/plugins) e poi attivatelo dal pannello di gestione dei plugin di WordPress.

Inserite, nel vostro template, ovunque preferiate (tipicamente nella sidebar…), il seguente codice php:

< ?php wp_blogbabelrankplus("slug-url"); ?>

Sostituite in “slug-url” il nome assegnato da BlogBabel nell’url delle statistiche per il vostro blog (è la parte finale dell’url di BlogBabel per le vostre statistiche).
Ad esempio:

< ?php wp_blogbabelrankplus("time-is-what-you-make-of-it"); ?>

Aggiornate la pagina ed apparirà il vostro rank.

Come aggiorno il plugin dalla versione precedente? Ti basta sostituire il plugin nella cartella /wp-content/plugins/ ed assicurarti che sia attivo nel pannello dei plugin.

Pagina download: BlogBabel Rank Plus 1.8.4 (~3kb)

Dubbi, consigli? Come al solito i commenti sono aperti… e io sono disponibile a qualsiasi forma di critica e considerazione. 🙂

Ciao,

P|xeL

Aggiornamento del 24 Luglio 2007 ore 13:00.

Changelog v1.1: Ho notato che nelle ultime versioni di WordPress, la cartella /wp-images/ non è più presente (probabilmente per scelta progettuale). Ho modificato dunque il plugin per adattarsi meglio a WordPress, andando a salvare l’immagine in /wp-includes/images/. Per venire incontro anche ai blog ospitati su TopHost (ma anche presso tutti quegli hoster che non forniscono la libreria CURL), ho modificato la funzione di connessione in modo da rendere BlogBabel Rank Plus più facilmente compatibile.

Aggiornamento del 24 Luglio 2007 ore 16:30.

Changelog v1.2: Grazie ad una bella chiacchierata con fullo su IRC, ho apportato una serie di modifiche allo script. Innanzitutto, per maggiore compatibilità con le vecchie versioni di WordPress (adesso dovrebbe funzionare con qualsiasi versione), l’immagine viene salvata nella cartella di upload impostata dalle opzioni di WordPress. Inoltre, l’aggiornamento dovrebbe essere migliorato parecchio: niente più 12 ore fisse ma aggiornamento programmato dopo l’update da parte di BlogBabel del rank dei blog dell’intero database (in questo modo è attenuato l’inconveniente di beccare per un giorno un rank non aggiornato). In pratica farà una sola connessione al giorno… al momento giusto! 😉

Aggiornamento del 24 Luglio 2007 ore 22:30.

Changelog v1.3:Ho apportato un paio di migliorie al codice (nulla di importante), grazie ad alcune segnalazioni nei commenti. neon ha avuto l’idea di scrivere una piccola funzione che restituisce il proprio rank in maniera testuale. L’ho aggiunta al plugin sebbene non la consigli personalmente: per evitare l’utilizzo del database (e dunque aumentare il numero di query e rendere questo plugin più pesante), la funzione ha bisogno di effettuare una connessione verso BlogBabel ad ogni accesso alla pagina (non credo che “quelli di BlogBabel” saranno particolarmente felici). Il rank sarà sempre aggiornato ma la velocità d’esecuzione ne soffrirà.
In definitiva, eccola qui, ma vi consiglio di continuare ad utilizzare la versione grafica se non avete esigenze particolari.

Per utilizzare la forma testuale, inserite sul vostro blog il seguente codice:

< ?php wp_blogbabelrankplus_text("slug-url"); ?>

Sostituendo in “slug-url” il nome assegnato da BlogBabel nell’url delle statistiche per il vostro blog.
Ad esempio:

< ?php wp_blogbabelrankplus_text("time-is-what-you-make-of-it"); ?>

Il risultato sarà un numero con un link verso la pagina del vostro rank su BlogBabel.

Tramite CSS è possibile personalizzare graficamente il testo, usando le seguenti classi: babel-green e babel-red.

Ad esempio, per visualizzare il risultato verde o rosso in base all’incremento o decremento di posizioni su BlogBabel, basterà aggiungere il seguente codice al vostro foglio di stile:

.babel-green { color: #00FF00; }
.babel-red { color: #ff0000; }

Aggiornamento del 24 Luglio 2007 ore 23:30.

Changelog v1.4: io cenavo, ma neon era insaziabile, e così, ha migliorato la funzione testuale che adesso utilizza un file txt per salvare il risultato (in modo da effettuare, come nella versione grafica, una sola connessione al giorno verso BlogBabel). Potete usarla come indicato sopra.

Aggiornamento del 26 Luglio 2007 ore 03:00.

Changelog v1.5: Ho corretto alcuni refusi tra cui un errore di italiano nella descrizione del plugin. Ho aggiunto border=”0″ nell’immagine come richiesto da molti. Nulla di vitale, da aggiornare solo per i maniaci della perfezione (come me!). 😉

Aggiornamento del 26 Luglio 2007 ore 20:00.

Changelog v1.6: Corretto un errore relativo alla funzione wp_blogbabelrankplus_text(). Aggiornamento necessario per chi volesse usare il plugin in maniera testuale; facoltativo per gli altri.

Aggiornamento del 26 Luglio 2007 ore 20:00.

Changelog v1.6: Corretto un errore relativo alla funzione wp_blogbabelrankplus_text(). Aggiornamento necessario per chi volesse usare il plugin in maniera testuale; facoltativo per gli altri.

Aggiornamento del 14 Agosto 2007 ore 12:40.

Changelog v1.7: Durante l’ultimo aggiornamento ho inserito, distrattamente, un piccolo errore che non faceva aggiornare correttamente l’immagine. Aggiornamento necessario per un corretto funzionamento.

Aggiornamento del 26 Settembre 2008 ore 19:40.

Changelog v1.8: Aggiornato il plugin alla nuova versione di BlogBabel.

Aggiornamento del 15 Novembre 2009 ore 18:40.

Changelog v1.8.1: Aggiornato il plugin alla nuova versione di BlogBabel (acquistato di recente da Liquida.it).

Aggiornamento del 19 Novembre 2009 ore 11:30.

Changelog v1.8.2: Corretto il colore di sfondo in base all’andamento del proprio blog in classifica.

Aggiornamento del 20 Dicembre 2009 ore 11:30.

Changelog v1.8.3: Corretto l’indirizzo di connessione del plugin.

Aggiornamento del 22 Febbraio 2010 ore 11:30.

Changelog v1.8.4: L’url di connessione utilizza adesso quello delle API di BlogBabel (nuovamente attive), consegue una maggiore velocità e leggerezza.

82 commenti » Scrivi un commento

  1. Ho modificato il mio BlogBabel Rank in Flash e localmente tutto funziona!! Appena vado online, su vari domini, non viene visualizzato un bel niente!!!
    Eppure il codice è corretto… localmente infatti va una meraviglia, con due righe di codice mi prendo tutto…

  2. La versione in flash personalmente continua a non piacermi… è più pesante per chi deve caricare il sito e non sempre è compatibile con i browser dei cellulari.
    Comunque hai fatto bene a svecchiarla un po’… la blogosfera è bella proprio per lo spirito di collaborazione! :joy:
    Ciao,
    P|xeL

  3. Oh che bello, un plugin per WP che sta attento a non sovraccaricare sia il server dell’utente che quello di chi espone i dati.

    Grazie!!! 🙂

  4. Bene, bravo Emanuele!! Ma a me non funziona, eppure ho copiato il plugin, l’ho attivato, ho inserito il codice nella sidebar modificando lo slug url con il mio nome di blogbabel… Ma non si visualizza nulla!

    In cosa sbaglio??? 😥

  5. […] Flash, Generale, Internet, Javascript, PHP, Rank, Sviluppo, WordPressGrazie alle segnalazioni di P|xel e Dat sono venuto a conoscenza delle nuove API messe a disposizione dal sito BlogBabel. Così […]

  6. ho provato in tutti i modi ma…. non riesco a scaricare il plugin… me lo puoi mandare via mail!??

  7. Andrea, certo che te lo mando via e-mail… eppure, ho appena riprovato il download e a me funziona. Che browser usi? Matteo l’ha scaricato senza problemi…
    Ludo, grazie! Piuttosto, ho cercato fullo su irc in questi giorni… ho un paio di domandine da fargli per migliorare lo script.
    Matteo, il plugin sfrutta il CURL per la connessione e le librerie GD per generare l’immagine, sicuro che il tuo server php abbia caricato queste librerie? Puoi controllarlo con phpinfo()…
    Ciao,
    P|xeL

  8. uso Firefox….
    ho riprovato ma niente !!!

    invece con IE funziona … scusami per il disturbo e grazie per la mail… ti farò sapere se funziona!

    ciao
    Andre

  9. Mi sono appena di essere un grandissimo distratto (per non dire altro).
    La funzione da usare è wp_blogbabelrankplus e non wp_blogbabelrank!! E tra l’altro tra < e ?php non ci va alcuno spazio…
    Sistema questo e dovrebbe andare alla perfezione! (ho aggiornato il codice da utilizzare…
    Ciao,
    P|xeL

  10. Matteo, la cartella deve avere permessi 755 almeno. Comunque ho parlato un po’ con fullo via IRC, sto per apportare alcune modifiche sia al sistema d’aggiornamento, sia alla destinazione finale dell’immagine.
    Ti ringrazio per la tua disponibilità e voglia di prestarti come betatester. 🙂
    Se riesci a venire su IRC parliamo un pizzico più comodamente…
    Ciao,
    P|xeL

  11. P|X scusami ma non c’è un modo di avere un’immaginetta più carina? 😛

    Premesso che ancora non l’ho provato lo farò stasera penso :O

  12. Magari dandogli un po di spessore tipo il counter in stile technorati, poi certo da te sta perfetto con i tuoi antipixel, magari non facendolo come antipixel non so è da fare prove…

    Comunque io ho cambiato indirizzo di msn è quello nella mail se vuoi mi puoi aggiungere 😉

  13. Zobbi, se vuoi giocaci un po’ su photoshop/gimp e fammi sapere… aggiungere l’ombra o altri piccoli ritocchi è semplice ma personalmente non riesco ad immaginarlo “carino”.
    Gli antipixel solitamente non hanno ombra e proprio quello di feedburner non mi piace tanto per le sue dimensioni atipiche! 😛
    Resta il fatto che rimango in attesa di consigli concreti! 😉
    Ciao,
    P|xeL

  14. Lo provo subito 😉

    Alla fine hai sistemato anche quella cosa del rank assoluto (adesso controlla se sali o scendi)?

  15. Matteo, se hai tophost devi settare i permessi in lettura nell’immagine creata (dentro wp-content/uploads) altrimenti non si vede.

  16. Una domanda: perchè non usi un array per passare i valori da bbrp_getRank a bbrp_createImage invece di creare una srtinga e fare l’explode?

  17. Effettivamente neon non so perché me ne sia uscito con quella soluzione. Mi segno la modifica in quanto non è urgente (nel senso che non ha senso aggiornare da versioni precedenti per questo) e appena dovrò aggiornare per altri motivi, la inserirò! 😉
    Matteo, segui il commento di neon… all’immagine per quanto vedo mancano i permessi in lettura (un bel chmod 755 dovrebbe andare).
    Ciao,
    P|xeL

    PS: si, il mio plugin mostra in verde se sali ed in rosso se scendi giornalmente.

    PPS: neon, l’hai provato? Ti funziona?

  18. Provato e funzionante al 100%, ho aggiunto una versione text-only per la mia pagina statistiche.

    Hai una nuova email, ciao

  19. Neon, ho aggiunto la tua funzione al plugin ed ho anche inserito te, Matteo e Giovanbattista nei credits: per motivi diversi, lo meritate sicuramente. 🙂
    Adesso non rimane che farlo conoscere! 😛
    Ciao,
    P|xeL

  20. Grazie della citazione, è stato un lavoro veramente da nulla.

    Mi ero accorto del problema anche io infatti ho già risolto 😉

    Ti ho mandato la versione con cache in modo da non effettuare query inutili.

  21. Si neon, il plugin è in tutte le sue parti molto semplice… ho appena aggiornato il file ed il changelog.
    Riusciremo a trovare il numero della versione finale? 😛
    Si accettano scommesse! 😆
    Ciao,
    P|xeL

  22. Ho trovato l’errore (per me)! L’immagine è nella cartella di default degli upload che però per me è diversa!! Cliccando sull’immagine che non mi compare mi da questo indirizzo > (gli spazi li ho messi io!) mentre il mio dvrebbe essere blog/ wp-content/uploads /bbrplus.png >>

    Insomma, ho un /blog in più!! Ho dato un occhio al plugin ma non vorrei modificare la parte sbagliata…

    E ti ringrazio per i credits anche se la mia parte è quella del non va, non funziona, funziona ma non si vede l’immagine…!!!

  23. La sto provando sul blog (DreamHost) e ottengo questo errore:

    Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in

  24. Ho visto che adesso anche a te funziona PseudoTecnico. Qual era il problema?
    Anche a Matteo finalmente funziona… (ha una configurazione del blog abbastanza particolare…), tutto è bene quel che finisce bene insomma! :joy:
    Ciao,
    P|xeL

  25. BlogBabel Rank Plus su DreamHost…

    Emanuele ha rilasciato una nuova versione del plugin per visualizzare nella sidebar del vostro blog WordPress la posizione aggiornata nella classifica di BlogBabel: BlogBabel Rank Plus.
    Piccolo problema: il plugin non funziona su DreamHost (o quantomen…

  26. Ti segnalo che h o sbagliato il nome della funzione, si chiama wp_blogbabelrank_text e non wp_blogbabelrankplus_text

  27. Attivato funziona benone, mi sono permesso di modificare un pezzetto dello script per impostare il bordo a 0. :joy:

  28. In ritardissimo ritrovo questo tuo post nel mio lettore RSS. Prima di tutto i complimenti, ottima iniziativa. Personalmente avevo sviluppato una versione leggermente diversa, non l’ho trasformato in un plugin per wordpress. E’ semplicemente uno script PHP che genera l’immagine. Ottima l’idea di tenere la cache, te ne suggerisco un’altra (che uso io nel mio script): usare anche la cache del browser, con il cosiddetto Conditional GET, il last-modified e l’ETag. In questo modo, se l’utente ha una sua copia gia’ in cache e non e’ piu’ vecchia di, diciamo 10 ore, non gliela mandi proprio l’immagine, gli fai usare la sua 🙂 Se vuoi ne possiamo parlare eh eh

  29. Domanda idiota: ma ha senso che la variabile $time venga impostata nella funzione per creare l’immagine e non in quella principale? Probabilmente mi sfugge qualcosa (ad esempio il funzionamento dei plugin di WordPress 😉 )

    Spostando la dichiarazione di $time nella funzione principale l’immagine si aggiorna tranquillamente 😕

  30. Interessante come idea camu… adesso sono appena tornato dal campo scout, ma nei prossimi giorni, tempo permettendo, proverò a migliorare ancora il plugin.
    PseudoTecnico, sicuro che l’immagine abbia permessi sufficienti? A me, su HostingZoom non da alcun problema… e, per quanto posso vedere, anche Aruba e TopHost non fanno una grinza.
    Clarita, che problema ti da? Cosa ti appare?
    Ciao,
    P|xeL

  31. Pixel, siamo tutti un po’ in vacanza, in effetti! Cmq se dici, posso provare ad integrare io la funzione di cache. Il mio dubbio di fondo però rimane: cosa succede se un utente non ha a disposizione le GD sul proprio spazio web? O forse mi sono perso un passaggio (che vuoi, sotto l’ombrellone è facile perdere la concentrazione)

  32. Ho aggiornato il plugin alla versione 1.7. Avevo introdotto un piccolo errore che non permetteva il corretto aggiornamento dell’immagine, come segnalato da PseudoTecnico.
    Aggiornate il plugin e scusatemi per l’errore! 😉
    Ciao,
    P|xeL

  33. :dogarf: Ho attivato il tuo plugin e mi funziona benissimo, con WP 2.2.1, host su Aruba Linux, pubblicandolo nella sidebar con il plugin Samsarin, che permette di mettere codice php nei widgets. Grazie e Ciao!!

  34. Forse sono gnucco e alla grande.. ma mi sto accanendo per far funzionare questo plugin.
    Non mi genera l’immagine! nemmeno avendogliela messa io manualmente! nada nisba! 🙁
    Che fare?
    (sono ‘hostato’ su SoloDomini.. magari può servire..)
    Thank for any help

  35. Masque, hai provato ad aumentare i permessi della cartella /uploads/ dove viene salvata l’immagine?
    L’immagine sul server è presente ma non leggibile, o non c’è proprio? (si chiama bbrplus.png).
    Ciao,
    P|xeL

  36. Grazie per la risposta 😉

    Ho risolto, cambiando manualmente l’indirizzo delle immagini nei 2 php.
    Entrambi creavano le immagini nella cartella giusta, ma poi l’andavano a ceracare in quella sbagliata.

    Ora funziona tutto 😉

    thanks

  37. cari amici
    non sono così addentro da comprendere tutti questi passi per conoscere in che modo si fa una classifica.

    Ma una domanda: come mai, pur ultimamente, postare quasi quotidianamente e essere visitato circa 400 volte al giorno e un discreto numero di commenti, la mia classifica è andata indietro di circa 200 posizioni?
    Non sono favorevole ad usare tutti i mezzi, anche “pirotecnici” per scalare le posizioni, ma trovare il motivo di questo scadimento mi incuriosisce.
    Grazie a tutti
    Alex

  38. Ciao Alessandro, penso che sarebbe meglio se rivolgessi queste tue perplessità allo staff di BlogBabel tramite il gruppo che hanno creato…
    In ogni caso dovresti ricordarti che la classifica attuale dipende per lo più dal numero di link che si ricevono e non dal numero dei post o dal numero dei visitatori al sito (semmai, esiste una classifica per i “lettori” del feed se utilizzi FeedBurner).
    E’ possibile che ultimamente i link che hai ricevuto non siano stati così tanti da compensare l’avanzamento di altri blog.
    Ciao,
    P|xeL

  39. Ciao. Io ho provato a inserire lo script

    nel mio blog ma mi compare la scritta tale e quale senza generare nessun banerino.

    Dove ho sbagliato?

    Orazio

  40. Grazie Emanuele. Adesso ho tolto lo spazio e non si vede più nemmeno la scritta…. sicuramente meglio così ma del banner non c’è nemmeno l’ombra!!! Ho provato a togliere anche lo spazio prima del punto interrogativo finale ma non succede niente. :worry:

  41. In effetti… boh?!? Non capisco nemmeno cosa voglia dire. Il plug in c’è ed è installato e attivo ma dei permessi di scrittura non so alcunché…. Ora chiedo all’amministratore. Grazie per ora. Orazio

  42. Sei sicuro che l’immagine bbrplus.png sia stata creata in /wp-content/uploads?
    Quella cartella ha sufficienti permessi in scrittura?
    Se non è stata creata, crea un file vuoto tu e chiamalo bbrplus.png …lo script dopo 24 ore dovrebbe poterlo sovrascrivere.
    Ciao,
    Emanuele

  43. Ho fatto una scoperta agghiacciante. Se inserisco lo script direttamente nel template la bandierina si vede, ma se lo metto in un widget di testo, come tutti gli altri, non si vede. Quindi… come diamine faccio a tenerlo insieme a gli altri???

  44. L’ho messo direttamente nel template. Ho fatto un po’ di pasticci ma adesso almeno funziona. Grazie.

  45. P|xel, ho cercato di inserirlo nel widget,ma sia con la stringa che con la stringa

    non funzionano. Help!!!
    P.S. rispondi sul blog o sull’e-mail ke ho inserito nel blog

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.