Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

Μετρούν ποια διαφήμιση οδηγεί σε επίσκεψη ή παραγγελία, ώστε να μην πληρώνουμε για διαφημίσεις που δεν αποδίδουν.

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

Λιγότερα είναι περισσότερα: καθαρισμός και επίλυση συγκρούσεων

Ενότητα 5: Θέματα εμφάνισης και πρόσθετα · Χρόνος ανάγνωσης: 9 λεπτά

Μαθησιακός στόχος: Μετά από αυτό το μάθημα θα μπορείτε να καθαρίζετε τα πρόσθετα και να εντοπίζετε και να επιλύετε μόνοι σας μια σύγκρουση ή μια λευκή σελίδα.

Βασικές έννοιες: απενεργοποίηση έναντι διαγραφής, ανενεργός κώδικας, κρίσιμο σφάλμα, λειτουργία ανάκτησης (recovery mode), Υγεία ιστότοπου, λειτουργία αντιμετώπισης προβλημάτων, μετονομασία φακέλου προσθέτου, WP_DEBUG, WP_DEBUG_LOG, debug.log, αρχείο καταγραφής σφαλμάτων

Η απενεργοποίηση δεν είναι διαγραφή

Στα Πρόσθετα μπορείτε να απενεργοποιήσετε ή να διαγράψετε ένα πρόσθετο. Η διαφορά:

  • Απενεργοποίηση: το WordPress δεν φορτώνει πλέον το πρόσθετο. Τα αρχεία όμως παραμένουν στο wp-content/plugins/ και συχνά μπορούν ακόμα να ζητηθούν απευθείας μέσω του web server. Αν υπάρχει κενό ασφαλείας σε ένα μεμονωμένο αρχείο PHP αυτού του προσθέτου, το κενό εξακολουθεί να υπάρχει. Οι εισβολείς σαρώνουν για γνωστά ευάλωτα αρχεία, όχι για ενεργά πρόσθετα.
  • Διαγραφή: τα αρχεία αφαιρούνται. Ορισμένα πρόσθετα κατά τη διαγραφή καθαρίζουν επίσης τις ρυθμίσεις και τους πίνακές τους στη βάση δεδομένων· άλλα τα αφήνουν.

Αν δεν χρησιμοποιείτε πλέον ένα πρόσθετο, διαγράψτε το. Η απενεργοποίηση είναι μόνο για λίγο (κατά την αναζήτηση ενός προβλήματος). Το ίδιο ισχύει για τα θέματα εμφάνισης (μάθημα 2.4).

Καθαρισμός: ένας σταθερός γύρος

Μία φορά ανά τρίμηνο (μάθημα 9.4) ελέγξτε ένα προς ένα τα πρόσθετά σας. Για κάθε πρόσθετο:

  1. Για ποιο σκοπό υπάρχει; Αν δεν το θυμάστε πια, ερευνήστε το. Συχνά αποδεικνύεται ότι ένα πρόσθετο εγκαταστάθηκε κάποτε για ένα μόνο πράγμα και δεν αφαιρέθηκε ποτέ.
  2. Χρησιμοποιείται ακόμα; Ένα πρόσθετο slider ενώ δεν υπάρχει πουθενά slider, ένα πρόσθετο φορμών ενώ η σελίδα επικοινωνίας σας χρησιμοποιεί άλλη φόρμα.
  3. Μπορείτε να κάνετε χωρίς αυτό; Το κάνει ήδη το WordPress, το θέμα εμφάνισης ή κάποιο άλλο πρόσθετο (μάθημα 5.3);
  4. Συντηρείται ακόμα; Πότε ενημερώθηκε τελευταία φορά, υπάρχει ακόμα στον κατάλογο προσθέτων;

Κάντε τον καθαρισμό πρώτα σε περιβάλλον δοκιμών (staging) (μάθημα 8.3) ή τουλάχιστον δημιουργήστε ένα αντίγραφο ασφαλείας, και διαγράφετε ένα πρόσθετο κάθε φορά, ώστε να ξέρετε τι πήγε στραβά αν κάτι πάει στραβά. Προσέξτε τα shortcodes: αν διαγράψετε ένα πρόσθετο που παρείχε το [formulier id="2"], τότε αυτό το κείμενο θα εμφανίζεται κατά λέξη στη σελίδα σας.

