Home / وبلاگ / آموزش / بهینه سازی وردپرس

بهینه سازی وردپرس

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

در این مقاله سعی داریم به این بپردازیم که ما چطوری می تونیم یک نرم افزار بهینه سازی کنیم به طوری که کارهای کم تری انجام بده؟

 

اگر از من بپرسید، عملکرد وردپرس به ۶ حوزه تقسیم کردم که وقتی راجع به بهینه سازی وردپرس فکر می کنیم به راحتی در اختیارمون قرار بگیره :

 

caching

قابل توجه ترین تغییری که می توانید در عملکرد یک وب سایت بوجود بیارید این هست که بعضی از انواع Cachingرا فعال کنید.

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

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

مزایای ذخیره سازی نه تنها به منابع طبیعی وب سرور شما (عملکرد بهتر) کمک می کنه بلکه مشتریانتون هم اون زمان هایی که وقت ندارند تا منتظر بمونن خیلی راضی تر هستند.

ذخیره سازی می تونه از پلاگین های WP Super-Cache یا در فضای ابری از  Content Distribution Network (CDN) استفاده می شه، استفاده کنه. هیچ مشکلی هم با استفاده هر دو رابط هم زمان وجود نداره و جای نگرانی نیست. در بیشتر نمونه ها، بیشتر CDNs ها ترجیح داده می شه چون صاحبان وب سایت با قدرت بیشتری می تونن روی ذخیره سازی داده ها کنترل داشته باشند.

 

Add-On کم تر

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

 

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

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

ذخیره سازی سربرگ ها

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

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

این کار را می شه با پلاگین ذخیره سازی  W3TC  انجام داد. (بهینه سازی > ذخیره سازی مرورگر). اگر به سرور دسترسی دارید می تونید به کمک فایل htaccess این کار انجام بدید.

 

فشرده سازی

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

بهینه سازی تصاویر

کار کردن با تصاویر می تونه خیلی خسته کننده باشه، اما مهمه که توجه ویژه ای به تصاویری که روی وب سایت شما وجود داره داشته باشید. ما این اشتباه قبلا هم انجام دادیم. یک تصویر که ۱۰oMBs حجمش هست خیلی آهسته تر از یک تصویر فشرده شده ۱۰۰KBs لود می شه.

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

روی وردپرس شاید دلتون بخواد نگاهی به Imsanity plugin بندازید که برای تغییر سایز تصاویر برای بارگذاری اون ها روی وب سایت به دردتون می خوره.یک گزینه جالب دیگه برای سایت هایی که تصاویر خیلی با کیفت و سنگین دارند استفاده از CDN هایی مانند Photon هست.

بهینه سازی وب سرور شما

اگر در ابتدا وردپرس به درستی پیکر بندی بشه، می تونیم برای بهینه سازی Apache (رایج ترین نرم افزار مورد استفاده برای وب سرورها) را هم بررسی کنیم. اما اگر شما روی یک سرور اشتراکی یا مدیریت شده هستید، نمی تونید این کارها را انجام بدید. (البته امیدوارم میزبان شما قبلا انجام داده باشه)

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

  • فعال سازی Keep Alive

هر وقت از یک سایت بازدید می کنید، مرورگر شما شروع به برقراری ارتباط با شبکه ( ۳ طرفه) می کنه. اگر از یک صفحه که شامل ده تا تصویر هست بازدید کردید حداقل باید ۱۱ بار این ارتباط ۳ طرفه برقرار بشه.

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

برای این کار httpd.conf را باز کنید و قطعه کد زیر را اضافه کنید لطفا :

  • غیر فعالسازی DNS Lookups

این دستور باعث می شه هر درخواستی که به وب سرور شما داده می شه با تاخیر باشه، زیرا قبل از اینکه درخواست به پایان برسه، باید مجددا به DNS مراجعه بشه. در Apache نسخه ۱٫۳ این تنظیم به صورت پیش فرض غیر فعال شده، اما بد نیست بازم یک بار دیگه چک کنید تا مطمئن بشید. همچنین می تونید اونو در httpd.conf هم پیدا کنید و این خط رااضافه کنید :

همچنین اگر از وب سرور لایت اسپید استفاده کنید بدلیل افزایش عملکرد php، پشتیبانی از چندین کانکشن همزمان، سازگاری با هسته آپاچی و افزایش امنیت گام بزرگی در افزایش سرعت بارگذاری سایتتان برداشته اید.

 

سخت افزار و شبکه

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

  • استفاده از هارد های SSD. اگر این حق انتخاب را دارید که از هارد های SSD استفاده کنید، خب پس بهتره که استفاده کنید. بیشتر سرورها با این هاردها به بازار میان اما باید در ابتدای فرآیند سفارش مشخص بشه. وقتی یک سخت افزار بهینه سازی می کنی، هدف این هست که تمام وقتتو بذاری روی این که چطوری می خونه و می نویسه، آیا می تونی کمکش کنی که از این هم سریع تر بشه، SSD می تونه به سرعتش کمک کنه و این که همونقدری که سریع می شه آیا به اندازه HDD هم قابل اعتماد هست.
  • استفاده از CDN ها. علاوه بر ذخیره سازی ذخایر متداول، CDN برای بهینه سازی ابعاد شبکه ها با کوتاه کردن فاصله بین سایت و بازدید کننده ها کمک می کنند.
  • سرور های اختصاصی. اون مبحث “کارهای کم تر” که در ابتدا صحبتش بود یادتون هست؟ هرچقدر تعداد سرویس هایی که روی سرورتون انجام میشه کم تر باشه خیلی بهتر هست. تمام سرویس هایی که به نظرتون لازم نیست از روی وب سرورتون غیر فعال کنید و فقط اون هایی نگه دارید که برای ادامه فعالیت وبسایتتون لازم هست. اغلب عملکرد بر مبنای بازدید هایی هست که توسط سرورهایی که از منابع دیگر استفاده می کنند سنجیده میشه. (مثل mail servers )

کارآیی و امنیت

چیزی که بیشتر از همه منو هیجان زده می کنه این هست که اکثر توصیه های عملکردی که اینجا ارائه شده دو منظوره است. (اینقدر که ما کارمون درسته) این توصیه ها می تونن به وضعیت امنیت کلیه وب سایت ها هم کمک کنن.

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

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

 

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

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

 

 

برگرفته از [sucuri.net]

Check Also

نام دامنه و تاثیر بر سئو

انتخاب نام دامنه مناسب از اهمیت بالایی برخوردار می باشد و جهت انتخاب نام مناسب …

Watch Dragon ball super