کاهش waiting در وردپرس

هنگامی که درباره سرعت سایت وردپرسی صحبت می کنیم، اکثر مواقع بر عملکرد front-end و بهینه سازی سرعت بارگذاری صفحه متمرکز می شویم. با این حال، گاهی بهتر است از سمت سرور که وبسایت شما در اصل از آنجا بارگذاری می شود، به این موضوع نگاه کنیم. امروز به تاثیر TTFB بر وبسایت شما و بحث درباره راه های راحتی به منظور کاهش آن می پردازیم. TTFB معمولا به عنوان یک از عوامل بهینه سازی نادیده گرفته می شود، اما در هنگام آزمایش سرعت سایت باید در نظر گرفته شود.

TTFB مخفف time to first byte است. به بیان ساده، اندازه گیری مدت زمانی است که مرورگر باید قبل از دریافت اولین بایت داده از سرور منتظر بماند. هرچه این مدت زمان دریافت داده بیشتر باشد، مدت زمان بیشتری طول می‌کشد تا صفحه برای بازدیدکننده نمایش داده شود. یکی از تصورات رایج غلط این است که TTFB پس از جستجوی DNS محاسبه می‌شود، با این حال، محاسبه TTFB در شبکه همیشه شامل network latency می‌باشد. 3 مرحله  Process و Delay و Latency ممکن است در هرجایی در این بین رخ دهند و به مجموع کلی TTFB شما اضافه کنند.

  1. درخواست به سرور

    هنگامی که کسی از وبسایت شما بازدید می‌کند، اولین چیزی که اتفاق می‌افتد، ارسال درخواست HTTP از کاربر به سرور است. در این مرحله، عوامل گوناگونی وجود دارند که در delay تاثیر دارند. زمان کند DNS lookup می‌تواند باعث افزایش زمان درخواست شود. اگر سرور از نظر جغرافیایی دور باشد، فاصله ای که داده باید بپیماید در latency موثر است. همچنین، اگر قوانین firewall پیچیده ای دارید، ممکن است زمان routing را افزایش دهد. و علاوه بر این موارد، سرعت اینترنت کاربر را فراموش نکنید.

  1. پردازش سرور

    پس از اینکه درخواست ارسال شد، سرور باید آن را پردازش کند و پاسخی تولید کند. این امر می‌تواند تعداد گوناگونی delay مانند فراخوانی آهسته پایگاه داده، اسکریپت های واسطه بیش از حد، ذخیره(cache) نشدن اولین پاسخ، کد یا قالبی که به طور مناسبی بهینه سازی نشده و منابع ناکافی سرور مانند disk I/O یا حافظه ایجاد کند.

  1. پاسخ به کاربر

    بعد از اینکه درخواست توسط سرور پردازش شد، باید آن را به کاربر ارسال کند. این مرحله هم از سرعت شبکه سرور و هم از سرعت اینترنت کاربر تاثیر می‌گیرد. اگر سرعت اینترنت کاربر پایین باشد، بر TTFB تاثیر می‌گذارد.

در کل، اگر سرعت بارگذاری زیر 100 میلی ثانیه باشد TTFB مناسب است. Google PageSpeed Insights برای هر پاسخی زمان کمتر از 200 میلی ثانیه را توصیه می‌کند. اگر در بازه 300 تا 500 میلی ثانیه هستید، تقریبا استاندارد است. و اگر بیش از 600 میلی ثانیه باشید، ممکن است در پیکر بندی سرور مشکلی وجود داشته باشد یا زمان آن فرا رسیده که به نرم افزار وب بهتری ارتقا پیدا کنید. یا اینکه می‌توانید دستور العمل های گفته شده در ادامه را دنبال کنید تا TTFB را کاهش دهید و به یاد داشته باشید که SSL/TLS نیز می‌تواند یکی از عوامل کندی هم باشد.

 

4 روش برای کاهش waiting در سایت

  1. استفاده از یک هاست پرسرعت با کانفیگ بهینه

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

  2. استفاده از CDN مناسب

    راه دیگری برای کاهش TTFB استفاده از Content Delivery Network یا همان CDN است. CDN را می‌توان به شبکه توزیع محتوا ترجمه کرد . اگر وبسایتی دارید که میزبان کاربرانی از نقاط مختلف کشور یا جهان است، استفاده از CDN می تواند به شدت TTFB شما را کاهش دهد، البته در برخی مکان‌ها این موضوع صدق نمی‌کند مثلا ایران.

     

  3. استفاده از کش مناسب در سایت

    راه سوم و شاید راحت ترین راه کاهش TTFB استفاده از caching در وبسایت وردپرسی است. افراد زیادی فکر می کنند که تنها استفاده از caching می تواند باعث کاهش زمان بارگذاری صفحه شود، اما در حقیقت در کاهش TTFB نیز موثر است و همچنین زمان پردازش سرور را نیز کاهش می دهد.

  4. استفاده از یک DNS Provider معتبر (رایگان نباشد)

    DNS نیز در TTFB موثر است. محاسبه دقیق مقدار این تاثیر بسیار سخت است، اما همچنان می‌توانید زمان کلی DNS lookup را مشاهده کنید. Provider های سریع و آهسته ای وجود دارند. با استفاده از ابزار SolveDNS speed test می‌توانید از مکان‌های مختلف آزمایش لازم را انجام دهید.

در پایان

موارد متعددی وجود دارند که می توانید بهینه سازی یا تعمیر کنید تا TTFB را کاهش دهید، مانند database caching، Disk IO، Swap usage، RAM، تنظیمات PHP، تنظیمات MySQL، تنظیمات شبکه، TLS overhead و غیره. اما پیاده سازی و اجرای موارد گفته شده در بالا آسانتر هستند و عملکردتان را سرعت می بخشند. پس دفعه بعدی که شخصی از شما پرسید که چطور TTFB را کاهش دهیم، به یاد داشته باشید که هاست سریع وردپرس، CDN، Caching و DNS مواردی هستند که در این زمینه از اهمیت زیادی برخوردارند. رفع و بهبود این موارد راه حل مشکل TTFB است.

 

آموزش گوگل آنالیتیک ، تب Ecommerce

آموزش گوگل آنالیتیک ، تب Ecommerce

این راهنما نحوه جمع آوری داده های ecommerce را با استفاده از analytics.js توصیف می کند.

بررسی اجمالی  آموزش گوگل آنالیتیک ، تب Ecommerce

ردیابی ecommerceبه شما امکان می دهد تا تعداد معاملات و درآمد هایی که وب سایت شما تولید می کند، اندازه گیری کنید. در یک سایت ecommerce معمولی، زمانی که یک کاربر روی دکمه “خرید” را در مرورگر کلیک کند، اطلاعات خرید کاربر به سرور وب منتقل می شود که تراکنش را انجام می دهد. اگر موفقیت آمیز باشد، سرور کاربر را به یک صفحه “تشکر از شما” یا رسید با جزئیات معامله و رسید خرید هدایت می کند. شما می توانید از کتابخانه analytics.js برای ارسال اطلاعات ecommerce از صفحه «Thank you» به Google Analytics استفاده کنید.

 

مهم: پلاگین ecommerce نباید در کنار افزونه Enhanced Ecommerce (ec.js) استفاده شود.

دو نوع اطلاعات ecommerce وجود دارد که می توانید با استفاده از analytics.js ارسال کنید: معامله و داده ها.

داده های تراکنش

یک معامله نشان دهنده کل معامله ای است که در سایت شما اتفاق می افتد و شامل مقادیر زیر است:

 

 

KeyValue TypeRequiredDescription
idtextYesThe transaction ID. (e.g. 1234)
affiliationtextNoThe store or affiliation from which this transaction occurred (e.g. Acme Clothing).
revenuecurrencyNoSpecifies the total revenue or grand total associated with the transaction (e.g. 11.99). This value may include shipping, tax costs, or other adjustments to total revenue that you want to include as part of your revenue calculations.
shippingcurrencyNoSpecifies the total shipping cost of the transaction. (e.g. 5)
taxcurrencyNoSpecifies the total tax of the transaction. (e.g. 1.29)

 

داده های مورد

یک آیتم نشان دهنده محصولات فردی که در سبد خرید بودند و شامل مقادیر زیر است:

 

KeyValue TypeRequiredDescription
idtextYesThe transaction ID. This ID is what links items to the transactions to which they belong. (e.g. 1234)
nametextYesThe item name. (e.g. Fluffy Pink Bunnies)
skutextNoSpecifies the SKU or item code. (e.g. SKU47)
categorytextNoThe category to which the item belongs (e.g. Party Toys)
pricecurrencyNoThe individual, unit, price for each item. (e.g. 11.99)
quantityintegerNoThe number of units purchased in the transaction. If a non-integer value is passed into this field (e.g. 1.5), it will be rounded to the closest integer value.

پیاده سازی

شما معمولا پیگیری Ecommerce را پس از اتمام فرآیند پرداخت انجام می دهید. این به طور کلی بر روی صفحه “تشکر از شما” اتفاق می افتد. هنگامی که شما داشته باشید و آماده ارسال اطلاعات ecommerceبه Google Analytics هستید، چند گام برای انجام آموزش گوگل آنالیتیک ، تب Ecommerce وجود دارد:

 

  • پلاگین ecommerceرا بارگیری کنید
  • افزودن یک معامله
  • اضافه کردن آیتم ها
  • ارسال داده ها
  • پاک کردن داده ها

پلاگین ecommerceرا بارگیری کنید

برای کاهش اندازه کتابخانه analytics.js، ردیابی ecommerceدر کتابخانه پیش فرض ارائه نشده است. در عوض آن به عنوان یک ماژول پلاگین ارائه می شود که قبل از استفاده باید بارگیری شود.

 

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

ga('require', 'ecommerce');

 

این فرمان پس از ایجاد شیء ردیاب خود و قبل از استفاده از هر یک از قابلیت های خاص تجارت الکترونیکی باید رخ دهد.

 

پس از بارگیری، چند دستور جدید برای ردیابی ecommerceبه ردیاب پیش فرض افزوده می شود.

افزودن یک معامله

هنگامی که افزونه بارگیری شده است، یک شیء سبد خرید شفاف ایجاد می شود. شما می توانید اطلاعات مربوط به معامله و اقلام را به سبد خرید اضافه کنید و هنگامی که به طور کامل پیکربندی شده، تمام داده ها را در یک بار ارسال کنید.

با استفاده از دستور ecommerce: addTransaction، دادههای تراکنش را به سبد خرید اضافه می کنید:

ga('ecommerce:addTransaction', {
  'id': '1234',                     // Transaction ID. Required.
  'affiliation': 'Acme Clothing',   // Affiliation or store name.
  'revenue': '11.99',               // Grand Total.
  'shipping': '5',                  // Shipping.
  'tax': '1.29'                     // Tax.
});

 

اضافه کردن آیتم ها

بعد، برای اضافه کردن موارد به سبد خرید، از دستور ecommerce: addItem استفاده کنید:

ga('ecommerce:addItem', {
  'id': '1234',                     // Transaction ID. Required.
  'name': 'Fluffy Pink Bunnies',    // Product name. Required.
  'sku': 'DD23444',                 // SKU/code.
  'category': 'Party Toys',         // Category or variation.
  'price': '11.99',                 // Unit price.
  'quantity': '1'                   // Quantity.
});

 

 

ارسال داده ها

سرانجام، هنگامی که تمام اطلاعات ecommerceخود را در سبد خرید پیکربندی کرده اید، داده ها را به Google Analytics ارسال می کنید با استفاده از تجارت الکترونیک: ارسال فرمان:

ga('ecommerce:send');

 

این فرمان از طریق هر تراکنش و آیتم در سبد خرید منتقل می شود و داده های مربوطه را به Google Analytics ارسال می کند. پس از تکمیل، سبد خرید پاک شده و آماده ارسال داده برای یک معامله جدید است. اگر یک ecommerceقبلی: فرمان ارسال صادر شد، تنها معامله جدید و داده های مورد ارسال خواهد شد.

نکته: در حالی که اکثر پیاده سازی ها هر دو داده های معامله و اقلام را ارسال می کنند، می توانید معاملات بدون اقلام و اقلام بدون معاملات انجام دهید. اگر یک مورد بدون یک معامله ارسال کنید، معامله با تنها شناسه به طور خودکار ارسال می شود.

پاک کردن داده ها

اگر بخواهید سبد خرید همه معاملات و اقلام را به صورت دستی پاک کنید، از دستور زیر استفاده می کنید:

ga('ecommerce:clear');

 

تعیین ارزهای محلی

