Categories
eventi php

Piccoli suggerimenti per rendere WordPress più performante

Dopo un annetto di assenza dai palchi ho finalmente preparato un nuovo minitalk da fare all’imminente iWordCamp che si terrà sabato 10 Maggio a Milano.

Senza approfondire troppo gli argomenti con pallose slide (anche se forse una mi è scappata) parlerò di come configure WordPress e tutto quello che gli sta attorno per migliorare sensibilmente il consumo di CPU di quest’ultimo.

Nel seguito le slide.

Categories
php webdev

Magicincludeshell.txt e WordPress 2.2.x

Ne avevano parlato qualche giorno fa su wordpress-it e su weblogstoolscollection, ma fino a quando non si prova in prima persona tutti sono restii ad aggiornare un blog, soprattutto se ha una template che usa plugin non più sviluppati o con codice che non sfrutta a pieno le API del sistema.

Beh, qualche giorno fa un blog da me gestito è stato “infettato” da uno script malevolo chiamato Magicincludeshell.txt che si installa come plugin nascosto nelle installazioni di WordPress precedenti alla 2.5 e che impedisce la pubblicazione di nuovi post.

Altra cosa “scomoda” che fa questo plugin è convertire tutte le pagine in post (non le cancella però).

Per scoprire se il proprio blog è infetto basta provare a postare, se comparirà una pagina bianca allora avrete la certezza di dover mettere mano al vostro db per ripristinare il sistema.

Categories
open source php

WordPress 2.5 RC1

wordpress 2.5 media gallery at work

Dopo un paio di settimane di assenza eccomi qui di ritorno per annunciare che è stata rilasciata la prima release candidate di WordPress 2.5.

Le novità sono tante, a partire dal nuovo layout del nuovo backend realizzato (con colori osceni) per mettere in evidenza le funzionalità più usate dai blogger lasciando, in menù secondari tutto quello che riguarda l’amministrazione del blog.

Categories
php tecnologia

Migrare il proprio blog da Splinder a WordPress 2.3.x

splinder to wordpress importer
Qualche giorno fa, un losco individuo, mi ha chiesto di aggiornare un plugin per migrare blog da Splinder/Motime a WordPress. Ne è uscito un piccolo lavoro di riscrittura ed aggiornamento che pare, dai test fatti, funzionare discretamente.

Il fatto è che attualmente il plugin, anzi l’importer, necessita di un po’ di test.

Categories
tecnologia webdev

GoogleBot, DreamHost e WordPress

Le pagine analizzate ogni giorno da GoogleBot

Questo trittico di pezzi da novanta per dire che GoogleBot sta diventando sempre più aggressivo, il 90% delle template di WordPress permette di fare browsing, indicizzazione e navigazione anche di pagine di archivio con contenuti duplicati (archivi, categorie, tag, ricerche, etc) e DreamHost non apprezza particolarmente di avere degli shared hosting messi al tappeto dalla combinazione dei primi due.

Pertanto oggi mi sono visto recapitare un’email dove mi si avvertiva che solo mio account (dove risiedono oltre a questo blog, un altro paio di siti che superano le 4000 pageview/giornaliere) occupava circa il 10% della CPU del server, a causa dei continui ed incessanti accessi dei bot di Google, MSN e Yahoo! su tutte le pagine, e che pertanto gli ip di tali bot venivano bloccati tramite .htaccess.

Per risolvere il problema ho quindi aggiornato i file robots.txt di tutti i domini (qui potete scaricare il mio ottimizzato per WordPress) aggiungendo alcune direttive per indicizzare solo le pagine, senza passare da tutti gli archivi.

Inoltre sto pensando di aggiornare il template in modo che in base al tipo di contenuto servito aggiunga un adeguato <meta name="robots" content="" />

E voi che fate? Lasciate i bot aggressivi navigare in tutto il sito? Perchè?

Intanto vi lascio un link ad un articolo di askApache su come ottimizzare il file robots.txt per WordPress.

cuiaz

Categories
php

Visualizzare le categorie “figlie” in WordPress

Uno dei più stupidi aggiornamenti fatti alle API di WordPress, imho, è stato quello che ha eliminato la possibilità di visualizzare le categorie figlie di una predefinita categoria, senza visualizzare anche quelle “nipoti”.

