Pengalihan Ekspresi Reguler (Regex) Domain Baru Di WordPress

Regex - Ekspresi Reguler

Selama beberapa minggu terakhir, kami telah membantu klien untuk melakukan migrasi kompleks dengan WordPress. Klien memiliki dua produk, keduanya telah menjadi populer sampai-sampai mereka harus memisahkan bisnis, branding, dan konten ke domain yang terpisah. Cukup merepotkan!

Domain mereka yang ada tetap ada, tetapi domain baru akan memiliki semua konten yang berkaitan dengan produk itu… dari gambar, posting, studi kasus, unduhan, formulir, basis pengetahuan, dll. Kami melakukan audit dan merayapi situs untuk memastikan kami tidak tidak melewatkan satu aset pun.

Setelah kami memiliki situs baru dan beroperasi, waktu untuk menarik sakelar dan menayangkannya telah tiba. Itu berarti bahwa setiap URL dari situs utama milik produk ini harus dialihkan ke domain baru. Kami mempertahankan sebagian besar jalur yang konsisten di antara situs, jadi kuncinya adalah menyiapkan pengalihan dengan tepat.

Redirect Plugin di WordPress

Ada dua plugin populer yang tersedia yang melakukan pekerjaan hebat dalam mengelola pengalihan dengan WordPress:

  • Redirection - mungkin plugin terbaik di pasar, dengan kemampuan ekspresi reguler dan bahkan kategori untuk mengelola pengalihan Anda.
  • SEO Rankmath - Plugin SEO ringan ini menghirup udara segar dan membuat daftar saya Plugin WordPress Terbaik di pasar. Ini memiliki pengalihan sebagai bagian dari penawarannya dan bahkan akan mengimpor data Redirection jika Anda bermigrasi ke sana.

Jika Anda menggunakan mesin Managed WordPress Hosting seperti WPEngine, mereka memiliki modul untuk menangani pengalihan sebelum orang tersebut mengunjungi situs Anda… fitur yang cukup bagus yang dapat mengurangi latensi dan overhead pada hosting Anda.

Dan, tentu saja, Anda bisa tulis aturan pengalihan ke dalam file .htaccess Anda di server WordPress Anda ... tetapi saya tidak akan merekomendasikannya. Satu kesalahan sintaks lagi untuk membuat situs Anda tidak dapat diakses!

Cara Membuat Pengalihan Regex

Dalam contoh yang saya berikan di atas, mungkin tampak sederhana untuk hanya melakukan pengalihan khas dari subfolder ke domain dan subfolder baru:

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

Tapi ada masalah dengan itu. Bagaimana jika Anda telah mendistribusikan tautan dan kampanye yang memiliki string kueri untuk pelacakan atau arahan kampanye? Halaman tersebut tidak akan dialihkan dengan benar. Mungkin URL-nya adalah:

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

Karena Anda menulis pencocokan tepat, URL tersebut tidak akan dialihkan ke mana pun! Jadi, Anda mungkin tergoda untuk menjadikannya ekspresi reguler dan menambahkan karakter pengganti ke URL:

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

Itu cukup bagus, tapi masih ada beberapa masalah. Pertama, ini akan mencocokkan URL apa pun dengan / product-a / di dalamnya dan mengarahkan semuanya ke tujuan yang sama. Jadi semua jalur ini akan dialihkan ke tujuan yang sama.

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

Ekspresi reguler adalah alat yang bagus. Pertama, Anda dapat memperbarui sumber Anda untuk memastikan bahwa tingkat folder diidentifikasi.

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

Itu akan memastikan bahwa hanya tingkat folder utama yang akan dialihkan dengan benar. Sekarang untuk masalah kedua… bagaimana Anda akan mendapatkan informasi querystring yang ditangkap di situs baru jika pengalihan Anda tidak memasukkannya? Nah, ekspresi reguler juga memiliki solusi yang bagus untuk itu:

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

Informasi wildcard sebenarnya ditangkap dan ditambahkan ke tujuan dengan menggunakan variabel. Begitu…

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

Akan dialihkan dengan benar ke:

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

Perlu diingat bahwa karakter pengganti juga akan memungkinkan subfolder untuk dialihkan, jadi ini juga akan diaktifkan:

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

Akan dialihkan ke:

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

Tentu saja, ekspresi reguler bisa menjadi jauh lebih kompleks daripada ini… tetapi saya hanya ingin memberikan contoh singkat tentang cara menyiapkan pengalihan regex wildcard yang meneruskan semuanya dengan rapi ke domain baru!

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.