WordPress verplaatsen een site naar een multisite-netwerk verplaatsen

Een jaar of wat geleden had ik een hostingramp. De server van mijn hostingprovider werd gehackt en het duurde meer dan een week om vast te stellen wat het probleem was en het probleem op te lossen.

In de tussentijd waren de sites van mijn klanten allemaal doorverwezen naar een datingsite en kreeg ik telefoontjes die eisten dat ik meteen dingen repareerde.

Ik moest snel handelen. Maar in plaats van simpelweg alle sites te verplaatsen zoals ze waren naar een nieuwe server (en een nieuwe hostingprovider, zou ik kunnen toevoegen), besloot ik de sites te verplaatsen op een manier die het voor mij gemakkelijker zou maken ze allemaal opnieuw te verplaatsen als Ik moest. Dus verhuisde ik een aantal sites met hun eigen WordPress-installatie naar mijn bestaande Multisite-netwerk, dat ik al naar de nieuwe server had verplaatst.

Het verplaatsen van afzonderlijke sites naar een multisite-netwerk is gecompliceerder dan het verplaatsen naar een nieuwe installatie voor één site, maar het is niet onmogelijk. In deze zelfstudie laat ik u twee methoden zien om dit te doen: plug-ins gebruiken en handmatig.

Wat je nodig hebt

Als u deze zelfstudie wilt volgen, heeft u het volgende nodig:

  • Een installatie van WordPress met een bestaande site die erop wordt uitgevoerd.
  • Een multisite-netwerk waarvan u de netwerkbeheerder bent.
  • Voor handmatige verplaatsingen hebt u een FTP-client, een code-editor en toegang tot phpMyAdmin nodig.

Een plug-in gebruiken om een ​​site naar een multisite te verplaatsen

Als er op uw site niet veel configuratie is ingesteld via schermen voor plug-ins, thema's of sites, kunt u deze mogelijk met succes verplaatsen met behulp van de plug-in voor WordPress Importer. Als de site widgets heeft, kunt u de instellingen kopiëren met behulp van de invoegtoepassing Widgetinstellingen importeren / exporteren.

Als u echter veel aangepaste configuraties hebt toegevoegd met behulp van de instellingen- of optieschermen of de thema-aanpasser, zal geen van deze worden gekopieerd. In dit geval moet u een handmatige verplaatsing uitvoeren.

Raadpleeg mijn eerdere zelfstudie over het gebruik van plug-ins om een ​​WordPress-site te verplaatsen voor volledige informatie over het gebruik van deze plug-ins om uw site te verplaatsen. Het proces is precies hetzelfde voor het verplaatsen van een site naar een Multisite-netwerk als voor een enkele site.

Een site handmatig naar Multisite migreren

De site die u naar Multisite verhuist, heeft drie componenten die u van de oude site moet kopiëren:

  • thema- en plug-in-bestanden - deze kunt u kopiëren naar of installeren in het netwerk als ze nog niet zijn geïnstalleerd
  • uploads - je vindt deze in wp-content / uploads op uw oude site, terwijl u zich in de Multisite-installatie moet wenden wp-content / uploads / sites / XX, waar XX is de ID van uw nieuwe site in het netwerk (binnenkort meer)
  • databasetabellen

Opmerking: als het Multisite-netwerk waarnaar uw site wordt verplaatst, is gemaakt vóór WordPress 3.5, heeft dit geen a plaatsen map. In plaats daarvan heb je een blogs.dir map in wp-content met alle uploadbestanden voor de subsites. Dit heeft een genummerde map voor de site die u aan het maken bent, waarnaar u uw bestanden kopieert. Ik zal dit hieronder in meer detail bespreken.

Een back-up maken eerst

Voordat u zoiets doet, is het een goed idee om een ​​back-up te maken van de site die u verplaatst en uw Multisite-installatie. Gebruik de gewenste back-upplug-in of een combinatie van FTP en phpMyAdmin als u liever handmatig werkt.

U gebruikt deze back-up om de relevante bestanden naar uw nieuwe site te kopiëren en geeft u ook gemoedsrust voor het geval u problemen ondervindt.

Een nieuwe site maken in het netwerk

Voordat u uw oude site naar Multisite kunt migreren, moet u een nieuwe lege site in het netwerk maken. Later importeert u alles van uw oude site naar deze nieuwe site.

Maak de site op de normale manier, door naar Netwerkbeheerder> Sites, klikken Voeg nieuw toe, en het invoeren van de details van uw nieuwe site.

De ID van uw nieuwe site vinden in het multisite-netwerk

