عندما قمت باختيار قالب ووردبريس لموقعي الإلكتروني وقمت باختبار إجمالي سرعة القالب وجدت أن سرعة القالب جيدة بشكل عام ولذلك اعتمد عليه ولكن بعد تنصيب القالب على الموقع الإلكتروني وفحص القالب بواسطة إحدى أدوات قياس سرعة الموقع على سبيل المثال أداة PageSpeed Insights وجدت في التوصيات أن سرعة استجابة الخادم TTFB بطئية ويجب تحسين تلك النقطة لتحسين أداء الموقع الإجمالي بشكل عام.
لذلك قمت بالبحث عن الأسباب التي تؤدي إلى بطئ استجابة الخادم وتطبيقها بشكل عملي على موقعي الإلكتروني حتى الوصول إلى أفضل الخيارات المتاحة، لذلك خلال الفقرات التالية سأقوم بمشاركة تجربتي والخطوات المتبعة في تحسين وقت استجابة الخادم TTFB ولكن بداية الأمر نحتاج إلى فهم معنى مصطلح وقت استجابة الخادم TTFB حتى يكون التعامل معه أفضل.
ما مفهوم مصطلح وقت استجابة الخادم TTFB:
مصطلح TTFB هو اختصار إلى Time To First Byte وهو يعني الوقت المستغرق في إتمام طلب كامل من متصفح الويب إلى خادم الويب الخاص بالموقع الإلكتروني.
وبشكل أبسط يعبر وقت استجابة الخادم TTFB عن الوقت الذي يتم تحميل فيه أول بايت أو يظهر فيه أول جزء من موقعك الإلكتروني على متصفح الويب للزائر وكلما كان هذا الوقت أكبر كلما كانت النتائج أسوأ.
ويرتبط وقت استجابة الخادم TTFB إلى 3 مراحل مختلفة يمكن أن تظهر المشكلة في أي مرحلة منهم وهم كالآتي:
إرسال طلب إلى الخادم: عندما يقوم الزائر بالدخول إلى موقعك الإلكتروني فأنه يتم إرسال طلب HTTP من متصفح الويب إلى خادم الموقع لعرض الموقع الإلكتروني على المتصفح ويبدأ حساب وقت استجابة الخادم TTFB من تلك اللحظة ويمكن أن يحدث التأخير في تلك المرحلة بسبب بعد الموقع الجغرافي للعميل أو مشاكل في إتصال DNS أو مشاكل في جدار الحماية على موقعك الإلكتروني أو شركة الاستضافة.
معالجة الطلب من الخادم: بمجرد أن يستلم الخادم طلب HTTP من متصفح الويب يبدأ في معالجة الطلب وإنشاء استجابة لمتصفح الويب وقد يحدث تأخير في تلك المرحلة بسبب بطء التعامل مع قواعد البيانات أو موارد الخادم الضعيفة وغير ذلك.
الرد على طلب الزائر: بعد معالجة طلب HTTP من الخادم يبدأ في إرسال البيانات المطلوبة إلى الزائر من النصوص والصور والفيديوهات وغير ذلك وهذا يعتمد على سرعة الإتصال بالإنترنت من الخادم والزائر أيضًا، لذلك إذا كان سرعة الإتصال بالإنترنت من الزائر بطيئة يؤثر ذلك بالسلب على وقت استجابة الخادم TTFB.
وهذا يعني أن وقت استجابة الخادم TTFB يرتبط بأكثر من مرحلة مختلفة لذلك يجب تقسيم مراحل تحسين وقت استجابة الخادم TTFB إلى أكثر من مرحلة أيضًا ولكن في بداية الأمر دعنا نوضح كيفية قياس وقت استجابة الخادم .
كيفية قياس وقت استجابة الخادم TTFB:
توجد العديد من الأدوات المجانية التي تساعدك على قياس وقت استجابة الخادم TTFB على موقع الإلكتروني كما يمكنك أيضًا التعرف عليه بواسطة فحص تفاصيل الاتصال الخاصة بمتصفح الويب وأهم الأدوات المجانية التي يمكن أن تعتمد عليها هو الآتي:
أداة Domsignal
أداة Webpagetest
أداة Pingdom
أداة Gtmetrix
1- أداة Domsignal
الأداة الأولى والأسهل في قياس وقت استجابة الخادم TTFB هي أداة Domsignal وهي تعد أحد أدوات شركة Geekflare المجانية التي تساعد على استكشاف وحل مشاكل الويب الشائعة.
والتعامل مع أداة Domsignal مباشر تمامًا حيث تقوم بالدخول إلى الأداة ثم تقوم بكتابة عنوان الموقع الإلكتروني وتضغط على Run Test، سيقوم بالفحص خلال دقائق ويظهر لك نتيجة الفحص من أقرب مركز بيانات لموقعك الإلكتروني ونتائج أخرى من مراكز بيانات بعيدة عن لموقعك الإلكتروني وذلك كما موضح في الصورة التالية:
2- أداة Webpagetest
الأداة الثانية هي أداة Webpagetest وهي تعد من الأدوات المجانية أيضًا في قياس وقت استجابة الخادم TTFB ولكن تتطلب منك تسجيل حساب جديد ويسمح لك الحساب المجاني بإجراء 10 عمليات بحث يوميًا فقط بحد أقصى 300 عملية بحث في الشهر وهذا معدل كافي جدًا لموقع ويب واحد.
وهي تقوم بتقييم الموقع الإلكتروني لك على هيئة درجات تبدأ من درجة A إذا كان وقت استجابة الخادم TTFB أقل من 100 مللي ثانية وتبدأ تقل درجة مع كل 100 مللي ثانية وذلك كما موضح في الصورة التالية:
ستلاحظ في الصورة السابقة أن العميل إنتظر وقت طويل وهو ينظر إلى صفحة فارغة حتى ظهرت له محتويات الصفحة وفي نفس الوقت سرعة تحميل الموقع جيدة، لذلك لا يجب عليك الخط بين سرعة تحميل الموقع ووقت استجابة الخادم TTFB.
وستلاحظ أيضًا إختلاف النتائج من أداة Domsignal وأداة Webpagetest وكلا النتائج صحيح دون مشاكل وذلك لأن كل أداة تقوم بفحص الموقع الإلكتروني من مركز بيانات مختلف لذلك أفضل التعامل مع الأداة الثالثة وهي أداة Pingdom.
3- أداة Pingdom
تعد أداة Pingdom هي الأفضل في قياس وقت استجابة الخادم TTFB وذلك لأنها تساعدك على تحديد مركز البيانات المناسب لك وبالتالي تقوم بعمل محاكاة تجربة فعلية لتصفح موقعك الإلكتروني من موقع الزائر.
وتستطيع قياس وقت استجابة الخادم TTFB بسهولة عن طريق الدخول إلى الصفحة الرئيسية ومنها تقوم بكتابة اسم الموقع الإلكتروني ثم تقوم بتحديد مركز البيانات ضمن 7 خيارات متاحة ثم تضغط على Start Test.
وستجد أن وقت استجابة الخادم TTFB يتم التعبير عنه باسم وقت الإنتظار Wait Time وذلك كما موضح في الصورة التالية:
4- أداة Gtmetrix
الأداة الرابعة هي أداة Gtmetrix وهي الأداة الغنية عن التعريف في قياس سرعة المواقع الإلكترونية بشكل عام ويمكنك الإعتماد عليها في قياس وقت استجابة الخادم TTFB أيضًا.
والجدير بالذكر أن أداة Gtmetrix تعد أكثر الأدوات دقة مقارنة بالأدوات السابقة وتقدم لك إنطباع عام كيف يرى الزائر موقعك الإلكتروني حتى يتم تحميل الصفحة بشكل كامل وذلك كما موضح في الصورة التالية:
ستلاحظ في الصورة السابقة أن وقت استجابة الخادم TTFB هو 370 مللي ثانية وأن سرعة تحميل الموقع بشكل إجمالي هي 1.2 ثانية وستجد العناصر التي تظهر أمام العميل خلال تلك الفترة، حيث سينتظر قرابة ثانية يرى صفحة فارغة ثم يبدأ يرى الهيدر والنصوص وذلك بالتأكيد في حالة الإتصال الجيد بالانترنت.
كما ستلاحظ أيضًا أن أغلب أدوات قياس وقت استجابة الخادم TTFB تضع حد 100 مللي ثانية للحكم على وقت استجابة الخادم الجيد لذلك يمكن إعتبار هذا الحد الذي نحتاج إلى الوصول إليه.
ويوجد مجموعة عديدة من الأدوات الأخرى التي يمكن أن تعتمد عليها في قياس وقت استجابة الخادم TTFB ولكن وضحت لكم أهم الأدوات الرئيسية والآن بعد أن وجدنا أن وقت استجابة الخادم TTFB بطيء كيف يمكن معالجة تلك المشكلة ؟!
كيف يمكن تحسين وقت استجابة الخادم TTFB:
كما وضحت في المقدمة أن عندما وجدت مشكلة بطء وقت استجابة الخادم TTFB على موقعي الإلكتروني قمت بإجراء مجموعة من الخطوات على مستوى الخادم وموقع الووردبريس والتي ساعدت على تقليل وقت استجابة الخادم TTFB إلى أقل من 100 مللي ثانية والتي سنوضحها في الفقرات التالية:
1- مراجعة شركة الاستضافة
الخطوة الأولى لتحسين وقت استجابة الخادم TTFB هي مراجعة شركة الاستضافة، حيث أنها هي العامل الأساسي الذي يؤثر بشكل مباشر وذلك عن طريق مراجعة التقييمات ومراجعات شركة الاستضافة وفحص سرعة الخادم بشكل عام على الموقع الأساسي.
وإذا كانت سرعة الاستضافة غير جيدة يجب الإنتقال إلى شركة تقدم استضافات أكثر سرعة وهنا نقترح استضافة Digital Ocean في الاستضافات السحابية وشركة A2 Hosting في أنواع الاستضافة الأخرى.
ويجب العلم أن نوع الاستضافة نفسه يؤثر على سرعة الموقع أيضًا خصوصًا الاستضافات المشتركة حيث عندما قمت باختيار سرعة موقع على استضافة مشتركة ونفس الموقع على استضافة سحابية كان وقت استجابة الخادم TTFB 240 مللي ثانية أما على الاستضافة السحابية كان وقت استجابة الخادم TTFB 164 مللي ثانية.
وهذا يعني أن وقت استجابة الخادم TTFB تحسن بنسبة 32 % بمجرد ترقية الاستضافة إلى خطة أفضل فقط.
2- خدمات CDN
إذا كان لديك موقع إلكتروني يستهدف عملاء من أنحاء مختلفة حول العالم يفضل أن تعتمد على خدمات CDN فهي خدمة تقوم بنشر موقعك الإلكتروني على شبكة مترابطة موزعة حول العالم ويتم تحميل بيانات الموقع مع أقرب خادم له وبالتالي يوفر وقت تحميل كبير خصوصًا في وقت استجابة الخادم TTFB.
وقمت بتعطيل خدمات CDN على الموقع الإلكتروني وقياس وقت استجابة الخادم TTFB وجدت أن وقت استجابة الخادم 236 مللي ثانية وإجمالي وقت التحميل 1.45 ثانية أما عند تفعيل خدمات CDN وجد أن وقت استجابة الخادم انخفض إلى 37 مللي ثانية ووقت التحميل الإجمالي إلى 788 مللي ثانية.
لذلك نحن نتحدث عن تحسين وقت استجابة الخادم TTFB بنسبة تزيد عن 65 % بمجرد تفعيل خدمات CDN فقط وإذا كنت تعتمد على خدمات Cloudflare ستجد وقت استجابة الخادم TTFB تحسن أيضًا ولكن بنسبة أقل بسبب الضغط على خوادم Cloudflare خصوصًا المجانية.
3- خدمات التخزين المؤقت
الحلول السابقة ساعدت على تحسين وقت استجابة الخادم TTFB بنسبة تزيد عن 80 % وهي مرتبطة بشكل كامل بخوادم شركة الاستضافة أما إذا كنت بالفعل تعتمد على خطة استضافة جيدة من شركة جيدة وكذلك تعتمد على خدمات CDN فيجب عليك اتباع الحلول المرتبطة بالموقع الإلكتروني نفسه.
وأحد أسهل الحلول التي يمكن أن تساعدك على تحسين وقت استجابة الخادم TTFB هو الإعتماد على خدمات التخزين المؤقت وتلك الخدمات تساعد على حفظ بيانات الموقع على متصفح الويب وبالتالي تظهر للزائر بشكل مباشر عند العودة إلى الموقع مرة أخرى أو الانتقال داخل صفحات الموقع الداخلية.
وبالفعل قمنا باختيار وقت استجابة الخادم TTFB عند إيقاف خدمات التخزين المؤقت كانت 560 مللي ثانية أما عند تفعيل خدمات التخزين المؤقت مرة أخرى 57 مللي ثانية لذلك ستجد أنه تم تحسين وقت استجابة الخادم بنسبة تزيد عن 90 % ولكن بالتأكيد مع الزيارة الثانية للزائر.
وتقدم أغلب شركات الأستضافة خدمات التخزين المؤقت مع خطط الاستضافة ولكن إذا لم تكن متاحة يمكنك الإعتماد على إحدى إضافات الووردبريس على سبيل المثال إضافة Cache Enabler أو إضافة WP Super Cache أو إضافة W3 Total Cache ويوجد الكثير من الخيارات الأخرى.
4- ضغط GZIP
إحدى الخيارات المتاحة أيضًا لتحسين وقت استجابة الخادم TTFB هو ضغط GZIP وهو نوع من أنواع ضغط ملفات الموقع على سبيل المثال HTML و CSS و JS وبالتالي يقلل من حجم الصفحات وبالتأكيد ينعكس ذلك على تحسين وقت استجابة الخادم.
وأغلب شركات الاستضافة أيضًا تقدم تلك الخدمة ضمن خدمات باقات الاستضافة ولكن تحتاج إلى تفعيل فقط ولكن إذا لم تكن متاحة على شركة الاستضافة يمكنك الإعتماد على إحدى الإضافات المجانية الفعالة وهي إضافة Enable Gzip Compress.
5- تحسين قاعدة البيانات الخاصة بك
إذا كانت قواعد البيانات الخاصة بموقعك الإلكتروني تحتوي على بيانات غير هامة على سبيل المثال مراجعات وتعديلات المقالات السابقة ورسائل البريد العشوائي والتعليقات المحذوفة وغير ذلك سيؤثر ذلك على وقت استجابة الخادم TTFB.
لذلك يجب تحسين قاعدة البيانات عن طريق إلغاء كافة الملفات الغير الهامة ويمكن إجراء تلك الخطوة بشكل بسيط عن طريق إحدى إضافات الووردبريس المجانية على سبيل المثال إضافة WP-DBManager أو إضافة WP-Optimize أو إضافة WP-Sweep.
كما يمكنك أيضًا القيام بشكل يدوي بحذف كافة الإضافات والقوالب التي لا تحتاج إليها على الموقع الإلكتروني وهذا بدوره يساعد على تحسين وقت استجابة الخادم TTFB بنسبة لا تقل عن 10 %.
6- الاعتماد على أحدث إصدار PHP
إصدار PHP الأحدث يساعد على معالجة عدد طلبات أكبر في نفس الوقت على سبيل المثال إصدار PHP 7 يعمل على معالجة عدد طلبات أكبر بنسبة 50 % من إصدار PHP 5.6 في الثانية الواحدة وبالتالي يعمل على تحسين وقت استجابة الخادم TTFB بنسبة كبير دون الإعتماد على أي عوامل أخرى.
لذلك يجب عليك مراعاة تحديث إصدار PHP ويفضل أن تعتمد على الدعم الفني الخاص بشركة الاستضافة للقيام بهذا الأمر لأنه قد يسبب لك تعارض أو مشاكل تقنية أو الإعتماد على أحد المبرمجين في مواقع العمل الحر كموقع خمسات أو موقع مستقل ولا تنسى أن تأخذ نسخة إحتياطية من موقعك الإلكتروني قبل القيام بأي تعديل برمجي أو تقني.
7- تقليل عدد الطلبات
بعض مواقع الووردبريس تولد عدد كبير من الطلبات في الصفحات الرئيسية الخاصة بها بسبب وجود إضافات متعددة وخصائص ديناميكية وهذا ينعكس على بطء تحميل الموقع بشكل عام ووقت استجابة الخادم TTFB بشكل خاص.
لذلك يجب فحص عدد طلبات الموقع الإلكتروني ومحاولة الحد منها قدر الإمكان على سبيل المثال يمكنك الإعتماد على إضافة Query Monitor أو إضافة New Relic حيث تقوم تلك الإضافات بفحص موقعك الإلكتروني وتحديد الإضافات التي تولد أكبر عدد طلبات يؤثر على وقت استجابة الخادم TTFB فتقوم بتحسين تلك الإضافات من خلال الإعدادات أو البحث عن بديل أخف وأفضل.
8- تعطيل WordPress Heartbeat
تعد خطوة تعطيل WordPress Heartbeat من الخطوات الأساسية التي اتبعها عند إنشاء موقع ووردبريس جديد، حيث أن WordPress Heartbeat هو القلب النابض للووردبريس ولكن يمكن الاستغناء عنه أو تقليل من مميزاته على سبيل المثال هو المسئول عن حفظ المقال بشكل تلقائي عند التدوين فيمكن أن نجعل الحفظ يدوي أو على فترات متباعدة وكذلك المسئول عن التعديلات المباشرة للنشر وإشعارات المكونات الإضافية وغير ذلك.
وبالتالي يستهلك WordPress Heartbeat جزء كبير من موارد الخادم خصوصًا بسبب زيادة عدد الطلبات الناتجة منها وبالتالي يقلل من وقت استجابة الخادم TTFB.
ويمكنك بسهولة الحد من من خدمة WordPress Heartbeat عن طريق إضافة Heartbeat Control.
9- إنشاء موقع ثابت
النقطة الأخيرة لتحسين وقت استجابة الخادم TTFB هي إنشاء موقع ثابت، ويمكن توضيح تلك النقطة بشكل بسيط، حيث عندما يقوم الزائر بالدخول إلى موقعك يتم تحميل كافة محتويات الصفحة ثم تحميل الصفحة نفسها من حيث الهيدر والفوتر والألوان والإعلانات وغير ذلك وذلك بواسطة كود PHP وتلك تعرف المواقع الديناميكية.
ولكن صفحة الموقع ثابتة من حيث التنسيق في أغلب صفحات الموقع على سبيل المثال المقالات لذلك تقوم بتكون صفحة ثابتة لا يتم تحميلها إلى مرة واحدة ويتم تحميل محتويات الصفحة فقط وهذا يعرف بالموقع الثابت وهذا بدوره يقلل 30 % من محتويات الصفحة عند التحميل وبالتالي يقلل من وقت استجابة الخادم TTFB بشكل ملحوظ.
ويمكنك الإعتماد على إضافة Simply Static والتي تساعدك على إنشاء موقع ثابت بشكل مجاني وبخطوات بسيطة.
وبهذا الشكل نكون قد وصلنا إلى خاتمة تجربة تقليل وقت استجابة الخادم TTFB على موقع ووردبريس فإذا كان لديك سؤال أو استفسار فلا تتردد بالتعليق أسفل المقال وسأحاول جاهدًا مع فريق الدعم الفني مساعدتك بإذن الله.
تحياتي ،،،