آموزش انتقال (ریدایرکت 301) دسته جمعی لینک های یک سایت با اکسل و htaccess
انتقال دسته جمعی لینک های یک سایت به سایت دیگر
انتقال یا ریدایرکت دسته جمعی لینکها زمانی کاربرد دارد که ما بخواهیم تعداد زیادی از صفحات سایتمان را به صفحهات مشابه همان سایت و یا صفحات مناسب در سایت دیگرمان منتقل کنیم.
یکی از مشتریان ما برای صاحب بودن دو دامنه ir و .com وداشتن شانس بیشتر برای رقابت در گوگل دست به یک اشتباه زدن و دو سایت را با برند خودشون ایجاد کردند و مطالب مشابه و هم موضوع و البته صفحات یکسان زیادی را در دو سایت به وجود آوردند.
برای حل این مشکل تصمیم گرفتیم که سایت با دامنه .ir را لغو کنیم و صفحات با ارزشش را به سایت با دامنه .com منتقل کنیم.
تصمیم گرفتم که در این پست روند را با شما به اشتراک بگذارم.
اگر در حال یادگیری سئو هستید و یا مسئول سئو سایت بخصوصی هستید، احتمالا یک روزی این آموزش به کار شما خواهد آمد.دیگر آموزش های مرتبط با سئو را در بخش «آموزش سئو» مطالعه کنید.
قدم های اول ریدایرکت دسته جمعی لینک ها به سایت جدید
این قسمت مطلب احتمالا برای شمایی که قصد انتقال لینک ها در سایت خودتان را دارید مفید نیست، صرفا برای اینکه تمام مراحل این تجربه را با شما به اشتراک بگذارم، این قسمت رو ایجاد کردم.
سایتی که ما قصد داشتیم به آدرس دیگر منتقل کنیم روی سرور ویندوز میزبانی میشُد و سایت دیگر یک سایت وردپرسی هست.
دو راه پیش رومون داشتیم:
- نگه داشتن هاست ویندوز و اعمال کدها به web.config
- انتقال به هاست لینوکسی و استفاده از htaccess
با توجه به اینکه قصد نداشتیم هاست ویندوز را تمدید کنیم و هزینه ها را کنترل کنیم تصمیم به انتقال به هاست لینوکسی گرفتیم.
از سرور میزبانی درخواست کردیم که یک امکان Add-on دامنه به ما بده تا از همان هاستی که برای سایت اصلی استفاده میکنیم، برای منتقل کردن لینک ها هم استفاده کنیم.
پس این اقدامات را انجام دادیم:
- Add on کردن دامنه ای که قراره منتقل بشه
- فعال کردن لایسنس رایگان Les’s Encrypt
- ایجاد فایل htaccess در فولدر public_html مربوط به دامنه ی اضافه شده
خب تا اینجاش که قدم های خودمون بود، اما مطلبی که امروز میخواستم به شما آموزش بدم اینه که چقدر تعداد زیادی لینک ها را به فرمت مناسب Redirect تبدیل کنیم.
ریدایرکت کردن دسته جمعی لینک ها در 4 قدم ساده
برای این از طریق روشی که بهتون میخوام بگم چندتا پیش نیاز داریم:
- لیست لینک های قدیمی
- لیست لینک هایی که صفحات قدیمی قرار است به آن ها منتقل شوند
- نرم افزار اکسل
- هاست لینوکسی برای استفاده از فایل .htaccess
تهیه لیست لینک های قدیمی و مهم
دیگه حتما در جریان هستید که هر سایت قدیمی قاعدتا کلی صفحات به درد نخور هم داره، برای کارهای انتقال تصمیم گرفتم که فقط صفحاتی که ارزش دارن رو به صفحات همتا و مشابه منتقل کنم.
برای حل این قضیه هم به سراغ سرچ کنسول گوگل رفتم و لینک هایی که تو 6ماهه اخیر ایمپرشن مناسبی داشتن رو انتخاب کردم و خروجی اکسل را از سرچ کنسول گرفتم. ( برای این موارد میتونید آموزش سرچ کنسول قسمت 2 و 3 را تماشا کنید).
بعد از انتخاب لینک های مد نظرم،آن ها را در ستون اول اکسل، کپی کردم.
خب تا قبل از اینکه لینک هارو آماده کنیم یک حرکت میزنیم که هرکس سایت قبلی رو باز کرد به آدرس جدید منتقل بشه.
انتقال همه ورودی ها به دامنه ی جدید
کافیه که از این کد انتقال در فایل htaccess استفاده بشه:
Redirect 301 / https://danialtaherifar.ir/
تهیه لیست لینک های مشابه و هم موضوع
بعد از اینکه ستون اول فایل اکسلمون رو ساختیم وارد مرحله ی بعدی میشیم، حالا باید لینک های نظیر به نظیر صفحات سایت اصلی را پیدا کنیم.
اگر صفحه دقیقا هم محتوا وجود نداشت سه راه داریم:
- انتقال به صفحه 404
- انتنقال به صفحه اصلی
- انتقال به صفحه با محتوای هم موضوع
برای این پروژه تصمیم گرفتیم که به لینک ها را به صفحات با موضوع نزدیک منتقل کنیم و در برخی موارد صفحات عنوان یکسان داشتند.
این مرحله ی کار یک مقدار سخت و رو اعصابه، اما انجام دادنش می تونه کمک بزرگی به سایت اصلی بکنه.
بعد از تصویر بالا یک سری از لینک ها به جایی ریدایرکت نمیشن که برای اونها در آخر صفحه خانگی را لینک کردم به 2 دلیل:
اول اینکه سایت اصلی نیاز داشت که صفحه 404 مجزا داشته باشد.
دلیل دوم اینکه لیست لینک های مهم سایت فرعی را همیشه خواهیم داشت که اگر متوجه تغییر ورودی از اونجا شدیم، صفحه ی مناسب را برای آن تولید خواهیم کرد. ( البته این اتفاق خیلی کم پیش میاد، اما این کارا از گوگل بعید نیست، یک تجربه ی عجیب این موردی داشتم).
تبدیل لینک های فرعی به کد ریدایرکت مناسب در جدول اکسل
خب جدول دو ستونه ما کاملا آماده هست. ستون اول لینک های مبدا، ستون دوم لینک های مقصد.
کاری که باید تو این مرحله انجام بدیم اینه که به جای عبارت دامنه ی مبدا، کد ریدایرت را جایگزین کنیم و اسلاگ دامنه حفظ بشه.
به این طریق جلو میریم:
- روی اسم ستون مد نظر کلیک کنید تا ستون به طور کامل انتخاب شود.(من این کار رو دارم برای دو دامنه متفاوت انجام میدم، پس نیازی به انتخاب ستون مد نظر ندارم.)
- کلید های Ctrl+H را فشار دهید تا منوی پیدا کردن و جایگزینی باز شود.
- در فیلد اول نام دامنه را بنویسید+ اسلش انتهای آن و در فیلد دوم کد انتقال را با یک فاصله در انتهای آن بنویسید
- کلید Replace All را کلیک کنید.
redirect 301
دقت کنید که بعد از 301 یدونه فاصله هست:
“redirect 301 “
بعد از جایگزینی آدرس سایت، جدولمون به صورت زیر میشه:
حالا سطر اول را از اکسل حذف می کنم، برای این کار کافیه که روی عدد 1 کلیک کنیم تا سطری که با نوار زرد مشخص شده انتخاب بشه، و راست کلیک می کنیم و گزینه ی Delete را کلیک می کنیم تا سطر مد نظر حذف بشه.
تقریبا کارمون اینجا با اکسل تموم شده، بعد از این کارها تمام لینک هارو چک کردم و بعضی از لینک های هدف پروتکل نداشتن، واسشون اضافه کردم و فایل نهایی اکسل آماده شد.
مرحله ی بعدی چیه؟
اگر لینک های سایت شما فارسی هست، اول برید به قسمت انتهای آموزش و برگردید و ادامه بدین.
تبدیل جدول های Excel به متن
خب این مرحله هم خیلی ساده میتونه باشه.اگر نرم افزار نوت پد استفاده می کنید که خیلی راحته و فقط کافیه جدول هارو انتخاب و کپی پیست کنید.
برای انتخاب جدول ها هم از کلید Shift میتونید استفاده کنید. اگر هم قصد دارید ردیف خاصی رو انتخاب نکنید، بعد از انتخاب همه ی ردیف ها با کمک کلید Ctrl می تونید جدول مد نظرتون رو لغو انتخاب کنید.
راه دیگه اینه که جدول هارو تو فایل ورد کپی کنید و با استفاده از Convert table to text محتوارو تبدیل به متن کنید و جدا کننده را یک فاصله(Space) در نظر بگیرید.
به همین سادگی.
من شخصا از نرم افزار نوت پد++ برای این موارد استفاده می کنم و همیشه روی نوار وظیفه پین شده و آماده هست.
موردی که این قسمت پیش میاد اینه که بین دو عبارت به جای فاصله از تَب استفاده شده و برای رفعش دوباره باید به سراغ منوی Ctrl+H وارد بشید.روی فیلد اول یدونه TAB بزنید ودر فیلد دوم یدونه Space.
Replace All را کلیک کنید.
و اما مرحله ی آخر که باز هم در حد یک کپی پیست هست:
قرار دادن کدهای انتقال در .htaccess
همون طور که اول مطلب گفتم این روش ریدایرکت دسته جمعی برای سرورهای لینوکسی مناسب است و برای این انتقال ها نیاز به فایل .htaccess داریم.
فایل .htaccess در پوشه ی Public_html هست، اگراز سیستم Cpanel برای مدیریت هاستتون استفاده شده، احتمالا این فایل را نتونید ببینید، کافیه که از منوی بالای مدیریت تنظیمات را اصلاح کنید تا فایل های بدون اسم و مخفی شده را هم به شما نمایش بده.
البته ما برای این پروژه فایل را لازم بود که بسازیم، چون به دامنه یک فضای خالی اختصاص دادم تا انتقال را انجام بدیم.
حالا فایل ,htaccess را ویرایش کنید و کدهای مرحله قبل را در آن قرار بدهید.
اگر لینک های سایتتون انگلیسی هست، اینجا کارتون تموم شده، اگرم فارسی هست باید برگردید و یک سری اصلاحات انجام بدین که تو قسمت پایین واستون توضیح دادم.
تبدیل لینک های فارسی به unicode
اینجای کار یک نکته وجود داره که موقع تولید همین آموزش بهش رسیدم و مطمئن شدم.
شما در فایل htaccess نمیتوانید از آدرس های فارسی استفاده کنید و باید حتما unicode آن ها را برای این کار تولید کنید.
پس مجبور شدم برگردم به مراحل ابتدایی و محتویات ستون های اکسل را تبدیل به unicode کنم و مجدد روال را طی کنیم.
شما هم اگر لینک فارسی دارید کافیه که این عبارت رو در گوگل سرچ کنید “Unicode Converter” و سایت هایی را پیدا کنید که بتوانند یک متن بلند و چند خطی را تبدیل کنند.تبدیل کنید و در جدول مربوط به انتقال دسته جمعی قرار بدهید.
امیدوارم که این آموزش بهتون کمک کرده باشه که با سرعت بیشتری بتونید کد های ریدایرکت مد نظرتان را تولید کنید.
اگر سوالی در این رابطه واستون پیش اومد در قسمت نظرات با من در میون بذارید.
دنبال کردن من در شبکه های اجتماعی :
کانال DANIAL TV در یوتیوب
سلام آقا شما الان با چ کدی اینارو قرار دادی داخل فایل htaccess هیچی نزدید فقط متن خالی نوشتیدو تمام :/
سلام علیرضا جان
کد را در اکسل تولید کردم و تبدیل به متن و قابل استفاده کردم
ستون ابتدایی این عکس، در واقع کد لازمه ما برای استفاده در htaccess هست :
https://danialtaherifar.ir/wp-content/uploads/2020/09/excel-after-replaceall-301-danialtaherifar.png