خطای Too Many Redirects چیست
مقالات تخصصی IT و هاستینگ

خطای Too Many Redirects چیست و چه مشکلی در سئو ایجاد می کند؟ (قسمت اول)

خطای Too Many Redirects قاتلی خاموش برای سئو محسوب می‌شود. هر بار که یک URL، کاربر یا خزنده موتور جستجو را کاملا خودکار به URL دیگری منتقل می کند (به آن ریدایرکت گفته می‌شود) بخشی از بودجه خزش (Crawl Budget) هدر می‌رود، ارزش لینک‌ها ضعیف‌تر شده و سرعت بارگذاری صفحات پایین می‌آید. معمولاً اگر گوگل مجبور باشد برای رسیدن به صفحه ای، بیش از ۱۰ بار ریدایرکت شود، آن را ایندکس نمی‌کند. یعنی ممکن است هرگز در نتایج جستجو دیده نشود.

زمانی که خطای Too Many Redirects نمایش داده می‌شود، معمولاً دلیل آن زنجیره‌های ریدایرکت یا حلقه‌های بی‌پایان هستند؛ موضوعی که می‌تواند به‌صورت پنهان موجب هزاران درخواست بی‌ثمر شود. نتیجه نهایی آن، عملکرد کندتر، رتبه ضعیف‌تر و هدر رفتن بودجه خزش برای URL هایی است که دیگر اهمیتی ندارند.

 تاثیر خطای Too Many Redirects در سئو

تصویر(1)

خطای Too Many Redirects چه تاثیری در سئو دارد؟

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

قوانین ریدایرکت را می‌توان شبیه تابلوهای راهنمایی برای URL ها در نظر گرفت. آنها مرورگرها و خزنده‌ها را از آدرس قدیمی به آدرس جدید هدایت می‌کنند. اگر این تابلوها مسیر را در یک دایره نشان دهند یا مسیرهای زیادی داشته باشند، کارایی و سرعت خزش کاهش پیدا می‌کند. در این صورت است که خطای Too Many Redirects ظاهر می‌شود. این خطا فقط برای کاربر آزاردهنده نیست بلکه نشانه‌ای از یک مشکل سیستمی است که در آن URL ها درون زنجیره‌های طولانی ریدایرکت یا حلقه‌های بی‌پایان به دام می افتند.

چرا ریدایرکت اهمیت دارد؟

ریدایرکت یکی از اجزای اصلی سئوی فنی است. وقتی یک URL تغییر می‌کند، ریدایرکت باعث می‌شود اعتبار آن حفظ گردد. برای مثال اگر اسلاگ یک صفحه محصول از «blue-shoes» به «navy-sneakers» تغییر کند، ریدایرکت اجازه می‌دهد ارزش لینک به آدرس جدید منتقل شود.

همچنین وقتی محصولی از رده خارج می‌شود، ریدایرکت از بروز بن‌بست جلوگیری نموده و کاربر یا موتور جستجو را از صفحه حذف‌شده به یک دسته‌بندی مرتبط یا محصول جایگزین هدایت می‌کند. در جریان تغییر دامنه نیز ریدایرکت تضمین می‌کند که بک‌لینک‌ها و رتبه‌های کسب شده، از بین نروند. بهترین شیوه در این وضعیت، تنظیم یک ریدایرکت 301 (انتقال دائمی) از URL قدیمی به آدرس جایگزین است.

مشکل زنجیره ریدایرکت

تصویر(2)

زنجیره ریدایرکت چیست؟

زنجیره ریدایرکت زمانی اتفاق می‌افتد که یک ریدایرکت به ریدایرکت دیگری منتهی شود و همین‌طور ادامه پیدا کند تا در نهایت به مقصد برسد. برای مثال:

/page A → /page B → /page C

این موضوع شاید در ظاهر بی‌خطر به‌نظر برسد اما هر انتقال:

  • مقداری تاخیر (معمولاً 100 تا 300 میلی‌ثانیه برای هر درخواست) اضافه می‌کند.
  • احتمال خطا در انتقال به URL بعدی را بیشتر می‌کند.
  • زمینه بروز خطا در قوانین ریدایرکت را افزایش می‌دهد.

این تاخیر می‌تواند برای کاربر، به چند ثانیه انتظار روی موبایل منتهی شود یا برای خزنده‌ها، باعث هدر رفتن بودجه خزش گردد و احتمال از دست رفتن ارزش لینک‌ها بالاتر برود.

