سلام

قسمت اول مقاله را میتوانید در لینک زیر مشاهده کنید

20 روش برای کاهش مصرف CPU در وردپرس بدون نیاز به بروزرسانی و ارتقا هاست- قسمت اول

۱۱- غیر فعال کردن  Post-Revisioning

یکی از ویژگی های وردپرس ذخیره رونوشت های مختلف از ویرایش محتوای شما در سایت است. به این فرآیند Post Revisioning گفته می شود و به شما کمک می کند تا اگر ناخواسته یا به هر دلیلی به ویرایشی از محتوای خود در روز و زمان مشخصی بخواهید می توانید برگشت کنید ولیکن حجم بسیاری از دیتابیس شما را اشغال کرده و در عرض چند ماه حجم دیتابیس شما به شکل صعودی افزایش پیدا می کند. برای جلوگیری از این ویژگی کافی است Post Revisioning را در فایل wp-config.php غیر فعال کنید.

فایل wp-config.php را در حالت ویرایش باز کنید و به شکل زیر تغییر دهید.

define(‘WP_POST_REVISIONS’, false);

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

define( ‘WP_POST_REVISIONS’, 1 );

در صورتی که بخواهید دیتابیس را از محتوای رونوشت قبلی پاکسازی کنید کوئری زیر را در دیتابیس اجرا کنید.

توجه کنید بهتر است جهت جلوگیری از مشکلات احتمالی، هر زمانی که مستقیم با دیتابیس کار میکنید پیش از هر کاری بک آپی از آن تهیه کنید تا اگر مشکلی به وجود آمد قابلیت Restore کردن را داشته باشید.

DELETE FROM wp_posts WHERE post_type = “revision”;

دقت کنید به جای نام wp_posts با توجه به تنظیمات دیتابیس شما ممکن است پیشوند جداول شما چیز دیگری باشد. شما باید نام جدول پستهای خود را قرار دهید.

همچنین شما می توانید مدت زمان ذخیره سازی را تغییر دهید تا سرعت بهینه تری را داشته باشید. برای تغییر زمان ذخیره سازی رونوشت ها در فایل wp-config تنظیم زیر را انجام دهید.

define( ‘AUTOSAVE_INTERVAL’, 600 );

به صورت پیش فرض هر یک دقیقه یک رونوشت تهیه می شود. با این تنظیم هر 10 دقیقه یک رونوشت ایجاد می شود. می توانید عدد را بیشتر یا کمتر کنید.

 

۱۲-  افزایش حافظه  memory limit در php

یکی از مشکلاتی که سایتهای وردپرسی دارند پایین بودن فضای  memory limit است که روند ذخیره سازی یا بارگذاری محتوا را با کندی روبرو می کند. اگر از یک هاست اشتراکی استفاده می کنید ممکن است دسترسی به این آیتم برای شما محدود شده باشد با اینحال سعی کنید خط زیر را در wp-config.php تنظیم کنید.

define(‘WP_MEMORY_LIMIT’, ‘128M’);

اگر این تنظیمات عمل نکرد از مدیر سرور خود بخواهید تنظیمات را در سرور اعمال کند.

۱۳-  غیر فعال کردن Cron job

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

برای بهینه کردن کرون جاب های وردپرس می توانید wp-cron را غیرفعال کنید و یک کرون جاب از طریق cpanel تنظیم کنید که در زمانبندی مشخصی انجام شود. ولیکن با این کار ممکن است کارکرد افزونه ها با اختلال مواجه شود.

define(‘DISABLE_WP_CRON’, true);

فایل  wp-config.php را باز کنید ، بعد ازخط 14  یک خط جدید اضافه کنید

