Νέες ανακατευθύνσεις κανονικής έκφρασης τομέα (Regex) στο WordPress

Regex - Κανονικές εκφράσεις

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

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

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

Ανακατεύθυνση προσθηκών στο WordPress

Υπάρχουν δύο δημοφιλή πρόσθετα διαθέσιμα που κάνουν εξαιρετική δουλειά στη διαχείριση ανακατευθύνσεων με το WordPress:

  • Ανακατεύθυνση - ίσως το καλύτερο plugin στην αγορά, με δυνατότητες κανονικής έκφρασης και ακόμη και κατηγορίες για τη διαχείριση των ανακατευθύνσεων.
  • Rankmath SEO - αυτό το ελαφρύ plugin SEO είναι μια ανάσα καθαρού αέρα και κάνει τη λίστα μου Καλύτερες προσθήκες WordPress στην αγορά. Έχει ανακατευθύνσεις ως μέρος της προσφοράς του και θα εισαγάγει ακόμη και τα δεδομένα ανακατεύθυνσης εάν μεταφερθείτε σε αυτό.

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

Και, φυσικά, μπορείτε γράψτε κανόνες ανακατεύθυνσης στο αρχείο .htaccess στον διακομιστή WordPress… αλλά δεν θα το συνιστούσα. Είστε ένα σύνταγμα που δεν σας επιτρέπει να αποκτήσετε πρόσβαση στον ιστότοπό σας!

Πώς να δημιουργήσετε μια ανακατεύθυνση Regex

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

Source: /product-a/
Destination: https://newdomain.com/product-a/

Υπάρχει όμως πρόβλημα με αυτό. Τι γίνεται αν έχετε διανείμει συνδέσμους και καμπάνιες που έχουν ερωτήματα για παρακολούθηση καμπάνιας ή παραπομπές; Αυτές οι σελίδες δεν θα ανακατευθύνουν σωστά. Ίσως η διεύθυνση URL είναι:

https://existingdomain.com/product-a/?utm_source=newsletter

Επειδή γράψατε μια ακριβή αντιστοίχιση, αυτή η διεύθυνση URL δεν θα ανακατευθυνθεί πουθενά! Έτσι, μπορεί να μπείτε στον πειρασμό να το κάνετε μια κανονική έκφραση και να προσθέσετε ένα μπαλαντέρ στη διεύθυνση URL:

Source: /product-a/(.*)
Destination: https://newdomain.com/product-a/

Αυτό είναι αρκετά καλό, αλλά εξακολουθούν να υπάρχουν μερικά προβλήματα. Πρώτον, θα ταιριάζει με οποιαδήποτε διεύθυνση URL / προϊόν-α / σε αυτό και ανακατευθύνετέ τα όλα στον ίδιο προορισμό. Έτσι όλες αυτές οι διαδρομές θα ανακατευθύνουν στον ίδιο προορισμό.

https://existingdomain.com/product-a/
https://existingdomain.com/help/product-a/
https://existingdomain.com/category/parent/product-a/

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

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/

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

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/$1

Οι πληροφορίες μπαλαντέρ συλλαμβάνονται και επισυνάπτονται στον προορισμό χρησιμοποιώντας τη μεταβλητή. Ετσι…

https://existingdomain.com/product-a/?utm_source=newsletter

Θα ανακατευθύνει σωστά σε:

https://newdomain.com/product-a/?utm_source=newsletter

Λάβετε υπόψη ότι το μπαλαντέρ θα επιτρέψει την ανακατεύθυνση κάθε υποφακέλου, οπότε θα ενεργοποιηθεί επίσης:

https://existingdomain.com/product-a/features/?utm_source=newsletter

Θα ανακατευθύνει σε:

https://newdomain.com/product-a/features/?utm_source=newsletter

Φυσικά, οι κανονικές εκφράσεις μπορούν να γίνουν πολύ πιο περίπλοκες από αυτό… αλλά ήθελα απλώς να δώσω ένα γρήγορο δείγμα για το πώς να ρυθμίσετε μια ανακατεύθυνση μπαλαντέρ regex που μεταφέρει τα πάντα καθαρά σε έναν νέο τομέα!

Ποια είναι η γνώμη σας;

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.