وقتی این مشکل در مقیاس بزرگ رخ دهد، وضعیت پیچیده‌تر می‌شود. یک فروشگاه اینترنتی که در طول ۱۰ سال 3 بار پلتفرم خود را تغییر داده، ممکن است همچنان قوانین ریدایرکت قدیمی را نگه داشته باشد. در چنین حالتی یک صفحه محصول می‌تواند از چندین URL عبور کند تا به مقصد برسد. اگر این موضوع در ده‌ها هزار محصول ضرب شود، کارایی خزش به شدت افت می‌کند.

حلقه ریدایرکت چیست؟

حلقه های ریدایرکت حتی مخرب‌تر نیز هستند و به جای مقصد، ترافیک را در یک چرخه قرار می دهند.

/page-a → /page-b → /page-a

در این شرایط مرورگرها خطای Too Many Redirects را نمایش می‌دهند. کروم و سافاری معمولاً یک صفحه خالی با هشدار نمایش خواهند داد و صفحه عملاً از دسترس خارج می‌شود؛ بنابراین کاربران نمی‌توانند ادامه دهند و خزندگان نیز تسلیم می‌شوند.

گوگل‌بات معمولاً بعد از 10 ریدایرکت، دیگر ادامه نمی‌دهد و حتی اگر صفحه مهمی باشد، آن URL از ایندکس گوگل حذف می‌شود.

مقایسه ریدایرکت صحیح و اضافی

تفاوت بین یک ریدایرکت صحیح و 5 ریدایرکت زنجیره‌ای، تفاوت بین سئوی مفید یا مخرب است. یک ریدایرکت 301 واحد، سالم محسوب می‌شود؛ ارزش لینک‌ها را حفظ نموده و تضمین می‌کند که کاربر یا خزنده به صفحه نهایی درستی برسد اما وقتی ریدایرکت‌ها روی هم انباشته می‌شوند، هر انتقال اضافی تاخیر ایجاد نموده، احتمال خطا را بالا می‌برد و سیگنال‌های مثبت را ضعیف‌تر می‌کند.

تاثیر خطاهای ریدایرکت روی کاربران و خزندگان

خطاهای ریدایرکت، به انسان‌ها و ربات‌ها آسیب می‌رسانند. برای کاربران، زنجیره‌های طولانی باعث کندی در لود صفحات، مشاهده خطا یا حتی قفل شدن کامل دسترسی با خطای Too Many Redirects  گردیده و برای خزندگان، این موضوع منجر به هدر رفتن بودجه خزش می‌شود. ممکن است گوگل‌بات قبل از رسیدن به صفحه نهایی، زنجیره را رها کند یا حلقه URL ها را نادیده بگیرد.

نتیجه این است که صفحات مهم در معرض خطر قرار گرفته، از ایندکس جا می‌مانند و رتبه‌ها افت می‌کنند.

چرا خطای Too Many Redirects مشکل‌ساز است؟

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

ریدایرکت بیش از حد، روی تمام لایه‌های عملکرد دیجیتال اثر می‌گذارد، از جمله:

  • نحوه تخصیص منابع خزش توسط گوگل
  • ارزش لینک‌ها
  • سرعت بارگذاری صفحات
  • برداشت کاربران از برند

اگر این موضوع کنترل نگردد، ریدایرکت‌های زیاد به آرامی سبب کاهش بازدید، افت رتبه‌ها و در نهایت کاهش درآمد می‌شوند.

مشکلات خطای Too Many Redirects

تصویر(3)

هدر رفت بودجه خزش بر اثر خطای Too Many Redirects

تعداد صفحاتی که گوگل‌بات حاضر است در یک بازه زمانی مشخص بخزد، بودجه خزش یا crawl budget بوده و برای هر سایت محدودیتی دارد. این بودجه به عواملی مانند اندازه سایت، عملکرد سرور و میزان اعتبار کلی سایت وابسته است.

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

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

کاهش ارزش لینک‌ها

