SHET21

حل مشکل کند بودن وردپرس با چند روش ساده

حل مشکل کند بودن وردپرس با چند روش ساده

خیلی از ما وقتی سایتمون کند میشه، اولین کاری که می‌کنیم اینه که می‌ریم دنبال یه افزونه که «درستش کنه». بعد سه تا افزونه نصب می‌کنیم، سایت هم کندتر میشه، هم ظاهرش بهم می‌ریزه. آشناست نه؟

توی این مقاله می‌خوایم قدم به قدم بریم سراغ اینکه چرا سایت وردپرسی کند میشه و چطور واقعاً درستش کنیم. نه با یه لیست کلیشه‌ای، بلکه با همون چیزایی که توی پروژه‌های واقعی جواب می‌ده.

آنچه در این مقاله می‌خوانید

اهمیت سرعت سایت برای سئو

قبل از اینکه بریم سراغ راهکارها، بذارید ببینیم اصلاً چرا باید انقدر روی سرعت حساس باشیم.

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

تأثیر سرعت بر تجربه کاربری و قانون ۳ ثانیه

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

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

رابطه سرعت سایت با نرخ پرش (Bounce Rate)

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

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

تأثیر سرعت بر نرخ ماندگاری و نرخ تبدیل

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

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

روش‌های حل مشکل کند بودن وردپرس

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

کاهش تبلیغات داخل صفحه مثل پاپ‌آپ

می‌دونم، اولین واکنشتون اینه که «ولی ما از تبلیغات درآمد داریم». درسته. ولی بذارید ببینیم دقیقاً چه اتفاقی می‌افته.

چرا کدهای تبلیغاتی سرعت لود رو کم می‌کنن؟

هر تبلیغ پاپ‌آپ یه تیکه کد جاوا اسکریپته که باید اجرا بشه. معمولاً هم این کد از یه سرور دیگه (سرور شبکه تبلیغاتی) گرفته می‌شه. یعنی مرورگر کاربر باید صبر کنه تا:

۱. کد از اون سرور بیاد ۲. اجرا بشه ۳. محتوای تبلیغ رو بگیره ۴. نمایشش بده

حالا این رو ضربدر پنج تا تبلیغ کنید. سایت داره منتظر پنج تا سرور خارجی می‌مونه که هیچ کنترلی روشون ندارید.

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

استفاده از قالب سبک و مناسب

قالب سایت شاید مهم‌ترین تصمیمیه که برای سرعت می‌گیرید، چون بعداً عوض کردنش دردسر داره.

خیلی از قالب‌های چندمنظوره، همون‌هایی که توی دموشون بیست تا طرح مختلف نشون می‌دن ، پشت صحنه دارن کلی کد و فایل لود می‌کنن که شما اصلاً ازشون استفاده نمی‌کنید.

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

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

اینجا جاییه که خیلی‌ها اشتباه می‌کنن. هاست ۵۰ هزار تومنی می‌خرن بعد هزار تا افزونه بهینه‌سازی نصب می‌کنن تا سرعتش رو جبران کنن. جواب نمی‌ده.

موقعیت مکانی سرور

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

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

این یکی رو کمتر کسی چک می‌کنه: روی سروری که هاست شما روش نشسته، چند تا سایت دیگه هست؟

توی هاست اشتراکی ارزون، ممکنه صدها سایت روی یه سرور باشن. یعنی دارید منابع رو با همه اون‌ها شریک می‌شید. اگه یکیشون ترافیک سنگین بگیره، سایت شما کند می‌شه بدون اینکه تقصیر شما باشه.

محدودیت منابع هاست

یه سناریوی خیلی رایج: همه کارها رو انجام دادید، کش فعاله، تصاویر بهینه‌ست، ولی باز سایت کنده. برید تنظیمات هاستتون رو نگاه کنید. احتمالاً به سقف منابع (CPU یا RAM) خوردید و سرور داره درخواست‌ها رو صف می‌کنه.

فعال کردن کش سایت

اگه بخوایم فقط یه کار رو پیشنهاد بدیم، همینه. کش بیشترین تأثیر رو با کمترین زحمت داره.

کش مرورگر چطور کار می‌کنه؟

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

کش می‌گه چرا این همه کار رو تکرار کنیم؟ نسخه آماده صفحه رو ذخیره می‌کنه و دفعه بعد مستقیم همون رو تحویل می‌ده. تفاوتش می‌تونه بین ۲ ثانیه و ۰.۳ ثانیه باشه.

انواع کش: صفحات، مرورگر، PHP و آبجکت

چند نوع کش داریم که با هم قاطی می‌شن:

  • کش صفحات: نسخه آماده HTML روی سرور ذخیره می‌شه. مهم‌ترین نوع.
  • کش مرورگر: فایل‌هایی مثل لوگو، فونت و CSS روی کامپیوتر خود کاربر می‌مونه. دفعه بعد که میاد، دیگه دانلودشون نمی‌کنه.
  • کش PHP: کدهای وردپرس به شکل کامپایل‌شده نگه داشته می‌شن تا سرور هر بار از اول پردازششون نکنه.
  • کش آبجکت: نتیجه کوئری‌های تکراری دیتابیس توی حافظه (Redis یا Memcached) می‌مونه. برای سایت‌های سنگین و فروشگاه‌ها خیلی مؤثره، ولی هاست باید پشتیبانی کنه.

