Migratie van PivotX naar WordPress

Nieuw jasje – migratie van PivotX naar WordPress

Een tijdje geleden ben ik (en Olaf stiekem ook een beetje) druk geweest met de blog migratie van  PivotX naar WordPress. Vandaag zijn spreekwoordelijk eindelijk de laatste puntjes op de i gezet.

PivotX vond ik een erg fijn CMS en ik heb er jaren lang heel fijn mijn blog mee kunnen bijhouden. Helaas zijn er de laatste jaren geen updates meer voor uitgekomen en werkte mijn website niet meer nadat er wat webserver updates waren uitgevoerd. In plaats van veel tijd steken in die fouten oplossen, heb ik toen besloten om ook mijn persoonlijke blog om te zetten naar WordPress.

Voor mijn Foodblog had ik dit vorig jaar al eens gedaan. Hierbij hebben we wel wat scriptjes kunnen gebruiken, maar zat er ook heel veel handwerk aan. Daar ging het maar om 60 artikelen, waar je nog wel een keertje doorheen bent om goed te doen. Mijn persoonlijke blog heeft bijna 800 artikelen, waardoor ik de migratie steeds voor me uit had geschoven.

Voor de mensen die ook aan de slag gaan met de migratie van PivotX naar WordPress heb ik hieronder de stappen weergegeven die ik heb doorlopen, inclusief de websites waar ik iets aan heb gehad.

Migratie van PivotX naar WordPress

Het migreren van alle content, beelden, tags, reacties, e.d. bleek nog wel een hele uitdaging te zijn. Gelukkig heb ik online wel wat scriptjes gevonden die me bij de migratie konden helpen, maar nog steeds zit er aan de overgang heel veel handwerk. Hieronder zal ik een paar struikelblokken toelichten waar ik tegenaan ben gelopen bij het migreerproces. Ik heb onderstaande websites gebruikt tijdens de migratie, hopelijk hebben jullie hier ook iets aan.

0. Maak een back-up van alles

De eerste stap in elke migratie is een back-up maken. Er is niets zo vervelend als erachter komen dat je je bronbestanden niet meer hebt en er veel werk verloren gaat. Dus maak een back-up van al je afbeeldingen, de database en liefst je hele pivotx installatie.

1. Installeer WordPress

Om te kunnen migreren, heb je een werkende WordPress installatie nodig. Weet je niet hoe je hieraan moet beginnen? Lees dan de 5-minuten setup van WordPress eens door. Je hoeft op dit moment nog niets van PivotX uit je database weg te gooien. Laat het lekker staan voor het geval je nog een CSV bestandje ergens van nodig hebt in de volgende stappen. Het is ook handig als je oude website nog ergens toegankelijk is om makkelijk even iets in het CMS te kunnen opzoeken.

2. Exporteren van alle berichten uit PivotX

Het exporteren van de oude berichten (zonder reacties) is niet echt moeilijk. Via deze URL krijg je een overzicht van alle berichten van je huidige PivotX website: example.org/?feed=rss&c=*&n=10000. Vul op de plek waar example.org staat je eigen domeinnaam in. Download dit overzicht via je browser als een .xml bestand. Open nu dit bestand in een textverwerker als Notepad en ga verder met de volgende stap. We gaan nu een aantal aanpassingen maken om het .xml bestand klaar te maken voor import. Verwijder <![CDATA en ]]> door middel van Find & Replace in de tekstverwerker. Deze tags staan rondom elke post en worden niet door WordPress herkend.

3. Overzetten van je afbeeldingen

Met name de foto’s zijn een lastige opgave. PivotX en WordPress hebben allebei hun eigen manier van omgaan met afbeeldingen. Hierdoor was het lastig omzetten en zijn er nog steeds een heleboel plaatjes niet helemaal goed. Ik ben er inmiddels achter dat doormiddel van wat scriptjes het gros van de beelden goed is gekomen, maar alles wat een ‘pop-up image’ was in PivotX is nog kapot. Helaas ben ik hier een tijdje groot fan van geweest en heb ik dus nog wat aanpassingen te gaan.

Ik heb alle afbeeldingen gekopieerd naar de nieuwe WordPress omgeving en in de map ‘uploads/pivotx’ gezet (zie de tip hieronder hoe dit beter kan). Deze beelden kan je niet vanuit de mediamanager in WordPress terugvinden, maar zoekmachines en iemand die je website bezoekt met de betreffende URL kan deze wel terugvinden.

Tip: noem de map waar je de beelden inzet exact hetzelfde als in je oude PivotX configuratie. Ik heb dit niet gedaan waardoor ik nog weer wat trucs uit heb moeten halen om alles goed te zetten. In de meeste gevallen gebruik je ‘uploads/images’.

Het tweede deel van de migratie van afbeeldingen van PivotX naar WordPress behelst het zorgen dat de ‘image tags’ die gebruikt worden in de artikelen om de afbeeldingen aan te roepen ook goed staan. Bij PivotX worden beelden aangeroepen door bijvoorbeeld een string als deze [[image file=”2015-01/maldives-palm-trees.jpg” alt=”Maldives palm trees” title=”Maldives palm trees” width=”550px” ]]. Deze strings staan in de content van de artikelen die je gaat importeren.

