من میثم سلیمی هستم از اردیبهشت 97 کارم رو توی دنیای سئو شروع کردم و در حال حاضر در شرکت تخفیفان به کارم پرداخت.

چند روز پیش بود که من درباره مایگریشن (سایت migration) تخفیفان پستی تویی لیندکین منتشر کرد و بعد از آن تصمیم گرفتم یکم بیشتر درباره این صحبت کنم و این تجربه رو با دوستان به اشتراک بگذارم به این که برای چند نفر مفید باشد، نتیجه این باشد. تصمیم این مقاله 🙂

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

نکته دوم اینکه سعی میکنم تا جایی که بشه ساده بنویسم و ​​امیدوارم بتونم کمک کوچکی به دوستان بکنم که اگه توی مسیر کاری SEO نیاز به مایگریشن بود بتونن تجربه خوبی داشته باشن.

خب، به صورت کلی مایگریشن انواع دارد، تغییر سرور، تغییر ساختار سایت، ریدیزاین، فیلمی و …که توی این ویدیو میتونید درباره اش بیشتر بدونید.

مایگریشنی که تویی برای تخفیف انجام می دهد تغییر ساختار سایت، ریدیزاین و انتقال سرور وجود دارد اما موضوع خیلی مهمی است که باعث این موارد می شود “تغییر نوع همکاری تخفیفان با شرکای تجاری و نحوه ارائه سرویس به کاربران” بود که باید ساختار سایت به میزان را داشت. قابل توجهی تغییر پیدا کند.

خب تخفیفان تا چند ماه پیش سایت deal base بود و تخفیف های یه روی اون قرار میگرفت و مردم استفاده میکردن، توی این مایگریشن تخفیفان به یه مارکت پلیس تبدیل شد و ساختار سایت به vendor base تغییر پیدا کرد.به این صورت که پیشنهادها و تخفیف هایی که توی سایت قرار میگیره توسط مالکین اون کسب و کار تعریف میشه که قبلا اینطوری نبود.

این مایگریشن از زمان اولین ریلیز تا زمان تکمیل شدن حدود 4 ماه طول کشید اما تا جایی که من میدونم سمت بیزینس حدود 1 سال درگیر این تغییر و تحولات بودن.

بریم سر اصل مطلب

ما توی SEO برای اینکه بتونیم تیم خودمون رو انجام بدیم یه نقشه راه برای خودمون ایجاد کردیم که شامل قسمت های زیر بود :

  • کامل دیتای سایت قبل از مایگریشن
  • جایگذاری دیتای جدید برای انتقال
  • چک کردن انجام شده در استیج قبل از ریلیز
  • انتشار ریلیز (انتشار روی سایت)
  • مانیتورینگ و بررسی خطاها و تاثیرات احتمالی

این نقشه راه رو با سایر تیم ها به اشتراک گذاری و بابت زمان بندی ها با هم صحبت کردیم و هماهنگ شدیم.

بریم که یکم جزئی تر شیم و این مراحل رو با هم مرور کنیم.

قبل از این که مایگریشن رو شروع کنیم باید اول صفحات و مشخصات کامل اون ها رو استخراج و دسته بندی میکردیم. ما شروع به کراول تمام بخش ها و دسته بندی کردن اطلاعات این کار رو بسته به شرایط و سایت به روش های مختلف می توانید بدید, screaming frog, python , google sheet.

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

برای سایت های بزرگ تر باید از python یا screaming frog استفاده کنید. این پست از لینکدینِ علیرضا اسمی‌خانی می‌توانید روش کراول سایت با پایتون رو ببینید و برای screaming frog هم که آموزش های مقدماتی و پیشرفته وجود داره.

ما خیلی از این مرحله رو با screaming frog پیش بردیم.

حقیقتش اینه اگر سایتتون صفحات زیادی داشته باشه همین مرحله اول تایم نسبتا خیلی رو ازتون میگیره. URL, page title, meta title, meta description, canonical, content و یه سری دیتای دیگه از کتگوری ها و صفحات معامله میشد.

نکته: برخی از ستون هایی که توی عکس زیر میبینید (مثلا parent – slug – category ids) توسط بچه های فنی شده بودند و اونها علاوه بر اینها بر دیتای ما به سری دیتای دیگه برای یه برد کار نیاز داشتن.

در نتیجه یه همچین داکیومنتی آماده کردیم:

سایت استخراج دیتای قبل از مایگریشن
سایت استخراج دیتای قبل از مایگریشن

خب مهم ترین بخش مایگریشن یه سایت همین قسمت، اگه اشتباه بزرگی توی توی دیتا اتفاق بیوفته ممکنه کار به اخراج شما از اون سازمان کشیده بشه :)) باید نقشه گفت خیلی کامل و داشته باشید یه اتفاقی که قراره رقم بزنید.احتمالا. برای بخش زیادی از آن چیزهایی که توی عکس بالا دیدید باید مناسب باشید.

چالش برانگیزترین جای کار برای ما ساخت صفحات وندور و انتقال صفحات به وندورهای مرتبطشون بود.فکر کنم نیازه که اینجارو یکم بیشتر توضیح بدم:

توی سایت تخفیفان چیزی حدود 100.000 صفحه معامله وجود داشت. منظور از صفحه معامله همون تخفیف هایی بود که میشد.مثلا یه صفحه برای “تخفیف صبحانه رستوران برج میلاد گردان ویژه آخر هفته” وجود داشت و یه صفحه هم برای “تخفیف صبحانه رستوران گردان برج میلاد ویژه وسط هفته” وجود داشت.

یا مثلا اگه یه خواننده در سال 5 بار کنسرت اجرا میکرد هربار توی تخفیفان براش یه صفحه معامله ایجاد میشد.اما وقتی داشتیم به سمت vendor base شدن میرفتیم باید اینطوری میشد که فقط یک صفحه برای اون خواننده ایجاد بشه و هروقت هر کنسرتی داره توی همون باشه. صفحه پیشنهادش نمایش داده شود.

اینارو گفتم که بگم گاهی اوقات میشد که برای یک وندور بیشتر از 10 تا صفحه وجود دارد و ما باید اول همه اون هارو پیدا میکردیم و براشون 1 صفحه وندور ایجاد میکردیم و بعد ریدایرکتشون میکردیم به صفحه وندور.امیدوارم خوب توضیح بدم : ))

یه اتفاق خوبی که توی این مرحله افتاد و باعث شد یه جون به جون‌های من اضافه بشه که از چند سال پیش صفحه فروشنده توی پنل ساخته شده بود و مشخص بود که کدوم معامله مربوط به کدوم فروشنده میشه.یعنی از چند سال پیش مشخصه. بود که تخفیفان قراره یه روزی vendor base بشه و بستر هاش از همون چند سال پیش کم کم ایجاد شده بود.

اما بیاید فرض کنیم که این اتفاق نیوفتاده بود، حالا بر چه اساسی صفحات وندور رو میساختیم؟

چیزی که به ذهن من میرسه استفاده از ریجکس(Regex) توی گوگل شیتِ ؛ مثلا اگه ما 10 تا صفحه معامله داشتیم که توی عنوانشون از کلمه رستوران گردان برج میلاد استفاده شد، میشد با استفاده از ریجکس پیداشون کرد و براشون یک صفحه وندور به اسم رستوران گردان برج میلاد ساخت.

خب، در نهایت ما آمدیم یه داکیوم درست کردیم و توی اون مشخص شد که چه صفحاتی باید به چه صفحاتی ریدایرکت بشن.

نتیجه:

این وسط ما یه سری صفحات رو هم مشخص کردیم که باید حذف میشدن. بیشتر این صفحاتی بودن که مربوط به هیچ وندوری نمیشدن و بودنشون توی سایت هیچ منفعتی نداشت و ضرر هم نداشت.

پس ما:

  • یه سری صفحات رو ریدایرکت به وندور مربوطه.
  • یه سری از صفحات رو کلا 410 زدیم.
  • و یه سری صفحات رو هم که به نظرمون نباید از اول تو گوگل ایندکس میشدن رو noindex کرد.

جالبه بدونید در نهایت حدود 35.000 صفحه رو از نتایج گوگل حذف کردیم و سعی کردیم crawl رو به سمت صفحات مهم ببریم.

خب مهم ترین قسمت از مرحله 2 رو گذروندیم، میرسیم به موارد دیگه.

طبیعتا ما توی این مرحله دیتاهای دیگه مثل تایتل، دیسکریپشن و … رو هم جای گذاشتیم.

ما دوست داشتیم حالا که وارد یه دوره‌ای پر ریسک میشیم، یه سری تست ها رو هم روی سایت انجام بدیم.

(البته توی مایگریشنی که ساختار سایت تغییرات اساسی داره نمیشه از یه تست خاص برداشتی دقیق کرد)

صفحات وندور که قاعدتا باید تایتل و دیسکریپشن‌ جدید براشون نوشته میشد چون کانسپت صفحه تغییر کرده بود و از معامله بود فروشنده.یه کار ناپذیر بود و باید انجام بشه.

پس ما اومدیم سراغ کتگوری ها و خواستیم روی تقریبا نصف کتگوری ها با تغییر تایتل و دیسکریپشن تست انجام بدیم و توی مرحله جای گذاری دیتا، تایتل و دیسکریپشن نصف کتگوری هارو هم تغییر دادیم. حدود 100 تا از اون ها از طریق منو قابل مشاهده هستن)

خب همیشه همه تیم ها روی استیج در حال تست های خودشونن و تیم سئو هم قبل از ریلیز باید موارد مربوط به خودش رو چک کنه.

من یه نکته خیلی مهم رو اینجا بگم، ما توی تخفیفان مایگریشن رو به صورت مرحله به مرحله انجام دادیم و توی هر ریلیز از کتگوری های اصلی سایت رو پیش میبردیم.مثلا توی مرحله اول فقط کتگوری رستوران رو vendor base.توی این امتیاز مایگریشن مرحله به مرحله. انجام نشه ممکنه پشیمونی به بار بیاره پس بهتر بود خیلی محتاط پیش بریم و سعی کنیم توی هر مرحله مشکلات احتمالی رو بررسی کنیم تا مراحل بعدی اون اشتباهات تکرار نشن رو انجام بدیم.

تویی استیج با توجه به اینکه محدوده ها (هر شرکتی از روش استفاده می کند) و اکشن ها فیدبک دقیقی ندارد، شما نمی توانید مطمئن باشید که همه چیز به خوبی پیش میره، مثلاً ریدایرکت ها تا زمانی که انجام نشن شما متوجه نمیشید درست انجام می شود. شدن یا نه، اما یه سری چیزهارو حتما باید چک کنید.

چیزهایی روی استیج چک کنید که معمولاً لینک تایتل، دیسکریپشن، کنونیکال، کانتنت صفحه، های داخلی، داده های ساختار یافته، صفحات پرفورمنس و … هستند.

ما توی مرحله اول ریلیز، کتگوری رستوران رو vendor base می کنیم و علاوه بر اون تایتل و دیسکریپشن نصف کتگوری های سایت رو تغییر دادیم (همون تستی که گفتم).

چند روز بعد از ریلیز هم ما sitemap رو آپدیت کردیم و اولین گروه از وندورها وارد sitemap شدن.

فاصله بین ریلیز اول و ریلیز دوم حدود یک ماه بود چون این اولین کتگوری بود که vendor base میشد و هم تیم SEO و هم تیم های دیگه شدیدا درگیر رصد تاثیرات این جابجایی روی بیزینس بودیم.

مراحل بعدی هم بعد از بررسی ریلیز قبلی و رفع ایراد انجام میشد و مراحل بعدی سرعت بالا میرفت، دیگه اومده بود دستمون :))

بعد از اینکه تغییرات مورد نظر روی سایت اعمال شد ما شروع به بررسی اتفاقاتی می کنیم که میوفته و حقیقتش شخصا خیلی هم داشتم.

چه چیزهایی رو باید بررسی کرد؟

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

پس ما دوباره رفتیم سراغ رفیق خوبمون screaming frog و شروع کردیم به بررسی این موارد، این کار بارمون راحت تر بود چون بررسی فقط شامل بخشی از سایت میشد.

پس در این مرحله باید مطمئن شوید که هرچی که توی استیج چک کردید درست منتشر شد و موضوع مهمی هست که درست انجام نشد سریعا به تیم فنی انتقال بدین.

علاوه بر این موارد ما حدود 2 هفته منتظر موندیم تا اون کتگوری کاملا کراول شه و 2 مورد رو بررسی کنیم:

1: خطاهای احتمالی در کراول، ایندکس و …

2: تغییر موقعیت ها و بررسی دراپ احتمالی کیوردها در SERP

در آخر دوست دارم یه سری نکاتی که به نظرم مهم هستن رو اینجا بگم:

  • ارتباط با تیم های دیگر همیشه توی SEO مهم بوده و زمان مایگریشن هم یکی از مهمترین مسائلی است که باید از پسش بر بیاید خوب باشد. .
  • همونطور که گفتم مایگریشن رو مرحله به مرحله انجام دادیم و به نظرم این موضوع مخصوصا توی سایت های بزرگ خیلی مهمه و میشه کار رو بهتر پیش برد.
  • یه اتفاق مهمی که برای ما توی این مایگریشن تغییر سرور درست و تغییر ساختاری سایت بود.تغییر سرور توی حالت عادی هم ممکنه تاثیراتی روی سئو داشته باشه. ما سعی کردیم جلوی این اتفاق رو بگیریم اما این چیزی نبود که زور ما بهش برسه و باید انجام داد.

به هر، بهتر است که تغییر سرور و تغییرات ساختاری سایت اتفاق نیوفته اما اگر باید به این سایت کار شدید و برای چند ساعت پایین بود برای اینکه مشکلی توی تویی سئو پیش نیاد از تیم حال فنی می‌تواند کد وضعیت 503 رو به مرورگر برگردونن.

  • هرچی هم سخت تغییراتی که داره انجام میشه اگه اُفتی برای سایت اتفاق بیوفته تشخیص دلیلش چی بوده تر میشه، پس بازم اینجا یکی از راهکارها مایگریشن مرحله به مرحله هستش.
  • اگر مایگریشن رو به صورت مرحله به مرحله انجام دادید بهتره sitemap رو هم به صورت مرحله ای آپدیت کنید.

پ.ن: میشد توی خیلی از بخش های این مقاله بیشتر وارد جزئیات شد اما من دوست داشتم مقاله توی مایگریشن و تجربه ای که ازش داشتم باقی بمونه و تبدیل به چیز دیگه ای نشه چون هر کدوم از جزئیات و پیچیدگی های خودشون رو دارن.یه سری. بخش هارو خود را معرفی کردم از کجا مطالعه کنید یا ببینید و بخش های دیگر را هم برای آشنایی کافی پیشنهاد می کنم سرچ کنید و در موردشان بخونید.

امیدوارم با این مقاله تونسته نکاتی را به درد بخوری رو منتقل کنم 🙂 شما هم اگر تجربه ای توی مایگریشن دارید لطفا توی کامنت ها باهامون به اشتراک بگذارید تا استفاده کنیم.

اگر دوست داشتی امتیاز دادن یادت نره!