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.
Als u deze zelfstudie wilt volgen, heeft u het volgende nodig:
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.
De site die u naar Multisite verhuist, heeft drie componenten die u van de oude site moet kopiëren:
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)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.
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.
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.
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.
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:
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.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.
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.
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.
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.
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.
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.
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.
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.
Upload vervolgens de database die je hebt bewerkt:
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:
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..
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.
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.