Importazione di un blog da Clarence a Wordpress

Torna al blog

 

Introduzione

In questa guida si presuppone che Wordpress - la piattaforma su cui "girano" molti blog - sia già stato installato. Troverete sul web numerose guide per la sua installazione; tra quelle in italiano vi segnalo questa.

Allo stato attuale (luglio 2005) Wordpress supporta l'importazione da:

B2
Greymatter
Movable Type
Live Journal
Rss (ovvero: per le piattaforme non supportate si può tentare di importare il loro feed rss)

Inoltre è stato sviluppato da ilBorro uno script che permette l'importazione da IoBloggo (maggiori informazioni qui).

Per importare un blog da Clarence, ho sfruttato la possibilità di importare i feed rss, prodotti con il generatore di feed gratuito di Xml Hub. E' probabile che questa procedura si possa applicare anche ad altri blog.

Ringrazio Mr Brown per la preziosa collaborazione sugli script php!

Se trovate errori, o per qualunque suggerimento, scrivetemi a scheggedeltempo@email.it

Cosa si ottiene

Post: importati su WordPress tutti i post del proprio blog su Clarence.
Date di pubblicazione: i post si possono archiviare nell'ordine di pubblicazione - quindi visualizzando per primo il post più recente - ma la data imposta da Wordpress sarà quella in cui si importa, per cui li archivierà tutti nello stesso giorno. Tuttavia, subito sotto il titolo apparirà la data originale inserita sopra al testo del post. Volendo, si può mantenere una divisione, ad esempio, per mesi, usando le categorie.
Commenti: anche se non è possibile importarli nel database di Wordpress, appena sotto il post verrà inserito un link che aprirà la finestra originale dei commenti su Clarence.

Procedura

Preparazione

  1. Aprite sul vostro pc il file import-rss.php, che trovate nella cartella wp-admin di Wordpress. Modificate la seconda riga define('RSSFILE', ''); inserendo il nome del file xml che creerete in seguito; ad esempio miorss.xml. Si ottiene:
    define('RSSFILE', 'miorss.xml');

  2. [I seguenti passaggi sono facoltativi, ma consigliati!]
    Durante l'importazione, in caso di errori vari, è possibile che si abbia la necessità di cancellare tutti i post pubblicati e/o i commenti, in una sola volta. Wordpress non ha questa funzione; bisognerebbe agire direttamente sul database.
    Per semplificare, potete scaricare questo file zip contenente tre file in php. (Per scaricarlo clicca col destro sul link e scegli Salva oggetto con nome). Vi basterà caricarli sul vostro server e poi aprire la pagina cancella.php. Vi sarà chiesta conferma prima della cancellazione, ma se cliccate su ok, questa non sarà reversibile. Quindi, fate attenzione!
    Si tratta di uno script del tutto amatoriale, perciò se trovate bug... segnalatemeli!

  3. Andate nel pannello d'amministrazione del vostro Wordpress, cliccate su Opzioni e scegliete la scheda Scrittura. Togliete la spunta dalla casella "Converti gli emoticon tipo :-) o :-P a simboli grafici sullo schermo". Potreste anche lasciarla se volete, ma a volte il concetto di "conversione degli emoticon" di Wordpress è abbastanza fantasioso...

Modifica del template

Si possono importare solo 25 post per volta, perciò conviene agire sul template dell'archivio mensile: importeremo un mese alla volta. Non spaventatevi, ci vuole meno tempo di quanto sembri!
[E se ho scritto più di 25 post in un mese?]

  1. Fatevi una copia di sicurezza del vostro template!

  2. Cercate il tag del titolo <$MTEntryTitle$>, e fatelo precedere immediatamente da <span class="rss:item">. Si otterrà quindi:
    <span class="rss:item"><$MTEntryTitle$>

  3. Fate in modo che i tag relativi alla data (ad esempio <MTDateHeader><$MTEntryDate format="%A %e %B %Y"$></MTDateHeader>) si trovino dopo il titolo del post. Potete aggiungere l'html che volete e impostare la visualizzazione della data a piacimento: sarà in questo modo che verrà visualizzata sopra al post in Wordpress. Verificate che ci sia almeno un <p> o spaziatori analoghi che separino data e testo del post.

  4. Individuate il link ai commenti. Dovrebbe essere qualcosa del genere:
    <a href="<$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>" onclick="OpenComments(this.href); return false">Commenti (<$MTEntryCommentCount$>)</a>
    Sostituitelo con questo codice:
    <a href="javascript:void(0);" onClick="window.open('http://blog.clarence.com/commentit.php?idblog=7748&idpost=<$MTEntryID$>','finestra','width=480,height=480,scrollbars=yes,status=yes');"> <b>Leggi/Scrivi commenti</b></a>
    Purtroppo non ci sarà più l'indicazione del numero dei commenti. Naturalmente potete modificare le dimensioni della finestra dei commenti agendo sui valori di width ed height, nonché cambiare il nome "finestra" e la dicitura leggi/scrivi.. ehm.. ok, stiamo scadendo nell'ovvio ^^

  5. Subito prima del tag di chiusura </MTEntries>, inserite </span>.

  6. Pubblicate il gli archivi.

  7. Aprite il vostro blog - su Clarence, of course - e controllate:
    - se il nuovo link ai commenti funziona
    - se la data si trova sotto il titolo, ed è nel formato che preferite.
    Non preoccupatevi se il resto del template è un po' sballato; se sopravviverete all'importazione, potrete rimettere quello salvato!