به طور پیش فرض، شما می توانید یک ارز مشترک، جهانی، برای همه معاملات و اقلام را از طریق رابط وب مدیریت Google Analytics پیکربندی کنید. به طور پیش فرض، ارز جهانی برای تمام موارد و معاملات استفاده می شود. برای وب سایت هایی که معاملات را در چندین ارز انجام می دهند، افزونه ecommerce به شما اجازه می دهد تا پول محلی معامله و همچنین محصولات فردی را مشخص کنید.

 

پول محلی باید در استاندارد ISO 4217 مشخص شود. سند مرجع کدهای ارز را برای لیست کامل ارزهای پشتیبانی شده پشتیبانی کنید.

 

برای تنظیم پول محلی یک معامله خاص و تمام اقلام آن، فقط باید پول برای معامله را مشخص کنید:

ga('ecommerce:addTransaction', {
  'id': '1234',
  'affiliation': 'Acme Clothing',
  'revenue': '11.99',
  'shipping': '5',
  'tax': '1.29',
  'currency': 'EUR'  // local currency code.
});

 

 

برای کسب اطلاعات بیشتر در مورد نحوه کارکرد ارز در Google Analytics، بخش ارزهای مختلف را در مرجع ویژگی تجارت الکترونیکی بخوانید

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

 

 

در نهایت، شما همچنین می توانید ارز در هر مورد را مشخص کنید:

  ga('ecommerce:addItem', {
    'id': '1234',
    'name': 'Fluffy Pink Bunnies',
    'sku': 'DD23444',
    'category': 'Party Toys',
    'price': '11.99',
    'quantity': '1',
    'currency': 'GBP' // local currency code.
  });

 

 

برای کسب اطلاعات بیشتر در مورد نحوه کارکرد ارز در Google Analytics، بخش ارزهای مختلف را در مرجع ویژگی تجارت الکترونیکی بخوانید

پشتیبانی ردیاب چندگانه

شما همچنین می توانید از افزونه ecommerceاستفاده کنید اگر چندین (به نام) trackers را در صفحه خود نصب کرده اید. این پلاگین دقیقا مانند ردیاب پیش فرض کار می کند، به جز اینکه قالب این است: trackerName.pluginName: method. برای مثال اگر شما یک tracker با نام myTracker ایجاد کردید:

ga('create', 'UA-XXXXX-Y', 'auto', {'name': 'myTracker'});

 

پس از آن پلاگین ecommerceرا برای آن ردیاب نامگذاری کنید با استفاده از:

ga('myTracker.require', 'ecommerce');

 

برای ارسال یک معامله، می توانید یک معامله ایجاد کنید و آن را به ردیاب نامگذاری شده به صورت زیر منتقل کنید:

var transaction = {
  'id': '1234',                    // Transaction ID.
  'affiliation': 'Acme Clothing',  // Affiliation or store name.
  'revenue': '11.99',              // Grand Total.
  'shipping': '5' ,                // Shipping.
  'tax': '1.29'                    // Tax.
};

ga('myTracker.ecommerce:addTransaction', transaction);

 

با استفاده از این نحو، شیء معامله را می توان در چند مسیریاب استفاده کرد.

 

در نهایت شما می توانید داده های تراکنش را به صورت زیر ارسال کنید:

ga('myTracker.ecommerce:send');

 

مثال

اکثر سایت های ecommerceمعاملات را بر روی سرور انجام می دهند، در حالی که کتابخانه analytics.js از مرورگر به Google Analytics می فرستد. بنابراین یک کمی از هماهنگی بین سرور و سرویس گیرنده لازم است تا اطلاعات ecommerceرا به Google Analytics ارسال کند.

 

اکثر سایت های ecommerceصفحه “تشکر از شما” خود را با استفاده از یک موتور قالب قالب سرور ارائه می کنند. در این مورد، شما می توانید کد ردیابی ecommerceرا به قالب سمت سرور اضافه کنید و از منطق سرور استفاده کنید تا به صورت پویا ارزش داده های ecommerceرا به صفحه نهایی بنویسید. در اینجا یک مثال از چگونگی این را در PHP می بینیم.

 

در PHP، شما به طور معمول برخی از نمایندگی از داده های تجارت الکترونیکی را داشته باشد. در این مثال، داده ها در یک آرایه انجمنی ذخیره می شوند:

