افزایش سرعت سایت دروپال

آموزش افزایش سرعت سایت دروپال
آموزش افزایش سرعت سایت دروپال در میزفا

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

دروپال از سال ۲۰۰۱ منتشر شد ، حدودا ۲ سال قبل از وردپرس بود که وارد بازار وب شد و پس از وارد شدن وردپرس و محبوبیت فوق العاده آن برای بسیاری سوال پیش آمد که با توجه به امکانات وردپرس چرا هنوز هم افراد از دروپال استفاده می‌کنند؟! متخصصان این سوال را اینطور پاسخ می‌دهند :

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

بسیاری از وب سایت‌های سازمانی نظیر وارنر بروس ، جایزه Emmy ، دانشگاه آکسفورد و غیره از این سیستم مدیریت محتوا استفاده می‌کنند.

نمودار استفاده از سیستم‌های مدیریت محتوا تا سوم دسامبر ۲۰۱۷
نمودار استفاده از سیستم‌های مدیریت محتوا تا سوم دسامبر ۲۰۱۷

دروپال در بازی با اعداد :

  • ۳۸ هزار همکار کدنویس در سراسر دنیا
  • ۳۸ درصد پروژه موفق از هر ۵۰ پروژه
  • بیشتر از ۱ میلیون کاربر در وب سایت Drupal.com

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

با توجه به گوگل trends نمودار جست‌و‌جوی کلمه دروپال در مقابل دیگر مدیریت محتوا‌ها از وضعیت متعادل‌تری برخوردار است. با این‌حال ، این خیلی تعجب‌آور است که روند صعودی جوملا تا سال ۲۰۰۹ فوق العاده بود ولی پس از سال ۲۰۱۰ همینطور در حال کاهش هست ، تا جایی که در حال حاضر در گوگل Trends جایگاهی مانند Drupal دارد. وردپرس نیز به نوسان همچنان ادامه داده است و هنوز به عنوان پر مصرف‌ترین سیستم مدیریت محتوا به حساب می‌آید.

نمودار Google Trends
نمودار Google Trends

 

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

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

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

  • وب سایت Shopzilla ، پس از بهینه سازی سرعت لود صفحه از ۶ ثانیه به ۱.۲ ثانیه توانست افزایش در‌آمد ۱۲ درصدی‌ کسب کند.
  • گوگل می‌گوید که ۲۰ درصد ترافیک وب سایت بابت هر ۱۰۰ میلی‌ثانیه ای که وب سایت شما تاخیر می‌خورد از دست می‌رود.
  • یاهو می‌گوید بابت هر ۴۰۰ میلی‌ثانیه بهبود سرعت لود وب سایت ، ۹ درصد ترافیک وب سایت افزایش پیدا می‌کند.
  • موزیلا می‌گوید ، به علت افزایش ۲.۲ ثانیه‌ای وب سایتشان، سالیانه بیشتر از ۶۰ میلیون دانلود برای مرورگر فایرفاکس خود کسب می‌کند.
  • آمازون می‌گوید بابت هر ۱۰۰ میلی‌ثانیه بهبود سرعت ۱ درصد به درآمدشان اضافه می‌شود.

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

ما در این آموزش از دروپال نسخه ۷.۴۱ استفاده می‌کنیم ولی توجه داشته باشید که دروپال ۸ نیز در ۱۹ نوامبر ۲۰۱۷ منتشر شده است و تغییراتی کوچکی مانند اضافه شدن پشتیبانی از PHP7 و غیرفعال‌سازی پشتیبانی از اینترنت اکسپلورر ۶ ، ۷ و ۸ به آن اضافه شده است.

از آخرین نسخه استفاده کنید:

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

  1. برای بروزرسانی ، از بخش Reports (گزارش‌ها) وارد بخش Available Updates (بروزرسانی‌های موجود) شوید.
  2. در آن شما می‌توانید به صورت دستی از طریق گزینه Check Manually (بررسی دستی) آخرین بروزرسانی‌های موجود را پیدا کنید.
بروزرسانی دروپال
بروزرسانی دروپال

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

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

شبکه توزیع محتوا
شبکه تحویل محتوا

کش را به وب سایتتان اضافه کنید:

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