Infatti usando la comune funzione di WordPress chiamata wp_list_categories() utilizzando il filtro child_of vengono visualizzati tutti i discendenti della categoria indicata e non solo quelli di primo livello, cosa decisamente scomoda se usiamo costrutti molto nidificati.

Per rimediare a questa mancanza ultimamente utilizzo all’interno del file functions.php dei temi che produco il seguente codice che mima il risultato della funzione ufficiale del blog engine, limitandosi però al primo livello di discendenza.

Nulla di trascendentale, insomma, ma sicuramente molto comodo per creare menù contestuali.

[code]
/**
* @param $catID int ID della categoria genitrice
* @param $order string ASC o DESC
* @return $output string lista di link a categorie
*/
function get_category_children_only($catID=0,$order = ‘ASC’) {
global $wpdb;
global $cat;

$output = ”;

if (strtoupper($order) != ‘DESC’) $order = ‘ASC’;

$query = “select t.term_id as term_ids, t.name from $wpdb->terms t, $wpdb->term_taxonomy tx where t.term_id = tx.term_id and tx.taxonomy = ‘category’ and tx.parent = ‘”.intval($catID).”‘ group by t.term_id order by t.term_id $order”;

$results = $wpdb->get_results($query);
foreach ($results as $result) {

if ($cat == $result->term_ids) $selected = ‘ current-cat’;
else $selected = ”;

$output .= ‘

  • term_ids).'” title=”visualizza articoli della categoria ‘.$result->name.'”>’.$result->name.’
  • ‘;

    }

    return $output;
    }
    [/code]

    ciuaz

    Categories
    di tutto un po' lifehack

    Voglio cambiare tema…

    Qualche suggerimento? O faccio come al solito, che mi creo un tema nuovo e poi lo lascio incompleto? :)

    ciuaz

    Categories
    php tecnologia

    Arriva la prima beta di WordPress 2.3.1 e si lavora sull’alfa della 2.4

    C’è fermento sulle ML di WordPress, oggi è stata rilasciata la prima beta di WordPress 2.3.1 che va a correggere alcuni fastidiosi bachi introdotti dalla precedente versione mentre in SVN è possibile scaricare la prima alfa della futura 2.4.

    Per chi volesse testare la beta, indispensabile per chi ha problemi di sovrannumero di query causa uso di tag e plugin che usano le categorie, le url sono queste:
    http://wordpress.org/wordpress-2.3.1-beta1.zip
    http://wordpress.org/wordpress-2.3.1-beta1.tar.gz

    A seguire il mini-changelog della 2.3.1.

    Categories
    webdev

    Google Analytics cambia script

    Che Google Analytics ha cambiato lo script ne ho parlato un paio di giorni fa su Download|Blog, quello che non ho detto (perchè non era documentato) è che adesso il codice non va più vicino al </body> ma all’interno dell’<head> della pagina.

    Quindi se avete migrato lo script da urchin.js a ga.js ed usate un plugin per WordPress come quello di Semiologic fate attenzione perchè le statistiche del vostro sito non verranno più aggiornate, o riceverete comunque strani comportamenti da GA.

    Ultima chicca, per controllare se il codice di Analytics funziona correttamente sul vostro dominio provate questo sito: http://checkwebsite.erigami.com/googleanalytics.html

    ciuaz

    Categories
    php tecnologia webdev

    FCC_Nabaztag, WordPress incontra il Nabaztag

    Ed ecco il primo plugin per wordpress che sfrutta le api del Nabaztag per inviargli notifiche: FCC_Nabaztag!

    Per ora il plugin è molto limitato ed è da considerarsi in alfa stage. Ho iniziato a scriverlo giusto per capire come funzionano le API del coniglietto, pertanto non aspettatevi (ancora) rotazioni di orecchie o luminescenze varie.

    Installando il plugin ogni volta che un utente lascerà un commento sul vostro blog questo verrà letto dal vostro Nabaztag, a patto che akismet non lo riconosca come spam.

    Nelle prossime release del plugin, se mai avrò voglia di farle inserirò una gestione della posizione delle orecchie e delle luci in base al tipo di commento ricevuto (cioè se moderato o meno) ed alla categoria di appartenenza.

    Ah, il plugin per funzionare necessita di PHP_CURL installato sul sistema e rallenta vistosamente l’approvazione dei commenti… ve l’ho detto no? E’ un’alfa…

    Ciuaz