Σε ένα e-shop WooCommerce οι παραγγελίες, οι πελάτες και το απόθεμα βρίσκονται στη βάση δεδομένων, οπότε η επαναφορά της βάσης σε παλαιότερο σημείο σβήνει ό,τι μπήκε μετά από αυτό. Αν το πρόβλημα είναι σε plugin, theme ή κακόβουλο κώδικα, συνήθως αρκεί να επαναφέρεις μόνο τα αρχεία και να κρατήσεις τη βάση όπως είναι. Αν πρέπει να γυρίσει και η βάση, κράτα πρώτα αντίγραφο της σημερινής βάσης και κατέγραψε τις παραγγελίες που θα χαθούν.
Τι χάνεται όταν επαναφέρω τη βάση ενός e-shop
Η βάση γυρίζει ακριβώς όπως ήταν τη στιγμή του backup. Ό,τι άλλαξε μετά χάνεται:
- Νέες παραγγελίες και αλλαγές κατάστασης σε παλιές, για παράδειγμα «Ολοκληρωμένη».
- Νέοι λογαριασμοί πελατών.
- Οι κινήσεις αποθέματος από τις πωλήσεις.
- Αλλαγές σε προϊόντα, τιμές και κουπόνια.
Οι πληρωμές με κάρτα που έγιναν στο μεταξύ δεν ακυρώνονται. Τα χρήματα έχουν ήδη χρεωθεί στον πελάτη, απλώς η παραγγελία δεν θα υπάρχει πια στο e-shop.
Πότε αρκεί η επαναφορά μόνο των αρχείων
Τα αρχεία περιέχουν τον κώδικα του WordPress, του theme και των plugins, καθώς και τις εικόνες. Αν το πρόβλημα ξεκίνησε από αλλαγή κώδικα, η επαναφορά μόνο των αρχείων το λύνει χωρίς να αγγίξει τις παραγγελίες. Τέτοιες περιπτώσεις είναι:
- Ενημέρωση plugin ή theme που χάλασε το site.
- Κακόβουλος κώδικας σε αρχεία PHP ή JavaScript.
- Αρχεία που διαγράφηκαν ή άλλαξαν κατά λάθος.
Η βάση χρειάζεται επαναφορά όταν το πρόβλημα βρίσκεται στα ίδια τα δεδομένα. Για παράδειγμα, όταν διαγράφηκαν προϊόντα, όταν μια μαζική ενημέρωση άλλαξε λάθος τιμές ή όταν ένα plugin μετέτρεψε τη βάση σε μορφή που η παλιά του έκδοση δεν διαβάζει.
Τι χρειάζεσαι πριν ξεκινήσεις
- Πρόσβαση στο cPanel. Δες τους τρόπους σύνδεσης στο cPanel.
- Την ημερομηνία και περίπου την ώρα που εμφανίστηκε το πρόβλημα. Θα διαλέξεις backup λίγο πριν από αυτήν.
- Πρόσβαση στο διαχειριστικό του WordPress, αν λειτουργεί ακόμη.
Επαναφορά μόνο των αρχείων
- Συνδέσου στο cPanel.
- Άνοιξε το JetBackup 5.
- Μπες στο Restore & Download > Home Directory.
- Διάλεξε backup με ημερομηνία πριν από το πρόβλημα.
- Επίλεξε τον φάκελο του e-shop, συνήθως ολόκληρο το public_html.
- Πάτησε Restore και επιβεβαίωσε.
- Περίμενε να ολοκληρωθεί η εργασία στο Queue.
Αν η αιτία ήταν κακόβουλος κώδικας, η επαναφορά των αρχείων δεν καθαρίζει τη βάση. Μπες μετά στο διαχειριστικό του WordPress, άνοιξε Χρήστες και έλεγξε ότι δεν υπάρχει άγνωστος λογαριασμός με ρόλο Διαχειριστής. Αν βρεις, διάγραψέ τον και άλλαξε όλους τους κωδικούς. Τα υπόλοιπα βήματα θα τα βρεις στον οδηγό ανάκτησης WordPress μετά από hack.
Επαναφορά αρχείων και βάσης χωρίς να χαθούν στοιχεία παραγγελιών
Αν πρέπει να γυρίσει και η βάση, προετοίμασε πρώτα όσα θα χαθούν.
- Βάλε το κατάστημα σε λειτουργία συντήρησης, ώστε να μη μπουν νέες παραγγελίες κατά την επαναφορά. Στις πρόσφατες εκδόσεις του WooCommerce η ρύθμιση βρίσκεται στο WooCommerce > Ρυθμίσεις > Ορατότητα ιστότοπου, με την επιλογή «Έρχεται σύντομα».
- Άνοιξε WooCommerce > Παραγγελίες και κατέγραψε τις παραγγελίες που μπήκαν μετά την ώρα του backup που θα επαναφέρεις: αριθμό, πελάτη, προϊόντα, ποσό και τρόπο πληρωμής.
- Κράτα αντίγραφο της σημερινής βάσης. Άνοιξε το cPanel > Databases > phpMyAdmin, επίλεξε τη βάση του e-shop στην αριστερή στήλη, άνοιξε την καρτέλα Export και πάτησε Export. Φύλαξε το αρχείο στον υπολογιστή σου.
- Επανάφερε τα αρχεία με τα βήματα της προηγούμενης ενότητας.
- Μπες στο JetBackup 5 > Restore & Download > Databases.
- Επίλεξε τη βάση του e-shop και backup της ίδιας ημερομηνίας με τα αρχεία.
- Πάτησε Restore και επιβεβαίωσε.
- Περίμενε να ολοκληρωθούν οι εργασίες στο Queue.
- Πέρασε ξανά τις παραγγελίες που κατέγραψες, χειροκίνητα από το WooCommerce > Παραγγελίες > Προσθήκη παραγγελίας, και διόρθωσε το απόθεμα.
- Βγάλε το κατάστημα από τη λειτουργία συντήρησης.
Αρχεία και βάση πρέπει να γυρίσουν στην ίδια ημερομηνία, αλλιώς το WooCommerce μπορεί να μείνει με κώδικα και δεδομένα από διαφορετικές εκδόσεις. Το αντίγραφο της βάσης που κράτησες στο βήμα 3 σου επιτρέπει, αν χρειαστεί, να ανακτήσει κάποιος developer συγκεκριμένα στοιχεία από αυτό.
Πώς καταλαβαίνεις ότι πέτυχε
Άνοιξε το e-shop σε παράθυρο ανώνυμης περιήγησης και κάνε μια δοκιμαστική πορεία μέχρι το ταμείο. Στο διαχειριστικό έλεγξε ότι η λίστα παραγγελιών ξεκινά από την παραγγελία που περιμένεις. Αν χρησιμοποιείς LiteSpeed Cache, καθάρισε όλη την cache.
Συχνές Ερωτήσεις
Γιατί το πρόβλημα παραμένει και μετά την επαναφορά των αρχείων;
Η αιτία πιθανότατα είναι στη βάση ή το backup που διάλεξες είναι ήδη μετά το πρόβλημα. Δοκίμασε backup λίγο παλαιότερο ή προχώρα στην επαναφορά και της βάσης.
Γιατί το JetBackup δεν δέχεται άλλη επαναφορά;
Επιτρέπονται έως 10 επαναφορές ανά ώρα και κάθε επαναφορά αρχείων ή βάσης μετρά ξεχωριστά. Δες τους περιορισμούς του JetBackup.
Τι κάνω αν δεν είμαι σίγουρος τι να επαναφέρω;
Πριν επαναφέρεις τη βάση ενός e-shop, άνοιξε ticket με το domain και την ώρα που ξεκίνησε το πρόβλημα, ώστε να το δούμε μαζί. Δες πώς ανοίγεις ticket υποστήριξης.