آموزش سئو فنیخطاهای GTMetrix

جلسه ۲۶ – رفع ارور Enable Keep Alive

آموزش نحوه رفع خطای Enable Keep-Alive در جی تی متریکس

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

من پوریا آریافر هستم متخصص سئو و نویسنده این مقاله از سری دوره‌های آموزش کار با GTmetrix در خدمت شما هستم. امیدواریم شما بدونید به کمک مقالات سایت ما یک سایت بهینه توسط ابزارهای آنلاین مثل جی تی متریکس ایجاد کنید. در مقاله قبل درباره رفع ارور Enable gzip compression صحبت کردیم. در این جلسه قصد داریم درباره مشکل Enable Keep-Alive در GTmetrix صحبت کنیم و ببینیم چطور می‌تونیم این مشکل را در سایت پیدا و رفع کنیم و باید موضوع افزایش سرعت وبسایتمان مهم باشد چرا که برای گوگل مهم است و انقدر برای گوگل اهمیت دارد که گزارش خوبی از سرعت تک تک صفحات سایت ما هم در سرچ کنسول و هم در ابزار قدرتمند خود یعنی گوگل انالیتیکس به ما می‌دهد که ما این ابزارها را در پکیج های سئو آموزش داده‌ایم.

خلاصه‌ی از خطای Enable Keep-Alive

نام: Enable Keep-Alive نوع: مربوط به سرور
اولویت: بالا
میزان سختی: راحت
میانگین امتیاز: 93%

Keep Alive چیست

Keep Alive نحوه درخواست بین سرور و مرورگر کاربر است که می‌گوید: مرورگر می‌تواند بیش از یک فایل را بگیرد یا نگیرد.

Keep Alive چیست
Keep Alive چیست

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

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

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

تعریف آکادمیک Keep Alive HTTP در سایت developer.mozilla.org این است: “روشی که اجازه می‌دهد درخواست HTTP در کانکشن tcp به جای باز کردن درخواست جدید، هر چه فایل می‌خواهد دریافت کند.” به زبان ساده‌تر،بستری را فراهم می‌کند تا ارتباطی بین وب سرور و مروگر برقرار شود و اجازه می‌دهد که بیش از یک فایل را در آن واحد مرورگر دریافت کند.گاهی در برخی از مقالات Keep Alive به عنوان persistant connection  هم صدا زده می‌شود.

اثر رفع خطای enabled keep-alive در قالب تصویر
اثر رفع خطای enabled keep-alive در قالب تصویر

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

آیا Enable Keep Alive به طور پیش‌فرض فعال نیست؟

برخی افراد به طور اشتباه باور دارند که Enable Keep Alive به شکل پیش‌فرض فعال است و لازم نیست در این باره نگران باشند زیرا امروزه keep alive در ارتباطات HTTP فعال است.

اگرچه این گفته درست می‌باشد، اما تعداد زیادی از افراد از هاست‌های اشتراکی استفاده می‌کنند که ممکن است با توجه به سیاست‌های مربوطه ارتباط با کاربر را بسته باشند. و از آنجا که میلیون‌ها صفحه از هاست‌های اشتراکی استفاده می‌کنند، دانستن اینکه ارتباطات شما keep alive هستند امری ضروری است. برای فهمیدن این موضوع می توانید از page speed tool گوگل یا سایت GTmetrix استفاده کنید.

مخصوصا در ایران: همان طور که ویژگی‌های بدیهی یک ماشین از خودروهای ایرانی حذف می‌شود و تبدیل به آپشن می‌شود متاسفانه برخی هاستینگ های داخل هم با غیرفعال کردن برخی تنظیمات باعث ایجاد مشکلی مثل Enable Keep-Alive می‌شوند. بر همین اساس سعی کنید یک هاست معتبر تهیه کنید. در منوی بالای سایت میزفا ما درباره هاست‌های برتر چند نمونه برای شما معرفی کردیم. منوی “برای شماست” را مشاهده کنید.

چگونه Keep Alive را فعال کنیم

  • Keep Alive با استفاده از HTTP هدر Connection: Keep-Alive فعال می‌شود.
  • اگر Keep Alive فعال نشد، احتمالا HTTP Header های شما وضعیت connection: close را دارند.
  • برای فعال شدن Keep Alive وضعیت آن را به connection: Keep-Alive تغییر دهید.
  • فعال سازی Keep Alive وابسته به سرور مورد استفاده توسط شما و دسترسی هایی است که دارید. به بیشتر موارد در ادامه خواهیم پرداخت. (هشدار: اگر متخصص نیستید لطفا این مورد را به یک فردی که تسلط کافی بر روی هاست و سرورها دارد بدهید.)

فعال سازی Keep Alive با استفاده از htaccess