Ga nu naar het geëxporteerde .xml bestand in je tekstverwerker. Hier zal je een enorme lap teksten zien, maar in de teksten kan je ook af en toe een string als hierover terugzien. Nu gaan we door middel van Find & Replace deze strings aanpassen.

  1. Vervang [[image file=” door <img src=”
  2. Vervang ]] door >

Het kan geen kwaad om na het vervangen van deze string nog goed te kijken of je ergens [[image nog ergens tegenkomt. Soms is de volgorde in de string anders, maar bovenstaande is de meest voorkomende volgorde.

4. Tags & relatieve URLs

In hele oude PivotX posts staan her en der ook nog tags midden in de artikelen. Ik heb deze allemaal verwijderd. Ik heb niet uitgevogeld hoe tags werken in WordPress (behalve ze invoeren bij een bericht) en heb hier verder geen tijd in gestoken. Waar ik het nuttig vind, vul ik deze wel weer aan. Wel belangrijk om de referenties naar de tags uit je teksten te halen, anders zie je die terug in je berichten straks op je nieuwe website.

Wat betreft interne linkjes kan het geen kwaad even te controleren of je voornamelijk relatieve URL’s hebt gebruikt. Als je nieuwe website op exact dezelfde plek komt te staan straks, dan kan het niet zoveel kwaad, maar anders werken interne linkjes straks niet meer. Je kan er makkelijk relatieve URLs van maken door ‘http://example.com’ te vervangen door ” in je .xml bestand. Dan blijft alleen het stuk achter de domeinnaam over.

5. Klaar voor importeren

Nu wel alle aanpassingen hebben gemaakt in het .xml bestand, sla je deze op. Ga nu naar het Dashboard van je WordPress installatie en installeer de plugin ‘RSS importer’. Ga daarna naar ‘Extra’ > ‘Importeren’ en klik op RSS. Volg nu de stappen om het .xml bestand wat je zojuist hebt opgeslagen te importeren.

6. Reacties overnemen

De reacties waren in mijn geval iets meer werk als op de website van Maarten beschreven. Op een of andere manier was bij mij het veld ‘guid’ in de WordPress database niet gevuld met een ID, dus waren de comments van de oude PivotX posts niet makkelijk te matchen aan de nieuwe post IDs in WordPress. Voor de meeste migraties zal die werkwijze het wel gewoon doen.

In mijn geval heb ik met een avondje handwerk en excellen de reacties gekoppeld aan de nieuwe posts en deze via phpMyAdmin geïmporteerd in de database. Ik heb hiervoor eerst een test-reactie geplaatst bij een post. Daarna deze tabel gedownload als CSV en gevuld met de reacties uit de oude website. Bij ID ben ik handmatig elke keer opzoek gegaan naar het nieuwe ID in WordPress.

Tip: Zorg ervoor dat je de datum en tijd goed insteld in Excel. Ik gebruikte hiervoor dit custom format: ‘jjjj-mm-dd uu:mm:ss‘.

Als je de CSV af hebt, sla deze dan zonder kolomkoppen op als UTF-8 en importeer deze in de tabel wp_comments via phpMyAdmin.

Nu houdt WordPress stiekem ook nog bij hoeveel reacties er per post zijn en dat doet hij uiteraard op een andere plek. In de tabel wp_posts staat in de laatste kolom comment_count. Je zult zien dat ondanks dat je de reacties hebt geïmporteerd, deze nu op 0 staan (behalve je ene test-reactie).

Ik heb dit opgelost door vanuit de CSV per ID te tellen hoeveel reacties daar waren. Hieruit ontstonden twee kolommen: ‘comment_count’ en ‘comment_post_id’. Deze kolommen heb ik in Notepad++ geplakt en via de functie om op meerdere regels tegelijk te typen heb ik er deze query van gemaakt: ‘UPDATE wp_posts SET comment_count = REPLACE(comment_count, ‘0’, ‘2’) WHERE `ID` LIKE ‘1018’;’. Hierbij heb ik per comment_post_id een nieuwe regel (query) opgesteld elk afgesloten met een ; . Deze queries heb ik vervolgens via de SQL functie in phpMyAdmin in de database gezet en nu staat er netjes bij elk bericht het juiste aantal reacties.

7. Nalopen van de website

Nu is het tijd te controleren of alles is gelukt. Kijk of alle categorieën goed zijn gezet en of de teksten er een beetje OK uitzien. Ik heb zelf nu de komende tijd nog de klus om ‘uitgelichte afbeeldingen’ in te stellen. Afhankelijk van je gekozen template is dit wel of niet relevant. Aangezien ik foto’s meer centraal wil gaan stellen, is dit voor mij wel handig. Voor alles waar nu nog geen ‘uigelichte afbeelding’ staat, heb ik via de plugin een placeholder image laten plaatsen zodat het niet zo lelijk is.

Ét voilà! Een gevulde WordPress website

Heb je geen zin om dit allemaal zelf te doen? Er zijn ook bedrijfjes die de migratie voor je kunnen doen. Voor mijn site zou ik ongeveer € 100,- kwijt zijn geweest, maar dat vond ik toch zonde van het geld.

Hiermee moet je een heel eind komen in de migratie van PivotX naar WordPress. Er kloppen vast her en der nog dingen niet aan de site, kom je iets tegen dan hoor ik dat graag! Ook ben ik benieuwd naar jouw tips & tricks voor een goede migratie.

(Visited 148 times, 1 visits today)

1 reactie

Laat een reactie achter

Uw emailadres zal niet getoond worden.


*


Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.