Πώς να καθαρίσετε τη βάση δεδομένων του WordPress

Learning-html-css

Σχεδόν όλοι οι ιστότοποι WordPress που έχω δει είχαν φουσκωμένες βάσεις δεδομένων. Νομίζω ότι αυτό είναι αρκετά φυσιολογικό. Κανείς δεν γεννήθηκε ειδικός στη δημιουργία εξαιρετικά αποδοτικών και βελτιστοποιημένων τοποθεσιών.

Όταν άρχισα να χρησιμοποιώ το WordPress, άλλαζα θέματα κάθε μήνα και δοκίμασα πολλά πρόσθετα. Συνήθιζα να διάβαζα αυτά τα άρθρα "τα κορυφαία 21 που πρέπει να έχουν πρόσθετα" και απλώς πήγα και τα εγκατέστησα όλα. Μερικές εβδομάδες αργότερα, απεγκατάσταση.

Έτσι μαθαίνεις. Δοκιμάζεις, δοκιμάζεις, ανακαλύπτεις τι χρειάζεσαι, τι σου ταιριάζει.

Αλλά χρόνια αργότερα, έχετε μείνει με μια βάση δεδομένων WordPress γεμάτη παλιά, άχρηστα πράγματα. Αυτό συμβαίνει επειδή η βάση δεδομένων του ιστότοπού σας δεν περιέχει μόνο το περιεχόμενό σας, αλλά όλες τις ρυθμίσεις θεμάτων και προσθηκών.

Γιατί είναι απαραίτητο να έχουμε μια καθαρή βάση δεδομένων;

Είχαμε έναν πελάτη, ένα blog τροφίμων με ~10.000 προβολές σελίδας/ημέρα, ο οποίος αντιμετώπιζε αργούς χρόνους φόρτωσης, 13-15 δευτερόλεπτα. Η λύση που πρόσφερε η εταιρεία φιλοξενίας ήταν η αναβάθμιση σε VPS από το κοινό σχέδιο στο οποίο βρισκόταν.

Η λύση μας ήταν διαφορετική.

Ανακαλύψαμε ότι το WordPress κατανάλωνε 300 MB για να δημιουργήσει μια σελίδα. Ένα τυπικό παράδειγμα WordPress θα πρέπει να καταναλώνει 30-40 MB, ώστε να έχετε μια ιδέα για το πόσο κακό ήταν. Δεν είναι περίεργο που χρειάστηκαν 15 δευτερόλεπτα για να φορτώσει και να μεγιστοποιήσει τους πόρους που διατέθηκαν στον λογαριασμό φιλοξενίας της.

Ανακαλύψαμε περισσότερες από 25.000 εγγραφές βάσης δεδομένων στον πίνακα wp_options με την αυτόματη φόρτωση σε ναι. "Αυτόματη φόρτωση: ναι" σημαίνει ότι όταν το WordPress προετοιμάζεται, διαβάζει αυτές τις επιλογές από τη βάση δεδομένων. Μόνο αυτό χρειάστηκε περίπου 11 δευτερόλεπτα.

Διαγράψαμε αυτές τις παλιές, άχρηστες επιλογές και τώρα το WordPress καταναλώνει 50 MB και φορτώνει σε 2-3 δευτερόλεπτα. Επίσης, βελτιστοποιήσαμε τις εικόνες, την αλλάξαμε στο Genesis Framework, αντικαταστήσαμε κάποιες κακές προσθήκες με καλύτερες και άλλες μικρές τροποποιήσεις.

Δεν χρειαζόταν να κάνει αναβάθμιση σε VPS. παρέμεινε σε ένα κοινό σχέδιο για άλλους 8-9 μήνες, όταν η επισκεψιμότητά της έφτασε σε ~60.000 προβολές σελίδας/ημέρα και ήρθε η ώρα να απομακρυνθεί από την κοινόχρηστη φιλοξενία .

ιστολόγιο-επισκεψιμότητα

Συμπερασματικά, η ύπαρξη μιας καθαρής βάσης δεδομένων WordPress τη βοήθησε να εξοικονομήσει χρήματα για τη φιλοξενία. Και μπορεί να σας βοηθήσει επίσης. Ας δούμε λοιπόν τι μπορείτε να κάνετε για να βελτιστοποιήσετε τη βάση δεδομένων σας στο WordPress.

Δημιουργία αντιγράφων ασφαλείας πρώτα