Όταν κάτι πάει στραβά: το κρίσιμο σφάλμα

Μετά από μια ενημέρωση, ένα νέο πρόσθετο ή μια αναβάθμιση PHP βλέπετε ξαφνικά:

Υπάρχει ένα κρίσιμο σφάλμα σε αυτόν τον ιστότοπο.

ή μια εντελώς λευκή σελίδα. Αυτό σημαίνει: η PHP σταμάτησε με ένα μοιραίο σφάλμα (fatal error) πριν δημιουργηθεί η σελίδα (μάθημα 1.2). Συνήθως οφείλεται σε ένα πρόσθετο ή θέμα εμφάνισης που δεν είναι συμβατό με κάτι άλλο: ένα άλλο πρόσθετο, τη νέα έκδοση του WordPress ή την έκδοση PHP.

Από το WordPress 5.2 και μετά, το WordPress κάνει τότε δύο πράγματα:

  • στέλνει ένα email στη διεύθυνση του διαχειριστή με το πρόσθετο ή το θέμα εμφάνισης που προκάλεσε το σφάλμα, καθώς και έναν ειδικό σύνδεσμο·
  • με αυτόν τον σύνδεσμο συνδέεστε στη λειτουργία ανάκτησης (recovery mode): η διαχείριση λειτουργεί τότε, με το πρόσθετο που προκάλεσε το σφάλμα προσωρινά απενεργοποιημένο, ώστε να μπορείτε να το ενημερώσετε, να το αντικαταστήσετε ή να το διαγράψετε.

Γι' αυτό είναι τόσο σημαντική μια διεύθυνση διαχειριστή που πραγματικά διαβάζετε (μάθημα 2.2).

Αναζήτηση μόνοι σας: τα βήματα

Δεν ήρθε email ή δεν λειτουργεί η λειτουργία ανάκτησης; Έτσι θα το βρείτε μόνοι σας.

1. Ελέγξτε το αρχείο καταγραφής σφαλμάτων

Το σφάλμα βρίσκεται σχεδόν πάντα στο αρχείο καταγραφής σφαλμάτων του web server ή της PHP. Στο DirectAdmin το βρίσκετε στα αρχεία καταγραφής (logs) του domain σας. Αναζητήστε μια γραμμή με PHP Fatal error και την ώρα της προσπάθειάς σας:

PHP Fatal error:  Uncaught Error: Call to undefined function create_function()
in /home/gebruiker/domains/example.com/public_html/wp-content/plugins/oude-slider/slider.php:42

Η διαδρομή σάς λέει ποιος φταίει: εδώ το πρόσθετο στον φάκελο oude-slider. Το υπόλοιπο της γραμμής εξηγεί γιατί (εδώ: μια συνάρτηση που αφαιρέθηκε στην PHP 8, μάθημα 8.4).

2. Ενεργοποιήστε το debug log (όχι την εμφάνιση στην οθόνη)

Αν δεν υπάρχει κάτι χρήσιμο στο αρχείο καταγραφής σφαλμάτων, προσθέστε στο wp-config.php (πάνω από το σχόλιο «stop editing», δηλαδή «σταματήστε την επεξεργασία»):

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Το WordPress γράφει τότε όλα τα σφάλματα στο wp-content/debug.log, χωρίς να τα εμφανίζει στους επισκέπτες. Μην το αφήνετε ποτέ ενεργό περισσότερο από όσο χρειάζεται: το debug.log βρίσκεται σε φάκελο που διαθέτει ο web server, και όποιος γνωρίζει τη διεύθυνση μπορεί να το διαβάσει. Περιέχει διαδρομές, μερικές φορές ονόματα χρηστών και άλλες πληροφορίες που βοηθούν έναν εισβολέα. Απενεργοποιήστε το ξανά μετά την αναζήτηση και διαγράψτε το debug.log. Ή αφήστε το WordPress να γράφει το αρχείο καταγραφής έξω από τον φάκελο ιστού, δίνοντας μια διαδρομή στο WP_DEBUG_LOG (για παράδειγμα '/home/gebruiker/logs/wp-debug.log', εφόσον το επιτρέπει ο πάροχος φιλοξενίας σας). Στο μάθημα 7.4 ελέγχετε ότι το debug.log δεν είναι δημόσια προσβάσιμο.

