راهنمای کامل افزایش سرعت سایت در وردپرس

نویسنده : سید ایوب کوکبی ۳۰ بهمن ۱۳۹۶

راهنمای کامل افزایش سرعت سایت در وردپرس

به تازگی یک سایت وردپرسی طراحی کرده‌اید و روزهای آرام و خوشی را سپری می‌کنید. اما با گذشت ایام کم کم وب‌سایت شما با مشکل کاهش سرعت مواجه شده و زمینه را برای نگرانی شما فراهم می‌کند. دیتابیس سایت کم کم سنگین می‌شود؛ پوسته سایت نسبت به روزهای اول سنگین‌تر شده است و سایتی که در عرض ۵ ثانیه لود می‌شد الان به ۳۰ ثانیه زمان نیاز دارد. مشکل هر چه باشد باید به دنبال راه و چاره‌ای برای افزایش سرعت سایت بود. در این مطلب شما را با ۲۲ راهکار عالی برای افزایش سرعت سایت (بخصوص سایت‌های وردپرسی) آشنا می‌کنیم. با به کارگیری صحیح این روش‌ها، تغییر چشمگیری در سرعت لود شدن سایت شاهد خواهید بود طوری که برای سایت‌های بزرگ، سرعت لودینگ به صورت میانگین به ۲ ثانیه و برای سایت‌های کوچک ۸۰۰ میلی‌ثانیه خواهد شد. مطلب حاضر یک راهنمای کامل و گام به گام است که تمامی جنبه‌های بهینه‌سازی برای افزایش سرعت سایت را مد نظر قرار داده است. با مشاهده فهرست مطالب بایستی به جامعیت این پست پی ببرید. با اسکارپ همراه باشید.

فهرست مطالب:

  1. چرا سرعت سایت مهم است؟
  2. چرا وب‌سایت کند است؟
  3. روش‌های افزایش سرعت سایت 
    1. روش‌های عمومی افزایش سرعت سایت
      1. بروزرسانی تکنولوژی‌های اصلی
      2. بروزرسانی سیستم مدیریت محتوا
      3. کاهش حجم درخواست‌ها
      4. حذف کردن افزونه‌های غیرضروری و سربار
      5. حذف جذابیت‌های بصری اضافی
      6. استفاده از CDN
      7. فعال کردن کشینگ برای افزایش سرعت سایت
      8. بهینه‌سازی دیتابیس
      9. بهینه‌سازی تصاویر
      10. غیرفعال کردن هات‌لینک‌ها
      11. فعال کردن فشرده‌سازی Gzip
      12. انتخاب یک هاست مناسب
      13. مانیتور کردن سایت
    2. افزایش سرعت سایت از بعد فنی
      1. شناخت ابزارها
      2. کاهش تعداد درخواست‌ها
      3. فشرده‌سازی یا مینیفای کردن فایل‌ها
      4. لود کردن اسکریپت‌ها در بخش فوتر
      5. اولویت‌بندی محتوا
      6. استفاده از تصاویری با حجم مناسب
      7. کاهش و بهبود کوئری‌ها
      8. فعال، غیرفعال یا حذف کردن هوک‌ها
      9. آموزش به مشتری‌ها
  4. نتیجه‌گیری

چرا سرعت باز شدن صفحه مهم است؟

اگر از سایت خود خرج زندگی در می‌آورید قطعا فاکتور سرعت لودینگ صفحه بسیار حیاتی و غیرقابل چشم‌پوشی است. لُوداِستُرم مطالعه جالبی در این باره انجام داده است. این سایت با بررسی گزارش‌های مختلف، یافته‌های خود را در قالب یک اینفوگرافیک زیبا ارائه کرده است. طبق اطلاعات به دست آمده، افزایش مدت زمان لود صفحه یه میزان ۱ ثانیه، نرخ تبدیل مشتری را ۷%، تعداد بازدیدها را ۱۱% و میزبان رضایت مشتریان را ۱۶% کاهش می‌دهد. این آمار وحشتناک، میزان اهمیت سرعت صفحه را نشان می‌دهد.

ظاهر خیلی‌ها فراموش کرده‌اند که سرعت اینترنت در سراسر دنیا به یک شکل نیست. حتی اگر از شبکه تحویل محتوا (CDN) استفاده کنید و همه چیز را هم بهینه کنید بازهم سرعت لود صفحه مهم است. اینکه شما با اینترنت ۱۶ مگابیت، سایتتان را در ۱ ثانیه مشاهده می‌کنید دلیل نمی‌شود که همه کاربران سراسر کشور یا دنیا، با همین سرعت وب‌سایت شما را مشاهده می‌کنند. شاید در نیویورک سایتتان در ۲ ثانیه دانلود شود ولی برای دوست شما در هند ۴ تا ۵ ثانیه طول بکشد.

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

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

چطور شروع کنیم؟

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

چرا سایت کند است؟

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

۱- تکنولوژی به کار رفته

زبان برنامه‌نویسی و تکنولوژی اصلی که برای سایت خود استفاده کرده‌اید می‌تواند روی سرعت پردازش سرور تاثیرگذار باشد. به عنوان مثال سایتی که مجموعه‌ای از چند صفحه ساده استاتیک HTML است قطعا سریعتر از سایتی با انبوه اسکریپت‌های سمت سرور رندر و آماده نمایش می‌شود. در این رابطه کار چندانی نمی‌توان انجام داد. این موضوع به ماهیت هر زبان و تکنولوژی‌های آن بر می‌گردد. با این حال به تجربه ثابت شده که ASP.net نسبت به PHP سرعت پردازش بالاتری داشته و سایت‌هایی که بر روی پلتفرم دات‌نت هستند با اختلاف اندکی سریعتر از سایت‌های PHP باز می‌شوند.  ولی با ارائه نسخه‌های جدید PHP سرعت آن به مراتب بهتر از گذشته شده و با ارائه روش‌های جدیدی مثل HHVM این سرعت به مراتب بهینه‌تر از قبل شده است.

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

۲- سیستم مدیریت محتوا

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

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

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

۳- افزودنی‌ها

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

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

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

۴- سرورها و هاستینگ

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

بخوانید  چرا باید از وردپرس استفاده کرد؟

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

سرورهای اشتراکی، مجازی و اختصاصی

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

  • در سرویس‌های اشتراکی، صدها سایت تنها بر روی یک سرور میزبانی می‌شوند. این یعنی همه این افراد از یک هارد، پردازنده، رم و پهنای باند مشترک استفاده می‌کنند. در سرورهای اشتراکی منابع سیستم عادلانه تقسیم نمی‌شود. ممکن است سایتی بازدیدکننده‌های زیادی داشته باشد و ۸۰ درصد منابع سرور را در اختیار خود بگیرد. ۹۹ درصد باقی مانده باید بر روی ۲۰ درصد منابع ببا یکدیگر جدال  کنند. اگرچه هاستینگ‌ها در موارد خاصی که سایتی بیش از حد از منابع سرور استفاده کند اخطار می‌دهند ولی به خاطر دردسرهای این کار فقط در موارد ضروری این کار صورت می‌گیرد و همچنان بی عدالتی در تخصیص منابع وجود دارد.
  • در سرورهای مجازی یا VPS باز هم منابع سرور به اشتراک گذاشته می‌شود ولی با این تفاوت که اولا تعداد کمتری از کاربران بر روی این سرورها میزبانی می‌شوند و دوما منابع به صورت مساوی تقسیم می‌شود و هر یک از کاربران فضای اختصاصی خود را دارد. در این سرورها، نرم‌افزاری نصب شده است که منابع سیستم اعم از پردازنده، رم، هارد و پهنای باند را به صورت مجازی تقسیم بندی کرده و در اختیار کاربران قرار می‌دهد. بنابراین اگر تعداد کاربران یک VPS را ۵ نفر در نظر بگیریم به هر کدام ۲۰% منابع سرور می‌رسد. در این حالت کاربران قادر به استفاده بیش از ظرفیت مشخص شده سرور نیستند و سرعت هر سایت کاملا مستقل از بقیه است.
  • در سرورهای اختصاصی، تنها، شما کاربر سیستم هستید؛ یعنی کل منابع سرور در اختیار سایت شماست. در این روش اختیار سرور کاملا در دستان شماست و هر طور که بخواهید می‌توانید آن را پیکربندی و استفاده کنید. این نوع سرورها معمولا برای سایت‌های پربازدید استفاده می‌شود و قیمت بالاتری نیز دارند.

شاخص‌های یک سرور

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

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

البته سرعت تحویل داده، بیشتر زمانی دستخوش تغییر می‌شود که تعداد درخواست‌ها زیاد باشد. منظور از این حرف این است که دانلود کردن یک فایل ۱ گیگابایتی از سروری در آلمان تفاوت چندانی با دانلود همین فایل از ایران ندارد. تفاوت زمانی بیشتر خودش را نشان می‌دهد که ۱۰۲۴ فایل یک مگابایتی را بخواهید دانلود کنید. مثل وقتی که در ویندوز کپی کردن ۱۰۲۴ فایل یک مگابایتی زمان بیشتری از کپی نمودن یک فایل ۱ گیگابایتی زمان لازم دارد. این موضوع از آن جهت برای ما حائز اهمیت بوده که اغلب وب‌سایت‌ها در هنگام باز شدن، درخواست‌های زیادی از سرور دارند. لود شدن استایل‌ها، تصاویر، فایل‌های جاوااسکریپت و بسیاری از این چیزها. با به حداقل رساندن تعداد درخواست‌ها می‌توانیم سرعت باز شدن صفحه را به حداکثر رسانده و افزایش سرعت سایت را شاهد باشیم.

کامپیوتر بازدیدکننده

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

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

روش‌های افزایش سرعت سایت

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

تکنیک‌های عمومی افزایش سرعت سایت

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

۱- تکنولوژی‌های پایه را بروزرسانی کنید.

۹۹٫۹۹۹% از ما توانایی بهینه‌سازی PHP را نداریم ولی این را دیگر می‌توانیم که بفهمیم بروزرسانی شده است یا نه. به تجربه ثابت شده است که یک هاست خوب به صورت مرتب و خودکار تکنولوژی‌های به کار رفته را بروزرسانی می‌کند. ولی بسیاری از هاست‌های ارزان و بی‌کیفیت تنها زمانی این کار را انجام می‌دهند که مشتریان درخواست دهند حتی اگر هاست شما ریسک‌پذیر نباشد ممکن است تنها زمانی این کار را انجام دهد که درخواست‌های زیادی از سوی کاربران دریافت کند. اگر سری به بنچمارک‌های نسخه‌های مختلف PHP بزنید متوجه خواهید شد که هر نسخه از این زبان چقدر با با نسخه‌های پیشین متفاوت است بخصوص تفاوتی که در نسخه ۷ پی.اچ.پی شاهد آن هستیم.

بنچمارک php7 و تاثیر آن در افزایش سرعت سایت

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

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

۲- سیستم مدیریت محتوا را بروزرسانی کنید.

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

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

۳- تعداد درخواست‌ها را کاهش دهید.

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

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

سویچ کردن تم و استفاده از یک پوسته سبک‌تر نیز می‌تواند کاهش چشمگیری در تعداد درخواست‌ها ایجاد کند. این راه‌حل اگرچه چندان عملی به نظر نمی‌رسد ولی در مواقعی که از یک پوسته پرمیوم با کلی اسکریپت و استایل سنگین استفاده می‌کنید که توسعه دهنده آن هم پوسته را بروزرسانی نمی‌کند، به درد می‌خورد. دریافت تصاویر به صورت تدریجی یا اصطلاحا Lazy loading یکی از بهترین روش‌های افزایش سرعت سایت است. در واقع شما تعداد درخواست‌ها را کاهش نمی‌دهید بلکه دریافت آن‌ها را به صورت کامل انجام نمی‌دهید. این یعنی وقتی داخل یک صفحه ۱۰ تصویر وجود داشته باشد؛ تصاویر درست زمانی که کاربر اسکرول می‌کند دریافت و نمایش داده می‌شود. بدین ترتیب نیازی نیست که نمایش صفحه تا لود شدن کامل تصاویر به تاخیر بیفتد.

بخوانید  تصاویر را بهینه سازی کنید

یکی دیگر از راه‌های جالب کاهش تعداد درخواست‌ها، ترکیب چندین اسکریپت در داخل یک فایل واحد است. به جای اینکه ۱۰ فایل ۲۰ کیلوبایتی جاوا اسکریپت را جداگانه قرار دهید. همه آن‌ها را داخل یک فایل ۲۰۰ کیلوبایتی قرار داده تا فقط همین فایل لود شود. این یعنی  ۱۰ درخواست را به یک درخواست تقلیل داده‌اید که تاثیر زیادی روی سرعت لود صفحه خواهد داشت. بعضی افزونه‌ها مثل  MinQueueMerge + Minify + Refresh و Dependency + Minification این کار را به صورت خودکار انجام می‌دهند.

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

۴- افزونه‌های زائد و غیرضروری را حذف کنید.

افزونه‌ها نه‌تنها باعث افزایش تعداد درخواست‌ها شده بلکه با عملکرد بد آن‌ها، مشکلات عدیده‌ای هم ممکن است در بحث امنیت سایت و مصرف حافظه ایجاد کنند. افزونه‌ی عالی (P3 (Plugin Performance Profiler به شما کمک می‌کند تا افزونه‌های مشکل‌ساز را شناسایی کنید. همچنین شما می‌توانید افزونه‌هایی که به ندرت از آن‌ها استفاده می‌کنید را غیرفعال کنید. برخی از افزونه‌ها تنها یکبار در ماه استفاده می‌شوند مثلا همین افزونه P3 هر از چندگاهی لازم است فعال کنید و وضعیت را بسنجید بعد از تمام شدن کارتان بهتر است آن را غیرفعال کنید.

۵- عناصر غیرضروری را حذف کنید.

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

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

۶- از شبکه تحویل محتوا (CDN) استفاده کنید.

CDN یا شبکه تولید محتوا عصای جادویی افزایش سرعت وب‌سایت هستند. استفاده از CDN به دو دلیل عمده سفارش شده است: اول اینکه تصاویر و فایلهای سنگین شما خارج از سرور نگهداری می‌شود و دوم اینکه سرعت لود شدن تصاویر و رسانه‌ها کاهش پیدا می‌کند. البته پشتیبان‌گیری و انتقال راحت‌تر سایت نیز از دیگر  ثمره‌های CDN است؛ یعنی اگر سایت شما بنا به هر دلیلی به هاست با دامین دیگری نقل مکان داد شد، فقط کافی است دیتابیس خود که نهایتا ۵۰ (یا ۱۰۰ مگ) است را بکاپ یا منتقل کنید و نیازی نیست به چند گیگ محتوای تصویری که بر روی CDN قرار دارد دست بزنید.

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

۷- برای افزایش سرعت سایت حتما از کش استفاده کنید.

کشینگ یکی از شاخص‌ترین و مهمترین روش‌های افزایش سرعت سایت است. با یک تمثیل ساده می‌توان ایده‌ی پشت کشینگ را درک کرد. یادتان هست دورانی که ۵+۴ را با انگشتان خود حساب می‌کردید. امام الان همین سوال را از شما بکنند فورا خواهید گفت ۹٫ مغز شما یک نسخه از پاسخ را کش کرده است تا نیازی نباشد دوباره محاسبه کنید. برای سایت شما هم دقیقا چنین داستانی وجود دارد. شاید محتوای یک سایت ماه به ماه هم تغییر نکند (بخصوص برای سایت‌های استاتیک) پس چه لزومی دارد بازدیدکننده با هر بار باز کردن سایت همه فایل‌ها و صفحات را مجددا دریافت کند. کاری که کش انجا می‌دهد این است که یک نسخه از صفحه HTML را برای زمان مشخصی کپی و نگهداری می‌کند.

در مثال بالا می‌توانستیم تاریخ انقضای کش را یک روز تعیین کنیم؛ این یعنی طی روز فقط یکبار سایت به صورت معمولی باز می‌شود و در سایر دفعات نسخه کپی شده با سرعت بالا نمایش داده می‌شود. به ازای هر بازدیدکننده، روزانه فقط یکبار پردازش در سرور صورت می‌گیرد و در دفعات بعد فقط نسخه کپی شده نمایش داده می‌شود. تاثیر این تکنیک در سایت‌های بزرگ به خوبی دیده می‌شود. البته چیزی که ما اینجا گفتیم کشینگ تمام صفحه بود. مبحث کش خودش دنیایی است که مجال بررسی کامل آن  در این پست مقدور نیست. در وردپرس افزونه‌های خوبی مثل wp super cache این کار را انجام می‌دهند. توصیه می‌کنیم با مطالعه و بررسی کامل این افزونه‌ها از حداکثر توانایی‌های آن استفاده کنید تا شاهد بهبود زیادی در سرعت لود شدن سایت باشید. البته تنظیمات اولیه این افزونه‌ها معمولا به گونه‌ای است که ۸۰% قدرت آن‌ها را منتقل می‌کند.

۸- دیتابیس را بهینه‌سازی کنید.

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

رای پاکسازی دیتابیس افزونه‌هایی مثل WP-Sweep ارائه شده‌اند که حذف داده‌های غیرضروری و سبک کردن پایگاه داده را به خوبی انجام می‌دهند. البته خود را محدود به این افزونه‌ها نکنید و با جستجو در اینترنت اطلاعات بیشتری در این باره به دست بیاورید. بخش دیگری از مشکلات دیتابیس مربوط به سربارهایی است که MySQL تحمیل می‌کند. این پایگاه داده بعد از حذف یا بروزرسانی ردیف‌ها یا همان رکوردهای اطلاعاتی اقدام به فشرده‌سازی آن‌ها نکرده که این کار سرعت پردازش کوئری‌ها را بیشتر می‌کند چرا که تعداد ردیف‌های بیشتری باید مورد جستجو قرار بگیرد. به همین خاطر لازم است تا هر از چندگاهی اقدام به بهینه‌سازی جداول دیتابیس کنید. برای این کار در PhpMyAdmin امکانات لازم گنجانده شده است.

۹- تصاویر را بهینه‌سازی کنید.

قبلا در مورد کاهش تعداد تصاویر صحبت کردیم ولی بهینه‌سازی همین تصاویر بازهم می‌تواند تفاوتی ۳۰ الی ۸۰ در صدی در سرعت باز شدن صفحات ایجاد کند. یکی از بهترین ابزارهای فشرده‌سازی و کاهش حجم تصاویر در وردپرس  WP Smush Pro بوده که بیش از ۲۰۰ هزار نفر از آن استفاده می‌کنند. برای تغییر دسته‌ای حجم تصاویر در ویندوز، ابزار RIOT و در مک  Imageoptim در دسترس شماست.

۱۰- فشرده‌سازی Gzip را فعال کنید.

این تکنیک به خوبی می‌تواند سرعت سایت را افزایش دهد. فشرده سازی Gzip تمامی چیزهایی که قرار است به مروگر مخاطب ارسال شود را پیش از انتقال فشرده می‌کند. این قابلیت بایستی بر روی سرور تنظیم شود که معمولا از طریق پنل هاست صورت می‌گیرد. از آنجایی که فایل‌های HTML و CSS شامل کدهای تکراری زیاده بود و فضای زیادی اشغال می‌کنند، فشرده‌سازی آن‌ها گاهی تا ۷۰% حجم صفحات را کاهش می‌دهد. امروزه اکثر مرورگرها قادر به تشخیص gzip بوده و بدون نگرانی می‌توانید این قابلیت را بر روی هاست خود فعال کنید.

۱۱- هات‌لینک را غیرفعال کنید.

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

۱۲- انتخاب یک هاست مناسب

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

بخوانید  محدود کردن تلاش های ناموفق ورود به وردپرس

می‌ماند دو انتخاب: اولی VPS یا سرور مجازی است که پلن‌های آن معمولا از ۵ دلار در ماه شروع می‌شود و بسته بمشکه قدرت سرور بالاتر هم می‌رود ولی در کل یک سرور مجازی خوب  هزینه ماهانه ۲۵ الی ۵۰ دلار به همراه دارد. این سرورها دیگر مشکل همسایه‌های بد که در هاست‌های اشتراکی رایج است را ندارند و هر کسی به اندازه پولی که داده از حداکثر منابع استفاده می‌کند. در انتخاب VPS ها دنبال ارزان‌ترین‌ها نباشید. گرانترین‌ها هم لزوما بهترین‌ها نیستند. با بررسی شهرت، بازخورد مشتریان و بررسی‌های موجود در اینترنت یک سرور مجازی خوب تهیه کنید.

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

۱۳- سایت خود را مانیتور کنید.

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

تکنیک‌های افزایش سرعت مرتبط با کدنویسی سایت

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

۱- ابزار کار خود را به خوبی بشناسید.

شاید ساده به نظر برسد ولی حقیقت این است که بسیاری از توسعه‌دهندگان وردپرس بخصوص آماتورها هنوز اطلاعات خوبی در مورد مکانیسم این سیستم مدیریت محتوا ندارند. برای اینکه بتوانید کدهایی بهینه بنویسید بایستی مدام در حال بروز کردن اطلاعات خود باشید. به عنوان مثال در کدهایی که چندین بار از ()get_post_meta استفاده شده باشد، با اولین فراخوانی وردپرس تمامی متا را دانلود کرده و در کش ذخیره می‌کند و در دفعات بعد تنها اطلاعات کش خوانده می‌شود. بنابراین قبل از شیرین‌کاری سراغی از داکیومنت‌های رسمی وردپرس در Codex بگیرید تا با کم و کیف کدهایی که می‌نویسید آشنا شوید.

۲- تعداد درخواست‌ها را کاهش دهید.

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

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

۳- فایل‌ها را Minify کنید.

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

۴- اسکریپت‌های خود را  در فوتر سایت قرار دهید.

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

۵- محتوا را اولویت بندی کنید.

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

۶- از تصاویری با سایز مناسب استفاده کنید.

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

۷-تعداد کوئری‌ها را کاهش داده و بهینه‌سازی کنید.

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

سعی کنید از ترکیب یا join کردن جداول و سایر عملیات پیچیده دوری کنید. در بسیاری از مواقع استفاده از چند کوئری برای رسیدن به پاسخ نهایی کارایی بهتری از یک کوئری پیچیده و سنگین دارد. ابزارهای زیادی برای سنجش کارایی و کیفیت کوئری‌ها وجود دارند که از ان جمله می‌توان به افزونه قدرتمند Query Monitor اشاره کرد و یا با استفاده از (define(‘SAVEQUERIES’, true در فایل Config و استفاده از wpdb->queries$ هم کوئری‌ها را چاپ کنید. شما همچنین قادر به لاگ کردن کوئری‌های کند MySQL هستید. این کار را می‌توانید هم در هاست و هم خودتان به صورت دستی انجام دهید. برای اطلاعات بیشتر می‌توانید با بخش فنی هاست خود صحبت کنید.

۸- فعال، غیرفعال و حذف کردن هوک‌ها

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

۹- به مشتریان خود آموزش دهید.

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

نتیجه‌گیری: سرعت همه چیز نیست!

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

شما باید وب‌سایت را کاربرپسند، زیبا، کاربردپذیر و در عین حال پرسرعت طراحی کنید.شما همچنین بایستی هزینه و زمان لازم برای افزایش سرعت سایت را در نظر بگیرید. پرداخت ۲ هزار دلار و صرف یک ماه زمان برای کاهش لود تایم سایت از ۳٫۴ ثانیه به ۱٫۸ شاید ارزشش را داشته باشد ولی همین هزینه و زمان برای کاهش ۱٫۸ به ۱٫۲ چندان منطقی نیست؛ شاید بهتر باشد این مبلغ را صرف بازاریابی یا ارائه تحفیف برای فروش بیشتر کنید. امیدوار هستیم این راهنما توانسته باشد تاثیری هرچند جزئی بر روی سرعت سایت شما داشته باشد. تک تک موارد ذکر شده را تست کنید و نتیجه حاصل شده را در بخش دیدگاه‌ها با سایر کاربران به اشتراک بگذارید. اگر شما هم تکنیکی برای افزایش سرعت سایت دارید در بخش نظرات معرفی کنید.

سید ایوب کوکبی

نویسنده و مترجم...

0 دیدگاه

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