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

۱. عکس‌های بیش از حد سنگین

رایج‌ترین دلیل. عکسی که با دوربین گوشی گرفته شده چند مگابایت است؛ مرورگر موبایل باید آن را روی اینترنت ضعیف بکشد و بعد تازه رنگش کند. معمولاً یک صفحهٔ فروشگاهی یا نمونه‌کار، ده‌ها عکس با همین سرنوشت دارد.

راه‌حل: قبل از آپلود عکس را به اندازهٔ واقعی نمایش در صفحه ببرید، فرمت‌های فشرده مثل WebP یا AVIF را به‌جای JPEG ترجیح دهید، و برای تصویرهای پایین‌تر از صفحه loading="lazy" بگذارید تا هنگام باز شدن صفحه کشیده نشوند.

۲. فونت‌های زیاد و بلاک‌کننده

هر فونت یک فایل جدا دارد و تا نرسد، متن یا ناپیدا می‌ماند یا پرش می‌کند. سایتی که برای هر تیتر و هر متن فارسی و لاتین چندین فونت بارگذاری می‌کند، روی موبایل چند ثانیه فقط صرف فونت می‌کند.

راه‌حل: حداکثر دو خانواده فونت، فقط وزن‌هایی که واقعاً استفاده می‌شوند، و قانون font-display: swap تا متن سریع دیده شود. برای فارسی، فونت‌های سبک و متن‌باز مثل وزیرمتن انتخاب مناسبی هستند.

۳. اسکریپت‌های شخص ثالث

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

راه‌حل: فهرست این ابزارها را دربیاورید و بپرسید هرکدام الان واقعاً لازم است؟ غیرضروری‌ها را حذف کنید و بقیه را با defer یا async بارگذاری کنید تا متن و عکس جلوتر بیفتند.

۴. هاست کند یا اشباع‌شده

اگه پاسخ سرور (TTFB) طول بکشد، هیچ بهینه‌سازی در صفحه این مشکل را جبران نمی‌کند. هاست‌های اشتراکی ارزان معمولاً منابع را بین صدها سایت مشترک‌اند؛ در ساعات شلوغ، سایت شما منتظر می‌ماند.

راه‌حل: زمان پاسخ سرور را اندازه بگیرید (ابزار PageSpeed Insights گوگل یا هر ابزار سنجش TTFB). اگر پاسخ از همین ابتدا کند است، ارتقای پلن یا جابه‌جایی هاست اولویت دارد، نه تغییر قالب.

۵. قالب و افزونه‌های اضافه

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

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

۶. نبود کش (Caching)

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

راه‌حل: کش مرورگر را در سرور فعال کنید (هر فایل ثابت مدت اعتبار مشخص داشته باشد) و اگر امکانش هست، از یک لایهٔ کش سرور یا CDN استفاده کنید. برای فایل‌های ثابت، تغییر نام هنگام بروزرسانی (versioning) فراموش نشود.

۷. کد CSS و JS بدون فشرده‌سازی

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

راه‌حل: ابزار بیلد (مثل Vite یا ابزارهای بهینه‌ساز وردپرس) باید در خروجی نهایی فایل‌ها را کوچک و فشرده کند. کدهایی را که ماه‌هاست اجرا نمی‌شوند، حذف کنید.

چطور اندازه بگیرید؟

بدون اندازه‌گیری، بهینه‌سازی حدس است:

  • PageSpeed Insights گوگل — گزارش موبایل، امتیاز و فهرست مشکلات.
  • Chrome DevTools بخش Network — با حالت موبایل و شبکه کند، ببینید دقیقاً چه چیزی و با چه وزنی دانلود می‌شود.
  • همین سایت: آدرس سایت‌تان را در آزمون رایگان سایت بیندازید؛ آزمون در مرورگر خودتان انجام می‌شود و آنچه را بتوان بخواند می‌نویسد.

از کجا شروع کنید؟

ترتیب پیشنهادی ما، از بیشترین اثر با کمترین هزینه:

۱. عکس‌ها را فشرده و کوچک کنید. ۲. اسکریپت‌های شخص ثالث غیرضروری را حذف کنید. ۳. کش را فعال کنید. ۴. زمان پاسخ سرور را اندازه بگیرید و در صورت نیاز هست را عوض کنید. ۵. بعد سراغ ساختار و قالب بروید.

اگر بعد از همهٔ اینها سایت هنوز کند بود، مسئله به ساختار خود سایت برمی‌گردد — آن موقع است که باید بین تعمیر و بازسازی یکی را انتخاب کنید.