تغییر مسیر تغییر شکل منظم دامنه جدید (Regex) در وردپرس

Regex - عبارات منظم

طی چند هفته گذشته ، ما به مشتری کمک کرده ایم که یک انتقال پیچیده را با وردپرس انجام دهد. مشتری دو محصول داشت که هر دو محبوب شده اند تا جایی که مجبور شدند کسب و کارها ، مارک تجاری و محتوا را برای جدا کردن دامنه ها جدا کنند. این کاملا متعهد است!

دامنه موجود آنها همچنان سرپا مانده است ، اما دامنه جدید با توجه به آن محصول content از تصاویر ، پست ها ، مطالعات موردی ، بارگیری ها ، فرم ها ، پایگاه دانش و غیره دارای تمام محتوای خواهد بود. یک دارایی را از دست نمی دهی

هنگامی که سایت جدید را در محل کار و بهره برداری قرار دادیم ، زمان کشیدن سوئیچ و راه اندازی آن فرا رسیده است. این بدان معناست که هر URL از سایت اصلی متعلق به این محصول باید به دامنه جدید هدایت شود. ما بیشتر مسیرها را بین سایت ها سازگار نگه می داریم ، بنابراین کلید تنظیم هدایت ها به طور مناسب است.

تغییر مسیر پلاگین ها در وردپرس

دو افزونه معروف در دسترس است که کار بسیار خوبی در مدیریت تغییر مسیرها با وردپرس دارند:

  • راهنمایی مجدد - شاید بهترین پلاگین در بازار ، با قابلیت بیان منظم و حتی دسته بندی برای مدیریت تغییر مسیرها.
  • SEO رتبه بندی - این افزونه سبک وزن SEO نفس تازه ای می کشد و لیست من را برای من ایجاد می کند بهترین پلاگین های وردپرس در فروشگاه. به عنوان بخشی از پیشنهادات خود ، هدایت ها را انجام می دهد و حتی در صورت مهاجرت به آن ، داده های Redirection را وارد می کند.

اگر از یک موتور میزبانی مدیریت شده WordPress مانند استفاده می کنید WPEngine، آنها یک ماژول برای هدایت مجدد هدایت ها قبل از اینکه شخص به سایت شما حمله کند ، دارند. این ویژگی بسیار خوبی است که می تواند تأخیر و سربار میزبانی شما را کاهش دهد.

و البته می توانید قوانین هدایت را در پرونده .htaccess خود بنویسید در سرور وردپرس خود ... اما من آن را توصیه نمی کنم. با یک خطای نحوی فاصله دارید تا سایت خود را غیرقابل دسترسی کنید!

نحوه ایجاد تغییر مسیر Regex

در مثالی که در بالا ارائه کردم ، ممکن است ساده باشد که فقط انجام یک تغییر مسیر معمولی از یک زیر پوشه به دامنه و زیر پوشه جدید انجام دهید:

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

با این وجود یک مشکل وجود دارد. اگر پیوندها و کمپین هایی را که دارای یک سال جستجو برای ردیابی یا معرفی کمپین ها هستند توزیع کرده اید؟ این صفحات به درستی هدایت نخواهند شد. شاید URL باشد:

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

از آنجا که دقیقاً مطابقت نوشته اید ، آن URL به جایی هدایت نمی شود! بنابراین ، ممکن است وسوسه شوید که آنرا به صورت یک عبارت منظم درآورید و یک wildcard به URL اضافه کنید:

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

این خیلی خوب است ، اما هنوز چند مشکل وجود دارد. ابتدا ، هر URL با آن مطابقت دارد / محصول-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/

این اطمینان می دهد که فقط سطح اصلی پوشه به درستی هدایت می شود. اکنون برای مشکل دوم ... اگر ریدایرکت شما شامل آن نباشد ، چگونه اطلاعات querystring گرفته شده در سایت جدید را به دست می آورید؟ خوب ، عبارات منظم یک راه حل عالی برای آن نیز دارند:

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

البته ، عبارات منظم می توانند بسیار پیچیده تر از این باشند ... اما من فقط می خواستم یک نمونه سریع از نحوه راه اندازی یک تغییر مسیر regex کلمات وحشی ارائه دهم که همه چیز را به طور صحیح به یک دامنه جدید منتقل می کند!

شما چه فکر میکنید؟

این سایت از Akismet برای کاهش هرزنامه استفاده می کند. بدانید که چگونه نظر شما پردازش می شود.