ریدایرکت‌ها طراحی شده‌اند تا ارزش لینک‌ها را از یک URL به دیگری منتقل کنند. ارزش لینک همان اعتباری است که یک صفحه از طریق بک‌لینک‌ها، لینک‌های داخلی و اعتبار خودش به دست آورده است. وقتی ریدایرکت به‌درستی تنظیم شود، این اعتبار به آدرس جدید منتقل خواهد شد و صفحه جدید می‌تواند به اندازه قدرت صفحه قبلی، رتبه بگیرد. این فرآیند بر اساس مدل اصلی PageRank گوگل است که نحوه انتقال اعتبار لینک‌ها بین صفحات را اندازه گیری می‌کند.
گوگل به تازگی اعلام کرده که هر دو ریدایرکت 301 (دائمی) و 302 (موقت)، PageRank را منتقل می‌کنند اما مشکل زمانی رخ می دهد که زنجیره ریدایرکت طولانی شود.

این موضوع مانند یک لوله‌کشی است. یک اتصال مستقیم، فشار را قوی نگه می‌دارد اما یک مسیر پیچیده و طولانی، فشار را کاهش می‌دهد و احتمال نشتی بالا می‌رود. حتی اگر بخش اعظمی از اعتبار منتقل شود، مقداری از آن در مسیر هدر خواهد رفت. هر ریدایرکت اضافی، احتمال بروز مشکل را افزایش می‌دهد و اگر نوع ریدایرکت اشتباه باشد (برای مثال استفاده از 302 به جای 301)، موتورهای جستجو سردرگم می‌شوند که کدام URL باید اعتبار را حفظ کند.

کندی عملکرد و تاثیر روی Core Web Vitals

هر انتقال در ریدایرکت، تاخیر و زمان انتظار را اضافه می‌کند. این تاخیر به‌طور مستقیم روی Core Web Vitals یا همان معیارهایی که گوگل برای ارزیابی تجربه کاربری استفاده می‌کند، تأثیر می‌گذارد. مانند:

  • Largest Contentful Paint یا LCP: سرعت بارگذاری محتوای اصلی صفحه را اندازه‌گیری می‌کند.
  • Interaction to Next Paint یا INP: مشخص می کند صفحه هنگام تعامل کاربر، چقدر سریع واکنش نشان می‌دهد.

زنجیره‌های ریدایرکت می‌توانند تفاوت بین بارگذاری در 1 الی 2 ثانیه یا قرار گرفتن در محدوده خطر نرخ پرش بالا باشند. تحقیقات گوگل نیز نشان داده که حتی کاهش جزئی در سرعت بارگذاری، نرخ تبدیل را پایین آورده و نرخ پرش صفحه را بالا می‌برد؛ موضوعی که تاثیر منفی ریدایرکت‌های طولانی را در سئو و تجربه کاربری چند برابر می‌کند.

ایجاد مشکل در ایندکس

حتی اگر بودجه خزش کافی وجود داشته باشد، یک محدودیت فنی نیز وجود دارد. مستندات رسمی گوگل تأیید می‌کند که گوگل‌بات حداکثر ۱۰ ریدایرکت را دنبال خواهد کرد. اگر خزنده تا پایان این ۱۰ ریدایرکت محتوایی دریافت نکند، سرچ کنسول خطای Too Many Redirects را نشان می‌دهد و صفحه از ایندکس حذف می‌شود.

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

بی‌اعتمادی کاربران با مشاهده خطای Too Many Redirects

کلاهبرداران در گذشته از زنجیره‌های ریدایرکت برای فیشینگ و تقلب‌های تبلیغاتی (اغلب از طریق آسیب‌پذیری‌های open redirect) سوءاستفاده می‌کردند. به همین دلیل مرورگرهایی مانند گوگل کروم و سافاری طوری طراحی شده‌اند که در برابر ریدایرکت های متوالی محتاط عمل کنند. در برخی موارد حتی ممکن است صفحه را مسدود نمایند.

مکانیسم "Safe Browsing" کروم طوری طراحی شده تا الگوهای فریبنده، مانند ریدایرکت‌های بیش از حد یا مشکوکی که می‌توانند نشانه رفتار ناامن باشند را شناسایی و مسدود کند. نتیجه این است که حتی اگر سایتی کاملاً معتبر باشد، یک زنجیره ریدایرکت نادرست می‌تواند باعث شود مرورگر صفحه را مسدود کند. در نگاه کاربر، این‌طور به نظر می‌رسد که وب‌سایت ناامن است و این موضوع اعتماد را از بین برده و برداشت کلی از برند را خراب می‌کند.

دلایل رایج خطای Too Many Redirects

تصویر(4)

دلایل رایج خطای Too Many Redirects

