Pengalihan Ekspresi Biasa Domain Baru (Regex) Di WordPress

Regex - Ungkapan Biasa

Sejak beberapa minggu kebelakangan ini, kami telah membantu pelanggan melakukan migrasi yang kompleks dengan WordPress. Pelanggan mempunyai dua produk, yang keduanya menjadi terkenal sehingga mereka harus memisahkan perniagaan, penjenamaan, dan kandungan untuk memisahkan domain. Ini cukup usaha!

Domain mereka yang ada masih diperbaiki, tetapi domain baru akan mempunyai semua kandungan berkenaan dengan produk itu ... dari gambar, catatan, kajian kes, muat turun, borang, pangkalan pengetahuan, dll. Kami melakukan audit dan merayapi laman web ini untuk memastikan kami tidak Jangan terlepas satu aset.

Sebaik sahaja kami mempunyai laman web baru dan beroperasi, masa untuk menukar suis dan menghidupkannya sudah tiba. Itu bermaksud bahawa setiap URL dari laman utama milik produk ini harus diarahkan ke domain baru. Kami memastikan jalan paling konsisten di antara laman web, jadi kunci adalah mengatur pengalihan dengan betul.

Redirect Plugin di WordPress

Terdapat dua plugin popular yang berfungsi dengan baik untuk menguruskan pengalihan dengan WordPress:

  • Redirection - mungkin pemalam terbaik di pasaran, dengan kemampuan ungkapan biasa dan bahkan kategori untuk menguruskan pengalihan anda.
  • Rankmath SEO - plugin SEO ringan ini menghirup udara segar dan membuat senarai saya Pemalam WordPress Terbaik di pasaran. Ia telah mengalihkan sebagai sebahagian dari penawarannya dan bahkan akan mengimport data Pengalihan jika anda berpindah ke sana.

Sekiranya anda menggunakan mesin Hosting WordPress Terurus seperti WPEngine, mereka mempunyai modul untuk menangani pengalihan sebelum orang itu pernah melayari laman web anda ... ciri yang cukup bagus yang dapat mengurangkan kependaman dan overhead pada hosting anda.

Dan, tentu saja, anda boleh tulis peraturan ubah hala ke dalam fail .htaccess anda di pelayan WordPress anda ... tetapi saya tidak akan mengesyorkannya. Anda salah satu kesalahan sintaks untuk menjadikan laman web anda tidak dapat diakses!

Cara Membuat Pengalihan Regex

Dalam contoh yang saya berikan di atas, nampaknya mudah untuk melakukan pengalihan biasa dari subfolder ke domain dan subfolder baru:

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

Terdapat masalah dengan itu. Bagaimana jika anda telah menyebarkan pautan dan kempen yang mempunyai pertanyaan untuk penjejakan atau rujukan kempen? Halaman tersebut tidak akan dialihkan dengan betul. Mungkin URL itu:

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

Kerana anda menulis padanan tepat, URL itu tidak akan dialihkan ke mana sahaja! Jadi, anda mungkin tergoda untuk menjadikannya ungkapan biasa dan menambahkan wildcard ke URL:

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

Itu cukup bagus, tetapi masih ada beberapa masalah. Pertama, ia akan memadankan URL dengan mana-mana / produk-a / di dalamnya dan mengarahkan semuanya ke destinasi yang sama. Oleh itu, semua jalan ini akan dialihkan ke destinasi yang sama.

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

Namun, ungkapan biasa adalah alat yang indah. Pertama, anda boleh mengemas kini sumber anda untuk memastikan tahap folder dikenal pasti.

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

Itu akan memastikan bahawa hanya tahap folder utama yang akan dialihkan dengan betul. Sekarang untuk masalah kedua ... bagaimana anda akan mendapatkan maklumat pertanyaan yang ditangkap di laman web baru jika pengalihan anda tidak menyertakannya? Nah, ungkapan biasa mempunyai penyelesaian yang baik untuk itu:

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

Maklumat wildcard sebenarnya ditangkap dan ditambahkan tujuan dengan menggunakan pemboleh ubah. Oleh itu ...

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

Akan mengubah hala ke:

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

Perlu diingat bahawa wildcard akan membolehkan subfolder diarahkan juga, jadi ini juga akan diaktifkan:

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

Akan mengarahkan ke:

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

Sudah tentu, ungkapan biasa boleh menjadi jauh lebih rumit daripada ini ... tetapi saya hanya ingin memberikan contoh cepat mengenai cara mengatur pengalihan regex wildcard yang menyampaikan semuanya dengan bersih ke domain baru!

Apa yang anda fikir?

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.