Från WP-Hive till Multi-Site

Efter mitt inlägg igår, om hur man installerar WordPress 3.0 med Multi-Site och Domain Mapping, så har jag fått en hel del frågor om hur man migrerar från WordPress 2.9.x med WP-Hive. Jag har därför skrivit ihop en liten guide även för detta. Håll till godo! 🙂

Så här migrerar du från WordPress 2.9.x + WP-Hive till WordPress 3.0 + Multi-Site:

1. Uppdatera till WordPress 3.0

Kör en vanlig uppdatering genom /wp-admin. Webbplatserna som du har i WP-Hive kommer att fortsätta fungera och du kan logga in och administrera dem (skriva inlägg osv). Du kommer däremot inte kunna lägga till/ta bort några webbplatser i WP-Hive.

2. Exportera inlägg och länkar

Använd WordPress export-funktion, som du hittar i /wp-admin under Verktyg > Exportera. Logga bara in på den gamla sidan och kör en export av alla inlägg, som du sedan sparar ner på din dator.

För att exportera dina länkar, besök http://mindomän.se/wp-links-opml.php och spara ner sidan i din webbläsare (Arkiv > Spara sida som…).

3. Exportera övriga inställningar

Nu blir det lite klurigt. Det finns nämligen ingen funktion för att exportera övriga inställningar, såsom anpassning av teman, tillägg, widgets osv (om du använder Thesis kan du testa Thesis Import/Export). Man behöver istället mecka lite med databasen.

Praktiskt taget alla inställningar finns i tabellen $PRE_options ($PRE = valfritt prefix). Exportera därför alla relevanta inlägg från denna tabell som en SQL-fråga med valfritt verktyg (jag kan rekommendera Sequel Pro). Spara SQL-frågorna på din dator.

Vissa tillägg skapar separata tabeller som du även kan behöva exportera.

Oroa dig inte för att göra fel och t ex exportera för få eller fel inställningar. Du kommer nämligen kunna gå tillbaka och exportera så mycket du vill senare.

4. Installera Multi-Site/Domain Mapping och skapa nya webbplatser

Följ guiden jag skrev igår och installera Multi-Site och Domain Mapping (valfritt). Skapa sedan dina nya webbplatser i WordPress 3.0. Notera även vilket ID respektive webbplats får (det ser du under Superadmin > Webbplatser).

5. Importera inlägg och länkar

Logga in i panelen för respektive ny webbplats i WordPress 3.0 och importera inläggen under Verktyg > Importera. Bocka i alternativet för att hämta/ladda ner alla bilder. Även om det inte fungerar så blir länkningen ändå rätt.

Under Verktyg > Importera importerar du även dina länkar, med alternativet Blogroll.

6. Importera övriga inställningar

Öppna dina sparade SQL-frågor med valfri textredigerare och ersätt $PRE_options med tabellprefixet för din nya webbplats. Prefixet är wp_$ID_options, där $ID är webbplatsens ID (som du noterade tidigare). Sök och ersätt allt.

Exempel: test_options -> wp_2_options

Sedan loggar du in på databasservern igen och kör (de redigerade) SQL-frågorna där. Om du har gjort rätt så kommer dina gamla inställningar att dyka upp i rätt tabell för din nya webbplats i WordPress 3.0.

7. Fixa alla bilder

Vi har sparat det roligaste till sist. WP-Hive sparar nämligen bilderna för samtliga extra webbplatser i samma mapp som din huvudsakliga webbplats. Det finns lite olika sätt att lösa detta:

  • Ändra sökväg till bilderna
    Det här är lite småfuskigt och passar bäst om dina nya webbplatser enbart hanteras av dig. Gå in under Superadmin > Webbplatser och välj Redigera för webbplatsen. Ändra fältet Upload Path till wp-content/uploads.
  • Kopiera över alla bilder
    Om det inte rör sig om så många bilder så kan du kopiera samtliga mappar och bilder från /wp-content/uploads till /wp-content/blogs.dir/$ID/files (nya webbplatsens ID här igen).
  • Kopiera över rätt bilder
    Samma som ovan, fast du bara kopierar över rätt bilder. Du kan ta reda på vilka bilder som är rätt genom att kolla dessa mot fältet guid i tabellen wp_$ID_posts (nya webbplatsens ID). Klart klurigare, men du slipper en massa dubletter.

Svårare än så här är det inte! 🙂

Till detta kan det givetvis tillkomma saker som att ta bort konfigurationen för den gamla webbplatsen, t ex om den är kopplad till en separat mapp, och koppla in den som ett alias till WordPress 3.0-installationen.

Har du några frågor eller funderingar om denna migrering? Lämna gärna en kommentar här nedan. Jag arbetar även som WordPress-konsult och kan givetvis hjälpa dig/ditt företag med detta (och mycket mer).

5 svar på ”Från WP-Hive till Multi-Site”

  1. Intressant, jag gjorde lite annorlunda för plucera.se

    1. Dumpade databastabellerna med mysql-dump
    2. Installerade multisite (ren installation) och satte upp en ny site för plucera.se
    3. Kopierade alla plugins, teman och filer i uploads (till blogs.dir/….).
    4. Moddade tabellnamnen i sql-filen (sök/ersätt).
    5. Importerade sql-filen.
    6. Körde /wp-admin/upgrade.php
    7. Körde tillägget Velvet Blue Update URLs för att ändra hänvisningarna till bilder (från uploads till files)

    Det fina var att jag inte behövde göra något med pluggarna, de fungerade direkt utan handpåläggning.

    • Ja, man kan givetvis göra så också (så länge man håller ordning på tabellerna, det är inte alla som behövs i WP3). Jag föredrar min metod eftersom man har två parallella databaser och enkelt kan kopiera däremellan, samtidigt som man får en helt ”ren” WP3-installation. Men inget fel med det du beskriver heller 🙂

      • Nej, user-tabellerna behövs inte så de kopierar man inte, men även min metod har separata databaser med en helt ren WP3:a.

  2. WordPress egen Export/Import är rätt värdelös, då den inte stödjer större filer än 8 MiB (!). Med en blogg med många inlägg kan man exportera bloggen, men inte importera den.

    Jag har kört många tester med skarpa sidor där vi kopierat databasen rakt av och ändrat på tabellnamnen. Allt genom MySQL. Det ser ut att fungera, men det finns mängder med små egenheter WordPress får för sig när man gör så. Därför ändrade jag strategi och började bygga en installerare som drar upp en ny (ren) blogg och importerar gamla inlägg och inställningar. Pluginstödet skall jag fixa efter semestern och enligt företagets open source strategi kommer detta släppas fritt under EUPL-licensen.

    • Jag har aldrig stött på något problem med import/export i WordPress. Då har jag ändå jobbat med rätt så stora webbplatser.

      Och det finns väl redan ett gäng olika tillägg som för import/export, som delar upp filerna osv? Inget fel med att skapa nya tillägg givetvis.

Kommentarer är stängda.