در این جلسه قصد داریم درباره مشکل رایجAvoid bad requests صحبت کنیم و ببینیم چطور میتونیم این مشکل را در سایت پیدا و رفع کنیم و علت اصلی به وجود اومدن آن چیه تا باعث کاهش بهینه سازی سایت ما نشه. با ما همراه باشید.
خلاصهای از خطا
اولویت: بالا
میزان سختی: راحت
میانگین امتیاز: ۹۷%
Avoid bad requests چیست؟
خیلی وقتها فایلهای HTML و CSS شما یک درخواستی را سمت سرور دارن مثلا برای لود یک عکس یا فایل HTMLدیگهای که وجود نداره، در اینجا چه اتفاقی میافتد؟ باعث میشود مرورگر و سرور به دور از هدف فعالیت انجام بدهند و سرور زمان بیشتری برای گشتن پاسخ مرورگر صرف کند چون دنبال چیزی میگردند که وجود ندارد. همانند مکالمه زیر میتوان تشبیه کرد:
مرورگر: من به این عکس نیاز دارم
سرور: من چنین عکسی رو ندارم
مرورگر: پس چرا در سند HTML چنین عکسی رو صدا کردن؟
سرور: خب ندارم من خیلی گشتم ولی پیدا نکردم
پیغام خطای 404
همه ما با خطای 404 تا به حال روبهرو شدهایم و وقتی به این خطا برمیخوریم که فایلی وجود نداشته باشد، حال وقتی bad requests به وجود میاد که کاربر با خطای 404 یا پیدا نشدن صفحهای روبهرو بشود، خطای 404 یک پاسخ استاندارد HTTPاست که نشان میدهد کاربر توانایی برقراری با سرور را دارد اما سرور نمیتواند درخواست گرفته شده از سمت کاربر را پیدا کند.
در این حالت سرور صفحه خطایی با عنوان “404 Not Found” تولید میکند وقتی کاربر به دنبال لینک شکسته شده یا لینک مرده است.
خطای Avoid bad requests چگونه پیدا کنیم؟
بسیاری از اوقات خطاهای bad requests بسیار آشکار هستند مانند زمانی که یک تصویر قرار هست در جایی باشد ولی نیست، و نبودن یک تصویر مثلا در بکگراند (background) بسیار آشکار و معلوم است.
خیلی وقتها هم ممکن است از خطای bad requests هیچ نشانههایی نمایان نشود، پس همیشه سعی داشته باشید از لود شدن و فراخوانی فایلهایی که لازم نیست در آن صفحات لود شوند اجتناب کنید، منظورم از فایلها همان عکسهایی که مورد استفاده قرار نمیگیرند یا فایلهای CSS و JS که لازم به لود آنها نیست، این امر کمک بسیاری به سایت شما در بالا بردن هر چه سریعتر پاسخ از سمت سرور میکند و باعث میشود با این خطا کمتر روبهرو شوید و نتیجه آن افزایش سرعت سایت وردپرس یا هر CMS دیگری خواهد بود.
با استفاده از ابزارهای page speed tool همانند سایت جی تی متریکس، سایت pingdom و webpagetest شما میتوانید صفحات مورد نظر خود را بررسی کنید و بهترین راه و مطمئنترین ابزاری است که میتوان برای پیدا کردن این خطاها استفاده کرد ولی در کل میتوان از ابزار Inspect در مرورگرها هم استفاده کرد به این منظور اول باید صفحهای که قصد دارید خطاهای آن را جویا شوید رفته و سپس کلیک راست کرده و گزینه Inspect را انتخاب کنید، در قسمت Console شما میتوانید خطاهای موجود را با رنگ قرمز مشاهده نمایید.
چگونه مشکل Avoid bad requests را رفع کنیم؟
گاهی رفع خطاهای bad requests بسیار راحتتر از پیدا کردن انهاست. اگر شما با یک یا چند خطای bad requests روبهرو شدید کافیست آن خط کدی که در حال فراخوانی یک فایل (فایلی که سمت سرور وجود ندارد) است را حذف کنید یا یک جایگزین مناسب برای آن فایل ایجاد کنید، مثلا اگر صفحه شما یک عکسی را فراخوانی میکند یا به اصطلاح آن را صدا میزند، اما عکس وجود ندارد، کافیست آدرس “src” که یکی از اتریبیوتهای img است را تغییر داده و آدرس یک عکس دیگر را بدهید یا کلا کدهای فراخوانی آن عکس را حذف کنید تا مشکل درخواست بد به وجود نیاید.
روش اشتباه برای حل خطا Avoid bad requests
گاهی در زمان حل این مشکل ممکن است فکر ریدایرکت کردن را داشته باشید، به شکل کلی این روش برای رفع خطا پیشنهاد نمیشود چرا که بیشتر صورت مسئله را پاک میکند، در درجه اول بهتر است آدرسی که حاوی خطا bad requests هست را حذف کنید و یا جایگزین آدرس صحیح کنید، اگر به عنوان مثال دانش برنامه نویسی نداشتید و یا مشکلاتی وجود داشت اخرین راه ریدایرکت کردن آدرس آن درخواست بد به یک آدرس صحیح است.