Πριν ξεκινήσετε να κάνετε οτιδήποτε, βεβαιωθείτε ότι έχετε δημιουργήσει αντίγραφα ασφαλείας της βάσης δεδομένων σας. Χρησιμοποιώ το UpdraftPlus με το Amazon S3, αλλά υπάρχουν πολλές εφεδρικές προσθήκες/λύσεις για το WordPress, όπως:

Μπορείτε επίσης να εξαγάγετε τη βάση δεδομένων σας από το phpMyAdmin. Ο πάροχος φιλοξενίας θα πρέπει να προσφέρει πρόσβαση σε αυτό το εργαλείο διαχείρισης βάσης δεδομένων (ή σε παρόμοιο).

Βασικός καθαρισμός

Ένα από τα βασικά πράγματα που μπορείτε να κάνετε είναι να διαγράψετε προσθήκες και θέματα που δεν χρησιμοποιούνται, να διαγράψετε ανεπιθύμητα σχόλια, να διαγράψετε σχόλια που βρίσκονται στον κάδο απορριμμάτων, αναρτήσεις και σελίδες που βρίσκονται στον κάδο απορριμμάτων.

Διαγραφή προσθηκών και θεμάτων που δεν χρησιμοποιούνται

Αυτό βοηθά επίσης από την άποψη της ασφάλειας. Συνιστώ να μην κρατάτε στον διακομιστή σας σενάρια PHP (πρόσθετα, θέματα, άλλα αρχεία PHP) που δεν χρησιμοποιείτε.

Για να καταργήσετε προσθήκες που δεν χρησιμοποιούνται, συνδεθείτε στο wp-admin και μεταβείτε στο Plugins > Installed plugins. Κάντε κλικ στο Ανενεργό για να δείτε ανενεργά πρόσθετα και να τα διαγράψετε.

Για να αφαιρέσετε θέματα που δεν χρησιμοποιούνται, μεταβείτε στην επιλογή Εμφάνιση > Θέματα. Κάντε κλικ σε κάθε θέμα που θέλετε να διαγράψετε και, στη συνέχεια, κάντε κλικ στην επιλογή Διαγραφή στην κάτω δεξιά γωνία.

Σας συνιστούμε να διατηρήσετε μόνο το ενεργό σας θέμα και ένα προεπιλεγμένο θέμα (αν χρειάζεται να δοκιμάσετε ασυμβατότητες). Χρησιμοποιώ το Genesis Framework. Διατηρώ λοιπόν το Genesis (γονικό θέμα), το θυγατρικό θέμα Genesis (ενεργό θέμα) και ένα προεπιλεγμένο θέμα του WordPress (για δοκιμαστικούς σκοπούς).

Αδειάστε τα ανεπιθύμητα σχόλια

Συνδεθείτε στο wp-admin και μεταβείτε στα Σχόλια. Κάντε κλικ στο Spam για να δείτε τα ανεπιθύμητα σχόλια και χρησιμοποιήστε το κουμπί Empty Spam για να τα διαγράψετε.

Αδειάστε τα σκουπίδια

Ενώ βρίσκεστε ακόμα στην ενότητα Σχόλια, κάντε κλικ στον Κάδο απορριμμάτων για να δείτε τα σχόλια στον κάδο απορριμμάτων και χρησιμοποιήστε το κουμπί Άδειασμα κάδου για να τα διαγράψετε.

Μεταβείτε στις Αναρτήσεις > Όλες οι αναρτήσεις, κάντε κλικ στον Κάδο απορριμμάτων για να δείτε τις αναρτήσεις στον κάδο απορριμμάτων. Χρησιμοποιήστε το κουμπί Άδειασμα Κάδου για να τα διαγράψετε.

Μεταβείτε στις Σελίδες > Όλες οι σελίδες, κάντε κλικ στο Κάδος απορριμμάτων για να δείτε τις σελίδες που έχουν απορριφθεί και χρησιμοποιήστε το κουμπί Άδειασμα κάδου για να τις διαγράψετε.

Εάν έχετε κάποιους προσαρμοσμένους τύπους αναρτήσεων στον κάδο απορριμμάτων, μπορείτε να τους διαγράψετε με τον ίδιο τρόπο. Εάν έχετε Κατηγορίες ή Ετικέτες, που δεν χρησιμοποιείτε, μπορείτε να τις εξαλείψετε και αυτές.

Μπορείτε επίσης να το κάνετε αυτό με την προσθήκη WP Sweep, όπως εξηγείται παρακάτω.

Χρησιμοποιήστε ένα πρόσθετο για να καθαρίσετε τη βάση δεδομένων του WordPress

Το πιο εύκολο πράγμα που μπορείτε να κάνετε, ειδικά για μη τεχνικούς ανθρώπους, είναι να χρησιμοποιήσετε μια προσθήκη WordPress για να καθαρίσετε τη βάση δεδομένων.

Τα πιο δημοφιλή πρόσθετα βελτιστοποίησης βάσης δεδομένων είναι:

Συνιστούμε το WP-Sweep επειδή χρησιμοποιεί κατάλληλες λειτουργίες διαγραφής WordPress όσο το δυνατόν περισσότερο αντί να εκτελεί άμεσα ερωτήματα διαγραφής MySQL. Η προσθήκη WP-Optimize χρησιμοποιεί ερωτήματα άμεσης διαγραφής SQL που μπορεί να αφήσουν ορφανά δεδομένα πίσω.

Εγκαταστήστε και ενεργοποιήστε την προσθήκη WP Sweep και, στη συνέχεια, μεταβείτε στα Εργαλεία > Σάρωση. Θα δείτε διαφορετικές ενότητες με ένα κουμπί Sweep δίπλα τους, κάντε κλικ στο κουμπί για να καθαρίσετε την ακαταστασία.

Αυτό το πρόσθετο θα σας βοηθήσει να διαγράψετε:

  • Αναθεωρήσεις
  • Αυτόματα πρόχειρα
  • Διαγραμμένα, μη εγκεκριμένα και ανεπιθύμητα σχόλια
  • Ορφανό και διπλό post meta
  • Ορφανό και διπλό μεταγραφικό σχόλιο
  • Ορφανός και διπλότυπος χρήστης meta
  • Σχέσεις ορφανών όρων
  • Αχρησιμοποίητοι όροι
  • Παροδικές επιλογές.

Το πρόσθετο μπορεί επίσης να βελτιστοποιήσει τους πίνακες και είναι πιο εύκολο από το να το κάνετε μέσω του phpMyAdmin. Μπορείτε να το κάνετε αυτό περιοδικά, βελτιστοποιώντας τους πίνακες βάσης δεδομένων, ίσως μία φορά σε μερικούς μήνες.

Προηγμένος καθαρισμός

Μερικές φορές, εάν χρησιμοποιείτε κοινόχρηστη φιλοξενία, το WP Sweep μπορεί να παγώσει λόγω περιορισμών στην PHP. Συνήθως συμβαίνει όταν έχει μεγάλο αριθμό εγγραφών βάσης δεδομένων προς διαγραφή, όπως η κατάργηση μεταβατικών στοιχείων.

Εάν δεν μπορείτε να χρησιμοποιήσετε την προσθήκη για να καθαρίσετε τη βάση δεδομένων σας, πρέπει να κάνετε τον καθαρισμό εκτελώντας ερωτήματα απευθείας στη βάση δεδομένων σας. Για παράδειγμα, το ερώτημα για την αφαίρεση μεταβατικών στοιχείων είναι:

ΔΙΑΓΡΑΦΗ ΑΠΟ "wp_options" ΟΠΟΥ ΑΡΕΣΕΙ στο "option_name" ("%\_transient\_%");

Σημείωση: φροντίστε να αλλάξετε το προεπιλεγμένο πρόθεμα (wp_) σε αυτό που χρησιμοποιεί η βάση δεδομένων σας.

Μπορείτε να εκτελέσετε αυτό το ερώτημα στο phpMyAdmin (ένα εργαλείο προσβάσιμο από το cPanel) ή με ένα εργαλείο διαχείρισης βάσης δεδομένων όπως το Sequel Pro (Mac) ή το MySQL Workbench (Windows, Linux, Mac).

Χρησιμοποιώ το Sequel Pro και το προτιμώ από το phpMyAdmin επειδή είναι ταχύτερο και πιο σταθερό, το phpMyAdmin μπορεί μερικές φορές να διακοπεί (κοινόχρηστη φιλοξενία, περιορισμοί PHP). Δεν έχω χρησιμοποιήσει ποτέ το MySQL Workbench για σύγκριση.