Elke site in een Multisite-netwerk heeft zijn eigen unieke numerieke ID. Dit wordt gebruikt om de map in de map te identificeren wp-content / uploads / sites map (of wp-content / blogs.dir als uw Multisite-netwerk ouder is - zie hierboven) en ook om de databasetabellen voor die site te identificeren.

Zoek dit door naar Netwerkbeheerder> Sites en selecteer vervolgens de Bewerk optie voor de site die u zojuist hebt gemaakt. De URL waar WordPress naartoe gaat, geeft u de ID van de site. De URL moet in de vorm zijn http://mynetwork.com/wp-admin/network/site-info.php?id=XX.

XX is de ID van uw site en is de naam van de map die de bestanden bevat, evenals het voorvoegsel voor de databasetabelnamen.

Bestanden uploaden naar de nieuwe site

Identificeer de plug-ins die door uw oude site worden gebruikt en installeer ze (als ze nog niet zijn geïnstalleerd) in uw WordPress-netwerk via de plugins scherm of upload ze naar wp-content / plugins van de back-up die u van uw oude site hebt gemaakt.

Doe hetzelfde voor alle thema's die uw site gebruikt: kopieer ze van uw back-up naar de wp-content / themes map van uw netwerk of installeer ze gewoon opnieuw.

Opmerking: Thema's en plug-ins worden op één plaats opgeslagen voor alle sites in een multisite-netwerk; u hoeft ze niet op te slaan op een specifieke locatie voor de nieuwe site.

Kopieer de uploads van je oude site naar de nieuwe. De bestanden die je moet kopiëren staan ​​in wp-content / uploads in je oude site. Waar je ze uploadt, is afhankelijk van hoe oud het netwerk is:

  • Als het netwerk is gemaakt na WordPress 3.5, heeft het een plaatsen map in wp-content / uploads. Zoek de submap met de ID van je site en upload de inhoud van de wp-content / uploads map van uw oude site naar dat.
  • Als het netwerk ouder is en een netwerk heeft blogs.dir map, die ook een map met de ID van uw site bevat. Dat zal dan een submap hebben genaamd bestanden. Kopieer de inhoud van de wp-content / uploads map van uw oude site naar de bestanden map.

Opmerking: mogelijk moet u alle mappen verwijderen die WordPress voor uw nieuwe site heeft gemaakt in de plaatsen of blogs.dir map om eventuele clashes te voorkomen.

Zodra u dit hebt gedaan, activeert u alle thema's en plug-ins op uw nieuwe site.

De tabellen van uw oude site exporteren

WordPress Multisite gebruikt afzonderlijke databasetabellen voor elke site in het netwerk. In plaats van de berichten voor uw site op te slaan wp_posts, het slaat het bijvoorbeeld op wp_XX_posts, waar XX is de ID van uw site.

Het maakt echter geen gebruik van afzonderlijke tabellen voor gebruikersgegevens - deze worden in één opgeslagen wp_users en wp_usermeta tabel voor het hele netwerk.

Dit betekent dat u alle tabellen van uw oude site moet kopiëren behalve de twee gebruikerstabellen en dat u de namen van de bestanden die u kopieert moet wijzigen. Helaas moet je de gebruikers handmatig op de nieuwe site maken met behulp van de WordPress-beheerdersschermen.

Zie deze tutorial over de WordPress-database en Multisite voor meer informatie over multisite- en databasetabellen.

In PhpMyAdmin voor uw oude site, klik op de Structuur tab. Selecteer vervolgens alle tabellen behalve wp_users en wp_usermeta. Een voorbeeld wordt hieronder getoond.

Klik op de Met geselecteerde: keuzelijst, selecteer Exporteren en dan Gaan. Hiermee download je een sql bestand naar uw computer met de inhoud van die tabellen.

Gebruikers toevoegen

Zoals ik hierboven al zei, kunt u de kopie niet kopiëren wp_users en wp_usermeta tabellen omdat deze in het Multisite-netwerk worden gedupliceerd. 

Voordat u begint met het importeren van de tabellen die u zojuist hebt gedownload, stelt u dezelfde gebruikers in op uw nieuwe site als in uw oude site. Merk op dat ze verschillende ID's in de database van het Multisite-netwerk hebben dan op de oude site, wat onnauwkeurigheden kan veroorzaken bij het toewijzen van berichten aan auteurs. U moet dit aan het einde corrigeren, wat ik later zal bespreken.

De databasetabellen bewerken

Maak een kopie van de sql bestand dat naar uw computer is gedownload en geef het een naam die u vertelt wat het is (bijvoorbeeld door toe te voegen kopiëren op zijn naam). Open het in een code-editor.

Koppelingen bewerken

