Flytte WordPress Flytte et nettsted til et multisitalt nettverk

Et år eller så siden, hadde jeg en hosting katastrofe. Serveren min hosting leverandør ble hacket og det tok dem over en uke å identifisere hva problemet var og fikse det.

I mellomtiden klarte mine kunders nettsteder alle omdirigere til et datingside, og jeg fikk telefonsamtaler som krever at jeg fikse ting med en gang.

Jeg måtte handle raskt. Men i stedet for å bare flytte alle nettstedene som de var til en ny server (og en ny hostingleverandør, kan jeg legge til) bestemte jeg meg for å flytte nettstedene på en måte som ville gjøre det lettere for meg å flytte dem alle igjen hvis Jeg trengte å. Så flyttet jeg en rekke nettsteder med sin egen WordPress-installasjon i mitt eksisterende Multisite-nettverk, som jeg allerede hadde flyttet til den nye serveren.

Å flytte enkeltsteder til et Multisite-nettverk er mer komplisert enn å bare flytte det til en ny enkeltinstallasjon, men det er ikke umulig. I denne opplæringen viser jeg to metoder for å gjøre det: bruker plugins, og manuelt.

Hva du trenger

For å følge denne opplæringen må du:

  • En installasjon av WordPress med et eksisterende nettsted som kjører på det.
  • Et flersidet nettverk hvorav du er nettverksadministrator.
  • For manuelle trekk, trenger du en FTP-klient, en kodeditor og tilgang til phpMyAdmin.

Bruke et plugin for å flytte et nettsted til multisite

Hvis nettstedet ditt ikke har mye konfigurasjon opprettet via plugin-, tema- eller nettstedinnstillingsskjermbilder, kan det hende du klarer å flytte den med WordPress Importer-plugin. Hvis nettstedet har widgets, kan du kopiere innstillingene sine ved hjelp av plugin for Widget Settings Importer / Exporter.

Men hvis du har lagt til mye skreddersydd konfigurasjon ved hjelp av innstillinger eller alternativer skjermbilder eller temaet tilpasser, vil ingen av disse bli kopiert på tvers av. I dette tilfellet må du gjøre et manuell trekk.

For full detaljer om hvordan du bruker disse pluginene for å flytte nettstedet ditt, se min tidligere opplæring om bruk av plugins for å flytte et WordPress-nettsted. Prosessen er akkurat det samme for å flytte et nettsted til et Multisite-nettverk som det er for et enkelt nettsted.

Migrere et nettsted til multisite manuelt

Nettstedet du flytter til Multisite, har tre komponenter som du må kopiere fra det gamle nettstedet:

  • tema og plugin-filer - du kan kopiere disse på tvers av eller installere dem i nettverket hvis de ikke allerede er installert
  • opplastinger - du finner disse i wp-innhold / opplasting i ditt gamle nettsted, mens du er i multisite-installasjonen, må de gå inn wp-content / uploads / nettsteder / XX, hvor XX er ditt nye nettsteds ID i nettverket (mer av det snart)
  • databasetabeller

Merk: Hvis Multisite-nettverket du flytter nettstedet ditt til, ble opprettet før WordPress 3.5, vil det ikke ha en sider mappe. I stedet får du en blogs.dir mappe inn wp-innhold med alle opplastingsfilene for subsites. Dette vil ha en nummerert mappe for nettstedet du lager, som du kopierer filene til i stedet. Jeg vil dekke dette mer detaljert nedenfor.

Sikkerhetskopiering først

Før du gjør noe slikt, er det en god ide å sikkerhetskopiere nettstedet du flytter og Multisite-installasjonen. Bruk din foretrukne backup plugin, eller en kombinasjon av FTP og phpMyAdmin hvis du foretrekker å jobbe manuelt.

Du bruker denne sikkerhetskopien til å kopiere de relevante filene til det nye nettstedet ditt, og det gir deg også trygghet i tilfelle du har noen problemer.

Opprette et nytt nettsted i nettverket

Før du kan overføre det gamle nettstedet til Multisite, må du opprette et nytt, tomt nettsted i nettverket. Senere importerer du alt fra det gamle nettstedet ditt til dette nye nettstedet.

Opprett nettstedet på vanlig måte, ved å gå til Nettverksadministrator> Nettsteder, klikke Legg til ny, og angi detaljene til ditt nye nettsted.

Finne IDen til ditt nye nettsted i multisite-nettverket