Se avete più di 25 post nella stessa pagina d'archivio, dovrete importare manualmente i rimanenti. Non dovreste averne molti, quindi un copia-incolla su Wordpress non sarà troppo faticoso. [Posso aumentare il limite di 25 post?] Questi post però verranno pubblicati a un orario diverso rispetto a quelli importati, perciò non seguiranno l'ordine degli altri; potrete risolvere il problema nel momento in cui organizzate l'archivio in categorie/mesi.
Una volta inseriti nella categoria/mese i 25 post, aggiungete alla stessa categoria anche i post pubblicati manualmente. Dovrebbero essere tutti all'inizio del mese; vi basterà perciò modificare l'ora di pubblicazione:
Gestione-->Articoli-->cercate l'articolo che vi interessa-->Modifica-->Modifica data e ora (in basso, fra le Avanzate)
in modo che sia precedente a quella degli altri post.


Creazione dei feed da Clarence e importazione su Wordpress

  1. Andate all'indirizzo http://www.xmlhub.com/rssgenr8.php dove creerete i feed rss. [Posso farlo sul mio server?]
  2. Si suppone che vogliate trasferire i vostri post in un ordine sensato; cioè, nella maggioranza dei casi, avendo il più recente come primo post che appare, e gli altri a seguire. Per fare ciò, seguite attentamente i punti seguenti. Se sbagliate l'ordine, cancellate tutti i post e ricominciate. Oppure trovate un modo per spostare i post in blocco, e.. ehm... vi sarò grata se me lo fate sapere ;-)

  3. Inserite nell'apposito campo l'indirizzo della pagina di archivio col mese più vecchio. Ad esempio: http://mioblog.clarence.com/2003-12-01/index.html

  4. Cliccate su Create RSS.

  5. Controllate la pagina che vedete ora. In particolare:
    - Tra i tag <title> e </title>, eccettuato il primo in cui si trova il titolo del blog, deve esserci il titolo di ciascun post. E nient'altro, possibilmente.
    - Tra i tag <link> e </link> dev'esserci il permalink di quel post. E nient'altro. Verificate che sia l'indirizzo giusto e che sia diverso per ogni post.
    - Tra i tag <description> e </description> trovate il testo del post e, se tutto ha funzionato, anche la data. Immaginate come verrà visualizzata, distanziata dal post, e come questo sarà impaginato una volta che quei tag html saranno applicati. Se non vi piace, tornate a modificare il template.
    - In fondo, sempre dentro <description>, dovrebbe esserci il vostro bravo tag relativo al link dei commenti.

  6. Controllate che ci siano tutti i vostri post di quel mese. Se non ci sono, significa che ne avevate più di 25; perciò prima copiate manualmente i rimanenti, e poi tornate qui a importare la pagina d'archivio di quello stesso mese.

  7. Andate in File-->Salva con nome. Salvate la pagina, specificando in "Salva come" che si tratta di file xml.
    Vi conviene dargli il nome del mese.

  8. Se tutto è a posto, caricate il file appena salvato sul vostro server, nella stessa cartella dove si trova import-rss.php (ergo, in wp-admin). Dopodiche, rinominatelo - la copia che sta sul server! - col nome miorss.xml. O comunque, col nome che avete indicato qui.

  9. Siete pronti per importare. Andate su www.nomevostroserver.boh/wp-admin/import-rss.php e cliccate su Begin RSS import. [Non vedo questo link!]

  10. Se non vi dà nessun errore, tutto dovrebbe essere andato a buon fine. Controllate nell'home page del vostro blog su Wordpress che i post siano stati pubblicati e si vedano nel formato desiderato, col titolo al posto del titolo e il link ai commenti funzionante.

  11. Cancellate dal server il file miorss.xml.

  12. Tornate su http://www.xmlhub.com/rssgenr8.php e create il feed rss del mese successivo; quindi ripetete i passaggi. Naturalmente, una volta caricato l'xml del nuovo mese, dovrete rinominarlo sempre come miorss.xml.
    --> Dopo aver importato due o tre mesi, controllate che siano stati pubblicati e siano in ordine, fino all'ultima pagina. Se qualcosa non va, cancellate e ricominciate.
    --> Se vi scordate qual è l'ultimo mese che avete pubblicato, è meglio rischiare di pubblicarne uno già fatto che scombinare l'ordine saltando un mese: Wordpress si "accorge" che avete già importato quei post e non li ripubblica.
    --> Proprio per questo motivo non si possono sovrascrivere post già importati. Anche se li avete modificati, Wordpress li considera "already imported". E' per questo che la necesità di cancellare tutto si presenterà più volte!

  13. Terminata l'importazione, potrebbe essere una buona idea rimuovere del server i file relativi alla cancellazione dei post. Non si sa mai...

  14. Bene, avete importato tutti i post. Se volete ordinarli secondo categorie/mesi, proseguite...

Come spiega quello stesso sito, è possibile scaricare il file php, caricarlo semplicemente sul proprio server (che deve supportare php, ma se c'è installato Wordpress lo supporta per forza), aprire tale pagina e creare il feed nella stessa identica maniera. Se funzionasse, si potrebbe anche modificare il codice e aumentare il limite dei 25 post. Peccato che, almeno sul mio server Altervista, non funzioni. Nemmeno l'originale senza modifiche. Vi auguro miglior fortuna...



Se non compare Begin RSS import in fondo alla pagina, può darsi che non abbiate specificato bene il percorso della pagina xml che avete salvato. Controllate che il nome (qui, miorss.xml) indicato in define('RSSFILE', 'miorss.xml'); corrisponda.

 

Ordinamento per categorie/mesi

Dato che avete importato i post nello stesso giorno, Wordpress rileva che hanno tutti la stessa data e li raccoglie in un unico mese d'archivio. Ma noi vogliamo crearci il nostro archivio mensile, perciò... imbroglieremo Wordpress creando delle categorie che abbiano il nome di ogni mese (o qualunque altro raggruppamento temporale).

  1. Create tutte le categorie che vi servono, dando loro il nome di ciascun mese; e createle in ordine dal più recente: Giugno 2005, Maggio 2005, ecc. Si fa dal pannello d'amministrazione di Wordpress: Gestione-->Categorie.

  2. Scaricate questo zip (per scaricare clicca col destro sul link e scegli Salva oggetto con nome), scompattetelo e caricate i 3 file .php sul vostro server, nella cartella wp-admin.

  3. Aprite la pagina www.nomedeltuosito.boh/wp-admin/incat_idpost.php. Ciò che vedete è l'elenco di tutti i titoli dei vostri post con accanto il loro id.

  4. Controllate, aprendo in un'altra finestra il vostro blog su Clarence, "dove comincia un mese e finisce l'altro", ovvero quali sono il primo e l'ultimo post di un mese. Tornate nella pagina incat_idpost.php e guardate qual è l'id di quei due post, quindi segnatevelo a parte. Ripetete per ogni mese, fino ad avere un elenco del tipo:
    245-258 dicembre 04
    259-270 gennaio 05
    271-290 febbraio 05
    ...ecc ecc. E' un po' noioso, è vero. Se preferite, potete cambiare a una a una le date di trecento post... ^^

  5. A questo punto cliccate sul link al form d'inserimento, o comunque andate alla pagina incat_form.php e inserite il nome di una categoria/mese creata (scrivetelo con precisione) e gli id iniziali e finali di quel mese. Cliccate su invia.

  6. Ripetete l'operazione per tutti i mesi; e se avevate più di 25 post in un mese, seguite queste istruzioni. Quindi controllate che sul vostro blog in Wordpress appaiano le categorie giuste, e che contengano i post giusti!

  7. Naturalmente, nel template del vostro blog dovranno essere visualizzate le categorie! Per un miglior... camuffamento, sistematele appena sotto l'archivio, e impostate l'ordine di visualizzazione secondo l'id di categoria. Basta andare nel template della sidebar e cercare questo codice:
    <?php wp_list_cats('sort_column=name&optioncount=0&hierarchical=0');
    Sostituite name con id. Potete invertire l'ordine ascendente/discendente aggiungendo sort_order=asc o sort_order=desc. Altre informazioni qui.

  8. Bene, se tutto è a posto, abbiamo finito... Come dice Wordpress... Have fun!

  9. P.S. ...E se invece non fosse proprio tutto a posto:
    a) Tentate un esorcismo al pc.
    b) Scrivete un po' di ingiurie a: scheggedeltempo@email.it ;-)

    (A parte le ingiurie: se qualcosa non funziona o potrebbe funzionare meglio, fatemelo sapere!)