<?php
// Transaction Data
$trans = array('id'=>'1234', 'affiliation'=>'Acme Clothing',
               'revenue'=>'11.99', 'shipping'=>'5', 'tax'=>'1.29');

// List of Items Purchased.
$items = array(
  array('sku'=>'SDFSDF', 'name'=>'Shoes', 'category'=>'Footwear', 'price'=>'100', 'quantity'=>'1'),
  array('sku'=>'123DSW', 'name'=>'Sandals', 'category'=>'Footwear', 'price'=>'87', 'quantity'=>'1'),
  array('sku'=>'UHDF93', 'name'=>'Socks', 'category'=>'Footwear', 'price'=>'5.99', 'quantity'=>'2')
);
?>

 

اولین قدم این است که برخی از منطق ها را برای تبدیل داده های ecommerceبه رشته جاوا اسکریپت مورد نیاز analytics.js بنویسیم:

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

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

اسکریپت به طور معمول به صورت زیر نوشته می شد.

<script src=”script.js”></script>

هر زمان که تجزیه کننده HTML این خط را پیدا می کند ، یک درخواست برای واکشی اسکریپت ساخته خواهد شد و اسکریپت اجرا می شود

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

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

اگر اسکریپت کمی طولانی تر از حد انتظار طول می کشد ، برای مثال اگر شبکه کمی کند است و یا اگر شما بر روی یک دستگاه تلفن همراه هستید و اتصال کمی درهم و برهم است.

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

وقتی برای اولین بار HTML را یاد می گیرید ، به شما گفته می شود که برچسب های اسکریپت در <head> tag قرار دارند:

<html>

<head>

   <title>Title</title>

   <script src=”script.js”></script>

</head>

<body>

   …

</body>

</html>

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

سپس ، پس از انجام کامل این کار، به سراغ تجزیه body می رود.

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

یک راه حل بسیار معمول برای این موضوع این است که تگ اسکریپت را پایین صفحه قرار دهید ، درست قبل از بسته شدن برچسب </body>.

با انجام این کار ، اسکریپت بعد از اینکه تمام پیج ها لود و اجرا شد، اجرا می شود .

که به نسبت بهبود زیادی خواهد داشت.

این بهترین راهکاریست که می توانید برای مرور گر های قدیمی تر که defer و async را ساپورت نمی کنند بکار بگیرید .

Defer و Async

هر دو آن ها صفت های Boolean هستند و مثل هم استفاده می شوند.

<script async src=”script.js”></script>

<script defer src=”script.js”></script>

async در مرورگرهای جدید قابل بکارگیریست ، در حالی که مرورگرهای قدیمی تر  از defer پشتیبانی می کنند.

این ویژگی ها تنها در هنگام استفاده از اسکریپت در قسمت head صفحه قرار می گیرند

و اگر شما اسکریپت را در body بگذارید بی فایده هستند.

مقایسه کارایی

بدون استفاده از defer  async در head

در اینجا می بینید که چگونه یک صفحه یک اسکریپت را بدون defer یا async لود می کند:

بدون استفاده از defer یا async در head

بدون استفاده از defer یا async در head

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

بدون استفاده از defer  async در body

در اینجا چگونگی لود اسکریپت را با قرار دادن آن در انتهای body می بینید :

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

بدن استفاده از defer و async

تجزیه بدون هیچ گونه مکث انجام می شود ، و زمانی که تمام شد ، اسکریپت آورده شده سپس اجرا می شود .

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

Async در head

در اینجا چگونگی لود یک اسکریپت با async ، قرار داده در برچسب head را می بینید :

async در head و افزایش سرعت وبسایت

async در head

اسکریپت به صورت موازی برداشته شده است ، و هنگامی که آن را آماده شد تجزیه HTML متوقف می شود برای اجرا اسکریپت سپس ادامه میابد.

Defer در  head

در اینجا چگونگی لود یک اسکریپت با defer، قرار داده در برچسب head را می بینید :

Defer در Head و افزایش سرعت وبسایت

Defer در Head

اسکریپت به صورت موازی برداشته شده است ، پس از تجزیه HTML ، اجرا می شود .

تجزیه دقیق مثل زمانی که اسکریپت را در body می گذاریم تمام می شود با این تفات که این بار دانلود شده است از قبل و سریع اجرا می شود .

 