Hvert nettsted i et Multisite-nettverk har sin egen unike numeriske ID. Dette brukes til å identifisere mappen i wp-content / uploads / nettsteder katalog (eller wp-innhold / blogs.dir hvis ditt Multisite-nettverk er eldre, se ovenfor), og også å identifisere databasetabellene for dette nettstedet.

Finn dette ved å gå til Nettverksadministrator> Nettsteder og deretter velge Redigere alternativ for nettstedet du nettopp har opprettet. Nettadressen WordPress tar deg til å gi deg nettstedets ID. Nettadressen skal være i skjemaet http://mynetwork.com/wp-admin/network/site-info.php?id=XX.

XX er IDen til nettstedet ditt, og vil være navnet på mappen som inneholder sine filer, samt prefikset for databasetabellens navn.

Laster opp filer til det nye nettstedet

Identifiser pluginene som brukes av ditt gamle nettsted, og installer dem enten (hvis de ikke allerede er installert) i WordPress-nettverket via plugins skjerm eller last opp dem til wp-innhold / tillegg fra sikkerhetskopien du tok av ditt gamle nettsted.

Gjør det samme for alle temaer nettstedet ditt bruker - kopier dem fra sikkerhetskopien din til wp-content / themes katalog over nettverket ditt, eller bare installer dem på nytt.

Merk: Temaer og plugins lagres på ett sted for alle nettsteder i et Multisite-nettverk. Du trenger ikke å lagre dem et sted som er spesifikt for det nye nettstedet..

Kopier opplastingene fra det gamle nettstedet til det nye. Filene du må kopiere er i wp-innhold / opplasting på ditt gamle nettsted. Hvor du laster opp dem, vil avhenge av hvor gammel nettverket er:

  • Hvis nettverket ble opprettet etter WordPress 3.5, vil det ha en sider mappe inn wp-innhold / opplasting. Finn undermappen med nettstedets ID og last opp innholdet til wp-innhold / opplasting mappe fra det gamle nettstedet ditt til det.
  • Hvis nettverket er en eldre og har a blogs.dir mappe, som også inneholder en mappe med nettstedets ID. Det vil da ha en undermappe kalt filer. Kopier innholdet i wp-innhold / opplasting mappe fra ditt gamle nettsted til filer mappe.

Merk: Du må kanskje slette noen mapper som WordPress har opprettet for det nye nettstedet ditt i sider eller blogs.dir mappe for å unngå sammenstøt.

Når du har gjort alt dette, aktivere noen temaer og plugins i ditt nye nettsted.

Eksportere ditt gamle nettsteds tabeller

WordPress Multisite bruker separate databasetabeller for hvert nettsted i nettverket. I stedet for å lagre innleggene for nettstedet ditt i wp_posts, for eksempel lagrer den den inn wp_XX_posts, hvor XX er nettstedet ditt ID.

Men det bruker ikke separate tabeller for brukerdata, dette lagres i ett wp_users og wp_usermeta bord for hele nettverket.

Dette betyr at du må kopiere alle tabellene fra det gamle nettstedet ditt, bortsett fra de to brukertabellene, og du må endre navnene på filene du kopierer. Dessverre må du opprette brukerne manuelt på det nye nettstedet ved hjelp av WordPress-administrasjonsskjermene.

For mer informasjon om Multisite og database tabeller, se denne opplæringen på WordPress-databasen og Multisite.

I PhpMyAdmin For ditt gamle nettsted, klikk på Struktur fane. Velg deretter alle tabellene bortsett fra wp_users og wp_usermeta. Et eksempel er vist nedenfor.

Klikk på Med valgt: dropdown boksen, velg Eksport og så . Dette vil laste ned a sql filen til maskinen din med innholdet i disse tabellene.

Legge til brukere

Som jeg nevnte ovenfor, kan du ikke kopiere wp_users og wp_usermeta tabeller da disse vil bli duplisert i Multisite-nettverket. 

Før du begynner å importere tabellene du nettopp har lastet ned, sett opp de samme brukerne på det nye nettstedet ditt som du hadde i den gamle. Merk at de vil ha forskjellige IDer i multisite-nettverksdatabasen enn de gjorde på det gamle nettstedet, noe som kan føre til noen unøyaktigheter ved å tildele innlegg til forfattere. Du må rette opp dette på slutten, som jeg vil dekke senere.

Redigere databastabellene

Lag en kopi av sql fil som er lastet ned til maskinen din, og gi den et navn som forteller deg hva det er (for eksempel ved å legge til kopiere til navnet sitt). Åpne den i en kodeditor.

