Flytta WordPress Flytta en webbplats till ett multisitalt nätverk

För ett år sedan hade jag en värdkatastrof. Min webbleverantörs server var hackad och det tog dem över en vecka för att identifiera vad problemet var och fixa det.

Under tiden mina klienters webbplatser omdirigerades till en datingsida och jag fick telefonsamtal som krävde att jag åtgärda saker direkt.

Jag var tvungen att agera snabbt. Men i stället för att helt enkelt flytta alla webbplatser som de var på en ny server (och en ny webbhotell, kunde jag lägga till), bestämde jag mig för att flytta sajterna på ett sätt som skulle göra det lättare för mig att flytta dem alla igen om Jag var tvungen att. Så jag flyttade ett antal webbplatser med sin egen WordPress-installation till mitt befintliga Multisite-nätverk, som jag redan hade flyttat till den nya servern.

Att flytta enskilda platser till ett Multisite-nätverk är mer komplicerat än att bara flytta det till en ny installation för en enda plats, men det är inte omöjligt. I denna handledning visar jag dig två metoder för att göra det: använda plugins och manuellt.

Vad du behöver

För att följa denna handledning behöver du:

  • En installation av WordPress med en befintlig webbplats som körs på den.
  • Ett Multisite-nätverk som du är nätverksadministratör för.
  • För manuella flyttningar behöver du en FTP-klient, en kodredigerare och åtkomst till phpMyAdmin.

Använda ett plugin för att flytta en webbplats till multisiten

Om din webbplats inte har mycket konfiguration konfigurerad via plugin, temat eller webbplatsinställningsskärmar, kan det hända att du kan lyckas flytta den med hjälp av pluginprogrammet för WordPress Importer. Om webbplatsen har widgets kan du kopiera sina inställningar över med pluginprogrammet för widgetinställningar Importör / exportör.

Men om du har lagt till mycket skräddarsydd konfiguration med inställningar eller alternativskärmar eller teman anpassningsverktyg kommer ingen av dessa att kopieras över. I det här fallet måste du göra ett manuellt drag.

För fullständiga detaljer om hur du använder dessa plugins för att flytta din webbplats, se min tidigare handledning om hur du använder plugins för att flytta ett WordPress-webbplats. Processen är exakt densamma för att flytta en webbplats till ett Multisite-nätverk som det är för en enda webbplats.

Migrera en webbplats till multisite manuellt

Den webbplats du flyttar till Multisite kommer att ha tre komponenter som du behöver kopiera från den gamla webbplatsen:

  • tema och plugin-filer kan du kopiera dem över eller installera dem i nätverket om de inte redan är installerade
  • uppladdningar-du hittar dem i wp-content / uppladdningar på din gamla sida, medan du är i multisite-installationen måste de gå in i wp-content / uppladdade / sites / XX, var XX är ditt nya sajts ID i nätverket (varav inom kort)
  • databas tabeller

Obs! Om det Multisite-nätverket du flyttar din webbplats till skapades före WordPress 3.5 kommer det inte att ha en webbplatser mapp. Istället får du en blogs.dir mapp i wp-innehåll med alla uppladdningsfiler för underplatserna. Detta kommer att ha en numrerad mapp för den webbplats du skapar, som du kopierar dina filer till istället. Jag kommer att beskriva detta mer detaljerat nedan.

Säkerhetskopiera först

Innan du gör något så här är det en bra idé att säkerhetskopiera webbplatsen du flyttar och din Multisite-installation. Använd din favorit backup plugin, eller en kombination av FTP och phpMyAdmin om du föredrar att arbeta manuellt.

Du använder den här säkerhetskopian för att kopiera relevanta filer till din nya webbplats, och det ger dig också lugn och ro om du har några problem.

Skapa en ny webbplats i nätverket

Innan du kan migrera din gamla webbplats till Multisite måste du skapa en ny tom sida i nätverket. Senare importerar du allt från din gamla sida till den här nya sajten.

Skapa webbplatsen på normalt sätt, genom att gå till Nätverksadministratör> Webbplatser, klick Lägg till ny, och ange detaljerna på din nya webbplats.

Hitta ID på din nya webbplats i multisite-nätverket