اگر به فایل config وب سرور خود دسترسی ندارید، می توانید Keep Alive را با استفاده از فایل .htaccess فعال کنید.

 Header set Connection keep-alive

افزودن کد بالا به فایل htaccess باعث می‌شود تا در header ها Keep Alive را به درخواست های شما اضافه کند، که البته بیشتر وب سرورها یا محدودیت‌هایی را تعیین کردن تا کد بالا را بازنویسی (override) می‌کند. لطفا توجه داشته باشید که ممکن است بعد از وارد کردن دستور بالا با ارور 500 روبه‌رو شوید و علت این است که سرور شما با دستور بالا سازگاری لازم را ندارد.

فعال سازی Keep Alive در Apache

اگر به فایل پیکربندی Apache دسترسی دارید، می توانید Keep Alive را در آنجا فعال کنید. قسمت های مربوطه در زیر نشان داده شده اند.

KeepAlive On

فعال سازی Keep-Alive در NGINX

در وبسرور Nginx اصولا Keep-Alive فعال هست و نباید نگران این موضوع باشید.

با این حال مشکلات Keep Alive را می‌توان با HTTPCoreModule برطرف کرد. دستور keep-alive-disable وجود دارد که باید مراقب آن باشید، اگر این دستور را مشاهده کردید، مطمئن شوید قبل از حذف آن دلیل غیر فعال بودنش توسط هاستینگ را می‌دانید.

فعال سازی Keep-Alive در Litespeed Keep Alive

به صورت پیشفرض فعال می‌باشد، اما ممکن است سرور شما از چیز دیگری به اسم smart keep-alive استفاده می کند. smart keep-alive یکی از تنظیمات داخل Litespeed است که به طور مشخصی برای وبسایت‌های با حجم بالا مورد استفاده قرار می‌گیرد. هنگامی که این گزینه فعال باشد، در قسمت page speed tools گزینه‌ای ظاهر می‌شود که نشان می‌دهد Keep Alive غیر فعال است.

smart keep-alive فایل اولیه را با connection close در HTTP header درخواست خواهد می‌کند. سپس فایل‌های دیگر را با فعال کردن Keep Alive درخواست می‌کند. این گزینه باعث می‌شود هنگامی که درخواست‌های زیادی وجود دارند، کاربران بیشتری بتوانند همزمان متصل شوند.

نکته: بجز در مواقعی که ترافیک سایت بالایی دارید، می‌توانید  smart keep-alive را در config غیر فعال کنید و هنگامی که این کار را انجام دادید تمام ارتباطات شما از Keep Alive استفاده خواهند کرد. اگر مطمئن نیستید که آیا برای شما از نوع smart هست و یا یقین دارید که این ویژگی غیرفعال است بهتر است به هاستینگ خود تیکت ارسال نمایید.

فعال سازی Keep-Alive در IIS مایکروسافت

کد خط زیر رو باید در command line مورد استفاده قرار بدید:

appcmd set config /section:httpProtocol /allowKeepAlive:true

مشکل داری هنوز؟

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

جمع بندی

سعی شده در این آموزش‌ها با بالا بردن سرعت سایت که یکی از فاکتورهای مهم در افزایش رتبه سایت در گوگل می‌باشد، کمک شایانی کنیم ولی بدانید که ممکن است هاست شما ویژگی keep alive را پولی کرده باشد و یا در هاست فعلی شما ارائه ندهد و محبور به خرید هاست با قیمت بیشتر باشید، پس به این نکته هم توجه داشته باشید.

من پوریا آریافر نویسنده این مقاله بودم و همینطور هستم تا پاسخگوی سوالات شما دوستان عزیز باشم اگر سوالی داشتید حتما در نظرات مطرح کنید. همینطور اگر این مقاله مورد پسند شما واقع شد و به شما کمک کرد ممنون خواهیم بود با دوستانتان به اشتراک بگذارید و اگر قصد استفاده از محتوای این نوشته را داشتید لطفا با ذکر منبع باشد. این جلسه از آموزش GTmetrix هم به پایان رسید در جلسه بعد به معرفی خطای Inline small CSS در pagespeed گوگل میپردازیم. با ما همراه باشید.

پوریا آریافر