Redigerer Linker

Endre alle forekomster av nettstedets domene i Multisite-nettverket til det nye Multisite-domenet. For eksempel hvis nettstedet ditt var på http://mysite.com, endre den til http://network.com/mysite. Hvis nettverket ditt bruker underdomener, må du endre det til http://mysite.network.com. Lagre filen din.

Redigerer tabellhenvisninger

Databasetabellene på ditt nye Multisite-nettsted vil kreve prefikser for nettsted-IDen. I din sql fil, erstatt alle forekomster av wp_ med wp_XX_, hvor XX er nettstedet ditt ID.

Lagre nå sql fil.

Importerer tabeller til den nye databasen

Nå som du har installert temaer og plugins og eksportert dataene dine, må du importere databasetabellene til multisite-nettverket.

Sletting av eksisterende tabeller

Før du laster opp tabellene fra det gamle nettstedet ditt, må du slette de duplikatene som WordPress har lagt til på det nye nettstedet ditt.

I phpMyAdmin, slipp noen tabeller som er prefiks med wp_XX_, hvor XX er nettstedet ditt ID. Disse vil inneholde følgende, men kan også inkludere tabeller opprettet 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

Velg de tabellene (pluss noen wp_XX_ tabeller opprettet av plugins), klikk på Med valgt: rullegardinmenyen, velg Miste og så Ja.

Eksempelet nedenfor inneholder en ekstra tabell som er opprettet av et plugin:

Viktig: Hvis ditt gamle nettsted hadde databastabeller som ble opprettet av plugins, må du installere de samme programtilleggene på nettverket før du importerer den nye databasen. Importen vil inkludere disse tabellene, som ikke fungerer hvis ikke pluginet er installert.

Laster opp databastabellene

Neste last opp databasen du har redigert:

  • Klikk på Importere tab.
  • Klikk på Velg Fil knapp.
  • Velg SQL-filen du har redigert og klikk Velge eller OK.
  • Klikk på  knapp.
  • Etter en stund (avhengig av størrelsen på databasen), vil du se en melding som forteller at opplastingen er fullført.

Endelige trinn

Fjern nettleserens cache. Dette unngår eventuelle problemer du måtte ha hvis nettleseren har cached innhold fra det gamle nettstedet.

Logg deg nå på WordPress admin for den eksterne siden. Hvis du flyttet brukertabellene over, vil innloggingsdetaljerne være de samme som for ditt gamle nettsted, men hvis du ikke gjorde det, blir disse alt du angav da du installerte WordPress på den nye plasseringen..

Besøk Permalinks skjerm for det nye nettstedet ditt og slå ganske permalinks tilbake på.

Se på hovedmenyen innlegg skjerm og sjekk hvilke forfattere som har blitt tildelt dem - det er en god sjanse for at dette vil gå galt. Du kan endre dette i bulk:

  1. Velg alle innlegg som skal tilordnes en gitt forfatter.
  2. Klikk Bulk Actions og Redigere.
  3. Klikk Søke om.
  4. Velg den riktige forfatteren i rullegardinlisten i ruten som vises.
  5. Klikk Oppdater.

Redigeringsruten vises i skjermbildet:

Hvis nettstedet ditt har sider og egendefinerte innleggstyper, gjentar du det ovenfor for dem.

Sjekk at alle koblingene fungerer ok, og at widgets og plugins oppfører seg som de burde. Hvis ikke, kan du enten gå tilbake gjennom prosessen, bruke sikkerhetskopiene der du trenger, eller bare sette opp plugins og widgets fra ditt nye nettsted.

Konfigurere Domain Mapping

Hvis du vil beholde det samme domenenavnet du brukte til nettstedet da det var i en enkelt nettstedinstallasjon, kan du bruke domenekartleggingstillegget for å gjøre dette. Installer pluginet, aktiver det for nettverket ditt, og følg instruksjonene gitt av plugin for å sette opp det. Dette vil innebære å gjøre endringer i domenets DNS-innstillinger.

Sammendrag

Flytte et nettsted til et WordPress Multisite-nettverk fra egen installasjon, er ikke noe du kan gjøre raskt eller uten å være veldig grundig, men det er mulig, og jeg har gjort det noen ganger. Bare følg trinnene som er oppgitt her, og sørg for at du har sikkerhetskopier i tilfelle problemer, og du burde finne det fungerer greit for deg.