Varje webbplats i ett Multisite-nätverk har sitt eget unika numeriska ID. Detta används för att identifiera sin mapp i wp-content / uppladdade / platser katalog (eller wp-innehåll / blogs.dir om ditt Multisite-nätverk är äldre, se ovan), och även för att identifiera databas tabellerna för den webbplatsen.

Hitta det här genom att gå till Nätverksadministratör> Webbplatser och sedan välja Redigera alternativ för den webbplats du just har skapat. Webbadressen WordPress tar dig till att ge dig webbplatsens ID. URL-adressen ska vara i formuläret http://mynetwork.com/wp-admin/network/site-info.php?id=XX.

XX är namnet på din webbplats och namnet på den mapp som innehåller dess filer, samt prefixet för dess databas tabell namn.

Överför filer till den nya sajten

Identifiera plugins som används av din gamla webbplats och installera dem (om de inte redan är installerade) i ditt WordPress-nätverk via plugins skärm eller ladda upp dem till wp-content / plugins från den säkerhetskopia du tog av din gamla webbplats.

Gör samma sak för alla teman som din webbplats använder - kopiera dem från din säkerhetskopia till wp-content / teman katalog i ditt nätverk, eller bara installera om dem.

Obs! Teman och plugins lagras på ett ställe för alla webbplatser i ett Multisite-nätverk. Du behöver inte lagra dem någonstans specifikt för den nya sajten.

Kopiera uppladdningarna från din gamla sida till den nya. Filerna du behöver kopiera finns i wp-content / uppladdningar på din gamla sida. Var du laddar upp dem beror på hur gammal nätverket är:

  • Om nätverket skapades efter WordPress 3.5 kommer det att ha en webbplatser mapp i wp-content / uppladdningar. Hitta undermappen med webbplatsens ID och ladda upp innehållet i wp-content / uppladdningar mapp från din gamla sida till det.
  • Om nätverket är äldre och har a blogs.dir mapp, som också innehåller en mapp med webbplatsens ID. Då kommer en undermapp att ringas filer. Kopiera innehållet i wp-content / uppladdningar mapp från din gamla webbplats till filer mapp.

Obs! Du kan behöva radera några mappar som WordPress har skapat för din nya webbplats i webbplatser eller blogs.dir mapp för att undvika eventuella konflikter.

När du har gjort allt detta aktiverar du några teman och plugins på din nya webbplats.

Exportera din gamla webbplatsens tabeller

WordPress Multisite använder separata databastabeller för varje webbplats i nätverket. Istället för att lagra inlägg för din webbplats i wp_posts, till exempel lagras den i wp_XX_posts, var XX är din webbplats ID.

Det använder emellertid inte separata tabeller för användardata, det lagras i ett wp_users och wp_usermeta bord för hela nätverket.

Det betyder att du måste kopiera alla tabellerna från din gamla webbplats överutom de två användartabellerna, och du måste ändra namnen på filerna du kopierar. Tyvärr måste du skapa användarna manuellt på den nya sajten med hjälp av WordPress-adminskärmen.

För mer information om Multisite och databas tabeller, se denna handledning på WordPress-databasen och Multisite.

I PhpMyAdmin För din gamla webbplats, klicka på Strukturera flik. Välj sedan alla tabeller utom wp_users och wp_usermeta. Ett exempel visas nedan.

Klicka på Med valda: rullgardinsmenyn, välj Exportera och då . Detta laddar ner a sQL filen till din maskin med innehållet i dessa tabeller.

Lägga till användare

Som jag nämnde ovan kan du inte kopiera wp_users och wp_usermeta tabeller eftersom dessa kommer att dupliceras i multisite-nätverket. 

Innan du börjar importera tabellerna du just har laddat ner, skapa samma användare på din nya webbplats som du hade i din gamla. Observera att de kommer att ha olika ID-er i multisite-nätverksdatabasen än de gjorde på den gamla sajten, vilket kan orsaka vissa felaktigheter när det gäller att tilldela inlägg till författare. Du måste rätta till detta i slutet, som jag täcker senare.

Redigering av databastabellerna

Gör en kopia av sQL fil som har laddats ner till din maskin och ge den ett namn som berättar vad det är (till exempel genom att lägga till kopia till dess namn). Öppna den i en kodredigerare.

Redigering av länkar

