سلام؛ من میثم سلیمی هستم و توی این مقاله قراره درباره ارور Hostload exceeded توی سرچ کنسول صحبت کنم.
ممکنه توی سالهایی که سئو کار میکنید اصلا به این ارور برخورد نکنید و اگه هم برخورد کنید قطعا زیاد نخواهد بود، اما مهمه. توی این مقاله سعی کردم به طور جامع درباره این ارور صحبت کنم و یه سری نکات مرتبط رو بگم تا هرچیزی که بهش مربوط میشه و من میدونم رو گفته باشم.
وقتی که میخوایم یه URL رو توی سرچ کنسول fetch کنیم یا در واقع به گوگل request بدیم تا اون صفحه رو ایندکس کنه ممکنه به این ارور برخورد کنیم. عکسهای زیر رو ببینید.
تصویر 1: پیام ریجکت درخواست:
تصویر 2: اطلاعات بیشتر و نمایش ارور (وقتی روی VIEW LIVE TEST بزنید صفحه زیر باز میشه):
ارور Hostload exceeded میگه "سرور شما نمیتونه درخواستهای کراول گوگل رو پردازش کنه". این ارور ممکنه وقتی اتفاق بیوفته که سایت شما خیلی یهویی به یه ترافیک زیادی رسیده باشه و سرور شما قدرت کافی برای پردازش ریکوئستها رو نداشته باشه.البته همین روزها (تاریخ انتشار این مقاله) این مشکل برای سایتهای زیادی از جمله بعضی سایتهای خارجی پیش اومده که در واقع این سری یه باگه و مشخص نیست دقیقا چه زمانی رفع بشه و گوگل هم اطلاعات دقیقی در موردش نداده متاسفانه.(آپدیت: این باگ در تاریخ 2 آبان رفع شد)
اتفاقی که میوفته اینه که ریکوئستهای گوگل به سایت شما محدود میشه و قاعدتا در ادامه سرعت ایندکس صفحات جدید سایت شما به شدت کم میشه و حتی ممکنه indexing صفحات شما به مشکل بخوره.این قطعا موضوع حیاتیای هستش مخصوصا وقتی که حوزه فعالیت اون سایت چیزی باشه که نیازه حتما و به سرعت مطالب رو پوشش بدید.
حالا ممکنه یه سوال پیش بیاد؛ گوگل چطوری ظرفیت سرور مارو تخمین میزنه؟ سوال خوبیه!
توجه کنید که گوگل نمیتونه دقیقا ظرفیت سرور مارو تعیین کنه اما با استفاده از معیارهای زیر اون رو تخمین میزنه:
مشخصات سختافزاری سرور: RAM,CPU و ...
بار سرور: گوگل میاد تعداد درخواستهای همزمانی که سرور در حال حاضر داره پردازش میکنه رو میسنجه.
بررسی عملکرد گذشته (Historical data): گوگل نحوه عملکرد سرور در گذشته رو بررسی میکنه تا اصطلاحا یه ذهنیتی از ظرفیتش بدست بیاره. مثلا اگه سایت در گذشته تونسته حجم بالایی از ریکوئستها رو مدیریت کنه، گوگل احتمال میده که پس این سایت بازم میتونه تا اون میزان ریکوئست رو هندل کنه.
بعد از بررسی این معیارها، گوگل ظرفیت سرور اون سایت رو تخمین میزنه و یه بودجه برای کراول به اون سایت اختصاص میده. (بحث Crawl Budget و نحوه بهینه کردن اون پیچیدهتر از این حرفاست که در این مقال نمیگنجد)
برای رفع این ارور 3 تا کار میشه کرد:
1: ترافیک سایت رو کم کنیم. (?)
2: سرور رو ارتقاء بدیم و از یک سرور با منابع بیشتر و بهتر استفاده کنیم.
3: اگه میزان ارسال ریکوئستهارو خودمون تنظیم کردیم، از این مورد صرف نظر کنیم.
این گزینه هم به هر حال قابل احترامه و داره زحمت میکشه (!) ولی خب احتمالا شما هم ترجیح میدید درباره گزینه اول صحبتی نکنیم.
چیزی که احتمالا به رفع این ارور خیلی کمک میکنه همین گزینهاس اما بعضی وقتا نیازی به این کار نیست.
قبل از ارتقاء سرور، اگه سرور شما داخل ایران هست و از CDN استفاده نمیکنید این مورد رو تست کنید. یه سرویس CDN رو به سایت متصل کنید و تست بگیرید احتمال اینکه این ارور رفع بشه هست.
دلیل اینکه میگم از CDN استفاده کنید اینه که طبق صحبتی که با متخصصهای Devops داشتم گاهی اوقات سرورهای ایرانی به دلیل قطع ارتباط با سرورهای خارجی ممکنه به این مشکل برخورد کنن.
اگه با استفاده از CDN این مشکل حل نشد یا اصلا شما با وجود استفاده از CDN به این مشکل برخورد کردید احتمالا نیازه که سرور رو ارتقاء بدید. اگه از هاست اشتراکی استفاده میکنید، اول منابع (فضا، پهنای باند، میزان CPU و RAM اختصاص یافته) سرویس خودتون رو افزایش بدید.
اگه همچنان این ارور وجود داشت مرحله بعدی اینه که از سرور مجازی استفاده کنید.
خب مورد سوم هم میتونه اینجا بهمون کمک کنه.باید چیکار کنیم حالا؟
به صفحه Site Settings سرچ کنسول برید، تو این صفحه اگه چندتا سایت دارید، سایتی که با این ارور مواجه شده رو انتخاب کنید.(تصویر زیر)
حالا توی این مرحله باید مطمئن بشید که گزینه “Let Google optimise for my site” انتخاب شده باشه.یعنی به خود گوگل اجازه بدید تا تعیین کنه چندتا ریکوئست در ثانیه به سایت شما بفرسته. (تصویر زیر)
گزینه دوم (Limit Google's maximum crawl rate) چیه؟
اگه این گزینه رو انتخاب کنید میتونید تعداد ریکوئستهایی ارسالی از سمت گوگل رو کم کنید. توجه کنید که اینجا شما فقط میتونید ریکوئستهارو کم کنید، نمیتونید زیاد کنید و وقتی زیاد کنید گوگل اهمیتی بهش نمیده. توی این داکیومنت میتونید بیشتر دربارهاش بخونید.
اگه دیدید از همون اول گزینه "Let Google optimise for my site" انتخاب شده بود، یه کاری که شاید کمک کنه اینه که از طریق گزینه دوم به صورت دستی تعداد ریکوئستهارو کمتر کنید.خود گوگل توصیه کرده اگه ریکوئستهای زیاد ما باعث بروز مشکل برای شما شد این کارو انجام بدید.
این مورد هم شاید کمک کنه به رفع مشکل.یعنی شاید گوگل خودش یه تخمینی زده اما بعدا دیده نه اینجوری نیست.پس از این طریق میتونید ریکوئستهارو کاهش بدید. (تصویر زیر)
نکته: این قابلیت در تاریخ 17 ژانویه 2024 منقضی میشه و دیگه نمیشه ازش استفاده کرد.نمیدونم بعدش قراره چیزی مشابه این وجود داشته باشه یا نه.
ارورهای سرور رو بررسی و رفع کنید
توی سرچ کنسول به قسمت Settings > Crawl stats > Host Status > Server connectivity برید و ببینید اخیرا ریکوئستهای از دست رفته بابت مشکلات سروری داشتید یا نه. (تصویر زیر)
اگه ریکوئستهای از دست رفته زیادی داشتید باید با تیم Devops یا شرکت میزبان سرور موضوع رو در میون بگذارید تا مشکل رو رفع کنن.
نکته: ممکنه مشکلات مربوط به سرور فقط به صورت لحظهای خودشون رو نشون بدن، مثلا موقعی که شما سایت رو باز میکنید یا از یه URL به صورت لایو تست میگیرید مشکلی نبینید اما بعضی اوقات که ریکوئست از سمت گوگل میاد به این ارورها برخورد کنه، پس اگه توی نمودار بالا مشکلی از دست رفتن ریکوئست دیدید حتما موضوع رو پیگیری کنید.
تکمیلی:
- سرعت وبسایت و مسائل مربوط به پرفورمنس هم توی میزان استفاده منابع در هر ریکوئست تاثیرگذار هستند و بهتره که تا جایی که میتونید پرفورمنس صفحات رو هم بهبود بدید.
- این ارور ممکنه لحظهای اتفاق بیوفته و بعدش مثلا تا چند روز دیگه این ارور رو نگیرید و باز بگیرید.به مواردی مثل وضعیت سرور و میزان استفاده منابع در اون لحظه داره.
- اگه از هاست اشتراکی استفاده میکنید و با این ارور مواجه شدید موضوع رو حتما با شرکت میزبان سایت مطرح کنید، ممکنه از دلیل اصلی موضوع مطلع باشند و یا سرنخهای خوبی بهتون بدن.
تمام :) امیدوارم مقاله مفیدی بوده باشه، اگه شما هم تجربهای در مورد این ارور و رفع اون داشتید کامنت کنید که یاد بگیریم.