مشکل ریدایرکت متوالی یک‌شبه اتفاق نمی‌افتد بلکه به مرور زمان و تحت دلایلی مانند مهاجرت، مشکلات CMS، رفع اشکالات موقتی و موارد دیگر شکل می‌گیرد. در ادامه رایج‌ترین مقصرها معرفی شده‌اند:

مهاجرت‌های قدیمی می‌توانند به مرور زمان انباشته شوند

معمولاً هر بار تغییر در طراحی یا پلتفرم، مجموعه‌ای از قوانین ریدایرکت را به‌جا می‌گذارد. به جای یکپارچه‌سازی ریدایرکت‌های قدیمی، خیلی از سایت‌ها قوانین جدید را به قوانین قبلی اضافه می‌کنند.

برای جلوگیری از این مشکل، نکات زیر را در نظر داشته باشید:

  • مستندسازی ریدایرکت‌های قبلی برای جلوگیری از هم‌پوشانی ناخواسته در آینده
  • تست قوانین جدید در محیط staging قبل از انتشار
  • بررسی زنجیره ریدایرکت با ابزارهایی مانند Screaming Frog، Sitebulb یا Deepcrawl جهت شناسایی تضادها قبل از رسیدن به محیط اصلی
  • در مقیاس بزرگ، استفاده از فایل‌های لاگ برای بررسی زنجیره‌ها و شناسایی قوانینی که به جای مفید بودن، بیشتر مضر هستند.

ریدایرکت‌های خودکار CMS یا افزونه‌ها

بیشتر CMS های مدرن به‌طور خودکار هنگام تغییر محتوا ریدایرکت‌هایی اضافه می‌کنند. این قابلیت در ظاهر مفید است اما در عمل می‌تواند باعث انباشت ریدایرکت شود. این زنجیره‌های تولیدشده توسط CMS معمولاً تا زمانی که در مقیاس بزرگ بررسی نگردند، دیده نمی‌شوند. آنها به‌ندرت باعث خرابی فوری خواهند شد اما به‌مرور زمان بودجه خزش را بلعیده و ارزش لینک‌ها را تضعیف می‌کنند.

مثال‌ها:

  • وردپرس: وقتی اسلاگ یک صفحه تغییر داده می‌شود، وردپرس آدرس قدیمی را به جدید ریدایرکت می‌کند. اگر این کار چندین بار روی یک محتوا انجام شود، زنجیره‌هایی مانند /services/ → /our-services/ → /digital-services/ شکل می‌گیرد.
  • شاپیفای : وقتی نام یک محصول یا دسته بندی تغییر می‌کند، شاپیفای کاملا خودکار ریدایرکتی از آدرس قدیمی به جدید ایجاد خواهد کرد. طی سال‌ها و به‌ویژه در فروشگاه‌های بزرگ، این موضوع می‌تواند هزاران ریدایرکت ایجاد کند که اغلب با قوانین سرور نیز تداخل دارند.

پیکربندی‌های اشتباه دامنه و پروتکل

خیلی از زنجیره‌های ریدایرکت حتی قبل بارگذاری محتوا شروع می‌شوند. در نگاه اول، این موارد صرفا برای مرتب‌سازی URL تنظیم می گردند (مانند ریدایرکت از نسخه http به https یا از دامنه بدون www به نسخه www.)

مثال‌ها:

  • http://example.com → https://example.com
  • https://example.com → https://www.example.com
  • https://www.example.com → http://example.com

اما وقتی این قوانین نادرست تنظیم شوند، ممکن است به یکدیگر برگردند. این وضعیت حتی قبل از اینکه یک خط محتوا تحویل داده شود، یک حلقه ایجاد می‌نماید که در نتیجه، مرورگر بین آنها به دام می‌کند تا در نهایت خطای Too Many Redirects نمایش داده شود.

تنوع URL و پارامترها

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

مثال‌ها:

  • /product → /product/
  • /Product/ → /product/
  • /product?ref=homepage → /product/

این تغییرات بی‌خطر به‌نظر می‌رسند اما وقتی در هزاران صفحه ضرب شوند، می‌توانند حجم عظیمی از ریدایرکت ایجاد کنند و کارایی خزش را کاهش دهند.

پیکربندی اشتباه بین‌المللی و hreflang

سایت‌های جهانی معمولاً از ریدایرکت استفاده می‌کنند تا کاربران و ربات‌ها به نسخه متناسب همان منطقه هدایت شوند.

مثال‌ها:

  • example.com → example.co.uk
  • example.com/en/ → example.com/fr/