Ändra alla instanser av webbplatsens domän i Multisite-nätverket till dess nya Multisite-domän. Till exempel om din webbplats var på http://mysite.com, ändra den till http://network.com/mysite. Om ditt nätverk använder underdomäner måste du ändra det till http://mysite.network.com. Spara din fil.

Redigering av tabellreferenser

Databattabellerna på din nya Multisite-webbplats behöver prefix för webbplatsens ID. I din sQL fil, ersätt alla instanser av wp_ med wp_XX_, var XX är ditt sajt-ID.

Spara nu sQL fil.

Importerar tabeller till den nya databasen

Nu när du har installerat dina teman och plugins och exporterat dina data måste du importera databastabellerna till multisite-nätverket.

Släppa de befintliga tabellerna

Innan du laddar upp tabellerna från din gamla webbplats måste du ta bort de dubbla som WordPress har lagt till på din nya sajt.

I phpMyAdmin, släpp alla tabeller som är prefixade med wp_XX_, var XX är ditt sajt-ID Dessa kommer att innehålla följande men kan också innehålla tabeller skapade av plugins:

  • wp_XX_commentmeta
  • wp_XX_comments
  • wp_XX_links
  • wp_XXoptions
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

Välj de tabellerna (plus eventuella wp_XX_ tabeller skapade av plugins), klicka på Med valda: rullgardinsmenyn, välj Släppa och då Ja.

I exemplet nedan ingår en extra tabell som har skapats av ett plugin:

Viktigt: Om din gamla webbplats hade databattabeller som skapades av plugins måste du installera samma plugin på nätverket innan du importerar den nya databasen. Importen kommer att innehålla dessa tabeller, som inte fungerar om plugin har installerats.

Uppladdning av databas tabeller

Ladda sedan upp den databas du har redigerat:

  • Klicka på Importera flik.
  • Klicka på Välj FIL knapp.
  • Välj den sql-filen du har redigerat och klicka på Välja eller ok.
  • Klicka på  knapp.
  • Efter ett tag (beroende på storleken på din databas) visas ett meddelande som säger att uppladdningen har slutförts.

Slutliga steg

Rensa webbläsarens cache. Detta undviker eventuella problem du kan ha om webbläsaren har cachat innehåll från den gamla webbplatsen.

Logga in nu på WordPress-administratören för fjärrsidan. Om du flyttat användartabellerna över, kommer dina inloggningsuppgifter att vara desamma som för din gamla webbplats, men om du inte gjorde det kommer de att vara vad du angav när du installerade WordPress på den nya platsen.

Besök permalänkar skärm för din nya sajt och vänd ganska länkade permalinks igen.

Titta på din huvud inlägg skärm och kolla vilka författare som har tilldelats dem-det finns en bra chans att detta kommer att bli fel. Du kan ändra detta i bulk:

  1. Välj alla inlägg som ska tilldelas en viss författare.
  2. Klick Massåtgärder och Redigera.
  3. Klick Tillämpa.
  4. Välj den rätta författaren i rullgardinsrutan i rutan som visas.
  5. Klick Uppdatering.

Redigeringsrutan visas på skärmdumpen:

Om din webbplats har sidor och anpassade posttyper, upprepa ovanstående för dem.

Kontrollera att alla dina länkar fungerar ok och att widgets och plugins beter sig som de borde. Om inte, kan du antingen gå tillbaka genom processen, använda dina säkerhetskopior där du behöver, eller helt enkelt konfigurera plugins och widgets från din nya webbplats.

Konfigurera domänmappning

Om du vill behålla samma domännamn som du använde för webbplatsen när det var på en enda webbplatsinstallation, kan du använda plugin för domänkartläggning för att göra det här. Installera plugin, aktivera det för ditt nätverk och följ sedan instruktionerna från plugin-programmet för att ställa in det. Detta innebär att du ändrar domänens DNS-inställningar.

Sammanfattning

Att flytta en webbplats till ett WordPress Multisite-nätverk från egen installation är inte något du kan göra snabbt eller utan att vara mycket noggrann, men det är möjligt och jag har gjort det några gånger. Följ bara stegen som anges här och se till att du har säkerhetskopior vid eventuella problem, och du borde hitta det fungerar smidigt för dig.