یه نکته مهم: صفحاتی مثل سبد خرید، تسویه حساب، حساب کاربری و صفحه ورود نباید کش بشن. وگرنه ممکنه کاربر سبد خرید یه نفر دیگه رو ببینه. افزونه‌های خوب این‌ها رو خودکار استثنا می‌کنن، ولی حتماً یه بار خودتون تست کنید.

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

Gzip محتوای صفحه رو قبل از ارسال فشرده می‌کنه. مثل اینکه به جای فرستادن یه پوشه پر از فایل، zip کنید و بفرستید. حجم می‌تونه تا ۵۰ تا ۸۰ درصد کم بشه.

روش اول: افزودن کد به فایل htaccess

اگه سرورتون آپاچیه، این کد رو به فایل .htaccess اضافه کنید:

apache

#Gzip
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
#End Gzip

قبل از هر تغییری توی این فایل، یه کپی ازش بگیرید. یه اشتباه کوچیک اینجا کل سایت رو با خطای ۵۰۰ می‌خوابونه.

روش دوم: استفاده از افزونه

اگه با فایل htaccess راحت نیستید (که کاملاً هم قابل درکه) بیشتر افزونه‌های کش این گزینه رو دارن. یه تیک می‌زنید و تمومه.

بهینه‌سازی فایل‌های CSS و JS

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

فشرده‌سازی و حذف CSS بلااستفاده

فشرده‌سازی یعنی فاصله‌ها، خط‌های خالی و کامنت‌های داخل فایل‌های CSS و JS حذف بشن. این کار تقریباً همیشه بی‌خطره.

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

تعویق و تأخیر اجرای جاوا اسکریپت

دو تا مفهوم شبیه هم ولی متفاوت:

  • تعویق (Defer): اسکریپت‌ها بعد از لود شدن محتوای صفحه اجرا می‌شن، نه وسط کار.
  • تأخیر تا تعامل (Delay): اسکریپت اصلاً اجرا نمی‌شه تا وقتی کاربر یه کاری بکنه. موس تکون بده، اسکرول کنه، چیزی لمس کنه.

تأخیر تا تعامل برای اسکریپت‌های غیرضروری مثل چت آنلاین و آمارگیر فوق‌العاده‌ست.

هشدار: چه چیزهایی ممکنه خراب بشه؟

اینو جدی بگیرید. گزینه‌های زیر بیشترین احتمال دردسر رو دارن:

  • حذف CSS بلااستفاده → ممکنه بخشی از استایل صفحه بپره
  • تعویق jQuery → اسلایدرها و منوها ممکنه کار نکنن
  • تأخیر JS → مینی‌سبد فروشگاه یا فرم‌ها ممکنه جواب ندن

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

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

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

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

WebP یه فرمت تصویره که با کیفیت تقریباً یکسان، حجم خیلی کمتری داره.

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

بارگذاری تنبل (Lazy Load) تصاویر و ویدیو

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

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

یه نکته: روی تصاویری که بالای صفحه هستن (مثل بنر اصلی) لیزی لود رو فعال نکنید. اون‌ها باید فوری لود بشن.

پاکسازی و بهینه‌سازی پایگاه داده

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

چیزهایی که معمولاً می‌شه با خیال راحت پاک کرد:

  • نظرات اسپم و زباله‌دان
  • بازنگری‌های قدیمی نوشته‌ها
  • داده‌های موقت منقضی‌شده
  • اطلاعات یتیم (داده‌هایی که به هیچ نوشته‌ای وصل نیستن)

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

افزونه‌های افزایش سرعت وردپرس؛ کدام رو انتخاب کنیم؟

حالا رسیدیم به سؤالی که احتمالاً از اول ذهنتون بوده.

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

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

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

افزونه رخش

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

افزونه رخش
افزونه رخش

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

برای شروع، چیزهایی که باید بدونید:

  • پیش‌نیازها: وردپرس ۶.۵ به بالا و PHP ۸.۱ به بالا. برای WebP هاستتون باید پشتیبانی کنه.
  • ترتیب راه‌اندازی: اول جادوگر نصب رو تموم کنید، بعد کش صفحات رو روشن بذارید و تنظیمات وب‌سرور رو تأیید کنید، بعد یه بار خزنده رو اجرا کنید. گزینه‌های پیشرفته CSS و JS رو بذارید برای آخر و یکی‌یکی.
  • محدودیت‌ها: کش آبجکتش به Redis یا Memcached روی سرور نیاز داره؛ اگه هاستتون نداره، این بخش کار نمی‌کنه و باید خاموش بمونه. گزینه‌های حذف CSS بلااستفاده و تأخیر JS هم مثل هر افزونه دیگه‌ای، ممکنه با اسلایدر یا ووکامرس تداخل کنه و باید تست بشن.

