WordPress中的新域正則表達式(Regex)重定向

正則表達式-正則表達式

在過去的幾周中,我們一直在幫助客戶使用WordPress進行複雜的遷移。 客戶有兩種產品,兩種產品都變得很受歡迎,以至於他們不得不將業務,品牌和內容分開到不同的領域。 這是相當艱鉅的任務!

他們現有的域仍然存在,但是新域將擁有與該產品有關的所有內容……包括圖像,帖子,案例研究,下載,表格,知識庫等。我們進行了審核,並對站點進行了爬網以確保我們不會不會錯過任何一項資產。

一旦我們擁有了新的站點並投入運營,就可以拉開交換機並將其投入使用了。 這意味著必須將主站點中屬於該產品的所有URL重定向到新域。 我們使站點之間的大多數路徑保持一致,因此關鍵是適當地設置重定向。

WordPress中的重定向插件

有兩個流行的插件可以很好地利用WordPress管理重定向:

  • 重定向 –也許是市場上最好的插件,具有正則表達式功能,甚至是用於管理重定向的類別。
  • 排名數學搜索引擎優化 –這個輕巧的SEO插件讓人耳目一新,使我的清單 最好的WordPress插件 在市場上。 它將重定向作為其產品的一部分,如果您遷移到重定向,它甚至會導入重定向的數據。

如果您使用的是託管WordPress託管引擎,例如 WPEngine,他們有一個模塊可以在用戶訪問您的網站之前處理重定向……這是一個非常不錯的功能,可以減少主機的延遲和開銷。

而且,當然,您可以 將重定向規則寫入您的.htaccess文件 在您的WordPress服務器上…但是我不推薦這樣做。 您是使站點無法訪問的一種語法錯誤!

如何創建正則表達式重定向

在上面提供的示例中,僅執行從子文件夾到新域和子文件夾的典型重定向似乎很簡單:

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

不過,這是有問題的。 如果您發布的鏈接和廣告系列包含用於廣告系列跟踪或引薦的查詢字符串,該怎麼辦? 這些頁面將無法正確重定向。 網址可能是:

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

由於您輸入了完全匹配的內容,因此該URL不會在任何地方重定向! 因此,您可能會想將其設置為正則表達式並在URL中添加通配符:

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

很好,但是仍然存在一些問題。 首先,它將與任何網址匹配 /產品-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來減少垃圾郵件。 了解您的評論如何處理.