کش صفحات دروپال :

  1. از بخش Configuration (تنظیمات) وارد بخش Development (توسعه) و سپس وارد بخش Performance (عملکرد) شوید.
  2. تیک گزینه Cache pages for anonymous users و Cache blocks را فعال کنید. همچنین می‌توانید lifetime کش وهمچنین زمان انقضای کش را تعیین نکید.
  3. پس از انجام تنظیمات روی گزینه Save Configuration (ذخیره تنظیمات) کلیک کنید.

 

با این‌حال مانند دیگر سیستم‌های مدیریت محتوا دروپال نیز افزونه‌هایی برای کش دارد که در زیر نام‌های آنها را مشاهده می‌کنید:

 

  • Memcache
  • File Cache
  • Redis
  • Boost (این افزونه تمامی صفحات دروپال را به صفحات مسطح HTML تبدیل می‌کند.)

همچنین شما می‌توانید افزونه‌های بیشتری در زمینه کش را از caching modules دریافت و نصب نمایید.

Views Caching

افزونه views module یکی از پر طرفدار ترین افزونه‌های کش دروپال می‌باشد.

  • برای فعال‌سازی آن ابتدا از تب مدیریت ، وارد بخش نمودار‌ها و بخش Views شوید.
  • روی گزینه Edit (ویرایش) مخصوص آن View که می‌خواهید ویرایش کنید، کلیک کنید.
  • گزینه Advanced box را باز کنید.
  • روی گزینه Time-based کلیک کنید و روی Apply (all displays) کلیک کنید.
کش Views
کش Views
  • سپس زمان‌های مورد نظرتان را تعیین کنید و روی گزینه Apply (all displays) کلیک کنید.
کش Views
کش Views

در زیر چند نمونه از افزونه‌های در خصوص کش Views نیز معرفی شده است :

کش پنل کاربری :

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

  • وارد بخش مدیریت ، نمودار‌ها (structure) ، صفحات (pages) شوید.
  • سپس از بخش Variants ، بخش Content و بخش Caching روی change کلیک کنید.

کش پنل کاربری

  • سپس روی Simple cache کلیک کنید و روی Next کلیک کنید.
کش پنل کاربری دروپال
کش پنل کاربری دروپال
  • همچنین بعد از آن شما می‌توانید زمان مخصوص کش را تعیین کنید و بعد از باید روی گزینه Save‌ کلیک کنید.
کش پنل کاربری دروپال
کش پنل کاربری دروپال

نوع‌های دیگر کش :

رفع خطای Add Expires headers

رفع خطای Remove query strings from static resources

رفع خطای Enable gzip compression

 

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

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

دروپال ۶ و دروپال ۷ هنگام آپلود تصاویر فشرده سازی در تصاویر JPEG انجام می‌دهند. به صورت پیش‌فرض در دروپال ۷ این فشرده سازی ۷۵ درصد می‌باشد که برای تغییر آن مراحل زیر را دنبال کنید.

  1. از منوی Configuration (تنظیمات) وارد بخش Image Toolkit شوید.
  2. شما می‌توانید از آن طریق درصد کیفیت را برای فشرده سازی تصاویر انتخاب کنید و روی گزینه Save Configuration کلیک فرمایید. (قابل ذکر است که هرچه درصد کیفیت بالاتر باشد، کیفیت تصویر و حجم نیز بالا‌تر خواهد بود)
بهینه سازی تصاویر در دروپال
بهینه سازی تصاویر در دروپال

همچنین افزونه‌هایی نیز برای بهینه سازی تصاویر در وردپرس موجود است که می‌توانید آن‌ها را نصب و فعالسازی کنید.

  1. Image Optimize
  2. ImageMagick

لود تنبل تصاویر :

لود تنبل تصاویر می‌تواند خیلی ساده باعث افزایش سرعت لود صفحاتتان با تنها لود کردن تصاویر قسمت‌های قابل مشاهده در صفحه مرورگر شود. معروف‌ترین افزونه دروپال در این زمینه که حدودا ۱۸ هزار دانلود نیز تا الان‌ داشته است افزونه Image Lazyloader می‌باشد.

