سرعت بالای لود سایت یکی از مهمترین فاکتورهای سئو داخلی (ON Page) محسوب میشود و همانطور که میدانید هدف اکثر موتورهای جستجو یا میشه گفت تمامی موتورهای جستجو مانند گوگل، فراهم کردن تجربهای خوب برای کاربرانشان است همچنین این نکته رو هم در نظر داشته باشید که امروزه هیچکس بیش از ۱۰ ثانیه برای لود شدن سایت صبر نمیکند و اگر در چند ثانیه اول چیزی جلوی چشم کاربر نمایان نشود بلافاصله دکمه برگشت را میزند و به سراغ سایت بعدی میرود.
باید بدانید که گوگل تمام فاکتورهای سنجش سئوی یک سایت را بر اساس رضایت کاربر تنظیم کرده است. بنابراین اگر سرعت بارگذاری سایت مورد رضایت کاربر نباشد و منجر به ترک زودهنگام آن توسط کاربر شود بدون هیچ شکی گوگل شما را جریمه خواهد کرد. برای جلب رضایت کاربر چاره ای جز افزایش سرعت بارگذاری سایت ندارید.
سرعت آهسته لود صفحه، یک اتفاق فلج کننده برای سایت ها بحساب میاد و جستجوگری مثل گوگل هم بعنوان قدرتمندترین موتور جستجوی جهان در رتبه بندی وبسایت ها عامل سرعت لود سایت رو ملاک قرار میدهد. پس اگر سایت شما به آهستگی لود میشه، باید انتظار یک سقوط چندین درصدی در گوگل رو داشته باشید. سرعت لود وبسایت طبیعتا با میزان بازدید سایت شما رابطه مستقیم داره.
عوامل و دلایل مختلفی در سرعت یک سایت دخیل هستند که در این مقاله تعدادی از آنها را مورد بررسی قرار میدهیم عواملی مانند : هاست مناسب , طراحی سایت , افزونه ها , سرویس CDN و …. که در ادامه میخوانید. البته تمرکز ما در این مقاله بیشتر بر روی سیستم مدیریت محتوای وردپرس است (به علت فراگیر بودن و کاربرد زیاد) اما میتوان همین نکات را برای دیگر سایتها و CMS ها هم بکار گرفت
22 راهکار استثنایی برای افزایش سرعت سایت :
1. استفاده از هاست یا سرور مناسب :
افزایش سرعت سایت به دو بخش کلی تقسیم میشود که یکی بخش سخت افزاری و زیر ساخت و دیگری بخش نرم افزاری سایت است.اگر شما از یک شرکت میزبانی وب بی کیفیت و ارزان قیمت سرویس میگیرید طبیعی است که سایت شما کند باشد.یا اگر از سرویس هاست رایگان استفاده میکنید هم اکثر مواقع با مشکل کندی سرویس مواجه میشوید.
یک سرویس دهنده میزبانی وب معتبر و قدرتمند سایت شما را در دیتاسنتر های پر سرعت میزبانی میکند و همچنین اجازه نمیدهد تعداد بیش از اندازه سایت روی یک سرور قرار بگیرد که باعث کاهش سرعت شود.
همچنین میتوانید برای وبسایت خود از سرورهای اختصاصی و مجازی استفاده کنید منابع در این نوع میزبانی اختصاصی میباشد یعنی تمامی منابع مختص شما میباشد برخلاف هاست های اشتراکی که منابع یک سرور در اختیار تعداد زیادی وبسایت قرار میگیرد در کل استفاده از سرورهای اختصاصی و یا مجازی تاثیر بسیاری زیادی در پایداری و سرعت سایت شما دارد. حال بهتر است برای افزایش سرعت بارگذاری وبسایت خود حتما از سرورهای اختصاصی استفاده کنید البته اگر با هزینه آن مشکلی ندارید و وبسایتتان برایتان مهم است زیرا سرورهای اشتراکی به دلیل آنکه منابع آن ها بین چندین سایت به اشتراک گذاشته می شود، سرعت پایینی دارند و سبب افت سرعت سایت می شوند
2. مکان سرور سایت :
هر چه سرور سایت شما دورتر از محل زندگی شما باشد سرعت بالا آمدن صفحات سایت بیشتر میشود.اگر اکثریت مخاطبین شما فقط از داخل ایران هستند بهتر است از سرویس های میزبانی داخل کشور استفاده کنید.
چون به دلیل کاهش فاصله فیزیکی کاربر تا سرور , سرعت بسیار بالاتری نسبت به هاست خارجی خواهید داشت. پس اگر سایت شما برای مخاطبان ایرانی طراحی شده حتماً سایت خودتان را در ایران هاست کنید. با انجام این کار شاهد افزایش 4 برابری سرعت باز شدن صفحات سایتتان خواهید بود. به غیر از این گوگل رتبه سایت شما را برای جستجو کنندگان ایرانی افزایش خواهد داد
3. پهنای باند سرور :
از هاستی استفاده کنید که مرکز داده آن از چندین منبع پهنای باند استفاده کند. معمولاً مراکز داده ارزان پهنای باند مناسبی ندارند و با افزایش ترافیک سایتهای در اوج پیک سایت کند میشود و این موضوع باعث ناراحتی کاربران میشود.
4. استفاده از کش Cache :
در واقع کش Cache به حالتی گفته می شود که در آن یک نسخه از سایت به صورت فایل آماده در مرورگر کاربر نگه داری می شود و در صورت بازدید مجدد از سایت به جای دانلود و دریافت از سرور از همان فایل هایی که در مرورگر کاربر ذخیره شده بود استفاده میشود
اگر بخواهیم کامل تر به این موضوع بپردازیم میتوان اینگونه شرح داد که هر بار مرورگر شما صفحهای را لود میکند تمامی فایلهای موجود در آن صفحه را نیز دانلود میکند که شامل فایلهای CSS، HTML، javascript و تصاویر میشود. بعضی از صفحات فایلهای کمی در خود دارند و حجم آنها از چندیدن کیلوبایت تجاوز نمیکند، ولی صفحاتی هستند که با توجه به محتوای خود فایلهای زیادی را شامل میشوند و ممکن است تا چندیدن مگابایت از پهنای باند را مصرف کنند، بطور مثال حجم سایت Twitter.com بیش از 2 مگابایت است. استفاده از حافظه کش مرورگر راهی برای مقابله با این مشکل است.
چگونه استفاده از حافظه کش مرورگر را فعال کنیم ؟
برای فعال کردن حافظه کش مرورگر باید فایلهای هدر HTTP خود را تغییر داده و برای فایلهای خود تاریخ انقضا تعریف کنید.فایل htaccess. خود را در ریشه اصلیهاست پیدا کنید، شما میتوانید آن را به وسیله نوت پد یا هر ویرایشگر متن دیگری تغییر دهید. در این فایل پارامترها را بگونهای معرفی میکنیم که مرورگر تشخیص دهد چه فایلهایی را و تا چه مدت در حافظه کش خود نگه دارد.
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg “access 1 year”
ExpiresByType image/jpeg “access 1 year”
ExpiresByType image/gif “access 1 year”
ExpiresByType image/png “access 1 year”
ExpiresByType text/css “access 1 month”
ExpiresByType application/pdf “access 1 month”
ExpiresByType text/x-javascript “access 1 month”
ExpiresByType application/x-shockwave-flash “access 1 month”
ExpiresByType image/x-icon “access 1 year”
ExpiresDefault “access 2 days”
## EXPIRES CACHING ##
با توجه به نوع فایل و زمان تغییر در آن میتوانید تاریخ انقضا را مشخص کنید، برای فایلهایی که بیشتر آپدیت و تغییر دارند تاریخ انقضای کمتری در نظر بگیرید.پیشنهاد میشود که تاریخ تعیین شده را بیشتر از یک سال و کمتر از یک ماه قرار ندهید، مگر برای فایلهای خاص با تغییرات هفتگی
5. استفاده از قابلیت Keep-Alive :
در پروتکل HTTP برای انتقال چندین فایل جلسه (Session) تشکیل نمی شود. از این رو برای انتقال هر فایل یک ارتباط جدید بین مرورگر و سرور ایجاد و بعد از تکمیل انتقال بسته میشود. این مکانیزم بسیار ساده اما غیر بهینه است. برای بهبود کارایی تنظیمات KeepAlive معرفی شده است. به وسیله KeepAlive مرورگر و سرور توافق میکنند برای انتقال چندین فایل از یک ارتباط (connection) استفاده کنند.
مزایای استفاده از Keep-Alive
- بهبود سرعت وبسایت: کاهش سربار ناشی از ایجاد و خاتمه ارتباط ها. تصور کنید تعداد فایل های لازم برای یک یک صفحه وب شامل فایل های تصویر، فایل های CSS ، فایل های JS و حتی خود صفحه میتواند به ده ها فایل برسد. با فعال کردن KeepAlive بجای ایجاد و خاتمه ده ها ارتباط از یک ارتباط استفاده می شود.
- کاهش مصرف پردازنده: ایجاد و خاتمه ارتباط ها برای سرور یک فرآیند مصرف کننده زمان پردازنده است. لذا کاهش تعداد این فرآیند به یک بار میتواند صرفه جویی زیادی داشته باشد.
معایب استفاده از Keep-Alive
- افزایش مصرف حافظه: تا زمانی که ارتباط بین مرورگر و سرور برقرار است. این ارتباط در حافظه سرور وجود دارد. لذا با فعال کردن KeepAlive مصرف حافظه بالا میرود. در صورتی که KeepAlive غیر فعال شود سرور میتواند حافظه را برای سرویس دادن به درخواست های دیگری خالی کند.
فعالسازی Keep-alive : اگر به فایل پیکربندی و تنظیمات وب سرور خود دسترسی ندارید، میتوانید خودتان Keep-alive را با استفاده از یک فایل htaccess. فعال کنید.
<ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
با اضافه کردن این کد به فایل htaccess. خود، هدرهای Keep-alive به درخواستهایتان اضافه خواهد شد که بیشتر محدودیتهای هاست یا وب سرور را لغو میکند
6. استفاده از CDN :
CDN یا شبکه توزیع محتوی چیست ؟ این شبکه با در اختیار داشتن سرور های مختلف در اکثر کشورهای جهان با کاهش فاصله فیزیکی کاربر تا هاست شما باعث افزایش سرعت سایت میشود.وقتی که شما از سرویس CDN استفاده میکنید اگر سایت شما در آلمان میزبانی شده است و کاربری بخواهد وارد سایت شما بشود نسخه ای از سایت شما که روی سرور ترکیه سرویس دهنده CDN ذخیره شده برای او نمایش داده میشود و با این کار سایت شما خیلی زودتر برای کاربر نمایش داده میشود.
شرکت CloudFlare که از معروف ترین سرویس دهندگان CDN است پلن رایگانی دارد که برای کاربران ایرانی هم قابل استفاده است.
7. استفاده از کدهای CSS و ساختار DIV به جای جدول :
البته این مورد در حال حاضر بسیار کمتر از گذشته دیده میشود ولی هنوز هم هستند وب سایت هایی که از Table ها برای ساختار سایت خود استفاده میکنند . سایتهایی که با تکنولوژی CSS و با استفاده از تقسیم کننده ها و لایه ها (تگ DIV) طراحی شده اند ، نسبت به سایتهای با قالب جدولی (تگ های Table) سریعتر باز میشوند. اگر در سایت خودتان از قالب جدولی استفاده میکنید حتماً آن را به قالب CSS و DIV تبدیل کنید.
8. استفاده از تکنولوژی GZIP :
اگر این تکنولوژی را در سایت خودتان استفاده کنید هم سرعت سایت شما افزایش پیدا میکند و هم از همه مهمتر در مصرف پهنای باند سایت صرفهجوئی میکنید. با استفاده از این تکنولوژی در زمان فراخوانی سایت از سرور، ابتدا اطلاعات سایت در سرور فشرده شده و سپس در رایانه کاربر باز میشود.
این قابلیت با افزودن کد زیر به فایل htaccess فعال خواهد شد:
# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
# Or, compress certain file types by extension:
<files *.html>
SetOutputFilter DEFLATE
</files>
9. مکان قرار گیری فایل های CSS و JS :
فایلهای CSS را در بالا و JS را در پایین قرار دهید.قرار دادن فایلهای CSS در بخش <head> قالب، از رندر کردن دوباره و تصاعدی جلوگیری خواهد کرد. در غیر این صورت ممکن است کاربر تا بارگذاری کامل سایت با صفحه سفید مواجه شود. این موضوع به استاندارد سازی صفحه خود بر اساس استانداردهای W3 نیز کمک خواهد نمود. همچنین کدهای جاوا اسکریپت خود را به دلیل مشابه در پایان صفحه (فوتر) قرار دهید.
10. کم کردن حجم فایلهای CSS :
اگر فایل CSS سایت شما بیش از 75 کیلوبایت باشد میتواند یک خطر جدی برای سایت شما باشد. اگر از یک کد CSS فقط در یک سری از صفحات استفاده میشود آن ها را در فایلهای جداگانه در همان صفحه باز کنید.
11. حذف افزونه های غیرلازم (مختص وردپرس و سایر سیستم های مدیریت محتوا) :
افزونه ها مهم هستند و شما برای دلایل متعددی از آنها استفاده می کنید. با این حال برخی از افزونه ها به دلیل بروز رسانی نشدن و یا کدنویسی نادرست باعث کاهش سرعت سایت و اعمال فشار بر روی سرور سایت می شوند. بنابراین به افزونه هایی که استفاده می کنید نگاهی کرده و در صورت امکان آنهایی را که واقعا نیاز ندارید را حذف کنید.
12. بهینه سازی صفحه اصلی سایت :
بیشترین میزان بازدید هر سایتی از صفحه اصلی آن است و این صفحه بیشترین اهمیت را در جذب مخاطب دارد. برای اینکه صفحه اصلی سایت خود را بهینه سازی کنید باید :
- بجای نمایش کل مطالب فقط خلاصه ای از آن را نمایش دهید و لینکی برای خواندن ادامه مطلب وجود داشته باشد
- بین ۵ تا ۷ مطلب آخر را در صفحه اصلی قرار دهید.
- از تصاویر حجیم و فایل فلش تا حد ممکن استفاده نکنید
- ابزارهای غیر ضروری را از صفحه اصلی حذف کنید و به صفحات دیگر سایت انتقال دهید
- پلاگین های غیر ضروری را حذف کنید
- صفحه اصلی سایت تا حد ممکن ساده باشد و از شلوغی بپرهیزید.
- از نمایش بیش از حد تبلیغات در سایت خودداری کنید.
13. بهینه سازی فایل های HTML، CSS و جاوا اسکریپت :
منظور من از بهینه سازی این هست که فضای خالی رو که امکان حذف اون ها هست از درون کدهای سایت حذف کنید. در صورتی که فایل های سایت شما فضای خالی و بی مصرف زیادی رو داشته باشند، آهسته تر از روی سرور خوانده میشوند و این مورد سرعت بارگذاری سایت رو کاهش میده. این کار رو میتونید از طریق برخی افزونه ها هم انجام بدید.
14. بهینه سازی تصاویر :
تصاویر بخش جدا نشدنی از سایتها هستند و با توجه به موضوع سایت تعدادی تصویر با اندازه های مختلف در سایت وجود دارد. هم در قالب سایت و هم در محتوی داخلی سایت. باید دقت کنید که استفاده نادرست از تصاویر با اندازه های بیش از حد بزرگ یا سایز نامناسب میتواند باعث کندی سرعت سایت شود.
توصیه میکنیم تصاویر سایت خودتان را در برنامه Photoshop باز کنید و سعی کنید در عین کم نشدن کیفیت تصویر حجم آن را کم کنید.برای این کار باید در فتوشاپ تصاویر را بصورت Save For Web ذخیره کنید این عمل با دکمه های Alt+Ctrl+Shift+S در دسترس میباشد تاکید میکنم که این کار تأثیر مستقیمی در باز شدن صفحات سایت شما دارد.
15. ابعاد تصویر را مشخص کنید :
مرورگر شما قبل از بارگذاری تصاویر، سایت شما را بارگذاری و ارائه خواهد ساخت. تعیین کردن ابعاد تصویر به تعیین مکان و تصمیم مرورگر در خصوص المنتهای غیر قابل تغییر سایت، کمک خواهد کرد. اگر ابعاد تصاویر مشخص نشده باشند، مرورگر شما پس از بارگذاری تصاویر مجددا در خصوص چیدمان صفحه تثمیم خواهد گرفت. برای این کار از مشخصههای height و width در تگ <img> استفاده کنید.
16. برش تصاویر :
تصاویر یکی از دلایل اصلی افزایش حجم صفحات سایت هستند، بنابراین مطمئن شوید که تصاویر به هنگام آپلود به سایزهای مورد نیازتان برش داده شوند، در غیراینصورت موجب کندی سایت خواهند شد.
17. استفاده از قابلیت LazyLoad برای تصاویر :
همانطور که گفتیم تصاویر یکی از عوامل اصلی سنگین شدن صفحات هستند. برای سایت هایی که در آنها از تصاویر به تعداد زیاد استفاده شده است بهتر است از حالت LazyLoad استفاده شود. در این حالت تصاویر تنها زمانی که کاربر به موقعیت تصویر مراجعه کند (اسکرول کند) تصاویر لود و نمایش داده خواهند شد.
قابلیت نمایش مرحله ای Lazyload به این صورت میباشد که وقتی کاربری وارد سایت شما میشود ابتدا بخش بالایی سایت در مرورگر او نمایش داده میشود که کاربر میتواند با اسکرول به سمت پایین ادامه مطالب شما را ببیند و در واقع سایت شما به صورت کامل در یک مرحله در مرورگر کاربر لود میشود.
قابلیت Lazyload کمک میکند تصاویر در مرورگر کاربر فقط در منطقه ای که در مرورگر باز شده نمایش داده شود و هنگامی که کاربر به سمت پایین اسکرول میکند کم کم تصاویر بعدی برای او لود میشود . این کار هم باعث افزایش سرعت سایت و هم باعث کاهش مصرف پهنای باند شما میشود.
18. غیرفعال کردن بازتاب ها (مختص وردپرس) :
اگر سایتی به یکی از صفحات سایت شما لینک بدهد، با استفاده از امکان بازتاب ها وردپرس این مورد را به شما اطلاع رسانی خواهد کرد. با اینکه این سرویس مفید می باشد اما اگر به دنبال افزایش سرعت سایت هستید، پس بهتر است آن را غیرفعال کنید. برای این کار در پنل وردپرس از بخش تنظیمات -> گفتوگوها می توانید ارسال و دریافت بازتاب ها را غیرفعال کنید.
19. کاهش اسکریپت های (فایل های JS) سایت :
اسکریپت ها معمولا آنهایی که فایل هایشان خارج از سایت فراخوانی می شوند، می توانند موجب کاهش سرعت سایت شوند. تا جایی که در نمایش سایت اشکالی پیش نیایید سعی کنید اسکریپت هایی را که خارج از سایت فراخوانی می شوند را کاهش دهید.
20. ریدایرکتها را کاهش دهید :
گاهی مواقع برای بیان کردن موقعیت جدید یک لینک، دنبال کردن کلیکها، متصل کردن بخشهای یک سایت به یکدیگر و یا رزرو کردن چندین دامنه با هم، نیاز به ریدایرکت و هدایت دوباره مرورگر از آدرسی به آدرس دیگر خواهید داشت. ریدایرکتها درخواستهای HTTP را افزایش و در نتیجه مدت عکس العمل و لود سایت را کاهش میدهند. تنها در صورتی از ریدایرکتها استفاده کنید که واقعا به آنها نیاز دارید و راهی جز استفاده از آنها ندارید.
از جمله پیشنهادات موتور جستجوی گوگل میتوان به موارد زیر اشاره کرد:
- هرگز آدرسهایی که ریدایرکت میشوند را در صفحات خود استفاده نکنید. هر بار که مقصد آدرس تغییر مییابد، مرورگر شما نیاز به تغییر و به روز رسانی آدرس خود دارد.
- هرگز برای رسیدن به منبع مورد نظرتان، از بیش از یک ریدایرکت استفاده نکنید. به طور مثال اگر هدف شما C است و دو نقطه آغاز متفاوت وجود دارد، به نام A و B، این دو باید مستقیما به C ختم بشوند. نه اینکه A به B و سپس به C ریدایرکت شود.
- از دامنههایی که از ریدایرکت استفاده میکنند اما محتوایی ارائه نمیکنند، خودداری کنید. گاهی مواقع دامنههای اضافی دیگری به یک سایت ختم میشوند تا از غلطهای املایی کاربران در هنگام تایپ سو استفاده کنند.
تصویر زیر نشان میدهد که وقتی مرورگر شما سعی میکند سایت SEO MOZ را بارگذاری کند، چه رخ میدهد.
همانطور که مشاهده میکنید، بیشترین زمان تلف شده در مجموعه ریدایرکتهای خارجی مشاهده میشود. SEOmoz تقریبا از ۲۰ سلسله ریدایرکت استفاده میکند که سرعت لود سایت را ۳۰۰۰ میلی ثانیه کاهش دادهاند.
21. بهینه سازی بانک اطلاعاتی (دیتابیس سایت) :
بانک اطلاعاتی محلی است که تمامی اطلاعات کاربران و مطالب سایت شما در آن ذخیره میشود و پس از گذشت زمان اطلاعات اضافی و بی کاربردی در این بانک جمع میشود که باعث کندی سرعت سایت میشود .دقت کنید که اگر ساختار پایگاه داده شما بهینه نباشد. میتواند مشکل جدی برای کند شدن سایت شما باشد.برای رفع این مشکل در سیستم مدیریت محتوای وردپرس میتواند افزونه WP-Optimize را دانلود و نصب کنید.این افزونه بصورت خودکار بانک اطلاعاتی سایت شما را از پیش نویس ها , کامنتهای اسپم و موارد اضافی پاکسازی میکند.
22. Character Sets تعیین کنید :
برای افزایش سرعت ترجمه و ارائه سایت، در HTTP header های خود Character Sets تعیین کنید. این کار با افزودن کد سادهٔ زیر امکان پذیر میباشد:
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
توجه داشته باشید که کاراکتر ست تعیین شده در HTTP header ها و متا تگ، یکسان باشند. در غیر اینصورت با مشکلات عملکردی جدی در مرورگر Internet Explorer مواجه خواهید شد.