Η ιστοσελίδα WordPress ανακατευθύνει σε άλλο site: βρείτε την ανακατεύθυνση

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

Δημοσιεύθηκε στις 21 Σεπτεμβρίου 2026 Χρόνος ανάγνωσης: 10 λεπτά

Όλοι οι οδηγοί

Με μια ματιά

  1. Αναπαραγάγετε την ανακατεύθυνση όπως ένας επισκέπτης: ιδιωτική περιήγηση, κινητό με δεδομένα κινητής τηλεφωνίας, είσοδος από αποτέλεσμα αναζήτησης.
  2. Πάρτε πλήρες αντίγραφο της ιστοσελίδας όπως είναι, αρχεία και βάση δεδομένων, πριν αλλάξετε οτιδήποτε.
  3. Αλλάξτε τους κωδικούς πρόσβασης της φιλοξενίας, του FTP, της βάσης δεδομένων και των διαχειριστών του WordPress, και έπειτα ανανεώστε τα κλειδιά ασφαλείας του wp-config.php.
  4. Αναζητήστε την ανακατεύθυνση σε τέσσερα σημεία: .htaccess, αρχεία PHP, βάση δεδομένων, ρυθμίσεις διεύθυνσης της ιστοσελίδας.
  5. Αφαιρέστε και την πρόσβαση που την έβαλε: άγνωστους λογαριασμούς διαχειριστή, αρχεία PHP μέσα στο wp-content/uploads, πρόσθετα για επανεγκατάσταση ή διαγραφή.
  6. Ελέγξτε την αναφορά «Προβλήματα ασφάλειας» του Google Search Console και ζητήστε εξέταση αν η ιστοσελίδα εμφανίζεται εκεί.

Γιατί δεν βλέπετε την ανακατεύθυνση

Μια ανακατεύθυνση που μπαίνει κατά την παραβίαση διαλέγει σε ποιους εφαρμόζεται. Τις περισσότερες φορές εξαιρεί το άτομο που διαχειρίζεται την ιστοσελίδα, ώστε να μείνει στη θέση της όσο περισσότερο γίνεται. Οι πιο συνηθισμένοι όροι:

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

Αναπαραγάγετε την ανακατεύθυνση

Μπείτε στη θέση του επισκέπτη που τη βλέπει:

  1. Ανοίξτε ένα παράθυρο ιδιωτικής περιήγησης, αναζητήστε το όνομα της επιχείρησής σας σε μια μηχανή αναζήτησης και κάντε κλικ στο δικό σας αποτέλεσμα.
  2. Επαναλάβετε από κινητό τηλέφωνο, με δεδομένα κινητής τηλεφωνίας αντί για Wi-Fi.
  3. Σημειώστε τη διεύθυνση προορισμού, την ώρα και τη συσκευή: αυτές οι τρεις πληροφορίες χρησιμεύουν στον πάροχο φιλοξενίας και, αργότερα, στο αίτημα εξέτασης προς την Google.

Αν έχετε πρόσβαση σε τερματικό, η παρακάτω εντολή ζητά την αρχική σας σελίδα παρουσιαζόμενη ως iPhone που έρχεται από το Google:

Τερματικό (στα Windows, πληκτρολογήστε curl.exe αντί για curl)
curl -s -i -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -e "https://www.google.com/" https://www.i-istoselida-sas.com/

Διαβάστε τις πρώτες γραμμές της απάντησης. Ένας κωδικός 301 ή 302 που ακολουθείται από γραμμή Location: προς άγνωστη διεύθυνση σημαίνει ανακατεύθυνση από τον διακομιστή: βρίσκεται στο .htaccess ή σε αρχείο PHP. Ένας κωδικός 200 ενώ το πρόγραμμα περιήγησης ανακατευθύνεται σημαίνει ανακατεύθυνση μέσα στη σελίδα, σε JavaScript: βρίσκεται συνήθως στη βάση δεδομένων ή σε αρχείο του θέματος.

Πριν αγγίξετε την ιστοσελίδα: τρεις κινήσεις

  1. Ένα πλήρες αντίγραφο, όπως είναι. Αρχεία και βάση δεδομένων, με ημερομηνία, φυλαγμένα εκτός διακομιστή. Χρησιμεύει ως αποδεικτικό, ως σημείο σύγκρισης και ως δίχτυ ασφαλείας αν ο καθαρισμός αφαιρέσει κάτι χρήσιμο.
  2. Οι κωδικοί πρόσβασης, από μια καθαρή συσκευή. Περιοχή πελάτη του παρόχου φιλοξενίας, λογαριασμοί FTP ή SFTP, χρήστης της βάσης δεδομένων (περάστε τον νέο κωδικό στο wp-config.php, σταθερά DB_PASSWORD), και έπειτα κάθε λογαριασμός διαχειριστή του WordPress.
  3. Τα κλειδιά ασφαλείας. Αντικαταστήστε τις οκτώ γραμμές από AUTH_KEY έως NONCE_SALT του wp-config.php με ένα νέο σύνολο, που δημιουργείται στο https://api.wordpress.org/secret-key/1.1/salt/. Όλες οι ανοιχτές συνεδρίες κλείνουν, μαζί και του εισβολέα.
Με το WP-CLI, η τρίτη κίνηση γίνεται με μία εντολή
wp config shuffle-salts

Πού κρύβεται η ανακατεύθυνση

1. Το αρχείο .htaccess

Στη ρίζα της ιστοσελίδας, και μερικές φορές σε υποφάκελο, το .htaccess μπορεί να περιέχει κανόνες επανεγγραφής που πρόσθεσε ο εισβολέας. Το μπλοκ που γράφει το ίδιο το WordPress είναι σύντομο, ανάμεσα στις γραμμές # BEGIN WordPress και # END WordPress:

Το μπλοκ που γράφει το WordPress στα ελληνικά για ιστοσελίδα εγκατεστημένη στη ρίζα του τομέα
# BEGIN WordPress
# Οι ντιρεκτίβες (γραμμές) ανάμεσα `BEGIN WordPress` και`END WordPress` είναι
# δυναμικά δημιουργημένες, και θα πρέπει να τροποποιούνται μόνο με την χρήση φίλτρων WordPress.
# Οποιεσδήποτε αλλαγές στις ντιρεκτίβες ανάμεσα στους δείκτες θα επανεγραφεί.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Ένας κανόνας RewriteCond που ελέγχει το %{HTTP_REFERER} (google, bing, facebook) ή το %{HTTP_USER_AGENT} (android, iphone, mobile), και ακολουθείται από RewriteRule προς εξωτερική διεύθυνση, είναι η ανακατεύθυνση. Τα πρόσθετα cache και ασφάλειας γράφουν επίσης δικά τους μπλοκ, με το όνομά τους: αντιστοιχίστε κάθε μπλοκ με τη λίστα των πρόσθετών σας πριν το αφαιρέσετε.

2. Τα αρχεία PHP

Το WP-CLI συγκρίνει τα αρχεία του πυρήνα του WordPress και των πρόσθετων με τα αθροίσματα ελέγχου που δημοσιεύει το WordPress.org, και απαριθμεί κάθε αρχείο που τροποποιήθηκε ή προστέθηκε:

Τερματικό, στη ρίζα της ιστοσελίδας
wp core verify-checksums
wp plugin verify-checksums --all

Η δεύτερη εντολή καλύπτει τα πρόσθετα που διανέμονται από τον κατάλογο του WordPress.org. Ένα πρόσθετο που αγοράστηκε από τον εκδότη του συγκρίνεται με ένα νέο αντίγραφο, που κατεβάζετε από τον λογαριασμό σας σε εκείνον. Η περίπτωση είναι συχνή: από τις 540 ιστοσελίδες ΜμΕ σε WordPress της μέτρησής μας της 1ης Σεπτεμβρίου 2026, το 66 % έχει τουλάχιστον ένα πρόσθετο εκτός του δημόσιου καταλόγου.

Χωρίς WP-CLI, δύο αναζητήσεις δίνουν μια πρώτη διαλογή:

Τερματικό, στη ρίζα της ιστοσελίδας
find . -name "*.php" -mtime -30
find wp-content/uploads -name "*.php"

Η πρώτη απαριθμεί τα αρχεία PHP που τροποποιήθηκαν τις τελευταίες 30 ημέρες, η δεύτερη τα αρχεία PHP μέσα στον φάκελο των πολυμέσων, όπου είναι εξ ορισμού ύποπτα (ορισμένα πρόσθετα βάζουν εκεί ένα κενό index.php, που είναι θεμιτό). Μια ημερομηνία τροποποίησης μπορεί να παραποιηθεί: ένα παλιό αρχείο σε λάθος σημείο αξίζει κι αυτό έλεγχο.

Ανοίξτε πρώτα το wp-config.php, το index.php της ρίζας, τα functions.php και header.php του ενεργού θέματος, και τον φάκελο wp-content/mu-plugins: τα πρόσθετα που βρίσκονται εκεί φορτώνονται αυτόματα και δεν απενεργοποιούνται από τη διαχείριση. Τα σημάδια που αναζητάτε: eval(, base64_decode(, gzinflate(, str_rot13(, μεγάλες ακατάληπτες συμβολοσειρές, ή window.location ακολουθούμενο από διεύθυνση που δεν αναγνωρίζετε.

3. Η βάση δεδομένων

Μια ανακατεύθυνση σε JavaScript μπαίνει εύκολα στο περιεχόμενο των σελίδων ή στις ρυθμίσεις, όπου κανένα αρχείο δεν τη δείχνει. Το WP-CLI αναζητά μια συμβολοσειρά σε όλους τους πίνακες του WordPress:

Τερματικό
wp db search "<script"
wp db search "fromCharCode"

Χωρίς WP-CLI, οι ίδιες αναζητήσεις γίνονται στο phpMyAdmin, στην καρτέλα SQL:

SQL (αντικαταστήστε το wp_ με το πρόθεμα που ορίζει το wp-config.php, μεταβλητή $table_prefix)
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';
SELECT option_name FROM wp_options WHERE option_value LIKE '%<script%';

Ορισμένα αποτελέσματα είναι θεμιτά: ένα εργαλείο μέτρησης επισκεψιμότητας, ένα banner για τα cookies ή ένα widget που βάλατε εσείς. Ό,τι δεν αντιστοιχεί σε κάτι που εγκαταστήσατε αξίζει εξέταση, ιδίως ένα script που συνθέτει μια διεύθυνση από κωδικούς χαρακτήρων.

4. Οι ρυθμίσεις διεύθυνσης και οι λογαριασμοί

Στις Ρυθμίσεις > Γενικά, τα πεδία «Διεύθυνση URL του WordPress» και «Διεύθυνση URL ιστότοπου» πρέπει να έχουν τον δικό σας τομέα. Οι ίδιες τιμές μπορούν να επιβάλλονται στο wp-config.php με τις σταθερές WP_HOME και WP_SITEURL: ελέγξτε και τα δύο σημεία.

Τερματικό
wp option get home
wp option get siteurl
wp user list --role=administrator

Όταν οι σταθερές είναι ορισμένες, οι δύο πρώτες εντολές επιστρέφουν την τιμή τους. Η τελευταία απαριθμεί τους διαχειριστές με την ημερομηνία εγγραφής τους. Στη διαχείριση, η ίδια λίστα βγαίνει από το μενού Χρήστες, με φίλτρο τον ρόλο Διαχειριστής. Ένας λογαριασμός που κανείς δεν αναγνωρίζει διαγράφεται, και το περιεχόμενό του αποδίδεται σε έναν νόμιμο λογαριασμό.

Αφαιρέστε την ανακατεύθυνση, και μετά την πρόσβαση που την έβαλε

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

  1. Αντικαταστήστε τα αρχεία του πυρήνα με ένα νέο αντίγραφο: διαγράψτε τους φακέλους wp-admin και wp-includes και εκτελέστε wp core download --skip-content --force, που ξαναγράφει τον πυρήνα χωρίς να αγγίξει τα πρόσθετα, τα θέματα και τα πολυμέσα σας. Η εντολή αντικαθιστά τα υπάρχοντα αρχεία αλλά δεν διαγράφει κανένα αρχείο που προστέθηκε: γι’ αυτό οι δύο φάκελοι διαγράφονται πρώτα, και γι’ αυτό τα άγνωστα αρχεία PHP της ρίζας αφαιρούνται με το χέρι.
  2. Εγκαταστήστε ξανά το θέμα και κάθε πρόσθετο από την επίσημη πηγή τους, και διαγράψτε όσα δεν χρησιμοποιεί πια η ιστοσελίδα, μαζί και τα απενεργοποιημένα: τα αρχεία τους μένουν στον διακομιστή.
  3. Αφαιρέστε τα ξένα αρχεία PHP από το wp-content/uploads, τους κανόνες που προστέθηκαν στο .htaccess και τα scripts που βρέθηκαν στη βάση.
  4. Ελέγξτε τις προγραμματισμένες εργασίες με wp cron event list: μια εργασία με άγνωστο όνομα μπορεί να ξαναβάλει τον κώδικα.
  5. Ενημερώστε το WordPress, το θέμα και τα πρόσθετα.
  6. Επαναλάβετε τις δοκιμές της αρχής, από διάφορες συσκευές και για αρκετές ημέρες.

Αν η ιστοσελίδα διατηρεί δεδομένα προσωπικού χαρακτήρα (φόρμες, λογαριασμούς πελατών, παραγγελίες), σημειώστε την ώρα κατά την οποία διαπιστώσατε την παραβίαση. Στην Ευρωπαϊκή Ένωση, ο Γενικός Κανονισμός για την Προστασία Δεδομένων προβλέπει ότι μια παραβίαση δεδομένων προσωπικού χαρακτήρα γνωστοποιείται στην εποπτική αρχή εντός 72 ωρών από τη στιγμή που αποκτάτε γνώση του γεγονότος, εκτός εάν η παραβίαση δεν ενδέχεται να προκαλέσει κίνδυνο για τα δικαιώματα και τις ελευθερίες των φυσικών προσώπων.

Η Google, και τι βλέπουν οι επισκέπτες σας

Όταν η Google εντοπίσει την ανακατεύθυνση, το Chrome μπορεί να εμφανίσει μια κόκκινη σελίδα «Επικίνδυνος ιστότοπος» πριν ανοίξει την ιστοσελίδα, και η Google μπορεί να γράψει κάτω από το αποτέλεσμά σας «Αυτός ο ιστότοπος ενδέχεται να έχει παραβιαστεί». Η αναφορά Προβλήματα ασφάλειας του Google Search Console δείχνει τι εντοπίστηκε και σε ποιες διευθύνσεις. Μόλις καθαριστεί η ιστοσελίδα, το κουμπί του αιτήματος εξέτασης (Request Review στο αγγλικό περιβάλλον) ξεκινά τον έλεγχο.

Μετά την ανακατεύθυνση: ο ιστότοπός σας αναλαμβάνεται και στηρίζεται

Μια ανακατεύθυνση που αφαιρέθηκε αφήνει ένα ερώτημα: ποιος φροντίζει τον ιστότοπο στη συνέχεια; Η Simafri αναλαμβάνει τον ιστότοπό σας WordPress, τον επαναφέρει online σε μια βάση που φιλοξενούμε, θωρακίζουμε και κρατάμε ενημερωμένη, και έπειτα τον φροντίζει, μήνα με τον μήνα. Κρατάτε το όνομα τομέα και το περιεχόμενό σας.

Θέλω να αναλάβετε τον ιστότοπό μου

Συχνές ερωτήσεις

Γιατί η ιστοσελίδα μου WordPress ανακατευθύνει μόνο στο κινητό;

Ο κώδικας που μπήκε διαβάζει το User-Agent του προγράμματος περιήγησης και ανακατευθύνει μόνο τα κινητά τηλέφωνα. Το άτομο που διαχειρίζεται την ιστοσελίδα, συχνά από υπολογιστή, δεν βλέπει τίποτα. Δοκιμάστε από κινητό με δεδομένα κινητής τηλεφωνίας, ή με το curl, στέλνοντας το αναγνωριστικό ενός προγράμματος περιήγησης για κινητά.

Αρκεί η επανεγκατάσταση του WordPress για να φύγει η ανακατεύθυνση;

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

Η ιστοσελίδα καθαρίστηκε, γιατί η ανακατεύθυνση επιστρέφει;

Επειδή η πρόσβαση από την οποία μπήκε είναι ακόμη εκεί: ένας λογαριασμός διαχειριστή που προστέθηκε, ένα αρχείο PHP κρυμμένο στα πολυμέσα, μια προγραμματισμένη εργασία, ένα ευάλωτο πρόσθετο. Καθένα επιτρέπει να ξαναμπεί ο κώδικας μετά τον καθαρισμό. Ελέγξτε τους λογαριασμούς, τον φάκελο wp-content/uploads, τις προγραμματισμένες εργασίες και τις εκδόσεις των πρόσθετων, και αλλάξτε ξανά τους κωδικούς πρόσβασης.

Πώς ξέρω αν η Google εντόπισε την ανακατεύθυνση;

Ανοίξτε το Google Search Console και την αναφορά Προβλήματα ασφάλειας: απαριθμεί τα προβλήματα που εντοπίστηκαν και παραδείγματα διευθύνσεων. Αν η ιστοσελίδα δεν έχει επαληθευτεί ακόμη στο Search Console, η επαλήθευση με εγγραφή DNS καλύπτει ολόκληρο τον τομέα.

Επικοινωνήστε μαζί μας