کلاً هر افزونه‌ای که انتخاب کنید، منطقش یکیه: با تنظیمات محافظه‌کارانه شروع کنید، بعد قدم به قدم جلو برید و هر بار تست کنید.

تست و رتبه‌دهی سرعت سایت با GTmetrix

بدون اندازه‌گیری، دارید کور کار می‌کنید. سایت GTmetrix رایگانه و آدرس سایتتون رو می‌گیره و یه گزارش کامل می‌ده.

نتایج آنالیز GTMetrix
نتایج آنالیز GTMetrix

رتبه‌های A تا F به چه معناست؟

GTmetrix به سایتتون نمره‌ای از A تا F می‌ده. A یعنی عالی، F یعنی جای کار زیاد داره. هدف منطقی اینه که A یا B بگیرید.

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

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

سؤالات متداول

چرا سایت وردپرسی من کنده؟

معمولاً یکی از این سه تا: هاست ضعیف، قالب سنگین، یا تصاویر بهینه‌نشده. اول این سه تا رو چک کنید، بعد برید سراغ بقیه.

سرعت مناسب لود سایت چند ثانیه‌ست؟

زیر ۲ ثانیه خوبه، زیر ۱ ثانیه عالیه. بالای ۳ ثانیه یعنی دارید کاربر از دست می‌دید.

آیا افزونه کش باعث خرابی ظاهر سایت می‌شه؟

خود کش صفحات معمولاً بی‌خطره. چیزی که ممکنه دردسر بسازه، گزینه‌های پیشرفته‌ست: حذف CSS بلااستفاده، تعویق jQuery و تأخیر JS. این‌ها رو یکی‌یکی فعال کنید و هر بار تست کنید.

جمع‌بندی

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

مهم‌تر از همه: قبل و بعد از هر تغییر تست بگیرید. بدون عدد، فقط دارید حدس می‌زنید. موفق باشید. 🙂

نظر شما در این مورد چیه؟

  1. U412262۱۶ اردیبهشت ۱۴۰۵

    آیا کم بودن فضای هاست به سرعت سایت ربطی داره ؟
    و اینکه هاست لینوکس هاست خوبیه دیگه ؟

    • تیم پشتیبانیتیم پشتیبانی۲۳ اردیبهشت ۱۴۰۵

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

  2. U352105۳۰ مرداد ۱۴۰۳

    با سلام من یه مشکلی داشتم
    وقتی سایت رو باز میکنم بعد چن ثانیه یه نوار مشکی باز میشه شبیهبه پاپ اپ که روی اون کلیک میکنم خط میرتش قالبمذوود مارت هست و فقط یه پاپ اپ بیشتر ندارم توی لیست پاپ اپ هام که اون هم خودم ساختم

  3. U311104۲۱ اردیبهشت ۱۴۰۳

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

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

    هیچ اموزشی در موردش پیدا نکردم

  4. U328022۲۳ مرداد ۱۴۰۲

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

    • تیم پشتیبانیتیم پشتیبانی۲۴ مرداد ۱۴۰۲

      درود
      متاسفانه این خدمات رو ارائه نمیدیم در حال حاضر
      https://mihanwp.com/academy/website-management/
      پیشنهاد میکنیم دوره جامع رو تهیه کنید یک فصل از دوره به صورت کامل به افزایش سرعت سایت اختصاص داده شده

  5. کاربر مهمان۲۵ آذر ۱۳۹۷

    سلام . قسمت دومش تولید نشده ؟

  6. کاربر مهمان۱۷ دی ۱۳۹۶

    سلام، افزایش تصحیح شود: ….و همینطور راه کار هایی برای فازایش سرعت سایت های وردپرسی مطرح کنیم

    • تیم پشتیبانیتیم پشتیبانی۱۷ دی ۱۳۹۶

      سلام. ممنون از توجه و حمایت شما دوست عزیز.

  7. U163۱۵ دی ۱۳۹۴

    خیلی ممنون از پاسختون 🙂

  8. U163۱۵ دی ۱۳۹۴

    سلام
    خیلی ممنون از آموزش های عالیتون.
    یه سوال: والا سرعت سایتم خیلی خوبه و قالب فلتتونو استفاده میکنم که خیلی سبکه :). ولی داشبورد خود وردپرس خیلی سنگینه یعنی لود صفحات خیلی طول میکشه پلاگین های زیادیم نصب نکردم(فقط چندتا پلاگین معروف مثل yoast seo و ..)و تعداد کاربران همزمانم از 4 5 تا بیشتر نمیشه ولی از هاستم مطمئن نیستم چون شرکتی که من ازش هاست دارم مشتریاش زیاده و ممکنه oversell کنه. به نظرتون مشکل از کجا میتونه باشه؟

    • رضا راد۱۵ دی ۱۳۹۴

      سلام
      اگر مشکل از پنل مدیریت هست احتمال 90 درصد از هاستینگ هست و میزان فضای رم اختصاص یافته به هر اسکریپت

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسآنلاین و پاسخگوی شما هستیم.آنلاین

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.