Նոր տիրույթի կանոնավոր արտահայտման (Regex) վերահղումներ WordPress- ում
Վերջին մի քանի շաբաթվա ընթացքում մենք օգնում էինք հաճախորդին WordPress- ի միջոցով կատարել բարդ միգրացիա: Հաճախորդն ուներ երկու ապրանքատեսակ, երկուսն էլ դարձել են հանրահայտ այն աստիճան, որ ստիպված են եղել բաժանել բիզնեսը, բրենդինգը և բովանդակությունը `առանձնացնելով տիրույթներ: Դա բավականին ձեռնարկում է:
Նրանց գոյություն ունեցող տիրույթը մնում է դրված, բայց նոր տիրույթն ամբողջ արտադրանքը կունենա այդ ապրանքի հետ կապված ՝ նկարներից, հաղորդագրություններից, դեպքերի ուսումնասիրությունից, ներբեռնումներից, ձևաթղթերից, գիտելիքների բազայից և այլն: բաց չեմ թողնի մեկ ակտիվ:
Երբ մենք նոր կայքը տեղադրեինք և գործարկեինք, արդեն եկել էր անջատիչը քաշելու և այն գործի դնելու ժամանակը: Դա նշանակում էր, որ այս արտադրանքին պատկանող առաջնային կայքից ստացված ցանկացած URL- ներ պետք է վերահասցեագրվեն դեպի նոր տիրույթ: Մենք ուղիների մեծ մասը համահունչ էինք պահում կայքերի միջև, ուստի առանցքայինը վերահղումները պատշաճ կերպով կարգավորելն էր:
Վերահղման ներդիրները WordPress- ում
Կան երկու հանրաճանաչ կոնտակտներ, որոնք մեծ աշխատանք են կատարում WordPress- ի միջոցով վերահղումները կառավարելու համար.
- Վերաուղղորդում - երևի շուկայում լավագույն փլագինն է ՝ կանոնավոր արտահայտման հնարավորություններով և նույնիսկ ձեր վերահղումները կառավարելու համար նույնիսկ կատեգորիաներով:
- Rankmath SEO - այս թեթև SEO SEO պլագինը մաքուր օդ է շնչում և կազմում է իմ ցուցակը Լավագույն WordPress Plugins շուկայում: Այն իր առաջարկի մասում ունի վերահղումներ և նույնիսկ ներմուծելու է Վերահղման տվյալները, եթե տեղափոխվեք դրան:
Եթե օգտագործում եք կառավարվող WordPress հոստինգի շարժիչ, ինչպիսին է WPEngine, նրանք ունեն վերահղումներ վարելու մոդուլ, մինչև որ անձը երբևէ հարվածի ձեր կայքին pretty բավականին գեղեցիկ հատկություն, որը կարող է նվազեցնել ձեր հոստինգի ուշացումը և գլխավերևը:
Եվ, իհարկե, կարող եք գրեք վերահղման կանոնները ձեր .htaccess ֆայլում ձեր WordPress սերվերի վրա ... բայց ես խորհուրդ չէի տա: Ձեր կայքը անհասանելի դարձնելուց մեկ շարահյուսական սխալ կա:
Ինչպես ստեղծել Regex վերահղում
Վերոնշյալ օրինակում, որը կարող է թվալ, պարզ կլինի պարզապես ենթապանակից տիպային վերահղում կատարել դեպի նոր տիրույթ և ենթապանակ:
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- ի հետ / արտադրանք-ա / դրանում և բոլորին վերահասցեագրել նույն նպատակակետը: Այսպիսով, այս բոլոր ուղիները կուղղորդվեն նույն նպատակակետին:
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
Հիշեք, որ wildcard- ը հնարավորություն կտա ցանկացած ենթապանակ վերահասցեագրվել նաև, այնպես որ սա նաև միացված կլինի.
https://existingdomain.com/product-a/features/?utm_source=newsletter
Կուղղորդվի դեպի ՝
https://newdomain.com/product-a/features/?utm_source=newsletter
Իհարկե, կանոնավոր արտահայտությունները կարող են դրանից շատ ավելի բարդ լինել ... բայց ես պարզապես ուզում էի արագ նմուշ ներկայացնել, թե ինչպես ստեղծել wildcard regex- ի վերահղում, որն ամեն ինչ մաքուր կերպով փոխանցում է նոր տիրույթ: