Archivio della categoria 'Wordpress'

WordPress: eliminare tutti i post di una categoria

MySQL, Tips & tricks, Wordpress Nessun commento »

Questo tizio si è trovato nella mia stessa identica situazione ed ha risolto prima di me il problema in maniera semplice ed elegante, per questo motivo segnalo il suo articolo e mi appunto qui la preziosa stringa SQL. E’ proprio vero che prima di fare qualsiasi altra cosa una googolata è di dovere!

Condivido pienamente quanto dice in merito ai limiti del plugin Bulk Delete: funziona solo se i post da eliminare sono poche centinaia, a meno che non si metta mano al server alzando timeout di Apache e riservando maggiore quantità di RAM ai processi PHP – scelta molto sconsigliata, di norma questi tuning vanno fatti in maniera più ragionata e non al solo scopo di far funzionare un plugin di WordPress.

Ecco la stringa, sempclie e immediata, per ottenere la cancellazione definitiva di tutti i post appartenenti ad una determinata categoria:

DELETE a,b,c,d
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN wp_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id = '12345'

Migliorare le performance di WordPress con Apache MPM Worker

Apache, Diario di bordo, Open Source, Tips & tricks, Wordpress 1 commento »

Da un paio di settimane per uno dei miei server di test ho aggiornato Apache2 MPM portandolo dalla versione “Prefork” alla “Worker”. Ho deciso di fare questa prova dopo avere letto alcuni post interessanti che descrivevano un notevole miglioramento nelle performance di WordPress dopo avere effettuato questo tipo di aggiornamento. Il periodo di prova ha confermato tutto: sul server in questione – dove gira una non più fiammante “Lenny” – ho potuto registrare una netta riduzione del load average durante l’esecuzione forzata di un elevato numero di processi PHP5 in FastCGI generati attraverso chiamate concorrenti a WordPress, una sorta di banchwork casalingo ottenuto con semplici script PHP autoprodotti.

Spiego rapidamente in che cosa consista la differenza tra le due versioni di Apache, almeno per gli aspetti che interessano poi le performance di WordPress: mentre la versione normalmente considerata standard – detta “Prefork” – utilizza un Multi-Processing Module basato sui processi, la versione “Worker” utilizza invece i thread. Il modello “Prefork” gestisce un processo per ogni connessione, mentre il modello “Worker” gestisce un processo per ogni gruppo di thread ed un thread per ogni connessione. In questo modo, la versione “Worker” di Apache2 tende ad utilizzare meno memoria e a distribuire meglio le chiamate al processore indirizzandole al maggior numero di core – anche per questo motivo si tende a considerare “Worker” più adatta a server multicore, nel senso che è su quelli che si possono misurare i miglioramenti di performance più significativi.

Attenzione però, lo scotto da pagare può essere notevolmente scoraggiante per moltissimi di voi: PHP5 potrà girare solo in modalità mod_fcgid mentre si dovrà per forza rinunciare al mod_php5 di Apache! Pensateci bene quindi prima di effettuare questo tipo di operazione.

Per come sono solito a configurare i miei server, il passaggio da “Prefork” a “Worker” nel mio caso ha richiesto un solo comando:

aptitude install apache2-mpm-worker

Aptitude mi ha avvisato subito che l’installazione di questo pacchetto avrebbe determinato la rimozione di libapache2-mod-php5:

# aptitude install apache2-mpm-worker
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso
Lettura informazioni sullo stato... Fatto
Lettura delle informazioni sullo stato esteso
Inizializzazione dello stato dei pacchetti... Fatto
Lettura delle descrizioni dei task... Fatto
I seguenti pacchetti sono DIFETTOSI:
libapache2-mod-php5
I seguenti pacchetti NUOVI (NEW) saranno installati:
apache2-mpm-worker
I seguenti pacchetti saranno RIMOSSI:
apache2-mpm-prefork{a}
0 pacchetti aggiornati, 1 installati, 1 da rimuovere e 0 non aggiornati.
È necessario prelevare 0B/242kB di archivi. Dopo l'estrazione, verranno occupati 8192B.
I seguenti pacchetti hanno dipendenze non soddisfatte:
libapache2-mod-php5: Dipende: apache2-mpm-prefork (> 2.0.52) ma non è installabile o
apache2-mpm-itk ma non è installabile
Le seguenti azioni permetteranno di soddisfare queste dipendenze:
Rimuovere i seguenti pacchetti:
libapache2-mod-php5
Il punteggio è 119

Se si decide di procedere – ripeto: rinunciando definitivamente a mod_PHP5! – l’installazione avverrà in pochi secondi, con il solito riavvio finale di apache mediante:

/etc/init.d/apache2 restart

Da questo momento in avanti non resta che godersi le straordinarie prestazioni di Apache2 MPM “Worker”.

[lang_en]Testing the qTranslate WP’s plugin[/lang_en][lang_it]Test del plugin qTranslate di WordPress[/lang_it]

Novità, Wordpress 1 commento »

[lang_en]Writing multilingual content is already hard enough, why make the plugin even more complicated? qTranslate makes creation of multilingual content as easy as working with a single language.[/lang_en][lang_it]Scrivere contenuti multilingua è già di per se un lavoro duro, perché il plugin dovrebbe complicarci ulteriormente la vita? qTranslate permette di gestire contenuti multilingua con la stessa facilità con cui si lavora sui contenuti monolingua.[/lang_it]

Upgrade alla versione 2.3.3 di WordPress

Copincollato, Tips & tricks, Wordpress Nessun commento »

Il logo di WordPressRiporto qui un post comparso sul blog di Flavio Copes datato 7 febbraio. Ho trovato questo articolo interessante e scritto in una maniera comprensibile a tutti, anche a quelli che da giorni mi chiedono di assisterli nell’upgrade da una release 2.2.* a quella corrente. Stanco di cercare l’URL del post di Flavio Copes, ho messo qui il suo articolo. Un grazie a distanza a Flavio Copes, dunque!

Con l’uscita della versione 2.3.3 di WordPress, ho colto l’occasione per aggiornare il software del blog, che era ancora alla versione 2.2, principalmente perchè quando è uscita la 2.3 ancora non era molto chiaro come trasformare i tags gestiti da Ultimate Tag Warrior in tags nativi di WordPress… Leggi il resto »

A proposito di Gravatar

Tips & tricks, Wordpress Nessun commento »

Il logo di GravatarQualche settimana fa si è diffusa la notizia dell’acquisizione di Gravatar da parte di Automattic, la società che sta dietro WordPress. Una delle conseguenze più immediate di questa acquisizione consiste in una maggiore integrazione tra WordPress e Gravatar, servizio che serve per registrare un avatar “universale” da abbinare al proprio indirizzo email. L’avatar così creato comparirà automaticamente ogni volta che si pubblicherà un commento su qualsiasi sito Internet debitamente predisposto, senza nemmeno doversi iscrivere al sito che si sta visitando! Leggi il resto »