Μην ξεχάσετε πρώτα να δημιουργήσετε αντίγραφα ασφαλείας της βάσης δεδομένων σας

Ένα υπέροχο μάθημα για το πώς να εκτελείτε ερωτήματα στο phpMyAdmin είναι αυτό στο wpmudev.com .

Από την εμπειρία μου, ένα από τα πιο σημαντικά προβλήματα με τη βάση δεδομένων του WordPress είναι ένας μεγάλος αριθμός καταχωρίσεων βάσης δεδομένων στον πίνακα wp_options με αυτόματη φόρτωση: ναι.

Μπορείτε να βρείτε και να τα διαγράψετε με ένα πρόσθετο – Επιλογές καθαρισμού – ή απευθείας στον πίνακα wp_options χρησιμοποιώντας phpMyAdmin ή Sequel Pro.

Ακολουθεί ένα καλό σεμινάριο σχετικά με τη χρήση της προσθήκης Clean Options , αλλά ο καθαρισμός αυτών των επιλογών είναι μια κουραστική εργασία και ανεξάρτητα από το πώς το κάνετε, δεν υπάρχει εύκολος τρόπος, δυστυχώς.

Επειδή το πρόσθετο σάς δείχνει τις " πιθανώς ορφανές επιλογές", πρέπει να προσέχετε να μην διαγράψετε κάτι που δεν πρέπει και να σπάσετε τον ιστότοπό σας.

Αυτό που πρέπει να κάνετε είναι να εντοπίσετε τις επιλογές που είναι άχρηστες, όπως από παλιά πρόσθετα που δεν έχετε πια. Θα πρέπει να ξέρετε τι πρόθεμα έχει κάθε πρόσθετο. όπως εάν βλέπετε πολλές επιλογές με το πρόθεμα "wcj_" που προέρχεται από την Booster for WooCommerce . Εάν δεν χρησιμοποιείτε πλέον το Booster, είναι ασφαλές να το διαγράψετε.

Δεν χρησιμοποιώ το πρόσθετο Clean Options, μου αρέσει να δουλεύω απευθείας στη βάση δεδομένων με το Sequel Pro και το προσεγγίζω όπως έκανα το 1998 παίζοντας Tomb Raider, αποθηκεύοντας το παιχνίδι μετά από κάθε άλμα.

Δημιουργώ αντίγραφα ασφαλείας του πίνακα, αναζητώ επιλογές, διαγράφω επιλογές, ελέγχω για σφάλματα, δημιουργώ ξανά αντίγραφα ασφαλείας, επαναλαμβάνω.

Τώρα, έχετε μια καθαρή βάση δεδομένων WordPress. Διατηρήστε το καθαρό χρησιμοποιώντας τις παρακάτω βέλτιστες πρακτικές.

Βέλτιστες πρακτικές για να διατηρήσετε τη βάση δεδομένων σας WordPress καθαρή

Χωρίς ιδιαίτερη σειρά.

1. Αποφύγετε τη συσσώρευση των αναθεωρήσεων και περιορίστε τον αριθμό των αναθεωρήσεων που είναι αποθηκευμένες στη βάση δεδομένων, για παράδειγμα 3. Προσθέστε τον ακόλουθο κώδικα στο αρχείο wp-config.php.

define( 'WP_POST_REVISIONS', 3 );

2. Αδειάζετε τακτικά τον κάδο απορριμμάτων ή ρυθμίστε τον να αδειάζει αυτόματα μετά από μερικές ημέρες, για παράδειγμα 5. Προσθέστε τον ακόλουθο κώδικα στο αρχείο wp-config.php.

define( 'EMPTY_TRASH_DAYS', 5 );

3. Αδειάζετε τακτικά ανεπιθύμητα μηνύματα.

4. Μην αφήνετε σχόλια μη εγκεκριμένα – εγκρίνετέ τα, στείλτε τα με ανεπιθύμητη αλληλογραφία ή σκουπίστε τα.

5. Χρησιμοποιήστε το πρόσθετο WP Sweep για να βελτιστοποιήσετε τους πίνακες και να ελέγχετε περιοδικά τα μεταβατικά (και να τα σαρώνετε, εάν χρειάζεται).

6. Προσοχή στα πρόσθετα που αποθηκεύουν πολλά δεδομένα:

  • πρόσθετα στατιστικών στοιχείων
  • πρόσθετα ασφαλείας
  • πρόσθετα anti-spam
  • πρόσθετα σχετικά αναρτήσεις
  • πρόσθετα παρακολούθησης συνδέσμων

