Passare da BE a WP

Il Fondo del Web cambia, a distanza di circa 5 anni, la piattaforma che sta alla base del blog: passa da BlogEngine.NET (scritta in Microsoft Asp.NET su server Windows) a WordPress (scritta in PHP su server Linux). Un bel cambiamento, dettato sopratutto dai pochi aggiornamenti di BlogEngine e sopratutto dal costante sviluppo e supporto di WordPress (e tutti i plugins). Un passaggio doveroso anche per cambiare stile grafico (ancora in corso a dire il vero).
L’esperienza di passaggio tra la vecchia piattaforma e la nuova è stato però abbastanza difficoltoso e vorrei spiegarla in dettaglio in questo post affinchè possa essere di aiuto a chi voglia eseguire questo cambiamento. Di seguito dunque una serie di passaggi da eseguire con alcune dritte.

  • BE: Esportare tutto il blog tramite la funzione Esporta della piattaforma BlogEngine in un file BlogML.xml
  • BE: Non verranno esportate le singole pagine che andranno salvate direttamente in HTML
  • BE: Copiare tutte le immagine del vecchio blog e caricarle in una directory nella root del nuovo blog chiama \old-files (o simile)
  • BE: Modificare il file .xml cambiando le src delle immagine da src=”/image.axd?picture= in src=”http://www.mioblog.it/old-files
  • BE: OpneML esporta le categorie sotto forma di ID, è necessario modificare quest’ultimi in una forma più leggibile perchè verranno importati da WordPress in forma testuale
  • WP: Installare WordPress normalmente
  • WP: Scaricare il plugins BlogML Importer qui
  • WP: Importare il file OpenML.xml tramite il nuovo plugins. Chiederà di associare un utente di WP a quello base che trova nel file xml
  • WP: Verificare che tutti i post, tutte le categorie e tutti i commenti siano importati correttamente
  • WP: Installare il plugins Redirection qui
  • WP: Attraverso il plugins Redirection creare una serie di Redirect 301 per puntare i vecchi files BlogEngine (che hanno la forma \post\mio-post.aspx) a quelli nuovo di WordPress (che sono \mio.post\). Quelli creati da me sono questi:
  • Partenza: /post/(.*).aspx
    Arrivo: /$1/
    Codice: 301
  • Partenza: /page/(.*).aspx
    Arrivo: /$1/
    Codice: 301
  • Partenza: /category/(.*).aspx
    Arrivo: /category/$1/
    Codice: 301
  • WP: Ricreare le singole pagine in HTML tenendo presente di dare il nome del files (permalink) identico a quello in aspx per preservare il posizionamento)
  • WP: Potrebbe essere necessario dover cancellare tutti i post e re-importarli qualche volta per fare in modo che le vecchie immagini abbiano puntato correttamente a quelle salvate. Consiglio l’uso di BulkDelete qui per cancellare in un colpo solo i post facendo attenzione

Questo è tutto. Preparatevi a lunghe sessioni di lavoro (io ci ho messo circa 6/8 ore per ultimare il tutto, ma sopratutto per capire come procedere) ma il risultato sarà veramente soddisfacente.

  • Fabrizio

    Ciao Daniele,
    ci siamo già scritti un pò di tempo fa sul redirect ambito BlogEngine.net.
    Volevo farti i complimenti per il post che reputo veramente molto interessante, anche perché è proprio quello che stavo cercando sul Web.
    Come te, sto anche io iniziando la fase di esportazione da BE.net a WordPress per avere maggior sostegno e soprattutto maggiore qualità di piattaforma, ma già ho trovato dei problemi.

    Il plugin da te consigliato “plugins BlogML Importer” non è stato più aggiornato da circa 2 anni e installandolo sull’ultima versione di WordPress 4.1 restitutisce il seguente errore: Fatal error: ‘break’ operator with non-constant operand is no longer supported in C:\wamp\www\wp-content\plugins\blogml-importer\XPath.class.php on line 3773. Hai risolto in qualche modo??????

    La mie domande sono queste:
    1) che versione hai utilizzato di WordPress per fare la migrazione?
    2) che intendi con “Non verranno esportate le singole pagine che andranno salvate direttamente in HTML”? il file è in XML (es. 00b0d0a3-b1ab-4296-abbb-446f9e693006.xml) come le converto in HTML?
    3) Per assegnare il titolo ad ogni post HTML come hai fatto?

    Spero risponderai a questi dubbi? Nel frattempo ti ringrazio e ti saluto
    Fabrizio

    • Daniele Ferla

      Ciao Fabrizio, spero di esserti utile.
      1. La versione che ho utilizzato è la 4.0.0 in italiano e tutto è andata liscio con l’importer (probabilmente è proprio un problema di compatibilità). Tieni presente che ci sono molti altri importer per BlogML, non solo quello.
      2. Nel file ML vengono salvati solo i post e l’import gestisce solo quelli. Le singole pagine (io avevo la contatti, l’about, il pdf seo, etc) le ho aperte in versione html (es: vedi sorgente dal browser) e le ho copiate in file temporanei. Poi, una volta ultimati i lavori sul blog, le ho create man mano facendo copia/incolla di quel codice html in nuove pagine wordpress, gestite poi tramite menu principale.
      3. Non ho assegnato nuovi titoli hai post. Mi sono spiegato male nella descrizione?

      Ciao
      daniele