اگر طراح سایت هستید یا از طراحی سایت سر در می آورید سخت نیست که بدانید، دنیای تکنولوژی و طراحی سایت یعنی غلبه بر مشکلات روزانه! در مقاله پیش رو نیز قرار است از یک مشکل در سایت بگوییم. در واقع اگر با مشکل ریدایرکت 301 طرف هستید یا می خواهید رفع مشکل moved permanently در سایت را یاد بگیرید، این مقاله برای شماست.
مطالعه مقاله روانشناسی رنگ کسب و کار و برند میتواند برای شما جذاب باشد
301 moved permanently redirect چیست؟
هر بار که از یک وب سایت بازدید می کنید، درخواستی از مرورگر شما به سرور سایت ارسال می شود. وب سرور این درخواست را دریافت میکند، آن را پردازش میکند و به همراه header HTTP و کد status HTTP ارسال میکند. کد status HTTP یا کد وضعیت HTTP معمولاً توسط کاربران دیده نمی شود مگر اینکه خطایی وجود داشته باشد. اگر سروری با پیام کد وضعیت HTTP پاسخ دهد، این نوعی ارتباط است که نشان می دهد خطایی وجود دارد. در هر نوع کد وضعیت HTTP، یک دسته خاص وجود دارد که میتوان در آن عددی را مشاهده کرد که با دلایل یا دلیل بروز خطا در ارتباط است.
و برای ریدایرکت 301، این نوع کد وضعیت HTTP زمانی پیش می آید که قرار بوده درخواستی به یک لینک URL جدید هدایت شود. به اصطلاح برنامه نویسی قرار بوده ریدایرکت شود. این کد وضعیت HTTP در دسته کدهای واکنشی 3xx قرار می گیرد که همه آنها در دسته ریکوئست های مربوط به ریدایرکت هستند.
مشکل “ریدایرکت 301” زمانی رخ می دهد که اخلالی در برقراری ارتباط ریکوئست ریدایرکت یا درخواست تغییر مسیر سایت از یک لینک URL قدیمی به یک URL جدید در وب سایتی وجود داشته باشد. این نوع خطا ممکن است زمانی رخ دهد که بهروزرسانی یا تغییراتی در یک وبسایت انجام شود، اما پاسخ سرور که کاربر را به لینک URL جدید هدایت میکند ناموفق بوده است. یعنی اشکال از سمت سرور است.
چگونگی رفع مشکل moved permanently در سایت
1. فایل های Htaccess خود را از نظر خطا در لینک URL بررسی کنید
اکثر وب سایت ها بر روی یکی از این دو نوع نرم افزار سرور محبوب Apache اجرا می شوند. در نرم افزار های سرور، فایل htaccess را در دایرکتوری root فایلهای وبسایت تان بررسی میکنید، زیرا این کار به تشخیص مکان هر دستور ریدایرکت کمک میکند.
فایل Htacess چیست؟
Htacess مخفف دسترسی فرا متنی (hypertext access) است و نوعی فایل پیکربندی سرور است. هر فایل حاوی دستورالعمل های پیکربندی در سروری با دایرکتوری خاص قرار داد. به عبارت سادهتر، هر فایل htaccess اساساً دستورالعملهایی را به یک سرور تحویل میدهد که میتواند شامل رمز عبور مورد نیاز برای بخش های خاصی از یک فهرست، و همچنین پیکربندی برای تغییر ریدایرکت های خودکار در مناطق خاصی از یک وبسایت باشد. اگر میخواهید فایل htaccess را بهروزرسانی کنید، مطمئن شوید که عنوان فایل فقط «.htaccess» است، نه هیچ چیز دیگری!!
برای یافتن محل فایل htaccess در وب سرور آپاچی، می توانید روی نام کاربری حساب هاستتان کلیک کنید. هنگامی که فایل htaccess را در دایرکتوری خود پیدا کردید، میتوانید آن را در یک ویرایشگر متن باز کنید. سپس خطوط دستورالعملهای قابل بازنویسی (lines Rewrite directories) را پیدا کنید. این کار به شما توانایی میدهد که دستورالعملها را تغییر دهید، تا اطمینان حاصل شود که لینک های URL منطبق برای هر ریدایرکت در وبسایت شما وجود دارد.
دو نوع دستورالعمل Rewrite وجود دارد که می توان آنها را تغییر داد:
• RewriteCond
• RewriteRule
هر دو مورد را در فایل htaccess مرور کنید تا مطمئن شوید که هیچ ریدایرکتی به URLهایی که دیگر وجود ندارند، موجود نیست. اگر وجود دارد، می توانید به طور موقت آنها را حذف کنید و سرور وب سایت خود را مجددا راه اندازی کنید تا ببینید آیا با این کار مشکل حل می شود یا خیر.
اگر سرور شما روی وب سرور nginx اجرا می شود، دستورالعمل های بازنویسی شما برخلاف RewriteCond و RewriteRule به عنوان دستورالعمل های بازگشت یا بازنویسی شناسایی می شوند.
2. از یک ابزار شخص ثالث برای بررسی هرگونه ریدایرکت 301 استفاده کنید
جهت رفع مشکل moved permanently در سایت برخی ابزار های رایگان برای بررسی و حل این مشکل وجود دارد که دیدگاه خوبی به شما ارائه خواهند کرد.
لیست ابزار های رایگان برای رفع مشکل moved permanently در سایت:
• www.redirect-checker.org
• httpstatus.io
• sitechecker.pro
3. از وب سایت خود نسخه پشتیبان تهیه کنید
قبل از تلاش برای تشخیص مشکلات سرور مربوط به وب سایت، اولین توصیه این است که قبل از هر کاری یک نسخه پشتیبان (بکاپ) کامل از پایگاه داده وب سایت خود بگیرید. این ما را مطمئن می کند که هنگام تلاش برای رفع خطای 301 Moved Permanently Error هیچ گونه داده ای از دست نخواهیم داد.
4. گزارش سرور (server log) خود را بررسی کنید
بررسی گزارش سرور به شما امکان می دهد وضعیت فعلی سرور را بهتر درک کنید. گزارشهای سرور این توانایی را دارند که به نمایان شدن فایلهای خاصی که احتمال دارد باعث پیامهای خطای 301 شوند، کمک کنند و به شما این امکان را میدهد که به راحتی این فایلها را به صورت دستی دریافت و تنظیم کنید.
5. نقشه سایت خود را بررسی کنید
موتورهای جستجو از نقشه سایت شما برای کراول یک وب سایت استفاده می کنند، بنابراین قابل اهمیت است که مطمئن شوید هیچ خطای 301 در URL های شما وجود ندارد. اگر هیچ کد وضعیت 301 برای صفحاتی که دیگر وجود ندارند، ندارید، پس باید مطمئن شوید این صفحات پاک شده اند. با اعمال زیر چنین کاری کنید:
• دسترسی به نقشه سایت تان
• یک لیست کامل از URL های خود را دانلود کنید
• تمامی کد های وضعیت 301 درون لیست را فیلتر کنید.
• کدهای وضعیت 301 را حذف کرده و URL ها صحیح را با آنها جایگزین کنید.
6. فایل هایی با کد های سفارشی را بررسی کنید
اگر کد سفارشی (custom codes) در سایت دارید که خطا دارد، ممکن است باعث مشکلات ریدایرکت و خطای 301 شود. سادهترین راه برای آزمایش این است که خطوط کد سفارشی را حذف کنید، سپس صفحه را دوباره بارگذاری کنید تا ببینید آیا پیام خطا از بین میرود یا نه! و متوجه خواهید شد که آیا این ریشه ی مشکل است و یا خیر
7. اگر نمیخواهید ریدایرکت داشته باشید، کدهای واکنش HTTP را به 200 تغییر دهید.
هنگامی که ریدایرکت های 301 را در وب سایت خود شناسایی کردید، می توانید با تغییر کد واکنش یا response code به دسته 200، هرگونه ریدایرکت غیرعمدی را تغییر دهید.
8. هر گونه زنجیره یا حلقه ریدایرکت را حذف کنید
زنجیره ریدایرکت زمانی اتفاق می افتد که بیش از یک ریدایرکت بین دو لینک URL وجود داشته باشد. ابتدا بررسی کنید که اصلا زنجیره ای وجود دارد یا نه!، سپس آنها را با لینک مستقیم با URL نهایی جایگزین کنید.
حلقه ریدایرکت یک خطای ارتباطی است که زمانی رخ می دهد که یک URL به URL دیگری در آن زنجیره هدایت شود و باعث خطای 301 شود. شما می خواهید لیست URL خود را برای هر تغییر مسیر 301 بررسی کنید تا متوجه شوید که آیا هر یک از این حلقه ها یا زنجیره ها در وب سایت شما وجود دارد یا خیر.
9. هر گونه ریدایرکت خراب را برطرف کنید
تغییر ریدایرکت های خراب زمانی اتفاق میافتد که یک URL به صفحهای لینک میخورد که دیگر وجود ندارد. شما می توانید ریدایرکت های خراب را با استفاده از همان مراحل ذکر شده در بالا شناسایی کنید:
1. به نقشه سایت خود دسترسی داشته باشید
2. لیستی از URL های خود را دانلود کنید
3. فیلتر لیست برای دستیابی به تمامی کد های وضعیت 301
4. صفحاتی را که دیگر وجود ندارند را بازگردانید یا URL را به روز کنید تا صفحه صحیحی را که باید به آن هدایت شود نشان دهد.
از آنجایی که هم موتورهای جستجو و هم بازدیدکنندگان از ریدایرکت های 301 به عنوان راهی برای شناسایی مقصد صفحه جدید استفاده می کنند، مهم است که این لینک ها به درستی به روز شوند. بیشتر به این دلیل که نشانی اینترنتی مناسب را در جایی که لینک داده شده اند، بازتاب دهند. این پیامهای خطا در صورت عدم توجه میتوانند بر سئو و تجربه کاربران از سایت تان تأثیر منفی بگذارند.