3. Απενεργοποίηση προσθέτου χωρίς διαχείριση

Αν δεν μπορείτε να μπείτε στη διαχείριση, απενεργοποιήστε το ύποπτο πρόσθετο μετονομάζοντας τον φάκελό του, μέσω του File Manager ή μέσω SFTP:

wp-content/plugins/oude-slider   γίνεται   wp-content/plugins/oude-slider-uit

Το WordPress δεν βρίσκει πλέον το πρόσθετο και το απενεργοποιεί. Αν δεν ξέρετε ποιο είναι, μετονομάστε ολόκληρο τον φάκελο plugins σε plugins-uit: όλα τα πρόσθετα απενεργοποιούνται. Αν ο ιστότοπος λειτουργεί τότε, δημιουργήστε έναν νέο κενό φάκελο plugins, επαναφέρετε τα πρόσθετα ένα προς ένα και ελέγχετε μετά από κάθε πρόσθετο αν το σφάλμα επανεμφανίζεται. Το ίδιο ισχύει για ένα θέμα εμφάνισης: μετονομάστε τον φάκελο του ενεργού θέματος εμφάνισης και το WordPress επιστρέφει σε ένα προεπιλεγμένο θέμα, εφόσον υπάρχει ακόμα (μάθημα 2.4).

4. Συγκρούσεις χωρίς μοιραίο σφάλμα

Δεν είναι κάθε πρόβλημα κρίσιμο σφάλμα. Μερικές φορές μια λειτουργία δεν δουλεύει: ένα κουμπί δεν κάνει τίποτα, η φόρμα δεν αποστέλλεται, ο επεξεργαστής φορτώνει μισός. Τότε συχνά πρόκειται για σύγκρουση μεταξύ δύο προσθέτων ή μεταξύ ενός προσθέτου και του θέματος εμφάνισης. Γι' αυτό είναι χρήσιμο το επίσημο πρόσθετο Health Check & Troubleshooting: στη λειτουργία αντιμετώπισης προβλημάτων απενεργοποιεί όλα τα πρόσθετα μόνο για τη δική σας συνεδρία και μεταβαίνει σε ένα προεπιλεγμένο θέμα εμφάνισης, ενώ οι επισκέπτες βλέπουν κανονικά τον ιστότοπο. Στη συνέχεια τα ενεργοποιείτε ένα προς ένα μέχρι να επανεμφανιστεί το πρόβλημα.

Ελέγξτε επίσης την κονσόλα του προγράμματος περιήγησής σας (F12): τα σφάλματα JavaScript συχνά αναφέρουν το αρχείο και, κατ' επέκταση, το πρόσθετο.

Υγεία ιστότοπου

Στο Εργαλεία > Υγεία ιστότοπου το WordPress ελέγχει ο ίδιος τον ιστότοπό σας: παλιά έκδοση PHP, πρόσθετα και θέματα εμφάνισης που δεν είναι ενεργά, επεκτάσεις PHP που λείπουν, REST API που δεν λειτουργεί, προγραμματισμένες εργασίες που καθυστερούν. Στην καρτέλα Πληροφορίες υπάρχουν όλα τα στοιχεία της εγκατάστασής σας (εκδόσεις, διαδρομές, ρυθμίσεις PHP). Μπορείτε να αντιγράψετε αυτή την καρτέλα και να τη στείλετε όταν ζητάτε βοήθεια. Ρίξτε μια ματιά εδώ μετά από κάθε μεγάλη αλλαγή.