اولین کسب و کار آنلاین خودم رو در فیسبوک راه‌اندازی کردم، سال ۲۰۱۱ یکی از پرتعامل‌ترین صفحات فارسی با ۸۰ هزار فالور فعال رو داشتم. بعد اینکه فیسبوک خالی از کاربر ایرانی شد وارد دنیای شبکه شدم و در انتهای سال ۲۰۱۲ مدرک MCSE مایکروسافت رو دریافت کردم، در حالی که نمره بالا گرفتم ولی کسی به دلیل به خطر افتادن موقعیت شغلی خودش به عنوان کارآموز منو قبول نمی‌کرد، بعدش با شروع دوران خدمت سربازی، مسئول بهینه سازی یک سایت خبری معتبر شدم و سئو یاد گرفتم. در ابتدای سال ۲۰۱۴ تونستم از رتبه ۱۵۰۰۰ به ۴۰۰ الکسا نزدیک کنم، اون زمان الکسا خیلی مهم بود. وارد دانشگاه شدم، به دلیل عدم علاقه به دانشگاه سعی کردم زودتر تمومش کنم و سه ساله در مقطع کارشناسی IT فارغ التحصیل شدم، توی دانشگاه هر کسی منو میدید یاد سئو میوفتاد، در همون سال آخر دانشگاه بزرگ‌ترین کانال تلگرامی IT با ۴۰ هزار عضو رو داشتم، که به مجتمع فنی فروختم تا بتونم تمرکز رو فقط بر روی عشق خودم یعنی سئو بذارم، وقتی کانال تلگرام فروختم حس پرواز بهم دست داد، هرچند درآمد چندین میلیون ماهانه رو از دست دادم ولی دوباره باید مثل گذشته با پوستی نو یک فصلی نو رو میساختم. در این چندین سال فعالیت‌های سئو به شکل تخصصی بنده در قالب پروژه‌های مختلف و آموزش‌های حضوری و غیرحضوری در دفتر میزفا و دانشگاه علامه طباطبایی تهران صورت ‌گرفته، تجربه بهینه سازی موفقی در بهبود UX و CRO پروژه‌های سئو کسب کردم. در اکثر ابزارهای کاربردی گوگل تسلط کاملی دارم. عاشق کسب تجربه های جدید هستم. راز پیشرفت در هر کاری رو یادگیری و یاددادن می‌دونم و میزفا که در اواخر ۲۰۱۶ راه‌اندازی شد تونست چنین بستر مناسبی رو برام فراهم کنه. همینطور در حال حاضر مدیریت یک تیم ۱۰ نفری از جوانان فعال و پرانگیزه رو در میزفا به عهده دارم. نقد و بازخوردهای سازنده شما، جوهر تلاش‌های مستمر ماست تا یک قدم خودمون بهبود بدیم. منتظریم ...

نوشته های مشابه

‫14 دیدگاه ها

  1. سلام مجدد

    خوب بفرمایید چطوری این مورد رو در
    هاست ویندوز و پلسک و
    در مورد سایت های asp.net در فایل web.config فعال نماییم ؟ ( keep-alive )

  2. با سلام و احترام
    میشه دقیقا بنویسید برای فعال کردن keep-alive کد رو به چه شکلی در بخش head سایت کد نویسی کنیم دقیق جاشو هم بگید در ابتدای هد یا انتهای هد ؟
    ممنون

    1. سلام دوست عزیزم.
      ما اصلا درباره head تو این مقاله حرف نزدیم. درباره HTTP header حرف زدیم و با head فرق دارن و نمیتونید با اضافه کردن کد خاصی تو head مورد keep alive فعال کنید.
      پیشنهاد میشه مقاله رو با دقت مطالعه کنید و اگر در این زمینه مشکل دارید با هاست خودتون در تماس باشید هر چند هاستینگ های معتبر این مورد رو همیشه فعال میکنن.

  3. Header set Connection keep-alive
    این کد رو که اضافه میکنم ارور 500 میده

    1. با سرورتون تداخل داره. با هاستینگ در ارتباط باشید و تیکت ارسال کنید مبنی بر اینکه keep alive فعال کنه.

  4. سلام من سایتم با litespeed هست ولی وقتی سایت رو در gtmetrix چک میکنم ارور keep alive رو دارم. واسه رفع این ارور باید چیکار کنم؟

    1. درود بر شما
      خب مقاله ای که ما انتشار دادیم هم پاسخ همین سوال شما رو میده و خواهش میکنم با دقت کل مقاله مطالعه بکنید. به شکل خلاصه باید بررسی کنید که ایا keep alive شما از نوع smart است یا نه و همینطور ایا هاست محدودیتی در این زمینه اعمال کرده یا نه.
      برای همین اگر قصد دارید به پاسخ دقیق برسید پیشنهاد میکنم تیکت ارسال کنید.

  5. بابا چیزی رو که نمیدونی مگه مجبوری راجبش مطلب از خودت در کنی اگه از این یه خط Header set Connection keep-alive
    استفاده کنی سایت میره هوا خازج از دسترس میشه

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

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

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

    4. شما چیزی نمیدونین در ضمن سایت میره مشکل از سرور شماست نه کدی ک دادن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

حداکثر حجم فایل برای آپلود: 1 مگابایت. فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ. شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید.

دکمه بازگشت به بالا
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
فیلم آموزشی asp.net core 2
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر