Archivio per il tag simplephpblog

Da Simple Php a Wordpress

Questo post probabilmente interesserà solo Stormy e in esso spiego un po’ meglio come ho fatto a trasportare il blog da Simple Php Blog a Wordpress.

Per farlo ho utilizzato un piccolo script in Python che salva in un file WXR (Wordpress Extended RSS) tutti i post e i commenti del vecchio blog. Questo file sarà poi importabile in Wordpress che si arrangerà a riempire il database. Lo script non è perfetto ed è ottimizzato per funzionare con il codice che io avevo usato nel vecchio blog, in particolare, non ho previsto una conversione del tag [;img] visto che non lo avevo mai usato (o quasi).

Una volta installato Python (è facile basta cliccare sempre “Avanti”) dovrai scompattare il file che contiene lo script (link) nella cartella di Python (in teoria “C:\Python25″ se scarichi l’ultima versione disponibile). Ora dovrai modificare i due file che ci sono:

head.xml

Contiene delle informazioni generali circa il blog, la sua modifica non è indispensabile in quanto si può sempre cambiare i dati in esso presenti in un secondo momento. In ogni caso, se si decide di modificarlo assicurarsi di salvarlo con codifica utf-8, motivo per cui serve un editor serio tipo Crimson Editor o Notepad++, il Notepad in questo caso non può essere usato.

spb2wp.py