Σύνοψη

  • Η απενεργοποίηση αφήνει τα αρχεία στη θέση τους· διαγράψτε τα πρόσθετα και τα θέματα εμφάνισης που δεν χρησιμοποιείτε.
  • Κάνετε καθαρισμό κάθε τρίμηνο, ένα πρόσθετο κάθε φορά, με αντίγραφο ασφαλείας ή σε περιβάλλον δοκιμών (staging).
  • Σε περίπτωση κρίσιμου σφάλματος, το WordPress στέλνει email με σύνδεσμο προς τη λειτουργία ανάκτησης.
  • Το αρχείο καταγραφής σφαλμάτων ή το debug.log αναφέρει τη διαδρομή του υπαιτίου· απενεργοποιήστε το debug μετά την αναζήτηση, γιατί αλλιώς το debug.log είναι δημόσια προσβάσιμο.
  • Χωρίς διαχείριση απενεργοποιείτε ένα πρόσθετο μετονομάζοντας τον φάκελό του· τις συγκρούσεις τις εντοπίζετε με τη λειτουργία αντιμετώπισης προβλημάτων.

Κουίζ

1. Γιατί ένα απενεργοποιημένο πρόσθετο δεν είναι εντελώς ασφαλές;



2. Ο ιστότοπός σας εμφανίζει «Υπάρχει ένα κρίσιμο σφάλμα» και δεν μπορείτε να συνδεθείτε. Ποιο είναι το ταχύτερο πρώτο βήμα;



3. Γιατί ορίζετε το WP_DEBUG_DISPLAY σε false όταν ενεργοποιείτε το WP_DEBUG σε έναν ζωντανό ιστότοπο;



4. Πώς απενεργοποιείτε ένα πρόσθετο όταν δεν μπορείτε να μπείτε στη διαχείριση;



Άσκηση

Άσκηση A5.4: Είναι το αρχείο debug-log σας μη προσβάσιμο δημόσια; Συμπληρώστε τη διεύθυνση του ιστότοπού σας και αποδείξτε με τον κωδικό που σας δίνει η άσκηση ότι πρόκειται για τον δικό σας ιστότοπο (μια εγγραφή TXT ή ένα μικρό αρχείο). Το πρόγραμμα ζητά το /wp-content/debug.log: σωστό είναι αν αυτό δεν υπάρχει ή απορρίπτεται (404 ή 403). Αν το πρόγραμμα λάβει πίσω ένα αρχείο, το αποτέλεσμα είναι κόκκινο. Επιπλέον, το πρόγραμμα μετρά πόσοι διαφορετικοί φάκελοι προσθέτων εμφανίζονται στο HTML της αρχικής σας σελίδας (μόνο για ενημέρωση).

Άσκηση A5.4: Είναι το αρχείο debug-log σας μη προσβάσιμο δημόσια;

Αυτός ο έλεγχος ζητά διαδρομές που ελέγχετε μόνο στον δικό σας ιστότοπο. Κάντε πρώτα κλικ στο "Εμφάνιση του κωδικού μου" και τοποθετήστε αυτόν τον κωδικό ως εγγραφή TXT στο _weboke-cursus.<το δικό σας domain> ή ως αρχείο στον ιστότοπό σας (δείτε την εξήγηση δίπλα στον κωδικό).


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

Άσκηση D5.4: Τακτοποιήστε τη λίστα πρόσθετών σας. Φτιάξτε μια λίστα με όλα τα πρόσθετά σας (ενεργά και ανενεργά): όνομα, σκοπός, χρειάζεται ακόμα (ναι/όχι), εναλλακτική χωρίς πρόσθετο. Διαγράψτε (αφού δημιουργήσετε αντίγραφο ασφαλείας ή σε περιβάλλον δοκιμών (staging)) τα πρόσθετα που δεν χρειάζονται πλέον, ένα κάθε φορά, και ελέγξτε μετά από κάθε διαγραφή αν ο ιστότοπος λειτουργεί ακόμα. Σημειώστε πόσα πρόσθετα είχατε και πόσα απέμειναν, καθώς και αν έμειναν shortcodes που χρειάστηκε να καθαρίσετε.

Άσκηση D5.4: Τακτοποιήστε τη λίστα πρόσθετών σας

Αυτή την άσκηση την κάνετε μόνοι σας: κανείς δεν την ελέγχει. Σημειώστε τι έχετε κάνει και επισημάνετε την άσκηση ως ολοκληρωμένη.



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

Περαιτέρω ανάγνωση

Αυτά τα άρθρα περιγράφουν τα βήματα στους πίνακες ελέγχου της WebOké· σε άλλους πίνακες ελέγχου λειτουργούν με παρόμοιο τρόπο.

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…