بررسی خطاهای کراول – crawl errors و روشهای رفع آنها
خطاهای خزنده – crawl errors زمانی اتفاق میافتند که یک موتور جستجو به دنبال صفحهای از وبسایت شما میگردد اما موفق به یافتن آن نمیشود. قبل از هر چیز عمل کراولینگ (Crawling) را برایتان شفاف سازی میکنیم. کراول فرایندی است که در آن موتور جستجو از طریق یک ربات تمام صفحات وبسایت شما را از نظر میگذراند. موتور جستجو یک لینک به وبسایت شما پیدا میکند و شروع به یافتن تمامی صفحات آن میکند. این ربات در بین صفحات و فهرست تمام محتواهای شما میخزد (واژه Crawl در فارسی به معنای خزیدن است) تا از آن در گوگل استفاده کند، بعلاوه تمام لینکهای این صفحات را به لیست صفحاتی اضافه میکند که هنوز باید کراول شوند. هدف اصلی شما به عنوان دارنده یک وبسایت این است که اطمینان پیدا کنید ربات موتور جستجو میتواند به تمام صفحات وبسایت شما دسترسی پیدا کند. عدم موفقیت موتور جستجو در این فرایند همان چیزی است که ما از آن به نام خطاهای کراول یاد میکنیم.
هدف شما باید اطمینان یافتن از این امر باشد که هر لینک در سایت شما منجر به بارگزاری یک صفحه از سایتتان شود. شاید این امر از طریق تغییر مسیر(redirect) 301 میسر شده باشد، اما صفحهای که در پایان از آن لینک مشاهده میشود باید همیشه پاسخ مثبت – 200 از سرور بازگرداند.
گوگل خطاهای کراول را به دو گروه تقسیم میکند:
- خطاهای سایت: مطمئنا شما خواهان این نوع خطا نیستید چرا که این خطا نشان میدهد کل سایت شما قابل کراول شدن نیست.
- خطاهای URL: این خطاها نیز خوشایند نیستند اما از آنجا که هر خطا به یک URL خاص مرتبط است مواظبت و برطرف ساختن آن نسبت به مورد قبلی سادهتر است.
بیایید به ارزیابی این دو گروه بپردازیم.
خطاهای سایت
خطاهای سایت همگی جزء خطاهای کراول هستند که ربات موتور جستجو را از دسترسی به وبسایت شما منع میکنند. این امر میتواند دلایل زیادی داشته باشد که معمولترین آنها عبارت است از:
- خطاهای DNS: یعنی موتور جستجو قادر نیست با سرور شما ارتباط برقرار کند. برای مثال ممکن است خراب باشد و به عبارتی وبسایت شما قابل بازدید نیست. این معمولا یک مسئله موقتی است. بهرحال گوگل پس از آن به وبسایت شما بازمیگردد و سایتتان را کراول میکند. اگر در برنامه Google Search Console خود متوجه این اخطار خطای کراول شدید، میتواند به این معنی باشد که گوگل چندین بار سعی کرده اما موفق به کراول آن نشده است.
- خطاهای سرور: اگر Google Search Console خطاهای سرور را نمایش دهد به این معنی است که ربات نتوانسته به وبسایت شما دسترسی پیدا کند. شاید مهلت زمانی درخواست شما تمام شده باشد. مثلا موتور جستجو سعی میکند از سایت شما بازدید کند اما زمان بارگزاری آن به قدری طولانی میشود که سرور یک پیغام خطا میفرستد. خطاهای سرور همچنین میتوانند زمانی اتفاق بیفتند که سایت شما بازدید کنندگان زیادی دارد و سرور نمیتواند پاسخگوی همه درخواستها باشد. بسیاری از این خطاها به عنوان کدهای وضعیت بازمیگردند.
- عدم موفقیت رباتها: قبل از فرایند کراولینگ برای مثال ربات گوگل سعی میکند فایل txt شما را کراول کند تا ببیند آیا هیچ بخشی از وبسایت شما وجود دارد که شما نخواهید کراول شود یا خیر. اگر این ربات نتواند به فایل robots.txt دست پیدا کند گوگل عمل کراول را تا زمانی که بتواند به این فایل دسترسی داشته باشد به تعویق میاندازد. بنابراین همواره از این امر اطمینان پیدا کنید که این فایل در دسترس است.
در این مقاله درباره خطاهای کراول مربوط به کل سایت، توضیحات مختصری ارائه شد. حال بیایید ببینیم چه نوعی از خطاهای کراول ممکن است در صفحات خاص رخ بدهد.
خطاهای URL
همانطور که پیش از این گفتیم خطاهای URL به نوعی از خطاهای کراول گفته میشود که وقتی ربات یک موتور جستجو سعی در کراول یک صفحه خاص دارد رخ میدهد. وقتی ما درباره خطاهای URL به بحث میپردازیم قصد اولیه ما سخن گفتن از خطاهایی مانند 404 not found است. شما باید به طور مرتب این نوع خطاها را بررسی کرده (با استفاده از Google Search Console یا ابزار Bing webmaster) و مشکلات را برطرف کنید. اگر صفحه/موضوع صفحه واقعا از بین رفته و هرگز به وبسایت شما بازنمیگردد از یک صفحه 410 استفاده کنید. اگر محتوای مشابهی روی صفحه دیگری دارید لطفا به جای آن از تغییر مسیر 301 استفاده کنید. اطمینان پیدا کنید که نقشه سایت و لینکهای داخلی شما نیز به روز هستند.
ما متوجه شدیم که دلیل بسیاری از این خطاهای URL لینکهای داخلی هستند. بنابراین بروز بسیاری از این خطاها تقصیر خودتان است. اگر یک صفحه را از سایت خود حذف میکنید باید لینکهای مرتبط آن را نیز تنظیم و یا حذف کنید. این لینکها دیگر استفادهای ندارند. اگر آن لینک به شکل سابق باقی بماند یک ربات آن را پیدا کرده و دنبال خواهد کرد تا ببیند روی وبسایت شما در نهایت به چه چیزی میرسد (خطای 404 not found). شما باید همین حالا مراقبتهایی را روی لینکهای داخلی خود اعمال کنید!
در بین خطاهای معمول، شاید یک خطای موقت DNS یا سرور برای آن URL خاص وجود داشته باشد. بعدا دوباره آن URL را بررسی کنید و ببینید که خطا از بین رفته است یا خیر. از fetch as Google استفاده کنید و بعد از برطرف شدن خطا در Google Search Console آن را علامت بزنید.
خطاهای بسیار خاص URL
برخی از خطاهای URL تنها روی سایتهای معینی اتفاق میافتند. به همین دلیل هم ما این لیست را به صورت جداگانه ایجاد کردیم:
- خطاهای URL مختص موبایل: به خطاهای کراول خاص یک صفحه گفته میشود که در گوشیهای هوشمند مدرن رخ میدهد. اگر شما یک وبسایت سازگار با موبایل دارید این موارد احتمالا سطحی نیستند شاید این خطا تنها برای قطعهای از محتوای فلشی رخ بدهد که از قبل میخواستید چیز دیگری را جایگزین آن کنید. اگر شما از یک زیردامنه مجزا مانند m.example.com برای موبایل استفاده میکنید ممکن است با خطاهای بیشتری روبرو شوید. این موارد در صورت وجود خطوط تغییر مسیر اشتباه از سایت دسکتاپ به سایت موبایل نیز رخ دهند. شاید حتی برخی از صفحات سایت موبایل را در فایل robots.txt خود مسدود کرده باشید.
- خطاهای بدافزار: اگر در ابزار وبمستر خود با خطاهای بدافزار روبرو شدید به این معنی است که بینگ یا گوگل نرمفزار مخربی را روی آن URL پیدا کرده است. شاید به این معنی باشد که آن نرمافزار یافت شده برای مثال در “گرداوری اطلاعات حفاظتی یا ایجاد اختلال کلی در عملیات” (ویکی پدیا) مورد استفاده قرار گرفته است. شما باید بررسی کرده و این بدافزار را از بین ببرید.
- خطاهای اخبار گوگل: برخی از خطاها، مختص اخبار گوگل هستند. یک لیست کامل از این خطاهای احتمالی در اسناد گوگل وجود دارد، بنابراین اگر وبسایت شما در Google News است ممکن است با این نوع از خطاهای کراول روبرو شوید. این خطاها متنوع هستند از فقدان عنوان گرفته تا خطاهایی که به شما میگویند اصلا هیچ محتوای خبریای در صفحه شما وجود ندارد. حتما سایت خود را بررسی کنید تا از عدم وجود چنین خطاهایی روی آن اطمینان بیابید.
برطرف کردن خطاهای کراول – crawl errors
سخن پایانی ما در این مقاله به این شرح است: اگر با خطاهای کراول مواجه شدید آن را برطرف کنید. بررسی مرتب وجود خطاهای کراول باید جزئی از برنامه زمانبندی شما برای مراقبت از سایتتان باشد. نظر خود را درباره این مقاله با ما در میان بگذارید.