Bisogna modificare le variabili globali (hanno un prefisso gb_, nello specifico:
gb_perc contiene la cartella in cui è salvato il database di Simple Php Blog in locale (attenzione che bisogna usare la doppia “\\” nei percorsi dei file)
gb_url l’url in cui verrà installato il nuovo blog Wordpress (consiglio personale di lasciare il localhost seguito dalla cartella in cui hai installato Wordpress localmente)
gb_categorie le categorie di Simple Php Blog come (numero -> categoria)
gb_feed l’url del feed RSS (o atom) del vecchio blog. Non è indispensabile, serve solo nel caso si voglia creare il file per i redirect 301

Poi ci sarebbe il “gialloporpora” come autore per cui non è stata prevista una variabile, ma anche se lo lasci in fase di importazione Wordpress ti chiederà di assegnare gli articoli ad uno degli utenti presenti sul tuo blog e ignorerà questo campo.

Una volta fatte le modifiche salvare il file normalmente (non con codifica utf-8).

Bene ora basta avviare Python, da commandline:

C:\>cd \python25
C:\>Python25> python

Quando appare il prompt di benvenuto di Python dare i seguenti comandi:
>> from spb2wp import *
> createwxr()
>>> optimizewxr()

Bene, ora il file dovrebbe essere stato creato in “C:\Python25″ con il nome di spb2wp.xml. Non è detto che sia tutto perfetto, anzi è probabile il contrario, ma il file è modificabile con un editor di testo e contiene tutti i post e i commenti del vecchio blog.. Diciamo che con un buon editor di testo con un po’ di Search&Replace si possono correggere in una decina di minuti gli eventuali problemi rilevati. In particolare, cercare eventuali tag ?[;img] o [url=....] ancora presenti nel codice. E’ importante salvarlo con codifica utf-8.

Bene, una volta fatte le eventuali correzioni basta importarlo in Wordpress e sperare !

Purtroppo lo script non è stato pensato per esportare un generico Simple Php Blog ma bensì per esportare solo il mio di blog :P, ci sono quindi delle cose particolari che potrebbero generare problemi su un altro blog (in particolare io ho sempre fatto l’encode degli & quando inserivo HTML puro, se non lo si è fatto bisogna rimuovere una riga di codice).

Non è pensato per esportare le entry statiche per quello bisogna fare a mano. Non ho modificato i vecchi link, ma è possibile creare un file index.php che faccia i giusti redirect 301 e che va messo nella home del vecchio blog (se i due blog sono installati nello stesso percorso bisogna aggiungere il codice all’index.php di Wordpress). Per reindirizzare anche i commenti rinominare il file “index.php” in “comments.php” e caricarlo sul server. Non ho previsto un redirect delle pagine statiche (si sta prima a farlo a mano) nè delle categorie.

Se poi ti trovi bene e vedi che funziona anche a te ti posso dire come modificare i file di SPB in modo da generare una sitemap della morte (update odierno e aggiornamento a never) , ricordo che l’avevo fatta quando avevo traslocato da altervista, ma non mi ricordo di preciso come avevo fatto :-P.

Se ti dà qualche errore (il che è probabile) me lo segnali che provo a personalizzarti il codice.

Nota: il database deve essere vuoto per fare l’import del file perchè non sovvrascrive i vecchi post durante l’importazione (almeno mi sembra)
Questo post probabilmente interesserà solo Stormy e in esso spiego un po’ meglio come ho fatto a trasportare il blog da Simple Php Blog a Wordpress.

Per farlo ho utilizzato un piccolo script in Python che salva in un file WXR (Wordpress Extended RSS) tutti i post e i commenti del vecchio blog. Questo file sarà poi importabile in Wordpress che si arrangerà a riempire il database. Lo script non è perfetto ed è ottimizzato per funzionare con il codice che io avevo usato nel vecchio blog, in particolare, non ho previsto una conversione del tag [img] visto che non lo avevo mai usato (o quasi).

Una volta installato Python (è facile basta cliccare sempre “Avanti”) dovrai scompattare il file che contiene lo script (link) nella cartella di Python (in teoria “C:\Python25″ se scarichi l’ultima versione disponibile). Ora dovrai modificare i due file che ci sono:

head.xml

Contiene delle informazioni generali circa il blog, la sua modifica non è indispensabile in quanto si può sempre cambiare i dati in esso presenti in un secondo momento. In ogni caso, se si decide di modificarlo assicurarsi di salvarlo con codifica utf-8, motivo per cui serve un editor serio tipo Crimson Editor o Notepad++, il Notepad in questo caso non può essere usato.

spb2wp.py

Bisogna modificare le variabili globali (hanno un prefisso gb_, nello specifico:
gb_perc contiene la cartella in cui è salvato il database di Simple Php Blog in locale (attenzione che bisogna usare la doppia “\\” nei percorsi dei file)
gb_url l’url in cui verrà installato il nuovo blog Wordpress (consiglio personale di lasciare il localhost seguito dalla cartella in cui hai installato Wordpress localmente)
gb_categorie le categorie di Simple Php Blog come (numero -> categoria)
gb_feed l’url del feed RSS (o atom) del vecchio blog. Non è indispensabile, serve solo nel caso si voglia creare il file per i redirect 301

Poi ci sarebbe il “gialloporpora” come autore per cui non è stata prevista una variabile, ma anche se lo lasci in fase di importazione Wordpress ti chiederà di assegnare gli articoli ad uno degli utenti presenti sul tuo blog e ignorerà questo campo.

Una volta fatte le modifiche salvare il file normalmente (non con codifica utf-8).

Bene ora basta avviare Python, da commandline:

C:\>cd \python25
C:\>Python25> python

Quando appare il prompt di benvenuto di Python dare i seguenti comandi:
>> from spb2wp import *
> createwxr()
>>> optimizewxr()

Bene, ora il file dovrebbe essere stato creato in “C:\Python25″ con il nome di spb2wp.xml. Non è detto che sia tutto perfetto, anzi è probabile il contrario, ma il file è modificabile con un editor di testo e contiene tutti i post e i commenti del vecchio blog.. Diciamo che con un buon editor di testo con un po’ di Search&Replace si possono correggere in una decina di minuti gli eventuali problemi rilevati. In particolare, cercare eventuali tag ?[;img] o [url=....] ancora presenti nel codice. E’ importante salvarlo con codifica utf-8.

Bene, una volta fatte le eventuali correzioni basta importarlo in Wordpress e sperare !

Purtroppo lo script non è stato pensato per esportare un generico Simple Php Blog ma bensì per esportare solo il mio di blog :P, ci sono quindi delle cose particolari che potrebbero generare problemi su un altro blog (in particolare io ho sempre fatto l’encode degli & quando inserivo HTML puro, se non lo si è fatto bisogna rimuovere una riga di codice).

Non è pensato per esportare le entry statiche per quello bisogna fare a mano. Non ho modificato i vecchi link, ma è possibile creare un file index.php che faccia i giusti redirect 301 e che va messo nella home del vecchio blog (se i due blog sono installati nello stesso percorso bisogna aggiungere il codice all’index.php di Wordpress). Per reindirizzare anche i commenti rinominare il file “index.php” in “comments.php” e caricarlo sul server. Non ho previsto un redirect delle pagine statiche (si sta prima a farlo a mano) nè delle categorie.

Se poi ti trovi bene e vedi che funziona anche a te ti posso dire come modificare i file di SPB in modo da generare una sitemap della morte (update odierno e aggiornamento a never) , ricordo che l’avevo fatta quando avevo traslocato da altervista, ma non mi ricordo di preciso come avevo fatto :-P.

Se ti dà qualche errore (il che è probabile) me lo segnali che provo a personalizzarti il codice.

Nota: il database deve essere vuoto per fare l’import del file perchè non sovvrascrive i vecchi post durante l’importazione (almeno mi semb

Ecco il blog su Wordpress :-)

Dopo tanti ripensamenti mi sono finalmente deciso a cambiare piattaforma di blogging passando da Simple Php Blog a Wordpress. Simple Php Blog è una piattaforma di blogging in flat file, è molto facile da configurare, ottima per utenti alle prime armi, insomma perfetta  per il sottoscritto alla sua prima esperienza di blogging. Purtroppo però, SPB è poco estendibile soggetto  a frequenti attacchi di spam. Era parecchio tempo che riflettevo sull’opportunità di fare il passaggio a Wordpress, ma non riuscivo a trovare in rete un buon script per recuperare il database.

Wordpress, al contrario di SPB, utilizza un database Mysql per il salvataggio dei dati, di cui non disponevo sull’hosting di altervista. Da qualche tempo sono passato su netsons, che attiva di default un database Mysql anche sugli account gratuiti, e ora finalmente riesco a esportare il blog su Wordpress.

Potevo recuperare il database in due modi:

* scegliendo di importare il feed RSS globale degli articoli pubblicati, ma in questo modo si sarebbero persi tutti i commenti;
* utilizzare uno script in Ruby trovato con Google, ma, a mio avviso, avrei perso lo stesso qualcosa e comunque non mi andava di installare ed imparare ad usare Ruby.

Alla fine ho dato un’occhiata allo script in Ruby e ho creato uno script in Python (voi direte perchè non lo hai fatto in PHP ? ….perché di PHP ne capisco molto meno) per fare l’esportazione del mio vecchio blog in formato WXR (Wordpress Extended RSS). Ho avuto qualche problema, ma alla fine la cosa non è stata difficile (se qualcuno è interessato posso spiegare a grandi linee il codice dello script utilizzato, che posso rendere disponibile a chiunque ne sia interessato :). Purtroppo, c’è qualche problemino con qualche <br/> innestato qua e là che non permette la validazione di tutte le pagine del blog, ma tutto sommato credo di aver esportato decentemente l’archivio. Naturalmente devo dare una ricontrollata ad alcuni post “delicati” (a causa del BBCode e del codice HTML utilizzati) ma in linea di massima ci dovremmo essere :-).

Quello che non sono riuscito a fare è trovare un modo intelligente per taggare gli articoli, e mi sono fra l’altro accorto che, per mia imperizia, le categorie erano sballate già nel vecchio blog. Se trovo un modo veloce per fare il tagging tramite una qualche query SQL al database proverò a risistemare tutto.

Per ora ho reindirizzato solo il feed RSS, se vedo che i vecchi articoli non hanno subito eccessive mutazioni faccio pure il redirect 301 e sposto tutto di qua. Il tema è il primo che ho trovato (insomma è il tema più usato dagli utenti di Wordpress, ma non è pienamente compatibile con la versione che ho installato) ma mi riprometto di migliorarlo un po’, almeno dargli qualche colore diverso.

Ho installato qualche plugin che spero possa far contento qualcuno dei commentatori, visto che dovrebbero rendere molto più semplice seguire i commenti. Scusate ma è la prima volta che installo Wordpress e non sono ancora molto pratico quindi dovete tenervi per un po’ lo stile di default del K2 e qualche frase non localizzata dei plugin.

Io non sono un fan del blogroll, non appena capisco come fare lo rimuoverò, per ora comunque ho messo qualche link dei blog che leggo maggiormente, ma mi è spiaciuto lasciarne fuori qualcuno di altrettanto interessante. Quando troverò tempo preparerò una pagina statica con un elenco più esteso di blog e feed ai quali sono iscritto.

Credo che prossimamente sarò impegnato a cercare di personalizzare un po’ ilnuovo blog e lascerò un po’ in secondo piano la pubblicazione di articoli, in ogni caso il tempo per scrivere qualcosina lo si trova sempre. Ah,ogni volta che si vuole fare qualcosa ci sono sempre una decina di complicazioni aggiuntive e impreviste che sembrano concentrarsi tutte nel momento meno opportuno, dal server di netsons che ieri non andava (il blog doveva essere pronto ieri sera), dalla connessione Adsl che in settimana andava a scatti, fino ad arrivare all’operazione di caricamento dei file via FTP che non ne voleva sapere di andare a buon fine :-P

Ed infine, se qualcuno vuole dare suggerimenti o consigli sui plugin da installare è il benvenuto :-).

PS: per chi di solito commenta: preferite un tema chiaro o uno scuro ?

Post cancellati

Negli ultimi due giorni ho aperto un sacco di post che poi ho cancellato e mi spiace se qualcuno guardando il feed non ha trovato nulla :-P.
Alcuni post erano stati aperti per testare il comportamento di Technorati, che purtroppo non riusciva a vedere i post degli ultimi 57 giorni :-!. Ora il problema sembrerebbe risolto anche grazie all'aiuto del forum di Rss Word (e in particolare di @weppos), qui c'è il topic che ho aperto.
Ora non ho ben capito se il problema fosse dovuto al feed di FeedBurner oppure al pulsantino di Technorati (o a entrambi), comunque l'importante è che ora sembra funzionare tutto al meglio.

Il secondo problema l'ho avuto col post "velocizzare firefox " che non so per quale motivo nell'anteprima appariva formattato correttamente, mentre quando lo pubblicavo si vedeva il codice HTML. Ora io non so di preciso la causa ma, dopo aver scomodato quasi tutte le parolacce conosciute, sembra che alla fine si sia lasciato pubblicare.
Alla fine comunque sono riuscito a capire come funzionano i tag di Technorati (o almeno lo spero) :-D.

DIMENTICAVO: devo ringraziare anche @Fabio che mi ha fatto notare il problema con Technorati e mi ha dato qualche consiglio sulla risoluzione, vedi commenti.

AGGIORNAMENTO: ho rifatto il claim rimettendo il giusto header per il feed di FB ed è andato tutto a buon fine, quindi forse era il pulsantino di Technorati a dare problemi, oppure il problema è stato risolto dal supporto di Technorati (che ringrazio per la veloce risposta :-D):

I've taken a look to see if we are successfully indexing your blog.
After making a small adjustment, I've pushed our spiders out to your
blog and it has been successfully indexed with your most recent posts.

http://technorati.com/blogs/http://www.gialloporpora.netsons.org/Blog/

If you do see the issue again, please contact us. Sometimes it takes
a little time for the ping to reach us to alert our spiders to index
your blog,. If you find it is taking a while for the index, you can
ping us directly from "technorati.com/ping".

Do not hesitate to contact us if you have any other questions. Thank you
for using Technorati!

Best Regards,
Jose Cardenas
Customer Support Specialist
Technorati