Ενότητα 9 · 9.5
Μεταφορά ενός ιστότοπου WordPress
Ενότητα 9: Email, ορατότητα στις μηχανές αναζήτησης (SEO), GDPR, συντήρηση και μεταφορά · Χρόνος ανάγνωσης: 10 λεπτά
Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να μεταφέρετε έναν ιστότοπο WordPress σε άλλη φιλοξενία ή σε άλλο domain χωρίς διακοπή λειτουργίας.
Βασικές έννοιες: μεταφορά σε άλλη φιλοξενία, μεταφορά σε άλλο domain, εισαγωγή μέσω installer, πρόσθετο μετεγκατάστασης, χειροκίνητη μεταφορά, αναζήτηση και αντικατάσταση, δοκιμή πριν την αλλαγή DNS, αρχείο hosts, TTL, παύση περιεχομένου, τελικός συγχρονισμός, έλεγχοι μετά την αλλαγή, αλλαγή διεύθυνσης στο Search Console
Δύο είδη μεταφοράς
Υπάρχουν δύο είδη μεταφοράς και είναι διαφορετικά:
- Σε άλλη φιλοξενία, ίδιο domain. Ο ιστότοπος μετακινείται από τον server A στον server B· η διεύθυνση παραμένει
https://example.com. Το DNS αλλάζει στο τέλος. Δεν χρειάζεται να αλλάξει τίποτα στη βάση δεδομένων. - Σε άλλο domain. Ο ιστότοπος μετακινείται από το
example.comστοexample.net(στην ίδια ή διαφορετική φιλοξενία). Όλες οι διευθύνσεις στη βάση δεδομένων αλλάζουν και πρέπει να ρυθμίσετε ανακατεύθυνση για το παλιό domain.
Μερικές φορές κάνετε και τα δύο ταυτόχρονα. Είναι προτιμότερο να τα χωρίσετε: πρώτα μεταφορά στη νέα φιλοξενία, μετά αλλαγή του domain. Έτσι, αν προκύψει πρόβλημα, θα ξέρετε σε ποιο βήμα οφείλεται.
Και μην ξεχνάτε τι βρίσκεται δίπλα στο WordPress: email στο domain, εγγραφές DNS, cronjobs, άλλοι ιστότοποι στο ίδιο πακέτο. Αυτά δεν μεταφέρονται αυτόματα μαζί (μάθημα 6.3 της σειράς μαθημάτων DNS).
Τρεις τρόποι μεταφοράς του ιστότοπου
| Τρόπος | Πώς | Προσοχή |
|---|---|---|
| Εισαγωγή μέσω installer | Πολλά εργαλεία εγκατάστασης (Installatron, Softaculous) μπορούν να ανακτήσουν έναν ιστότοπο από άλλον server με τα στοιχεία FTP ή SFTP της παλιάς φιλοξενίας | Γρήγορο, και ο ιστότοπος εμφανίζεται αμέσως στο δικό σας εργαλείο εγκατάστασης (μάθημα 2.2) |
| Πρόσθετο μετεγκατάστασης | Ένα πρόσθετο δημιουργεί στον παλιό ιστότοπο ένα πακέτο (αρχεία και βάση δεδομένων) και το τοποθετεί στον νέο, συχνά με αυτόματη μετατροπή των διευθύνσεων | Ορισμένες δωρεάν εκδόσεις έχουν μέγιστο μέγεθος· μεγάλα uploads μπορεί να προκαλέσουν time-out |
| Με το χέρι | Αντιγραφή αρχείων (SFTP ή zip), εξαγωγή και εισαγωγή βάσης δεδομένων, προσαρμογή του wp-config.php, σε περίπτωση νέου domain αναζήτηση και αντικατάσταση | Περισσότερη δουλειά, αλλά βλέπετε κάθε βήμα και λειτουργεί πάντα |
Με το χέρι γίνεται ως εξής:
- Αρχεία: κατεβάστε ολόκληρο τον φάκελο ιστού (ή δημιουργήστε ένα zip μέσω του File Manager) και τοποθετήστε τον στον φάκελο ιστού της νέας φιλοξενίας.
- Βάση δεδομένων: εξάγετέ την από την παλιά φιλοξενία (phpMyAdmin ή
wp db export), δημιουργήστε στη νέα μια κενή βάση δεδομένων με δικό της χρήστη (μάθημα 2.3) και εισάγετέ την (μάθημα 8.2). - wp-config.php: εισαγάγετε το νέο όνομα βάσης δεδομένων, τον χρήστη, τον κωδικό πρόσβασης και τον host. Ελέγξτε το πρόθεμα των πινάκων.
- Νέο domain; Αναζητήστε και αντικαταστήστε τις διευθύνσεις με ένα εργαλείο που κατανοεί σειριοποιημένα δεδομένα (μάθημα 3.2):
wp search-replace 'https://example.com' 'https://example.net' --all-tables --dry-run
wp search-replace 'https://example.com' 'https://example.net' --all-tables- Certificate στη νέα φιλοξενία (μόλις το DNS δείχνει εκεί, ή νωρίτερα αν το υποστηρίζει ο πάροχος).
Ορισμένοι πάροχοι φιλοξενίας μεταφέρουν τον ιστότοπό σας δωρεάν ή επί πληρωμή για εσάς· αυτό προσφέρει και το WebOké. Ρωτήστε ποια από τα βήματα αυτού του μαθήματος αναλαμβάνουν εκείνοι και ποια πρέπει να ελέγξετε εσείς οι ίδιοι.
Δοκιμή πριν την αλλαγή DNS
Η σημαντικότερη αρχή μιας μεταφοράς χωρίς διακοπή λειτουργίας: ο νέος ιστότοπος λειτουργεί ήδη πριν κάποιος μεταβεί εκεί. Τον δοκιμάζετε στη νέα φιλοξενία ενώ το DNS δείχνει ακόμα στην παλιά. Δύο τρόποι (μάθημα 2.1):
- Το αρχείο hosts στον δικό σας υπολογιστή: καταχωρίστε εκεί τη διεύθυνση IP του νέου server δίπλα στο domain σας. Έτσι μόνο ο δικός σας υπολογιστής μεταβαίνει στον νέο ιστότοπο. Το certificate μπορεί να μην είναι ακόμα διαθέσιμο εκεί· αποδεχτείτε την προειδοποίηση μόνο για αυτή τη δοκιμή.
- Μια διεύθυνση δοκιμής ή προεπισκόπηση από τον νέο σας πάροχο φιλοξενίας, που σας δείχνει τον ιστότοπό σας κάτω από το πραγματικό domain χωρίς να αλλάξετε το DNS (στο WebOké «Δοκιμάστε τον ιστότοπό σας πριν τη μεταφορά»).
Περάστε ξανά τη λίστα ελέγχου του μαθήματος 8.2: σελίδες, εικόνες, σύνδεση, φόρμες, κατάστημα, μόνιμοι σύνδεσμοι.
Προγραμματισμός της αλλαγής
Μερικές ημέρες πριν:
- Μειώστε το TTL των εγγραφών που θα αλλάξετε (A, AAAA, www) σε π.χ. 300 δευτερόλεπτα, ώστε η αλλαγή να γίνει γρήγορα ορατή παντού (μάθημα 6.1 της σειράς μαθημάτων DNS). Κάντε το τουλάχιστον όσο διαρκεί το παλιό TTL πριν τη μεταφορά.
- Δημιουργήστε ένα αντίγραφο ασφαλείας του παλιού ιστότοπου (μάθημα 8.1) και φυλάξτε το εκτός και των δύο παρόχων φιλοξενίας.
- Ετοιμάστε το email, αν μεταφέρεται κι αυτό: δημιουργία γραμματοκιβωτίων, μεταφορά email, εγγραφές MX έτοιμες (μάθημα 6.3 της σειράς μαθημάτων DNS).
Την ημέρα της αλλαγής:
- Παύση περιεχομένου: από εδώ και πέρα δεν αλλάζει τίποτα στον παλιό ιστότοπο. Για ηλεκτρονικό κατάστημα: επιλέξτε μια ήσυχη στιγμή και θέστε το κατάστημα προσωρινά σε συντήρηση, διαφορετικά θα λάβετε παραγγελίες στον παλιό ιστότοπο που θα χαθούν.
- Τελικός συγχρονισμός: μεταφέρετε τη βάση δεδομένων (και τυχόν νέα uploads) του παλιού ιστότοπου μία τελευταία φορά στον νέο, ώστε να περιλαμβάνεται ό,τι προστέθηκε τις τελευταίες ημέρες.
- Αλλαγή DNS: εγγραφή A και AAAA (και www) προς τη νέα διεύθυνση IP. Αφαιρέστε μια παλιά εγγραφή AAAA (μάθημα 2.1).
- Αίτημα για Certificate στη νέα φιλοξενία μόλις δείχνει εκεί το DNS.
- Έλεγχος με την άσκηση αυτού του μαθήματος και τη λίστα ελέγχου.
Στη συνέχεια:
- Αφήστε την παλιά φιλοξενία ενεργή για λίγες ακόμη ημέρες (με τον ιστότοπο σε συντήρηση ή μόνο για ανάγνωση), για επισκέπτες που έχουν ακόμα την παλιά διεύθυνση στην cache τους, και ως εναλλακτική λύση σε περίπτωση επιστροφής.
- Ελέγξτε τους μόνιμους συνδέσμους (αποθηκεύστε μία φορά στο Ρυθμίσεις > Μόνιμοι σύνδεσμοι αν οι σελίδες επιστρέφουν 404), την cache (καθαρισμός), τα cronjobs και το WP-Cron (μάθημα 6.3), και το email από τον ιστότοπο (μάθημα 9.1, το SPF πρέπει πλέον να αναφέρει τον νέο server).
- Αυξήστε ξανά το TTL.
- Μόλις μετά από μία ή δύο εβδομάδες: ακυρώστε την παλιά φιλοξενία, αφού έχετε κατεβάσει ένα τελευταίο αντίγραφο ασφαλείας.
Σε περίπτωση νέου domain: ανακατεύθυνση
Αν μεταφέρεστε σε άλλο domain, το παλιό domain πρέπει να παραμείνει ενεργό και να γίνεται ανακατεύθυνση: κάθε παλιά διεύθυνση με 301 προς την ίδια διαδρομή στο νέο domain (https://example.com/contact/ προς https://example.net/contact/), όχι όλα προς την αρχική σελίδα. Έτσι διατηρείτε τους επισκέπτες από παλιούς συνδέσμους και τη θέση σας στις μηχανές αναζήτησης (μάθημα 9.2).
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.*)$ https://example.net/$1 [R=301,L]Διατηρήστε το παλιό domain (και ένα certificate πάνω του) για αρκετά χρόνια ακόμα. Δηλώστε τη μεταφορά στο Google Search Console με τη λειτουργία αλλαγής διεύθυνσης και υποβάλετε τον νέο sitemap.
Σύνοψη
- Η μεταφορά σε άλλη φιλοξενία (ίδιο domain) και η μεταφορά σε άλλο domain είναι διαφορετικές εργασίες· χωρίστε τις αν κάνετε και τις δύο.
- Μεταφέρετε τον ιστότοπο με εισαγωγή μέσω installer, πρόσθετο μετεγκατάστασης ή με το χέρι (αρχεία, βάση δεδομένων, wp-config.php, σε περίπτωση νέου domain αναζήτηση και αντικατάσταση).
- Δοκιμάστε τον νέο ιστότοπο πριν την αλλαγή DNS μέσω του αρχείου hosts ή μιας διεύθυνσης δοκιμής.
- Μειώστε εκ των προτέρων το TTL, διατηρήστε παύση περιεχομένου, κάντε έναν τελευταίο συγχρονισμό, αλλάξτε το DNS και ελέγξτε μόνιμους συνδέσμους, cache, cron και email.
- Σε περίπτωση νέου domain: κάθε παλιά διεύθυνση με 301 προς την ίδια διαδρομή στο νέο domain, και αλλαγή διεύθυνσης στο Search Console.
Κουίζ
Άσκηση
Άσκηση A9.5: Πέτυχε η μεταφορά; Μετά από μια μεταφορά, καταχωρίστε το domain σας, τη διεύθυνση IP (ή το όνομα server) της νέας φιλοξενίας, και σε περίπτωση αλλαγής domain και το παλιό domain. Το πρόγραμμα ελέγχει: δείχνουν το domain χωρίς www και το www (A και AAAA) στον νέο server, είναι το certificate έγκυρο και για τα δύο ονόματα, δείχνει η αναφορά REST του ιστότοπου στο σωστό domain (το siteurl έχει μετατραπεί σωστά), δεν εμφανίζεται πλέον το παλιό domain στους συνδέσμους και τις πηγές της αρχικής σελίδας, και γίνεται ανακατεύθυνση του παλιού domain (αν έχει δηλωθεί) με 301 προς την ίδια διαδρομή στο νέο;
Άσκηση D9.5: Το σχέδιο μεταφοράς σας. Γράψτε ένα σχέδιο μεταφοράς για τον δικό σας ιστότοπο (ακόμα κι αν δεν το σκοπεύετε προς το παρόν): τι είδους μεταφορά, ποιος τρόπος μεταφοράς, τι πρέπει να μεταφερθεί δίπλα στο WordPress (email, εγγραφές DNS, cronjobs), πώς θα δοκιμάσετε πριν την αλλαγή, το χρονοδιάγραμμα (ημέρες πριν, η ίδια η ημέρα, οι επόμενες ημέρες) με ποιος κάνει τι βήμα, και πώς μπορείτε να επιστρέψετε αν κάτι πάει στραβά. Σημειώστε ότι έχετε αναζητήσει το τρέχον TTL της εγγραφής A σας και καταγράψτε το.
Άσκηση D9.5: Το σχέδιο μεταφοράς σας
Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.
Μειώστε το TTL μερικές ημέρες νωρίτερα, συμφωνήστε μια παύση περιεχομένου με έναν τελευταίο συγχρονισμό λίγο πριν την αλλαγή, και μην ξεχάσετε το email και τις υπόλοιπες εγγραφές DNS.
Τα τικ και οι σημειώσεις σας παραμένουν μόνο σε αυτό το πρόγραμμα περιήγησης· δεν τα στέλνουμε πουθενά. Αν έχετε εγγραφεί, αποθηκεύουμε στο Τα μαθήματά μου μόνο ότι έχετε ολοκληρώσει την άσκηση.
Περαιτέρω ανάγνωση
Αυτά τα άρθρα περιγράφουν τα βήματα στα πάνελ του WebOké· σε άλλα πάνελ λειτουργούν με παρόμοιο τρόπο.
- Εισαγωγή script στο Installatron
- Εγχειρίδιο DirectAdmin 13.4: Εισαγωγή μιας υπάρχουσας ιστοσελίδας στο Installatron
- Ο ιστότοπός μου δεν λειτουργεί μετά τη μεταφόρτωση ή τη μετακόμιση
- Ταυτόχρονη μετεγκατάσταση domain, ιστοσελίδας και email χωρίς διακοπή: το σχέδιο βημάτων
- Εγχειρίδιο DirectAdmin 18.8: Η ιστοσελίδα μου δοκιμή πριν τη μεταφορά του domain
- Εγχειρίδιο WebOké 14.2: Δοκιμή του ιστότοπού σας πριν από μια μετακόμιση
- Εγχειρίδιο DirectAdmin 12.4: Μια database export
- Δωρεάν μάθημα DNS 6.3: Το DNS κατά τη διάρκεια μιας μεταφοράς
- Μεταφορά WordPress (developer.wordpress.org, Αγγλικά): https://developer.wordpress.org/advanced-administration/upgrade/migrating/