غیر فعال کردن   Hotlinking and Leaching

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

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?YOUR-DOMAIN.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?linkedin.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?stumbleupon.com [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?google\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?yahoo\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?bing\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?facebook\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?pinterest\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?twitter\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?instagram\.tld [NC]

RewriteCond %{HTTP_REFERER} !^http://([a-z0-9]+\.)?feedburner\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?google\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?yahoo\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?bing\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?facebook\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?pinterest\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?twitter\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?instagram\.tld [NC]

RewriteCond %{HTTP_REFERER} !^https://([a-z0-9]+\.)?feedburner\.tld [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

۱۵-  روشن کردن سرویس  keep alive

Keep-alive  یک تکنولوژی برای اتصال است که در آن از روش اتصال TCP برای اتصال HTTP استفاده می گردد. در این روش نیازی نیست برای هر درخواست یک اتصال جدید ایجاد شود در واقع این اتصال پل ارتباطی است میان وب سرور و مرورگرها که در آن با هر درخواست می توان بیش از یک فایل دریافت کرد. ویژگی های خاص Keep-alive در واقع ایجاد یک اتصال پایدار و مقاوم است.

به زبان ساده تر می توان گفت مرورگر برای اینکه صفحات سایت شما را برای بازدید کننده ها نشان دهد باید فایل های موجود در هدر سایت شما را از سرور درخواست کند. با استفاده از Keep-alive مرورگر فایل های HTML را گرفته و بعد از آن سایر فایل ها را دریافت می کند. از آنجایی که یک صفحه وب از فایل های مختلفی تشکیل شده اگر قرار باشد برای هر کدام از فایل ها یک درخواست ارسال شود باز شدن یک صفحه زمان بیشتری می گیرد و آنچه که این زمان را کاهش می دهد همین ویژگی است. این تغییر سرعت گاهی اوقات تا 50 درصد محاسبه می شود. این موضوع به این معناست که در صورت عدم فعال نمودن Keep-alive مدت زمان باز شدن یک صفحه سایت در مرورگر تا 50 درصد افزایش می یابد.

برای فعال کردن این سرویس شما باید فایل htaccess را ویرایش کنید و کد زیر را به آن اضافه کنید.

<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>

۱۶ – Cache Gravatar

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

دو افزونه زیر می تواند در این زمینه به شما کمک کند.

  • FV Gravatar Cache
  • Harrys Gravatar Cache

 

۱۷- سیستم Outsource Comment ( این رو نمی دونستم چیه)

Outsourcing سیستم کامنت به 3rd party  تا حد زیادی لود سرور شما را کاهش می‌دهد که این امر باعث کاهش فرکانس حمله ربات اسپم نیز می شود.

 

  • Facebook Comment System – من طرفدار این سیستم نیستم ، در پایان روز ، شما نمی توانید کامنت های خود را اکسپورت کنید و شما به سیستم وصل شده اید.
  • Disqus – این محبوب ترین سیستم کامنت است ، شما می توانیدکامنت  را اکسپورت کنید و با بسیاری از سوشال مدیاها کار می کند.
  • IntenseDebate طرح تا حدودی منسوخ شده، بطور کلی مشکلی نیست.

 

۱۸- بلاک اسپمرها

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

برای پیشگیری از این اسپم ها می توان از 3 افزونه زیر استفاده کرد که تمام ترافیک ورودی سایت را بررسی کرده و در صورتی که اسپمی قصد ورود به سایت را داشت آن را مسدود کنند.

  • BBQ: Block Bad Queries
  • Wordfence Security – Firewall & Malware Scan
  • All In One WP Security & Firewall

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

 

۱۹ – فعال کردن http/2 و  OCSP Stapling

این ویژگی فقط برای میزبانی سرور اختصاصی/سرورمجازی قابل اجراست و برای کسانی که از میزبانی مشترک استفاده می کنند توصیه نمی شود. دلیل این امر این است که بدون دسترسی root ، نمی توانید پروتکل ocsp stapling و http/2 را فعال کنید. تا زمانی که توسط شرکت میزبان برای محیط اشتراکی شما در دسترس نباشد ، انتقال به https تنها سرعت سایت شما را کاهش می دهد زیرا https نیاز به handshake اضافی دارد ، این به معنای بایت بیشتر در هر فایل است.

 

۲۰ -عملکرد آپاچی: .htaccess  را غیر فعال کنید

فقط برای میزبانی سرور اختصاصی/سرورمجازی – آخرین و مهمترین نکته این است که اگر دسترسی root دارید ، باید .htaccess را غیرفعال کنید و دوباره آن را مستقیماً در فایل httpd.conf قرار دهید. از سوی دیگر، برخی از نرم افزارهای هاستینگ مانند Plesk این ویژگی را در سیستم خود ایجاد می کنند. یک آموزش طولانی در مورد نحوه غیرفعال کردن .htaccess وجود دارد. این امر به دلیل اینکه نیازی به Apache  برای جستجوی هر فهرست و فایل ندارد ، عملکرد را بسیار بهبود می بخشد و بسیار توصیه شده است.

سرعت وردپرس خود را بررسی و تست کنید

پس از بهینه سازی ، مهم است که نتیجه نهایی را بررسی کنید. ۳ اپلیکیشن وجود دارد که این کار را به صورت رایگان انجام می دهد. Google PageSpeed که مورد علاقه من است. Google Font ها، تم های وب هاستینگ و وردپرس – این مورد احتمالا آخرین چیز در ذهن مردم است. هاست اشتراکی هرگز به سرعت VPS) یا سرور نیمه اختصاصی نخواهد بود. در صورت امکان ، به یک شرکت میزبان بهتر مهاجرت کنید یا برنامه های میزبانی خود را ارتقا دهید. در مورد تم های وردپرس ، برخی از تم ها بد کدگذاری شده اند ،فونتهای وب بسیاری و … را استفاده می‌کنند.  در صورت امکان ، یک تم را از یک توسعه دهنده وب زمان خودخریداری کنید.

  • Google PageSpeed Insight
  • Pingdom Website Speed Test
  • WebPageTest
  • GTMetrix

به یاد داشته باشید که سرعت مهم است اما مهمترین عامل در رتبه بندی نیست.

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

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

*

code