مقایسه defer و async

Async تجزیه تحلیل را بلوک می کند در حالی که defer نمی کند .

هیچ کدام بلوکه شدن رندر را گارانتی نمی کنند.

بهتربن راه کدام است

بهترین کاری که باید انجام دهید برای سرعت بخشیدن به بارگذاری صفحه خود در هنگام استفاده از اسکریپت ها این است که آنها را در head قرار دهید و صفت defer را به آن اضافه کنید.

<script defer src=”script.js”></script>

این سناریو باعث افزایش سرعت رویداد domInteractive است.

با توجه به جوانب مثبت defer ، به نظر می رسد انتخاب بهتری از async است

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

منبع:flaviocopes

Enable-Keep-Alive

KeepAlive یک ویژگی خاص جهت ارتباط بین کاربر و وب سرور است که اجازه برقراری و ارسال چندین فایل را در یک Connection فراهم می‌سازد تا سرعت لود وب سایت بیشتر شود. فعال سازی KeepAlive از دو طریق امکان‌پذیر خواهد بود. 1- فعال سازی KeepAlive از طریق Htaccess ( کاربرد برای هاست اشتراکی ) 2- فعال سازی KeepAlive از طریق وب سرور ( هاست اختصاصی و وب هاستینگ )

فعال سازی KeepAlive از طریق htaccess

به بخش مدیریت فایل پنل خود بروید.
در این جا مثال ما کنترل پنل Cpanel خواهد بود ولی در مجموع برای فعال سازی در سایر پنل‌ها نیز همین رویه کاربردی است.

به دایرکتوری Public_html رفته و فایل را پیدا کنید.
نکته : فایل htaccess. به صورت مخفی بوده و برای نمایش فایل‌های مخفی در دایرکتوری از آموزش نمایش فایل مخفی در Cpanel استفاده نمایید.

سپس فایل را با ویرایشگر سیپنل باز کنید و کد زیر را در آن کپی نمایید.
Header set Connection keep-alive
پس از وارد کردن کد بالا ، فایل را ذخیره کرده و از آن خارج شوید.
بدین ترتیب KeepAlive برای صفحات وب سایت شما فعال خواهد شد.

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

How to Enable Keep-Alive in WordPress to Speed up Your Site

learn How to Enable Keep-Alive in WordPress. You need to add ‘Connection: Keep-Alive’ HTTP header in your server in order to enable Keep-Alive. You can also Enable Keep-Alive using .htaccess in WordPress. Or you can choose to edit config file of your Apache/NGINX servers if you do not have access to .htaccess file. The easiest way to Enable Keep-Alive using .htaccess is to add a piece of code (given below).

keep alive
How to Enable Keep-Alive in WordPress to Speed Up your site

Before we start about the best practices to Enable Keep-Alive in WordPress and the dos and don’ts. First of all, we need to understand What Keep-Alive is? and How actually Keep-Alive works?

What is Keep-Alive and how it works?

Keep-Alive is a technique to let one TCP (Transmission Control Protocol) connection to access multiple files from server to web browser instead of creating new connection for every new request (file). Keep-Alive also known as persistent HTTP connection.

Furthermore, Lets’ discuss about how it works. You might know about the connection and coordination process of a web browser and server. When you visit a webpage, your web browser create a connection with web-server and sent a request to access a particular file, and server gives OK (go ahead) to the browser.

As a result, Browser started downloading the file, than create another connection for second file and the process goes on.

Suppose, if your web browser requires 10 (TEN) files to display a webpage, browser has to create 10 separate connections after each file download and request one by one to web server for OK to access files.

keep alive
Keep-Alive Disabled

Therefore, Enabling Keep-Alive help browsers to create only SINGLE connection to access all the files from web server in one go (or in single OK). It significantly reduces number of requests to the web-server, and as a result that reduces Server CPU Uses (Server Load) as well. In addition to that, you will get considerable improvement in page loading speed.

keep alive
Keep-Alive Enabled

How to enable Keep-Alive in WordPress

Whether you own a blog or a website, page-loading speed always matters and these simple techniques will boost your webpage loading speed by enabling Keep-Alive in WordPress.

Before applying any method, I would suggest you to check whether, is it already enabled on your website or disabled. Because, most of the modern hosting services had already activated Keep-Alive by default. However, you should check it by using this link.