Wijzig alle instanties van het domein van de site in het Multisite-netwerk in het nieuwe Multisite-domein. Bijvoorbeeld als uw site was http://mysite.com, verander het in http://network.com/mysite. Als uw netwerk subdomeinen gebruikt, moet u dit wijzigen in http://mysite.network.com. Sla uw bestand op.

Tabelreferenties bewerken

De databasetabellen op uw nieuwe Multisite-site hebben voorvoegsels nodig voor de site-ID. In uw sql bestand, vervang alle exemplaren van wp_ met wp_XX_, waar XX is uw site-ID.

Bewaar nu de sql het dossier.

Tabellen importeren in de nieuwe database

Nu u uw thema's en plug-ins hebt geïnstalleerd en uw gegevens hebt geëxporteerd, moet u de databasetabellen importeren in het Multisite-netwerk.

De bestaande tabellen laten vallen

Voordat u de tabellen van uw oude site uploadt, moet u de dubbele exemplaren verwijderen die WordPress aan uw nieuwe site heeft toegevoegd.

In phpMyAdmin, laat alle tabellen vallen die vooraf zijn gegaan met wp_XX_, waar XX is uw site-ID. Deze bevatten het volgende, maar kunnen ook tabellen bevatten die zijn gemaakt met plug-ins:

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

Selecteer die tabellen (plus een willekeurige wp_XX_ tabellen gemaakt door plug-ins), klik op de Met geselecteerde: vervolgkeuzemenu, selecteer Laten vallen en dan Ja.

Het onderstaande voorbeeld bevat een extra tabel die is gemaakt door een plug-in:

Belangrijk: als uw oude site databasetabellen had die zijn gemaakt door plug-ins, moet u diezelfde plug-ins op het netwerk installeren voordat u de nieuwe database importeert. De import bevat deze tabellen, die niet zullen werken tenzij de plug-in is geïnstalleerd.

De databasetabellen uploaden

Upload vervolgens de database die je hebt bewerkt:

  • Klik op de Importeren tab.
  • Klik op de Kies bestand knop.
  • Selecteer het sql-bestand dat u hebt bewerkt en klik op Kiezen of OK.
  • Klik op de Gaan knop.
  • Na een tijdje (afhankelijk van de grootte van uw database), ziet u een bericht dat de upload succesvol is voltooid.

Laatste stappen

Wis de cache van uw browser. Dit voorkomt eventuele problemen als de browser inhoud in de cache van de oude site heeft gecachet.

Meld u nu aan bij de WordPress-beheerder voor de externe site. Als u de gebruikerstabellen hebt verplaatst, zijn uw aanmeldingsgegevens dezelfde als die voor uw oude site, maar als u dat niet deed, zijn deze wat u hebt opgegeven toen u WordPress op de nieuwe locatie installeerde.

Bezoek de Permalinks scherm voor uw nieuwe site en zet mooie permalinks weer aan.

Kijk naar je hoofd berichten scherm en controleer welke auteurs aan hen zijn toegewezen - de kans is groot dat dit verkeerd is. Je kunt dit in bulk wijzigen:

  1. Selecteer alle berichten die aan een bepaalde auteur moeten worden toegewezen.
  2. Klik Bulkacties en Bewerk.
  3. Klik Van toepassing zijn.
  4. Selecteer de juiste auteur in het vervolgkeuzemenu in het venster dat verschijnt.
  5. Klik Bijwerken.

Het bewerkingsvenster wordt weergegeven in de schermafbeelding:

Als uw site pagina's en aangepaste berichttypen heeft, herhaalt u het bovenstaande voor die.

Controleer of al je links goed werken en of widgets en plug-ins zich gedragen zoals ze zouden moeten. Als dat niet het geval is, kunt u het proces doorlopen, uw back-ups gebruiken waar nodig, of eenvoudig de plug-ins en widgets instellen vanuit uw nieuwe site..

Domeintoewijzing instellen

Als u dezelfde domeinnaam wilt behouden die u voor de site gebruikte toen deze zich in een installatie op één site bevond, kunt u de plugin voor domeintoewijzing gebruiken om dit te doen. Installeer de plug-in, activeer deze voor uw netwerk en volg de instructies van de plug-in om deze in te stellen. Dit omvat het aanbrengen van wijzigingen in de DNS-instellingen van uw domein.

Samenvatting

Het verplaatsen van een site naar een WordPress Multisite-netwerk vanuit een eigen installatie is niet iets dat je snel of zonder erg grondig kunt doen, maar het is mogelijk en ik heb het een paar keer gedaan. Volg gewoon de stappen die hier worden gegeven en zorg ervoor dat u back-ups hebt in geval van problemen, en u zou moeten ontdekken dat het probleemloos voor u werkt.