ای‌نگاه

افزایش سرعت سایت

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

اول از جایی اندازه بگیرید که کاربرتان آنجاست

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

جای سرور، بزرگ‌ترین تصمیم این فهرست

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

زمانی که سرور طول می‌دهد تا اولین جواب را بدهد

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

عکس‌ها، سنگین‌ترین چیزی که خودتان اضافه می‌کنید

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

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

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

کش صفحه، و چیزی که نباید کش شود

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

تنظیم‌های ریز، که آخر فهرست‌اند و آخر هم می‌مانند

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

وقتی دیگر نمی‌شود جلوتر رفت

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

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

یک تماس ۳۰ دقیقه‌ای درباره وضعیت سایتتان

در این تماس وضعیت سایت را با هم نگاه می‌کنیم و بعدش یک یادداشت کوتاه مکتوب از چیزی که دیده‌ایم برایتان می‌فرستیم. رایگان است و به سفارش پروژه گره ندارد.

پروژه‌تان را بگویید تا دامنه هزینه و زمانش را بدهیم

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