Δεν λέω ότι δεν πρέπει να χρησιμοποιείτε κανένα από τα παραπάνω πρόσθετα, αλλά να χρησιμοποιείτε πρόσθετα που προσφέρουν αυτές τις λειτουργίες και αποθηκεύουν δεδομένα εξωτερικά, όχι στη βάση δεδομένων του WordPress. Εάν μπορείτε να το αποφύγετε, μην χρησιμοποιείτε πρόσθετα που προσθέτουν bloat, διατηρήστε τη βάση δεδομένων του WordPress όσο το δυνατόν καθαρότερη.

7. Εάν διαγράψετε ένα πρόσθετο που είστε βέβαιοι ότι δεν θέλετε πλέον να χρησιμοποιείτε, καθαρίστε μετά από αυτό το πρόσθετο.

Τα περισσότερα πρόσθετα δεν καθαρίζονται από μόνα τους. Επομένως, πρέπει να διαγράψετε τους πίνακες βάσης δεδομένων που έχει προσθέσει η προσθήκη και να διαγράψετε τις επιλογές της προσθήκης από τον πίνακα wp_options.

Αυτό ολοκληρώνει το 4ο βήμα μας στην αναζήτηση ενός ταχύτερου και πιο επεκτάσιμου ιστότοπου WordPress.

Σχόλια

11 απαντήσεις στο "Πώς να καθαρίσετε τη βάση δεδομένων σας WordPress"

  1. Καταπληκτικός πόρος για τον καθαρισμό της βάσης δεδομένων WP. Ευχαριστώ που μοιράζεστε αυτό.

    1. Σας ευχαριστώ. Εάν χρειάζεστε άλλες πληροφορίες ή μαθήματα που θα μπορούσαμε να γράψουμε, ενημερώστε μας.

  2. Έχετε δοκιμάσει το TablePlus; Είναι παρόμοιο με το Sequel Pro αλλά υποστηρίζει πολλά προγράμματα οδήγησης.

    1. Δεν το είχα ακούσει ποτέ μέχρι τώρα.

  3. Χρησιμοποιώ Akismet. Να το αφαιρέσω και αυτό; Δοκίμασα την δωρεάν έκδοση του UPDRATPLUS αρκετές φορές, αλλά πάντα η εξάτμιση της μνήμης και ο ιστότοπος είναι κάτω. Αυξήθηκε η μνήμη στο php.ini και δοκιμάστηκε, αλλά χωρίς επιτυχία. Έχω την Godaddy κοινόχρηστη φιλοξενία Linux.

    1. Προτιμώ το Antispam Bee , νομίζω ότι είναι πιο αποτελεσματικό στην καταπολέμηση του spam από το Akismet.
      Τα περισσότερα πρόσθετα δημιουργίας αντιγράφων ασφαλείας έχουν προβλήματα με την κοινόχρηστη φιλοξενία, μια λύση που μπορεί να λειτουργήσει καλύτερα είναι να χρησιμοποιήσετε ManageWP ή WP Time Capsule .
      Αυτές οι λύσεις δημιουργούν σταδιακά αντίγραφα ασφαλείας, ώστε να μην υπάρχει συμπίεση και συμπίεση, και αυτό χρησιμοποιεί λιγότερους πόρους διακομιστή.

  4. Με τη βοήθεια της γνώσης που αποκτήσατε από το άρθρο σας για να καθαρίσετε τη βάση δεδομένων, αποδείχθηκε ότι ήταν αρκετά εύκολο και χωρίς λάθη ή προβλήματα.

  5. Αυτό είναι ένα πραγματικά υπέροχο άρθρο, σας ευχαριστώ που το μοιραστήκατε και θα ήθελα να πω ότι, συνεχίστε να μοιράζεστε τις πληροφορίες σας για εμάς.

  6. Σας ευχαριστώ.
    Λειτουργεί σαν γούρι!

  7. Πολύ καλές πληροφορίες κοινοποιήθηκαν, ευχαριστώ για αυτό.

  8. Πολύ καλό άρθρο κοινοποιήθηκε, ευχαριστώ για αυτό.

Αφήστε μια

Η διεύθυνση email σας δεν θα δημοσιευτεί. Τα υποχρεωτικά πεδία επισημαίνονται με *

αγγλικός