چطور خطای too many redirect را در وردپرس برطرف کنیم؟
مدیریت سایت وردپرس توسط خودتان فواید زیادی دارد، اما گاهی اوقات مشکلاتی پیش میآید که حل آنها برای مبتدیان سخت است. صفحه سفید مرگ، خطای internal server و دیگر خطاهای رایج وردپرس از جمله این مشکلات هستند. ارور ریدایرکتهای فراوان نیز یکی از مشکلات رایجی است که کاربران وردپرس با آن مواجه میشوند.
در فایرفاکس، این ارور میتواند به شکل زیر نمایش داده شود:
“The page isn’t redirecting properly. Firefox has detected that the server is redirecting the request for this address in a way that will never complete.”
متن این ارور میگوید: “صفحه به درستی ریدایرکت نمیشود. فایرفاکس متوجه شده است که سرور درخواستی را برای این آدرس هدایت میکند که هرگز کامل نخواهد شد”
چرا ارور too many redirect را در وردپرس دریافت میکنیم؟
این ارور معمولا به دلیل وجود یک اشتباه در پیکربندی ریدایرکت نشان داده میشود. همانطور که میدانید وردپرس ساختاری سئو پسند دارد که از توابع ریدایرکت استفاده میکند. پلاگینهای مختلفی وجود دارند که از این قابلیت استفاده میکنند. برای مثال پلاگین سئو وردپرس به شما امکان حذف دسته بندی از آدرس URL را میدهد، و میتواند کاربر را به آدرس URL ای که دسته بندی در آن لحاظ نشده، هدایت کند.
اگر اشتباهی در هرکدام از این ابزارهای ریدایرکت رخ دهد، ممکن است سایت شما به جای اینکه کاربر را به آدرس URL مقصد ببرد مجددا آن را به آدرس مبدا بگرداند. در اینگونه موارد مرورگر کاربر میان دو آدرس که در واقع یک آدرس است گیر میافتد و ارور زیر را نمایش میدهد.
مقاله مرتبط: ساختار URL سازگار با SEO در وردپرس چیست؟
چطور مشکل ریدایرکت های زیاد در وردپرس را حل کنیم؟
رایجترین اشتباهات پیکربندی که اکثر کاربران مرتکب میشوند، زمانی است که یک کاربر URL اشتباهی در تنظیمات آدرس URL وردپرس یا آدرس URL سایت داشته باشد.
برای مثال، فرض کنیم URL سایت شما http://www.example.com باشد و شما از مسیر تنظیمات » همگانی آدرس سایت خود را به صورت http://example.com تنظیم کنید. اکثر شرکتهای خدمات دهنده میزبانی وب به شما اجازه میدهند که درمورد وجود پیشوند www. قبل از نام دامنه خود تصمیم بگیرید. در مواردی که آدرس دارای www را برای URL خود انتخاب میکنید ، افزودن آدرس http://example.com در تنظیمات وردپرس باعث ایجاد این ارور میشود. یا برعکس اگر URL بدون www را برای سایت خود انتخاب کنید، وارد کردن آدرس با پیشوند www باعث ایجاد خطا میشود.
زمانی که یک کاربر با آدرس http://example.com قصد دسترسی به سایت شما را دارد، تنظیمات سرور، او را به آدرس http://www.example.com هدایت میکند، که این آدرس نیز مجددا به http:// example.com ریدایرکت میشود زیرا خودتان تنظیمات را اینگونه اعمال کردید.
اگر سایت شما به درستی کار میکند و هیچ تغییری در تنظیمات آن انجام ندادید، باید با خدمات دهنده میزبانی وب خود تماس حاصل کنید زیرا احتمال اینکه مشکلی در پیکربندی سرور وجود داشته باشد، هست.
با این حال اگر از اکانت هاستینگ مناسبی استفاده نمیکنید، و یا شرکت خدمات دهنده میزبانی وب شما به درخواستهای شما پاسخ نمیدهد، لازم است خدمات دهنده هاستینگ خود را عوض کنید یا اینکه مشکل را خودتان برطرف کنید.
برای اینکه خودتان مشکل را برطرف کنید، لازم است که آدرس وردپرس خود و آدرس سایت را تغییر دهید. به مسیر تنظیمات » همگانی بروید، و آدرس سایت و وردپرس را تغییر دهید. اگر اکنون آدرس را با پیشوند www وارد کردهاید آن را به آدرس بدون www تغییر دهید و بالعکس اگر آن را بدون www وارد کردهاید اکنون پیشوند www را به ابتدای آن اضافه کنید.
نکته: مراقب باشید که اسلش اضافی در آخر آدرس وارد نکنید (مانند /http://www.example.com)
تغییر آدرس URL سایت بدون دسترسی به بخش مدیریت
درمواردی که دسترسی به پنل مدیریت وردپرس ندارید هم میتوانید این تنظیمات را بهوسیله فایل wp-config.php انجام دهید. خیلی ساده با استفاده از FTP client به وبسایت خود متصل شوید. زمانی که به سایت خود وصل شدید، باید فایل wp-config.php را در دایرکتوری ریشه بیابید. لازم است که این فایل را دانلود کرده و بوسیله یک ویرایشگر متن مانند notepad ویرایش کنید. خیلی ساده تکه کد زیر را به این فایل اضافه نمایید. فراموش نکنید که بهجای example.com آدرس سایت خود را وارد کنید.
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
تغییرات را ذخیره کنید و آن را به وب سرور خود بازگردانید. اکنون مجددا سایت را مشاهده کنید. اگر همچنان در دسترسی به سایت مشکل داشتید، کد بالا را با پیشوند www امتحان کنید.
برطرف کردن دیگر مشکلات ریدایرکت
اگر گامهای پیشین مشکل شما را حل نکرد، ممکن است یکی از پلاگینها برای سایتتان مشکل ایجاد کرده باشد. همانطور که قبلا گفتیم، پلاگین های وردپرس زیادی از تکنیک ریدایرکت استفاده میکنند. سعی میکنیم در ادامه راهکاری ارائه دهیم تا مشکل شما را حل کند.
اولین کاری که باید انجام دهید این است که متوجه شوید کدام پلاگین مشکل را برای شما بهوجود آورده. به این فکر کنید که آیا به تازگی پلاگینی را فعال کرده اید؟ یا اینکه قبل از دریافت این ارور پلاگینی را بهروزرسانی کردهاید؟ اگر پاسخ سوالات بالا بله بود پس به احتمال زیاد مشکل از همان پلاگین است. خیلی ساده پلاگین را از طریق حذف پوشه آن، از مسیر wp-content/plugins/ غیرفعال کنید.
اگر نمیدانید که مشکل از کدام پلاگین است، باید روش آزمون و خطا را بهکار بگیرید.سریعترین روش انجام این کار غیرفعالسازی تمام پلاگینها بدون دسترسی به بخش مدیریت است. پس از غیرفعالسازی تمام پلاگینها باید بوسیله اکانت ftp به سایت خود متصل شده و فایل .htaccess را دانلود کنید تا بکاپی از آن داشته باشید. این فایل در دایرکتوری ریشه شما قرار دارد. زمانی که این فایل را دانلود کردید، آن را از روی سرورتان حذف کنید. حال مجددا تلاش کنید که به سایت دسترسی پیدا کنید.
با این کار به سرور امکان تولید مجدد فایل .htaccess را میدهید و به این دلیل که هیچ پلاگینی در سایت فعال نیست، در اکثر موارد مشکل حل میشود. اگر مشکل حل شد، پس یکی از پلاگینها آن را ایجاد کرده بوده است.
مرحله بعدی این است که متوجه شوید کدام پلاگین مشکل را ایجاد کرده. برای انجام این باید یک کپی جدید از تمام پلاگینها را دانلود کرده و آنها را نصب کنید. پلاگینها را یکی یکی فعال کنید و پس از فعالسازی هرکدام، صفحات مختلف سایت را مجددا و با مرورگرهای مختلف لود کنید( بصورت کاربر لاگین نشده سایت را بازدید کنید). بدین ترتیب میتوانید متوجه شوید که مشکل از کدام پلاگین است. راهحلهای زیادی برای برطرف کردن مشکل ریدایرکتهای فراوان وجود دارد. اگر راهحلهای بالا مشکل شما را حل نکرد، میتوانید زیر همین پست کامنت بگذارید تا مشکل شما را بررسی کرده و راهحل دیگری ارائه دهیم.
سلام
من ارور ریدایرکت رو موقع استفاده از درون ریزی محصولات دارم و با کلیک بر روی دکمه درون ریزی این خطا صادر میشه.
لطفا راهنمایی کنید.
متشکر