این رفتار طبیعی است اما مشکلات زمانی رخ می‌دهد که قوانین منطقه‌ای با موارد دیگر تداخل داشته باشند، مانند:

  • ریدایرکت‌های پروتکل (HTTP → HTTPS)
  • ریدایرکت‌های هاست (non-www → www)

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

اما اگر آدرس‌های معرفی‌شده در hreflang به URL هایی هدایت شوند که خودشان ریدایرکت دارند، گوگل باید انتقال های اضافی را پردازش کند و ممکن است این سیگنال‌ها را نادیده بگیرد.

فیلتر ناوبری

در فروشگاه‌های اینترنتی، به‌ویژه برای فیلتر ناوبری ممکن است هزاران URL با پارامترهای متفاوت ایجاد شود.

به عنوان مثال برای کفش قرمز، سایز ۹:

  • shoes?color=red&size=9&sort=price/
  • shoes?size=9&sort=price&color=red/
  • shoes?sort=price&color=red&size=9/

تمام این آدرس‌ها در واقع یک محصول را نمایش می‌دهند اما به دلیل اینکه ترتیب پارامترها متفاوت است، هرکدام یک URL منحصربه‌فرد ایجاد می‌کنند.

بسیاری از سایت‌ها تلاش می‌کنند این نسخه‌ها را به یک URL استاندارد هدایت نمایند، مانند:

/shoes/red/size-9/

اما قوانین ریدایرکت در این سناریو ساده نیستند. ممکن است CMS یک الگو ایجاد کند، سرور الگویی دیگر و CDN هم قانون متفاوتی داشته باشد. در نتیجه ترکیب فیلتر می‌تواند قبل از رسیدن به صفحه مورد نظر، دو یا سه بار ریدایرکت شود. وقتی این مسئله در هزاران محصول و فیلتر ضرب گردد، فیلتر ناوبری به راحتی می‌تواند یکی از بزرگ‌ترین دلایل انباشت ریدایرکت در سایت‌های بزرگ فروشگاهی شود.

انباشت ریدایرکت در CDN

تصویر(5)

قوانین اشتباه سرور یا CDN

ریدایرکت‌ها فقط در CMS مدیریت نمی‌شوند بلکه می‌توانند در سرور اصلی (مانند فایل htaccess. یا تنظیمات NGINX و Apache) یا لایه شبکه (مانند CDN) نیز تعریف شوند؛ جایی که سرویس‌دهندگانی همچون Cloudflare، Akamai یا Fastly ترافیک را قبل از رسیدن به سرور پردازش می‌کنند.

برخلاف ریدایرکت‌های خودکار CMS که معمولاً زنجیره‌های قابل مدیریت ایجاد می‌کنند، خطاهای سرور یا CDN می‌توانند بخش‌های بزرگی از سایت را مختل نمایند یا آنها را تا زمان رفع مشکل، برای گوگل غیرقابل مشاهده کنند.

این قوانین به‌سادگی می‌توانند حلقه‌های ناخواسته ایجاد نمایند:

  • تضاد در قوانین پروتکل: یک قانون ریدایرکت از http به https را اجبار می‌کند، در حالی که قانون دیگری ریدایرکت از https به http را انجام می دهد که نتیجه آن یک حلقه بی‌پایان کلاسیک است.
  • تضاد زیردامنه‌ها: اگر example.com به www.example.com ریدایرکت شود اما CDN  آدرس www.example.com را دوباره به example.com برگرداند، این دو قانون با هم برخورد می‌کنند و حلقه ایجاد می‌شود.
  • رفتار CDN در لبه: سرویس‌دهندگانی مثل Cloudflare، Akamai یا Fastly اجازه می‌دهند ریدایرکت‌ها در لبه شبکه تعریف شوند. اگر این قوانین با CMS یا سرور هم‌پوشانی داشته باشند، ممکن است حلقه‌های چندلایه ایجاد نمایند که فقط تحت شرایط خاص بروز کنند.
  • Regex اشتباه: وجود دستور Regex کلی در htaccess. یا NGINX، می‌تواند کل یک دایرکتوری را درون حلقه ریدایرکت قرار دهد؛ برای مثال، *./blog/ که ناخواسته تمام URL های وبلاگ را به /blog/ برمی‌گرداند.

به ادامه این مبحث، در قسمت دوم مقاله خطای Too Many Redirects چیست پرداخته خواهد شد.

اشتراک گذاری:

نظرات

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *