طراحی سایت

بررسی ۹ دلیل مهم و موثر در کندی سایت (دیر لود شدن سایت)

نویسنده: تحریریه آرسافت

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

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

در این مطلب مهم ترین علل کندی سایت های وردپرسی و اختصاصی معرفی شده که به شما کمک می کند دلیل دیر لود شدن سایت خود را بفهمید و سپس برای بهبود و افزایش سرعت وب سایت اقدام کنید. پس با ما همراه باشید تا با همراهی هم این مطلب آموزشی را به پایان برسانیم.   

نحوه تشخیص علت کند بودن وب سایت

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

ما برای درک آسان تر موضوع و تشخیص سریع تر مشکل، عوامل کند شدن سایت را به دو بخش زیر تقسیم کرده ایم.

  • عوامل سمت سرور: عواملی که جایگاه آنها در پشت صحنه و سرور سایت است و برای کاربران قابل مشاهده نیست.
  • عوامل سمت کاربر: عواملی که در سمت جلو و ظاهر سایت جایگاه دارند و توسط کاربر قابل مشاهده هستند. 

پیش از معرفی دلایل یک نکته ساده برای تشخیص سمت سرور یا سمت کاربر بودن عامل کندی بیان می کنیم. زمانی که شما روی یک لینک کلیک می کنید (یا آدرس سایت را در مرورگر وارد می کنید) در تب مرورگر یک دایره خاکستری رنگ می چرخد. تا زمانی که این دایره خاکستری است یعنی درخواست به سرور ارسال شده و سرور در حال انجام عملیات است. زمانی که دایره رنگ دایره در حال چرخش آبی می شود یعنی سرور پاسخ را به سمت کاربر ارسال کرده است.

زمانی هم که دایره آبی رنگ ناپدید شود یعنی بارگیری سایت به اتمام رسیده است. پس اگر دایره خاکستری رنگ زمان زیادی می چرخد یعنی (فارغ از سرعت پایین اینترنت یا مشکلات آن) عامل کندی در سمت سرور است و اگر دایره آبی رنگ زمان زیادی می چرخد یعنی عامل کندی سایت در سمت کاربر است. 

مهم ترین دلایل دیر لود شدن وب سایت

برای کند بودن سایت دلایل بسیاری در سایت های مختلف ذکر شده اما همه آن دلایل واقعی نیستند. خیلی از دلایلی که برای کند بودن سایت مطرح می شود به اندازه ای تاثیر گذار نیست که قابل ذکر باشد. یا لااقل احتمال وجود آنها به قدری بالا نیست که بشود آن را برای همه افراد مطرح کرد.

علل کند بودن سرعت سایت

ما در ادامه چند مورد از مهم ترین دلایل کند شدن سایت ها را معرفی کرده ایم که در بیشتر موارد در کند شدن سایت ها دخیل هستند.  

- تعداد زیاد افزونه های نصب شده (وردپرس)

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

زمانی که تعداد افزونه های نصب شده روی وردپرس زیاد شود میزان کدها و درخواست های اضافه شده به سرور هم افزایش پیدا می کند که می تواند منجر به کند شدن سرور و سایت شود. هرچه تعداد افزونه های نصب شده بیشتر شود طبیعتا کندی سایت هم بیشتر خواهد شد. البته میزان منابع سخت افزاری سرور و میزان درخواست های هر افزونه نیز در میزان کند شدن سایت موثر است. 

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: زیاد

- بارگذاری زیاد فایل های پیش نیاز 

در وب سایت ها یکسری فایل از جنس فونت، جاوااسکریپت، CSS و تصویر وجود دارد که برای اجرای سایت به آنها نیاز است. وقتی سایت را باز می کنید پیش از این که سایت به طور کامل اجرا شود باید تمام فایل های پیش نیاز بارگذاری شود. هر فایل حجم مشخصی دارد و مرورگر برای دانلود هر فایل باید زمانی را صرف کند.

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

○ جایگاه: سمت کاربر
○ تاثیر روی سرعت: زیاد

- استفاده از پرس و جو (Query) های زیاد یا کند

احتمالا می دانید که داده های اساسی سایت و محتواهای متنی در پایگاه داده سایت ذخیره می شوند. در زمان اجرای سایت حتما به برخی از این اطلاعات ذخیره شده در پایگاه داده نیاز است که برای دریافت آن باید یک پرس و جو  (Query) یا درخواست در پایگاه داده اجرا شود. اما همه داده ها با یک درخواست به دست نمی آیند بلکه برای دریافت هر نوع داده باید یک درخواست جدا در پایگاه داده اجرا شود.

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

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

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: زیاد

- استفاده از هاست اشتراکی ضعیف

هر چند استفاده از هاست اشتراکی بسیار رایج است و بیش از ۹۰ درصد سایت ها روی میزبان های اشتراکی فعال هستند اما با این حال برخی از این هاست های مشترک به دلیل ضعف زیرساخت یا منابع سخت افزاری منجر به کند شدن وب سایت شما می شود. استفاده از هاست اشتراکی به طور کلی مشکلی ندارد و باعث کند شدن سایت نمی شود. ولی اگر منابع سخت افزاری سرور میزبان ضعیف باشد یا تعداد زیادی وب سایت روی یک سرور فعال باشند ممکن است منجر به کند شدن وب سایت ها شود.

علت این است که منابع سخت افزاری سرور همچون پردازنده و رم بین تعداد بیشتری سایت تقسیم می شود. این اتفاق بیشتر در مورد هاست های رایگان، هاست های بسیار ارزان قیمت و شرکت هایی رخ می دهد که خود هاستینگ و صاحب سرور نیستند بلکه صرفا واسطه خرید هاست از شرکت های دیگر می باشند. برای رفع این مشکل بهتر است به مطلب «بهترین و قوی ترین هاست های ایرانی» ما سر بزنید.

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: زیاد

- تعداد زیاد تصویر و ویدیو حجیم در صفحه

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

کند شدن سایت به دلیل حجم بالای تصاویر و ویدیو

حالا اگر تعداد زیادی از این فایل های تصویری و ویدیویی در یک صفحه وجود داشته باشد یا حجم آنها زیاد باشد مرورگر باید زمان بیشتری را برای دانلود فایل ها صرف کند که این منجر به کند شدن زمان لود سایت می شود. برای بیان تعداد زیاد فایل نمی توان عدد مشخصی را بیان کرد چون همه چیز به نحوه کدنویسی بستگی دارد اما فرض کنید ۲۰ ویدیو بدون رعایت جوانب فنی در یک صفحه قرار گیرد.

○ جایگاه: سمت کاربر
○ تاثیر روی سرعت: زیاد

- استفاده از قالب سنگین (وردپرس)

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

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

این مورد در پوسته های چند کاربردی همچون «قالب اکسترا Xtra» که ده ها قالب را در خود جای داده اند به خوبی مشهود است. 

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: زیاد

- پایگاه داده سنگین با داده های زیاد

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

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

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

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: زیاد

- کد نویسی ضعیف و بهینه نشده

کد نویسی نقش مهمی در کیفیت وب سایت دارد و شاید بتوان گفت یکی از مهم ترین عوامل کند یا سریع شدن سایت ها است. موضوع را با یک مثال عرض می کنیم. برای بریدن و پوست گرفتن میوه می توان از ابزارهای مختلفی استفاده کرد. کارد کوچک، چاقوی آشپزخانه، چاقوی قصابی، ساطور و اره همه می توانند میوه را خرد کنند. اما کدام یک مناسب تر است؟ طبیعتا کارد کوچک چون بهترین عملکرد و بالاترین سرعت را دارد. در برنامه نویسی هم دقیقا به همین صورت است.

کد نویسی ضعیف وب سایت

در برنامه نویسی برای انجام هر کار معمولا چند ابزار و روش وجود دارد. برنامه نویس باید ابزاری را انتخاب کند که مناسب نیازش باشد و بهترین عملکرد را در سایت داشته باشد. در این صورت می تواند کد بهینه شده تولید کند. لذا شیوه کد نویسی در سایت ها مخصوصا سایت هایی که به صورت اختصاصی تولید شده اند اهمیت بالایی پیدا می کند. 

بسیار مشاهده می شود که برنامه نویس به دلیل عدم دقت، دانش کم یا بی توجهی از کدهای نامناسب یا پیچیده در سایت استفاده کرده اند. این می تواند منجر عملکرد نامناسب سایت و اتلاف منابع سخت افزاری سرور شود که نتیجه آن کاهش سرعت لود سایت می باشد. 

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: متوسط

- استفاده از نسخه قدیمی PHP

بیشتر سایت ها از زبان برنامه نویسی PHP استفاده می کنند. سایت های وردپرسی هم مبتنی بر PHP طراحی شده اند. لذا سرعت PHP مولفه مهمی است. نسخه های قدیمی پی اچ پی عملکرد بسیار ضعیف تری نسبت به نسخه های جدید دارند. یعنی نسخه ۷ و بالاتر از آن از نسخه های قدیمی مثل ۵.۶ و قدیمی تر از آن سریع تر است. در واقع نسخه های جدید PHP نسبت به نسخه های قدیمی تعداد درخواست های بیشتری را در هر ثانیه اجرا می کنند.

خب این باعث می شود سایت بتواند سریع تر اجرا شود. بنابراین استفاده از نسخه قدیمی PHP به دلیل این که تعداد درخواست های قابل اجرا در هر ثانیه کمتر است منجر به کند بودن سرعت سایت می شود. البته این کندی آنقدر زیاد نیست که احساس شود اما در کنار عوامل دیگر می تواند زمان اجرای سایت را به صورت محسوس افزایش دهد. 

○ جایگاه: سمت سرور
○ تاثیر روی سرعت: کم

عوامل کمتر موثر در کاهش سرعت سایت

در بخش قبل مهم ترین عوامل کند شدن سایت معرفی شدند که هر یک تاثیر زیادی روی کاهش سرعت سایت دارند. در این بخش عواملی معرفی شده اند که اگرچه در کاهش سرعت سایت و کند شدن آن تاثیرگذار هستند اما تاثیر آنها کم است و قابل چشم پوشی می باشد. اما در صورتی که چند مورد از این عوامل در کنار هم قرار گیرند می توانند به اندازه قابل توجهی سرعت سایت را کاهش دهند. 

  • استفاده از افزونه های نامناسب و ضعیف (وردپرس): اگر چه در وردپرس برای بسیار از نیازها افزونه رایگان معتبر و قوی وجود دارد و بیشتر افراد از آنها استفاده می کنند اما ممکن است همچنان برخی افراد از افزونه های نامعتبر و ضعیف که بهینه سازی نشده اند استفاده کنند که باعث کاهش سرعت سایت آنها شود.
  • استفاده از فایل های خارجی: بارگیری فایل های سایت های خارجی که فیلتر شده اند یا آی پی های ایران را تحریم کرده اند باعث می شود زبان لود شدن کامل سایت افزایش پیدا کند.
  • فاصله زیاد از سرور: هرچه فاصله کاربر از سرور سایت بیشتر باشد زمان ارسال و دریافت درخواست ها هم بیشتر می شود. لذا فاصله زیاد از سرور سایت می تواند زمان باز شدن سایت را افزایش دهد.
  • تبلیغات زیاد در صفحه: تبلیغات نمایش داده شده حاوی تصویر، ویدیو و فایل های CSS و جاوااسکریپت هستند که برای نمایش کامل تبلیغ باید همه این فایل ها دانلود شوند. وجود تبلیغات زیاد در صفحه می تواند سرعت لود شدن را کاهش دهد. 
  • عدم استفاده از کش: کش (Cache) قابلیتی در وب سایت ها است که فعال سازی آن باعث می شود سرور فرآیند پیچیده و سنگین اجرای صفحات را تنها یک بار انجام دهد و نتیجه حاصل شده را ذخیره سازی کند. پس از در زمان درخواست هر صفحه نسخه آماده شده از قبل به کاربر ارائه می شود.
  • عدم استفاده از فشرده سازی (Gzip): قابلیت فشرده سازی Gzip یا Brotli باعث می شود سرور متون و داده های صفحات را ابتدا فشرده سازی کرده و سپس برای کاربر ارسال کند. این کار باعث می شود مقداری از حجم داده ها کاهش یافته و زمان دریافت آن بهبود پیدا کند.

جمع بندی

عوامل و مولفه های مختلفی روی کاهش سرعت لود و اجرای سایت اثرگذار هستند که برخی از مهم ترین موارد را در اینجا خدمت شما معرفی کردیم. به کمک این آموزش می توانید تک تک علل مطرح شده را روی سایت خود بررسی کنید و علت کند بودن آن را تشخیص دهید. در نظر داشته باشید که در اینجا علل کند بودن سایت به صورت کلی معرفی شده است و برای یافتن موارد مصداقی باید خودتان با دقت بیشتر آنها را بررسی کنید.