New Domain Regular Expression (Regex) เปลี่ยนเส้นทางใน WordPress

Regex - นิพจน์ทั่วไป

ในช่วงสองสามสัปดาห์ที่ผ่านมาเราได้ช่วยเหลือลูกค้าในการย้ายข้อมูลที่ซับซ้อนด้วย WordPress ลูกค้ามีผลิตภัณฑ์สองรายการซึ่งทั้งสองผลิตภัณฑ์ได้รับความนิยมจนถึงขั้นต้องแยกธุรกิจการสร้างแบรนด์และเนื้อหาออกไปยังโดเมนที่แยกจากกัน มันค่อนข้างดำเนินการ!

โดเมนที่มีอยู่ของพวกเขายังคงอยู่ แต่โดเมนใหม่จะมีเนื้อหาทั้งหมดที่เกี่ยวข้องกับผลิตภัณฑ์นั้น ... จากรูปภาพโพสต์กรณีศึกษาการดาวน์โหลดแบบฟอร์มฐานความรู้ ฯลฯ เราได้ทำการตรวจสอบและรวบรวมข้อมูลไซต์เพื่อให้แน่ใจว่าเราจะไม่ ไม่พลาดเนื้อหาเดียว

เมื่อเรามีไซต์ใหม่และใช้งานได้แล้วเวลาในการดึงสวิตช์และวางจำหน่ายก็มาถึง นั่นหมายความว่า URL ใด ๆ จากไซต์หลักที่เป็นของผลิตภัณฑ์นี้จะต้องถูกเปลี่ยนเส้นทางไปยังโดเมนใหม่ เรารักษาเส้นทางส่วนใหญ่ให้สอดคล้องกันระหว่างไซต์ดังนั้นสิ่งสำคัญคือการตั้งค่าการเปลี่ยนเส้นทางอย่างเหมาะสม

เปลี่ยนเส้นทางปลั๊กอินใน WordPress

มีปลั๊กอินยอดนิยมสองตัวที่สามารถจัดการการเปลี่ยนเส้นทางด้วย WordPress ได้อย่างยอดเยี่ยม:

  • การเปลี่ยนเส้นทาง - อาจเป็นปลั๊กอินที่ดีที่สุดในตลาดพร้อมความสามารถในการแสดงออกปกติและแม้แต่หมวดหมู่สำหรับจัดการการเปลี่ยนเส้นทางของคุณ
  • Rankmath SEO - ปลั๊กอิน SEO ที่มีน้ำหนักเบานี้เป็นการสูดอากาศบริสุทธิ์และทำให้รายการของฉัน สุดยอดปลั๊กอิน WordPress ที่ตลาด. มีการเปลี่ยนเส้นทางเป็นส่วนหนึ่งของข้อเสนอและจะนำเข้าข้อมูลของ Redirection ด้วยซ้ำหากคุณย้ายข้อมูลไป

หากคุณใช้โปรแกรมจัดการโฮสติ้ง WordPress เช่น WPEngineพวกเขามีโมดูลสำหรับจัดการการเปลี่ยนเส้นทางก่อนที่บุคคลนั้นจะเข้าชมไซต์ของคุณ ... ซึ่งเป็นคุณสมบัติที่ดีมากที่สามารถลดเวลาแฝงและค่าใช้จ่ายในการโฮสต์

และแน่นอนคุณทำได้ เขียนกฎการเปลี่ยนเส้นทางลงในไฟล์. htaccess ของคุณ บนเซิร์ฟเวอร์ WordPress ของคุณ ... แต่ฉันไม่อยากแนะนำ คุณเป็นข้อผิดพลาดทางไวยากรณ์อย่างหนึ่งที่ทำให้ไซต์ของคุณไม่สามารถเข้าถึงได้!

วิธีสร้าง Regex Redirect

ในตัวอย่างที่ฉันให้ไว้ข้างต้นอาจดูเหมือนง่ายเพียงแค่ทำการเปลี่ยนเส้นทางจากโฟลเดอร์ย่อยไปยังโดเมนและโฟลเดอร์ย่อยใหม่:

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 ใด ๆ กับ / product-a / ในนั้นและเปลี่ยนเส้นทางทั้งหมดไปยังปลายทางเดียวกัน ดังนั้นเส้นทางทั้งหมดนี้จะเปลี่ยนเส้นทางไปยังปลายทางเดียวกัน

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 เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.