Presmerovanie nového regulárneho výrazu (regulárny výraz) vo WordPress

Regulárny výraz - regulárne výrazy

Posledných pár týždňov pomáhame klientovi s komplexnou migráciou pomocou WordPress. Klient mal dva produkty, obidva sa stali populárnymi až do tej miery, že bolo potrebné rozdeliť firmy, značku a obsah do samostatných domén. Je to celkom záväzok!

Ich súčasná doména zostáva zachovaná, ale nová doména bude mať všetok obsah týkajúci sa tohto produktu ... od obrázkov, príspevkov, prípadových štúdií, stiahnutí, formulárov, znalostnej bázy atď. Vykonali sme audit a prehľadali sme web, aby sme sa uistili, Nechýba mi žiadna položka.

Keď sme mali nové miesto v prevádzke a funkčné, nastal čas stlačiť vypínač a uviesť ho do života. To znamenalo, že všetky adresy URL z primárnej stránky, ktoré patrili k tomuto produktu, museli byť presmerované na novú doménu. Väčšinu ciest sme udržali v súlade medzi webmi, takže kľúčové bolo správne nastavenie presmerovaní.

Presmerujte doplnky vo WordPress

K dispozícii sú dva populárne doplnky, ktoré vynikajúco zvládajú správu presmerovaní pomocou WordPress:

  • Presmerovanie - možno najlepší doplnok na trhu s možnosťami regulárneho vyjadrovania a dokonca aj kategóriami na správu vašich presmerovaní.
  • Rankmath SEO - tento ľahký doplnok SEO je závanom čerstvého vzduchu a robí môj zoznam Najlepšie doplnky WordPress na trhu. Súčasťou svojej ponuky je presmerovanie a pri migrácii na ňu dokonca importuje údaje presmerovania.

Ak používate riadený hostingový modul WordPress ako WPEngine, majú modul na prácu s presmerovaniami skôr, ako osoba napadne váš web ... veľmi príjemná funkcia, ktorá môže znížiť latenciu a réžiu vášho hostingu.

A samozrejme môžete zapíšte pravidlá presmerovania do svojho súboru .htaccess na vašom serveri WordPress ... ale neodporúčal by som to. Už len jedna syntaxová chyba od zneprístupnenia vášho webu!

Ako vytvoriť presmerovanie regulárneho výrazu

V príklade, ktorý poskytujem vyššie, sa môže zdať jednoduché vykonať typické presmerovanie z podpriečinka na novú doménu a podpriečinok:

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

Je s tým však problém. Čo ak máte distribuované odkazy a kampane, ktoré majú reťazec dopytov na sledovanie alebo sprostredkovanie kampaní? Tieto stránky nebudú správne presmerované. Adresa URL je možno:

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

Pretože ste napísali presnú zhodu, nebude sa táto adresa URL presmerovávať kamkoľvek! Môže vás teda lákať, aby ste z neho urobili regulárny výraz a do adresy URL pridali zástupný znak:

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

To je celkom dobré, ale stále existuje niekoľko problémov. Najskôr to bude zodpovedať akejkoľvek adrese URL / produkt-a / v ňom a presmerujte ich všetkých na rovnaké miesto určenia. Všetky tieto cesty teda presmerujú na rovnaké miesto určenia.

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

Regulárne výrazy sú však krásnym nástrojom. Najskôr môžete aktualizovať svoj zdroj, aby ste sa ubezpečili, že je identifikovaná úroveň priečinka.

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

Tým sa zabezpečí správne presmerovanie iba na úrovni primárneho priečinka. Teraz k druhému problému ... ako získate informácie o reťazci dotazov zachytené na novom webe, ak ich vaše presmerovanie neobsahuje? Regulárne výrazy majú tiež skvelé riešenie:

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

Informácie o zástupných znakoch sú v skutočnosti zachytené a pripojené k cieľu pomocou premennej. Takže ...

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

Správne presmeruje na:

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

Pamätajte, že zástupný znak umožní presmerovanie aj ľubovoľného podpriečinka, takže bude tiež povolený tento postup:

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

Presmeruje na:

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

Regulárne výrazy môžu byť samozrejme oveľa zložitejšie ako toto ... ale chcel som len poskytnúť rýchlu ukážku toho, ako nastaviť zástupné slovo regex presmerovanie, ktoré všetko odovzdá čisto do novej domény!

2 Komentáre

  1. 1

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.