لود تنبل تصاویر در دروپال
لود تنبل تصاویر در دروپال

ما همچنین پیشنهاد می‌کنیم که افزونه Image Resize Filter نیز استفاده کنید تا تصاویرتان نسبت به سایز صفحه وب مقیاسشان کم شود و تا جای ممکن از CSS برای کاهش مقیاس استفاده نشود.

صفحات خطای 404 :

به جز استفاده از افزونه 404s ، شما می‌توانید از ابزار‌های خارجی مانند Online Broken Link Checker یا Screaming Frog برای پیدا کردن صفحات پیدا نشده ۴۰۴ استفاده کنید. این به شما امکان این را می‌دهد که منابعتان برای پیدا کردن صفحات 404 مصرف نشود. دروپال برای خطا‌های ۴۰۴ خیلی منابع مصرف می‌کند. به طور میانگین افزونه پیش‌فرض دروپال برای پیدا کردن صفحات ۴۰۴ حدود ۶۰ تا ۱۰۰ مگابایت از حافظه RAM سرور شما را مشغول می‌کند.

افزونه Fast 404 این مشکل را رفع می‌کند و کاری می‌کند که زمان یافتن خطا‌های ۴۰۴ با مصرف حافظه RAM کمتر از ۱ مگابایت پیدا و رفع شوند.

افزونه‌های غیر ضروری را غیر‌فعال کنید:

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

 

  • Administration Development tools
  • Devel
  • Devel node access
  • Field UI
  • Rules UI
  • Views UI
  • Module Filter
  • Blog
  • Forum
  • Taxonomy
  • Search
  • Help
  • Shortcut
  • Dashboard
  • Database Logging
  • Color
  • Toolbar
  • Tracker
  • Statistics (آمار ، این افزونه بر روی دیتابیس شما اطلاعات را بعد از هر لود صفحه بروزرسانی می‌کند و پیشنهاد می شود در صورتی که از گوگل آنالیز استفاده می‌کنید این افزونه را غیر فعال کنید)

 

متراکم سازی CSS و JS :

با متراکم سازی فایل‌های CSS و جاوا‌اسکریپت شما می‌توانید عملکرد Frontend و زمان دانلود فایل‌های وب‌سایتتان را بهبود بخشید و باعث شوید که مرورگرتان نیازی به ذخیره‌سازی تعداد زیادی فایل نباشد و همچنین تعداد درخواست‌های HTTP نیز کاهش یابد.

برای‌ فعال‌سازی مراحل زیر را طی کنید :

  1.  Configuration (تنظیمات) ⬅️ بخش Development (توسعه) ⬅️ Performance (عملکرد)
  2. تیک گزینه‌های Aggregate and compress CSS files و Aggregate JavaScript files را فعال کنید.
  3. روی گزینه ذخیره تنظیمات کلیک کنید.

نکته : این امکان برای کاربران وارد شده به حساب کاربری و وارد نشده فعال است.

متراکم سازی CSS و JS
متراکم سازی CSS و JS

در صورتی که می‌خواهید به صورت تخصصی تری به متراکم سازی فایل‌های CSS و جاوا‌اسکریپت بپردازید پیشنهاد می‌کنم از افزونه Advanced CSS/JS Aggregation استفاده کنید.

معکوس کردن سرور‌های پروکسی :

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

ترفند‌های اضافی :

  • از یک Client Side برای فرم های خود استفاده کنید. افزونه Clientside Validation یکی از بهینه‌ترین انتخاب هاست و از طریق کد‌های Jquery فعالیت می‌کند.
  • از یک هاست با پشتیبانی از دروپال استفاده کنید.
  • لاگ دیتابیس را از طریق افزونه Syslog-ng غیرفعال کنید.
  • از طریق افزونه DB Tuner متوجه شوید که چرا وب سایتتان آهسته کار می‌کند.
  • افزونه PHP Filter را غیرفعال کنید.

یک هاست سریع انتخاب کنید:

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

پیشنهاد ما تهیه یک هاست ابری یا یک سرور ابری می‌باشد که تمامی منابع مخصوص شماست. دلیل اصلی این پیشنهاد دسترسی شما به منابع می‌باشد.

خلاصه:

ما می‌توانیم از راه‌های زیادی عملکرد دروپال را بهینه سازی کنیم و فقط باید بدانید که باید کجا را اصلاح کنید. با پیاده سازی یک CDN برای عملیات کش ، بهینه سازی تصاویر ، لود تنبل تصاویر ، تعمیر صفحات ۴۰۴ ، متراکم سازی فایل‌های CSS و JS و غیرفعالسازی افزونه‌های غیر‌ضروری می‌توانید وب سایتتان را بهینه سازی کنید.

اگر راه دیگری برای بهینه سازی دروپال می‌شناسید ، با ما در میان بگذارید و همیشه به یاد داشته باشید که ما همیشه در میزفا پاسخگوی سوالات شما در زمینه‌های مختلف هستیم.

علی اسماعیلی
درباره خودم گفتن یا نوشتن کار آسونی نیست. باید تو کم‌ترین حجم مهم‌ترین اطلاعات رو بنویسی. وقتی که اولین بار دستم به کیبورد خورد، ۶ سالم بود. حس جالبی بود؛ زندگیم شده بود ۴ تا کلید WASD روی کیبورد کامپیوتر برای کنترل ماشین. از ۱۰ سالگی که مادرم با فوتوشاپ کار می‌کرد کنارش نشستم و یاد گرفتم. ۱۳ سالم بود که اولین وب‌سایتم رو با پی اچ پی نیوک ایجاد کردم. تا الان وب سایت‌های زیادی رو شروع کردم و شاید به خاطر اینکه هدف تجربه کردن رو داشتم شکست خوردند. موفق‌ترین پروژه شکست خوردم رو می‌تونم اوکسو معرفی کنم که شاید اسمش رو شنیده باشید. الانم دارم کار‌هایی رو شروع می‌کنم چون با خودم عهد کرده بودم که تا بیست سالگی جاهای مختلفی کار کنم و تجربه کنم و بعد از تجربیاتم استفاده کنم. بعد از رسیدن به بیست سالگی خوشحالم که یکی از تجربیات خوبم همکاری با میزفاست و دارم ادامش میدم…

6 نظر

6 پاسخ

  1. سلام و روز بخیر
    در صورتی که بخوایم برای کانتنت، از کش استفاده کنیم بهترین افزونه چی هست؟؟ افزونه ای که بشه بهش تایم (ساعت و دقیقه)داد؟

  2. سلام . وقت بخیر
    ممنون میشم در مورد گزینه های کش که در بلاک های دروپال هست ی توضیحی بدید
    do no cache
    cashe once for everiting
    per page
    per rol
    per rol per page
    per user
    per user per page

    1. سلام حمید جان ، ببین اولین گزینه کلا کش رو غیر فعال میکنه. بعدیش با یک بار کش کل صفحات رو کش میکنه. بعدی per page هست که هر صفحه رو به صورت جدا کش میکنه و خب حقیقتا خیلی کاربردی نیست. گزینه بعدی که البته اشتباه نوشتیش per role هست که بر اساس نقش کاربری هست و مثلا نوعی کش ایجاد میکنه که فقط مخصوص نقش کاربری هست. per user هم بر اساس هر کاربر هستش. اون دوتای دیگه هم تلفیقی از این گزینه هاست مثلا per user per page کش برای هر کاربر در هر صفحه اتفاق میوفته.

      حس میکنم خیلی گنگ ممکنه گفته باشم.

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

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید. Drop file here

با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
معرفی جامع‌ترین ابزار سئو در ایران
بالای ۱۰ هزار عضو
PHZpZGVvIHdpZHRoPSI2MDAiIGhlaWdodD0iMzUwIiBwb3N0ZXI9Imh0dHBzOi8vbWl6ZmEuY29tL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMDUvcG9zdGVyLW1pemZhLXRvb2xzLXZpZGVvLW1pbi5wbmciIGNvbnRyb2xzIHByZWxvYWQ9Im5vbmUiPiANCiAgIDxzb3VyY2Ugc3JjPSJodHRwczovL21pemZhLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA1L21pemZhX3Rvb2xzXzcyMHAubXA0IiB0eXBlPSJ2aWRlby9tcDQiPg0KPC92aWRlbz4=