افزایش سرعت سایت وردپرسی با روشهای ساده تا حرفهای

اولن تعامل کاربر با یک سایت، لحظهای است که کاربر روی لینکی از سایت کلیک کرده و در انتظار باز شدن صفحه مورد نظرش است. اگر بارگذاری و نمایش محتوای صفحه با تاخیر قابل توجهی همراه باشد، کاربر از سایت خارج شده و در منابع و سایتهای دیگر، به دنبال جواب یا نیاز خود میگردد. این مشکل میتواند باعث افزایش نرخ پرش یا بانس ریت (Bounce Rate) در سایتها شده و گوگل نیز رغبت کمتری برای قرار دادن آنها در نتایج جستجو پیدا میکند. در نتیجه، افزایش سرعت سایت و نمایش سریع محتوای آنها به کاربران، از مهمترین کارهایی است که باید روی یک سایت وردپرسی انجام شود.
در ادامه این مطلب از وبلاگ سبزلرن، قصد صحبت درباره روشهای افزایش سرعت سایتهای وردپرسی را داریم. همچنین بیش از 30 اقدام مهم برای بهینه سازی سرعت و کاهش زمان بارگذاری صفحات سایت را جمعآوری و برای شما در این مطلب قرار دادهایم. اگر از قبل، با وردپرس آشنا بوده یا از دانشجویان دوره آموزش وردپرس باشید، بهتر میتوانید با این مباحث، ارتباط برقرار کنید.
منظور از سرعت سایت چیست؟
سرعت سایت، در واقع مدت زمانی است که یک صفحه از سایت شما، به صورت کامل به کاربر نمایش داده شود؛ یا حداقل محتوای اصلی در صفحه نمایش پیدا کند. هدف از افزایش سرعت سایت، کاهش زمان بارگذاری صفحه و نمایش سریعتر محتوا به بازدید کننده است؛ علاوه بر این، این موضوع در رتبه بندی سایت در موتورهای جستجو نیز تاثیر زیادی دارد. اگر کاربر با سایتی مواجه شود که به کندی باز شده و انگار با ذغال سنگ کار میکند، صرفنظر از محتوای آن صفحه، آن را ترک میکند. این یک سیگنال بد از سایت برای گوگل ارسال کرده و ممکن است در دفعات بعد، سایت ما به کاربر نمایش داده نشود.
اگر کمی با دید فنی به قضیه سرعت در سایتها نگاه کنیم، با مولفهای به نام Core Web Vitals یا هسته حیاتی وب، آشنا میشویم. Core Web Vitals یا CWV در سال 2020 توسط گوگل معرفی شد و از آن زمان تاکنون، به عنوان یکی از مهمترین فاکتورهای سئو نیز شناخته میشود. 3 معیار مهم در CWV وجود دارد:
- بزرگترین محتوای صفحه یا LCP: مخفف Largest Contentful Paint بوده و مدت زمان بارگذاری بزرگترین عنصر در یک صفحه را نشان میدهد. معمولا تصاویر، به عنوان LCP درنظر گرفته میشوند.
- اولین تاخیر ورودی یا FID: مخفف First Input Delay و نشان دهنده مدت زمانی است که کاربران بعد از بارگیری LCP، میتوانند با صفحه تعامل پیدا کنند. مثلا یک گزینه را از منو انتخاب کنند یا روی لینکی کلیک کنند.
- ثبات بصری یا CLS: مخفف عبارت Cumulative Layout Shift بوده و به ثبات بصری صفحه اشاره دارد. اینکه در صورت بارگذاری عناصر غیرضروری، متن یا دکمهها دچار جابجایی نشوند تا کاربر، ناخواسته روی گزینه اشتباهی کلیک نکند.
در سال 2024، شرکت گوگل اعلام کرد که از معیاری به نام INP (مخفف Interaction to Next Paint) به جای FID استفاده خواهد کرد. به صورت کلی، این دو تفاوت زیادی با یکدیگر نداشتند؛ غیر از نوع و دقت اندازه گیری تعاملات کاربر با صفحه! معیار FID فقط تأخیر اولین تعامل کاربر را میسنجید، در حالی که INP عملکرد کلی تعاملات را در کل زمان حضور کاربر بررسی میکند. اگر علاقه به مطالعه دقیق درباره CWV دارید، میتوانید به مستند رسمی گوگل در این باره مراجعه کنید.
توضیح درباره مفهوم سرعت در سایتها کافیست. در ادامه، طی 3 بخش که براساس سختی و نیاز به دانش فنی مرتب سازی شده، مهمترین راه های افزایش سرعت سایت وردپرسی را با یکدیگر بررسی میکنیم.
روشهای افزایش سرعت سایت وردپرس بدون نیاز به افزونه یا کدنویسی
این روشها، از جمله ابتداییترین راه های افزایش سرعت سایت محسوب میشود و اعمال آنها، میتواند تاثیر قابل توجهی بر کاهش زمان بارگذاری سایت داشته باشد. همچنین نیازی به نصب افزونه یا کدنویسی ندارند و افراد مبتدی نیز میتوانند آنها را انجام دهند.
برای خرید هاست، دست و دلباز باشید!
برای سایتهای وردپرسی کوچک، هاست اشتراکی گزینه جذاب و مقرون به صرفهای محسوب میشود؛ اما در ساعاتی از روز، مشکلاتی نیز دارد. برای مثال، اکثرا بین ساعات 12 تا 3 ظهر، سرعت سایت تا حد زیادی کم شده و در مواردی، ممکن است اصلا باز نشود این مشکل به دلیل میزبانی تعداد زیادی سایت در یک سرور است که توسط شرکت هاستینگ انجام میشود. راه حل این مشکل، خرید یک هاست با امکاناتی بیشتر از نیاز فعلی سایت شما است. برای مثال، اگر طبق تخمینتان، به یک فضای میزبانی با 3 گیگابایت فضا، 2 گیگابایت رم و 2 هسته پردازشی نیاز دارید، سرویسی با دو برابر این امکانات تهیه کنید تا در ساعات پرترافیک اینترنت، سایتتان دچار کندی نشود!
البته، هاست پرقدرت برای افزایش سرعت سایت وردپرسی مهم است؛ اما کافی نیست!
استفاده از قالب سبک و بهینه
خب. همین ابتدا یک مسئله را بدانید! هیچ قالب وردپرس همهچیز تمام و کاملی وجود ندارد که کاملا برای سایت شما، بهینه باشد! شما باید به دنبال قالبی باشید که علاوه بر طراحی خوب و امکانات کافی، از نظر کدنویسی نیز در شرایط خوبی قرار داشته باشد. همچنین اگر قصد استفاده از قالبهای خام نظیر Hello Elementor و طراحی سایت با آنها را دارید، باید مراقب کدهای اضافی نیز باشید!
در کل، بهترین کار این است که از قالبی استفاده کنید که از جدیدترین نسخههای زبانهای برنامه نویسی پشتیبانی کند. کدهای جاوا اسکریپتی زیادی نداشته باشد و ماژولهای مختلف آن، امکان غیرفعال شدن داشته باشند. همچنین قالبهای پیشفرض و غیرفعال را در وردپرس حذف کنید.
کاهش تعداد افزونههای نصبشده
نصب افزونههای متعدد، علاوه بر اشغال مقدار زیادی از فضای ذخیره سازی هاست، کدهای زیادی را هم در هر صفحه اضافه میکنند. این کدها به مرور باعث افزایش حجم صفحات سایت شده و زمان لازم برای بارگذاری صفحه را افزایش میدهند. افزونههای غیرضروری را حذف کنید یا از یک توسعه دهنده وردپرس بخواهید برخی از آنها را به صورت ادغام شده یا پیاده سازی در هسته وردپرس، به شما ارائه دهد.
تصاویر را قبل از آپلود، بهینه کنید!
یکی از مهمترین روشهای افزایش سرعت سایت، بهینه کردن حجم و فرمت تصاویر است. با استفاده از ابزارهایی مثل نرم افزار Total Image Converter یا سایتهای TinyPNG و فشار (ایرانی) میتواند حجم تصاویر موردنظرتان را کم کرده و حتی آن را به فرمت بهینه WebP تبدیل کنید. با این کار، علاوه بر کاهش فضای مصرف شده هاست، حجم کلی صفحات سایتتان را کاهش پیدا میکند.
حذف ابزارکها و بلوکهای غیرضروری
در قالبهای آماده، ابزارکها و قسمتهای اضافی زیادی در صفحات وجود دارند که نبودشان، اهمیتی برای سایت ندارد. بهتر است این عناصر را حذف کرده و تنها ابزارکها و بلوکهای ضروری که برای سایتتان مهم هستند را در صفحات نگه دارید. با این کار، هم حجم کدهای صفحات کاهش پیدا میکنند و هم تعداد درخواستهای HTTP ارسال شده به سرور، کمتر میشود.
سایر اقداماتی که میتوانند بدون افزونه و کد نویسی به افزایش سرعت سایت وردپرسی شما کمک کنند، عبارتند از:
- استفاده از آخرین نسخه PHP
- بهروز نگه داشتن وردپرس
- بهروز نگه داشتن قالب
- فعال کردن فشردهسازی Gzip در سرور
- کاهش تعداد درخواستهای HTTP
- غیرفعال کردن پینگبکها و ترکبکهای غیرضروری
- محدود کردن تعداد پستهای نمایش داده شده در هر صفحه
- اجتناب از استفاده از ویدیوهای سنگین به صورت خودکار
- محدود کردن استفاده از اسکریپتهای خارجی
افزایش سرعت سایت وردپرسی با افزونه
زمانی که کمی در وردپرس و بحث سرعت تجربه کسب کردید، زمان استفاده از افزونهها برای دسترسی به برخی قابلیتهای پیشرفته است. با استفاده از افزونههای افزایش سرعت سایت، میتوانید برخی تغییرات که در حالت عادی به کدنویسی نیاز دارند را به سادگی در سایت ایجاد کنید. در ادامه، برخی از مهمترین روشهای افزایش سرعت وردپرس با افزونه را بررسی میکنیم.
فعالسازی حافظه موقت یا کش (Cache)
کش، در واقع یک سیستم ذخیره اطلاعات است که در اولین دفعه ورود به سایت، برخی از اطلاعات ضروری نظیر فایلهای استایل، اسکریپتهای ضروری سایت و فونتها را در مرورگر بارگیری میکند. این کار باعث میشود در دفعات بعدی حضور شما در سایت، صفحات زودتر و سریعتر بارگیری شوند. چندین نوع Cache وجود دارد که هرکدام میتوانند در افزایش سرعت سایت شما تاثیرگذار باشند. میتوانید با استفاده از افزونههای کشینگ مانند WP Rocket یا LiteSpeed Cache این قابلیت را در سایت خود پیادهسازی کنید.
استفاده از قابلیت بارگذاری تنبل (Lazy Load) برای تصاویر و ویدیوها
این قابلیت، یکی از کاربردیترین و بهترین روشهای بهینه سازی سرعت سایت وردپرسی است که با ایجاد تاخیر در بارگیری رسانهها، حجم صفحه را کمتر میکنند. در این روش، تصاویری که در اول بخش از صفحه هستند، به صورت عادی بارگیری میشوند؛ اما بقیه تصاویر بعد از اسکرول و رسیدن کاربر به آن قسمت از صفحه، بارگیری و نمایش داده میشوند. به این ترتیب، مرورگر نیازی به بارگیری همه تصاویر موجود در صفحه به صورت یک باره را ندارد و در صورت نزدیک شدن کاربر به محل قرارگیری تصاویر، اقدام به فراخوانی آنها میکند.
ترکیب و فشرده سازی فایلهای CSS و JS با افزونه
بعد از تصاویر، سنگینترین فایلهای یک صفحه وب مربوط به کدهای CSS و JS هستند. درصد قابل توجهی از قالبهای وردپرسی موجود در بازار، از تعداد زیادی فایل CSS و JS با حجم پایین استفاده میکنند که تنها باعث افزایش درخواستهای ارسال شده به سرور شما میشود. بسیاری از این فایلها میتوانند با یکدیگر ادغام شده و تعداد درخواستهای ارسالی به سرور را کاهش دهند؛ در نتیجه سرور میتواند به درخواستهای تعداد بیشتری از صفحههای سایت شما پاسخ دهد و به این صورت، زمانی که بازدید سایت شما بالاتر برود، فشار کمتری به ازای هر صفحه به سرور اعمال میشود.
افزونههای WP Rocket و W3 Total Cache و بسیاری از افزونههای بهینه سازی سرعت وردپرس از این قابلیت با نام مینیفای (Minify) پشتیبانی میکنند.
مدیریت بارگذاری فونتها، اسکریپتها و کدهای غیرضروری
در برخی از افزونههای وردپرس نظیر Asset CleanUp، امکان مدیریت بارگذاری فونتها و اسکریپتها فراهم شده است. این قابلیت به شما کمک میکند فایلهای مختلفی که در هر صفحه از سایت شما فراخوانی میشوند را بررسی کرده و در صورت نیاز، بارگیری آنها را غیرفعال کنید. برای مثال، ممکن است یک فایل CSS در صفحه محصولات سایت شما فراخوانی شود که در هیچکدام از بخشهای صفحه، از آن استفاده نشده! یا برعکس، ممکن است یک فایل در همه صفحات فراخوانی شود در صورتی که تنها مربوط به صفحه تماس باشد؛ در این حالت میتوانید فراخوانی فایل مربوطه را در باقی صفحات غیرفعال کنید.
در موارد دیگر، ممکن است در ابتدای بارگذاری صفحه، نیاز به اجرای یک فایل جاوا اسکریپتی وجود نداشته باشد. در این حالت، میتوان با استفاده از قابلیتهایی نظیر Async و Defer فرآیند بارگیری فایلهای JS در هر صفحه را مدیریت کرد. ترتیب صحیح اجرای فایلهای ضروری میتواند باعث کاهش مدت زمان TBT یا Total Blocking Time در سایت شود که یکی از فاکتورهای مکمل در Core Web Vitals است.
این روش برای انواع اسکریپتها، فایلهای CSS و فونتها کاربرد دارد.
سایر کارهای مهم برای افزایش سرعت سایت وردپرس با افزونه
از دیگر روشهایی که میتواند به سرعت سایت وردپرسی شما اضافه کند، میتوان به موارد زیر اشاره کرد:
- پاکسازی دیتابیس از اطلاعات اضافی با WP-Optimize
- بارگذاری فونتهای گوگل به صورت لوکال
- غیرفعالسازی ایموجیها در وردپرس
- جلوگیری از بارگذاری خودکار اسکریپتهای ووکامرس در صفحات غیرفروشگاهی
- استفاده از قابلیتهای Preload و Prefetch در افزونههای کش
- استفاده از قابلیت AMP برای نسخه موبایل سبک و سریع (در صورت نیاز)
- استفاده از افزونههای CDN (برای هر سایتی مناسب نیستند)
افزایش سرعت سایت وردپرسی به سبک حرفهایها
به جذابترین قسمت از این مطلب رسیدیم. اگر سایت بزرگی بزرگی دارید، استفاده از افزونه نمیتواند یک راهکار دائمی باشد. در این حالت، باید به کدنویسی و سروکله زدن با سرور و کنترل پنل مشغول شوید تا بهترین خروجی سرعت را از سایت خود دریافت کنید. برای جلوگیری از طولانی شدن بیش از حد این مطلب، روشهای افزایش سرعت سایت با کدنویسی را به صورت لیست برای شما قرار دادهایم!
- مرتب سازی و رعایت اولویت در فایلهای CSS و JS یک صفحه
- فشرده سازی، ادغام یا کوچک کردن فایلهای استایل و اسکریپتها به صورت دستی
- حذف کدهای پیشفرض و غیرضروری وردپرس نظیر wp-embed.js و JQuery-Migrate
- فعالسازی GZip در htaccess یا Brotli در NGINX
- تنظیم کش مرورگر برای فایلهای استاتیک با Expires و Cache-Control
- پیادهسازی Lazy Load با JavaScript ساده و IntersectionObserver
- بارگذاری ویدیو با iframe و دکمه placeholder به همراه بارگذاری بعد از کلیک
- فعالسازی HTTP/2 یا HTTP/3 در هاست (در صورت امکان)
- پیادهسازی کش سمت سرور با Redis یا Memcached بهصورت دستی
- استفاده از کوئریهای استاتیک به جای AJAX برای محتوای کمتغییر
- جدا کردن کدهای پرحجم از قالب اصلی و بارگذاری به صورت شرطی
- استفاده از fields => ids در فایل WP_Query برای کاهش بار دیتابیس
- افزودن ایندکس به جداول دیتابیس پرترافیک (برای سایتهای پربازدید و شلوغ)
- استفاده از dns-prefetch و preconnect و preload در تگ head
البته که دهها مورد کوچک و بزرگ دیگر برای افزایش سرعت سایت با کدنویسی وجود دارد؛ اما در اکثر مواقع، همین موارد برای بهبود سرعت سایت کافی هستند. در صورتی که اقدامات دیگری با تاثیر مثبتی بر سرعت سایت میشناسید، میتوانید در بخش نظرات ارسال کنید!
نظری برای این مقاله ثبت نشده است