Chuyển hướng Cụm từ Thông dụng Tên miền Mới (Regex) Trong WordPress

Regex - Biểu thức chính quy

Trong vài tuần qua, chúng tôi đã giúp khách hàng thực hiện một quá trình di chuyển phức tạp với WordPress. Khách hàng có hai sản phẩm, cả hai sản phẩm này đều trở nên phổ biến đến mức họ phải tách các lĩnh vực kinh doanh, thương hiệu và nội dung ra các miền riêng biệt. Nó khá là cam kết!

Miền hiện tại của họ vẫn được giữ nguyên, nhưng miền mới sẽ có tất cả nội dung liên quan đến sản phẩm đó… từ hình ảnh, bài đăng, nghiên cứu điển hình, tải xuống, biểu mẫu, cơ sở kiến ​​thức, v.v. Chúng tôi đã kiểm tra và thu thập dữ liệu trang web để đảm bảo rằng chúng tôi sẽ không không bỏ lỡ một tài sản nào.

Khi chúng tôi có địa điểm mới và đi vào hoạt động, thời điểm để kéo công tắc và đưa nó vào hoạt động đã đến. Điều đó có nghĩa là bất kỳ URL nào từ trang web chính của sản phẩm này phải được chuyển hướng đến miền mới. Chúng tôi giữ cho hầu hết các đường dẫn nhất quán giữa các trang web, vì vậy chìa khóa là thiết lập các chuyển hướng một cách thích hợp.

Các plugin chuyển hướng trong WordPress

Có hai plugin phổ biến có sẵn để quản lý chuyển hướng với WordPress:

  • Chuyển hướng - có lẽ là plugin tốt nhất trên thị trường, với khả năng biểu thức chính quy và thậm chí cả các danh mục để quản lý chuyển hướng của bạn.
  • SEO Rankmath - plugin SEO nhẹ này là một luồng gió mới và làm cho danh sách của tôi Các plugin WordPress tốt nhất trên thị trường. Nó có chuyển hướng như một phần của dịch vụ và thậm chí sẽ nhập dữ liệu của Chuyển hướng nếu bạn di chuyển sang nó.

Nếu bạn đang sử dụng một công cụ Lưu trữ WordPress được quản lý như WPEngine, họ có một mô-đun để xử lý các chuyển hướng trước khi người đó truy cập vào trang web của bạn… một tính năng khá hay có thể giảm độ trễ và chi phí trên máy chủ của bạn.

Và, tất nhiên, bạn có thể viết các quy tắc chuyển hướng vào tệp .htaccess của bạn trên máy chủ WordPress của bạn… nhưng tôi không khuyên bạn nên sử dụng nó. Bạn chỉ còn một lỗi cú pháp nữa khiến trang web của bạn không thể truy cập được!

Cách tạo chuyển hướng Regex

Trong ví dụ tôi cung cấp ở trên, có vẻ đơn giản chỉ cần thực hiện một chuyển hướng điển hình từ một thư mục con sang tên miền và thư mục con mới:

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

Tuy nhiên, có một vấn đề với điều đó. Điều gì sẽ xảy ra nếu bạn có các liên kết phân phối và chiến dịch có chuỗi truy vấn để theo dõi chiến dịch hoặc giới thiệu? Các trang đó sẽ không chuyển hướng đúng cách. Có lẽ URL là:

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

Bởi vì bạn đã viết một kết quả phù hợp chính xác, URL đó sẽ không chuyển hướng đến bất kỳ đâu! Vì vậy, bạn có thể bị cám dỗ để biến nó thành một biểu thức chính quy và thêm một ký tự đại diện vào URL:

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

Điều đó khá tốt, nhưng vẫn còn một vài vấn đề. Đầu tiên, nó sẽ khớp với bất kỳ URL nào với / product-a / trong đó và chuyển hướng tất cả chúng đến cùng một đích. Vì vậy, tất cả các đường dẫn này sẽ chuyển hướng đến cùng một đích.

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

Tuy nhiên, biểu thức chính quy là một công cụ tuyệt vời. Trước tiên, bạn có thể cập nhật nguồn của mình để đảm bảo rằng cấp thư mục được xác định.

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

Điều đó sẽ đảm bảo rằng chỉ cấp thư mục chính sẽ chuyển hướng đúng cách. Bây giờ cho vấn đề thứ hai… làm thế nào bạn sẽ nhận được thông tin chuỗi truy vấn được ghi lại trên trang web mới nếu chuyển hướng của bạn không bao gồm nó? Chà, biểu thức chính quy cũng có một giải pháp tuyệt vời cho điều đó:

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

Thông tin ký tự đại diện thực sự được ghi lại và nối đích bằng cách sử dụng biến. Vì thế…

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

Sẽ chuyển hướng đúng đến:

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

Hãy nhớ rằng ký tự đại diện cũng sẽ cho phép bất kỳ thư mục con nào được chuyển hướng, vì vậy điều này cũng sẽ được bật:

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

Sẽ chuyển hướng đến:

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

Tất nhiên, biểu thức chính quy có thể phức tạp hơn nhiều… nhưng tôi chỉ muốn cung cấp một ví dụ nhanh về cách thiết lập chuyển hướng regex ký tự đại diện để chuyển mọi thứ rõ ràng sang một miền mới!

Bạn nghĩ gì?

Trang web này sử dụng Akismet để giảm spam. Tìm hiểu cách xử lý dữ liệu nhận xét của bạn.