Enable Keep-Alive plays an important role in order to increase your website loading speed. This is one of the most commonly adaptive method by pro-bloggers to reduce website loading time.

Finally, let’s discuss, how to Enable Keep-Alive using .htaccess in WordPress or on Apache/NGINX servers.

How to Enable Keep-Alive using .htaccess file in WordPress

You need to add the given below piece of code into your .htaccess file.

# TN START ENABLE KEEP ALIVE
<ifModule mod_headers.c>
Header set Connection keep-alive
</ifModule>
# TN END ENABLE KEEP ALIVE

Add this code after the last line in your .htaccess file; it will add Keep-Alive HTTP headersthat enables Keep-Alive.

Enable Keep-Alive in Apache

In most of the new Apache servers, Keep-Alive should be auto enabled. If it is not enabled, find Apache HTTP Server configuration file (httpd.conf) of your server.

you can find it here – /etc/httpd/conf/httpd.conf

and

Add the below written code in that file…

# Set it On to enable Keep-Alive, Off to disable Keep-Alive
KeepAlive On

# Set maximum requests per connection, set 0 for unlimited request, 100 request per connection is ideal
MaxKeepAliveRequests 100

# Set per connection timeout for next request
KeepAliveTimeout 15

Enable Keep-Alive in NGINX

In almost all the NGINX servers, Keep-Alive comes enabled by default. However, if it is not enabled you can check the same by finding ‘keepalive_disable’ in NGINX core module (ngx_http_core_module).

Have you Enabled Keep-Alive on your website. YES, NO, Not Sure. Do check it again and Enable Keep-Alive using .htaccess in WordPress now.

Hope you find this guide useful. Which method you use to Enable Keep-Alive? Did you find any improvement in page loading speed? Do let us know in the comment section below.

Cheers!

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

چگونه عکس مناسب پیدا کنیم؟

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

تگ‌ Alt تصاویر را هوشمندانه انتخاب کنید

تگ Alt، به متنی جایگزین گفته می‌شود که در هنگام خطا در اجرای تصاویر به نمایش در می‌آید. حتی در صورت اجرای تصاویر نیز با عبور دادن نشانگر موس از روی تصاویر می‌توانید این عبارات جایگزین را مشاهده کنید. افزون بر این، تگ‌های Alt در بهینه سازی تصاویر سایت و بهبود سئو نیز مؤثر هستند.
ابعاد تصویر و ویژگی‌های مختلف محصولات را در نظر بگیرید
یک شیوه‌ی رایج در بازاریابی که امروزه بسیار مورد استفاده قرار می‌گیرد به کارگیری تصاویر متعدد از زوایا و ویژگی‌های مختلف محصولات است. کاهش سرعت بارگذاری ناشی از تصاویر بزرگ، مانعی مهم در بهبود تجربه کاربری محسوب می‌شود.

حجم تصاویر را کاهش دهید!

افزایش سرعت وبسایت با کاهش حجم تصاویر که از مهم‌ترین دلایل اصلی بانس ریت پایین و عدم فرار مخاطبان از سایت شما است .
اغلب کاربران اینترنتی حدود ۳ تا ۷ ثانیه برای بارگذاری یک صفحه اینترنتی بر روی لپ‌تاپ صبر می‌کنند. این عدد برای گوشی‌های هوشمند در حدود ۵ تا ۷ ثانیه است.
شایعه‌ای وجود دارد که می‌گوید طراحان وب‌سایت آمازون در یک تحلیل عجیب دریافتند که اگر صفحات این وب‌سایت تنها یک ثانیه دیرتر بارگذاری شود، سالانه ۱٫۶ میلیارد دلار از دست می‌دهند.
گوگل زمان بارگذاری صفحات را به‌عنوان یکی از فاکتورهای مهم در رتبه‌بندی وب‌سایت‌ها در نظر می‌گیرد.

از فرمت مناسب برای تصاویر خود استفاده کنید

تصاویر در وب‌سایت‌های اینترنتی معمولاً با سه فرمت JPEG، PNG و GIF بارگذاری می‌شوند و هر یک از این فرمت‌ها تاثیر متفاوتی بر روی عکس‌ها می‌گذارند

از تصاویر Thumbnails درست استفاده کنید

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

تصاویر خود را آزمایش کنید

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