هناك العديد من ملحقات التخزين المؤقت مع مجموعة واسعة من المعلمات والوظائف -
بدون تحليل دقيق ، من المستحيل القيام باختيار كفء . بعد تصفح الإنترنت ، لم أجد أي مقارنات عادية حقًا. لا توجد سوى منشورات فقط لجذب الانتباه - أوصاف البرنامج المساعد. الشيء المشترك هو نبضات تحسين محركات البحث ، إذا جاز التعبير. لقد رأيت حتى محاولة لإجراء تحليل مقارن للمكونات الإضافية الثلاثة ، ولكن لم يتم إعطاء أي شيء آخر سوى قياس سرعة التنزيل من خلال الخدمة عبر الإنترنت. ولكن كيف يتم ترتيب كل شيء في الداخل ، لا يقال عن تأثير التحسينات. بعد كل شيء ، كل موقع فردي - لا تزال بحاجة إلى ضبط دقيق - تحتاج إلى فهم مبدأ التشغيل من أجل الاختيار الأمثل.
تم إنشاء هذه المقالة في وقت واحد مع إنشاء
المواد ، والتي يتم التركيز على استخدام نتائج التحليل. أريد هنا
أن أشارك المزيد من التفاصيل وطرق هذا التحليل مع أشخاص وأخوة معقدين في المتجر.
المبادئ
يتكون WordPress من العديد من نصوص PHP. في كل مرة تقوم فيها بالوصول إلى الموقع (الخادم) ، يتم تنفيذ جزء من البرامج النصية ويتم إخراج النتيجة على شكل صفحة HTML. تتمثل الفكرة الرئيسية للتحسين في توفير الوقت من خلال إصدار نتيجة نهائية فورًا لتغيير المحتوى نادرًا.
نظرًا لإلحاح المشكلة ، تمت كتابة العديد من المكونات الإضافية لذاكرة التخزين المؤقت بالفعل وظهرت إضافات جديدة. أيضًا ، لا أريد أبدًا الدفع أكثر من اللازم ، لذلك تم إجراء تحليل مقارن للحلول المجانية والبرامج المجانية فقط.
يتم
تمييز الخصائص الرئيسية التي يجب أن يمتلكها المكون الإضافي لضمان التخزين المؤقت عالي الجودة:
- ذاكرة التخزين المؤقت للخادم (ذاكرة التخزين المؤقت من جانب الخادم)
- وقت تحميل الصفحة
واحدة من أهم المعلمات. كلما كان الوقت أقصر ، كان العميل يتلقى الاستجابة بشكل أسرع. يمكنك بالطبع اختيار مكون إضافي مع الكثير من الوقت ، ولكن مع الأحمال العالية على الخادم ، سيكون عليك زيادة أداء الأجهزة ، وهذه تكاليف كان يمكن تجنبها. - طريقة التخزين المؤقت
الحفاظ على أقصى قدر من جميع كائنات HTML و JS و CSS المعدة ، ويفضل أيضًا في حالة الضغط ، لتوفير وقت المعالجة على الخادم وزيادة سرعة الإخراج.
- ذاكرة التخزين المؤقت للعميل
- عند إصدار النتيجة ، من الممكن التحكم في ذاكرة التخزين المؤقت لمتصفح العميل. عند التنشيط ، لن يأتي الطلب المتكرر إلى الخادم ، مما يؤثر بشكل إيجابي على أدائه. يشار إليه في شكل قيم TTL (مدة البقاء) لكل نوع من الكائنات (HTML ، CSS ، JS ، صور ، ...). بالنسبة للكائنات الهامة ، تكون القيم صغيرة أو تساوي 0.
- تحسين
- ادمج
تحميل JS واحد (أو CSS) بدلاً من عدة ، مثل كل وصول إضافي إلى الخادم مكلف. يُشار أيضًا إلى ذلك مباشرةً بواسطة اختبار سرعة الصفحة من Google . - مضمنة (التضمين)
يتم إدراج محتوى CSS في HTML ، مما يقلل في النهاية من عدد المكالمات إلى الخادم. من الأفضل تضمين CSS لأنه من الناحية العملية ، من الصعب تقسيمها إلى الأجزاء الضرورية وليس ذلك. - تأجيل (تنزيل متأخر)
تأخر تحميل نصوص JS التي لا تؤثر على العرض الأولي للصفحة. أيضا أهم مقياس يؤثر على سرعة تحميل الصفحة للمستخدم. JS أفضل للتأجيل من التضمين مباشرة في HTML منذ ذلك الحين عادة ما يكون من السهل فصلها وسيتضمن تضمينها زيادة في حجم HTML ، مما قد يؤدي إلى التحميل في عدة تكرارات ، وهو ما يعادل ظهور طلبات بحث إضافية. - التقليل
غالبًا ما تحتوي محتويات HTML و JS و CSS على أجزاء إضافية ، مثل المسافات وفواصل الأسطر والتعليقات. كل هذا من الأفضل إزالته من أجل تقليل حجم الأشياء. - ضغط
ضغط البيانات باستخدام خوارزمية GZip (انكماش) لتقليل كمية البيانات المنقولة. لأن HTML و JS و CSS هي في الأساس تنسيقات نصية ، فهي تضغط بشكل جيد.
- إدارة
- تحديث (تحديث)
في حالة تغيير الكائن المطلوب (على سبيل المثال ، تمت إضافة مقالة جديدة) ، يجب إعادة إنشاء الكائن في ذاكرة التخزين المؤقت ، وإلا سيتم إرسال معلومات غير ذات صلة إلى المستخدمين. تم تكوين الإضافات الجيدة لتحديث ذاكرة التخزين المؤقت تلقائيًا في الأحداث الأكثر وضوحًا. ويجب أن يكون من الممكن دائمًا مسح ذاكرة التخزين المؤقت بالكامل يدويًا. إنه مثل رافعة رافعة في القطار - نادر جدًا ، ولكنه ضروري. - استبعاد (إضافة استثناءات)
تحتاج في بعض الأحيان إلى استبعاد بعض الكائنات والصفحات من التخزين المؤقت لإصلاح المشكلات. يجب أن تكون هناك سيطرة كافية على ذلك.
مقارنة البرنامج المساعد
لتجميع القائمة الفعلية قيد البحث ، تم اختيار المكونات الإضافية من خلال موقع
wordpress.org الشهير مع البحث عن الكلمات ذاكرة التخزين المؤقت واختيار أول 140 (10 صفحات) مناسبة. اتضح 24.
بالمناسبة ، إذا كنت تعتقد أن بعض المكونات الإضافية المهمة ليست في القائمة - يرجى الكتابة في التعليقات - سأضيفها إلى التحليل لاحقًا.
المنهجية
- تم إجراء جميع الاختبارات على نفس صفحة HTML التي تحتوي على CSS و JS والعديد من كائنات الوسائط لتغطية النطاق العام للأنواع.
- تم إجراء اختبارات الأداء الوظيفي لكل معيار من المعايير المذكورة أعلاه وتلخيصها في الجدول.
- يتم إعطاء كل معيار وزن أهمية التأثير على النتيجة الإجمالية (تكون مرئية في الجدول التفصيلي المرفق).
- تم قياس وقت تحميل الصفحة لأول مرة دون تحسين ، ثم كان هناك قياس مع كل مكون إضافي وتم إجراء مقارنة نسبية للمرات. وهذا يضمن الاستقلال الكافي عن سرعة الاستضافة.
- البيئة هي الأحدث:
- وورد 4.9.8 ،
- PHP 7.2.10 مع تمكين التخزين المؤقت (OpCache) ،
- MariaDB (MySQL) 10.3.9 ،
- أباتشي 2.4.35.
تم التحقق من كل معيار باستخدام متصفح Chrome:
- في قسم التصحيح ، من خلال الضغط على F12 في قسم الشبكة ، تكون أوقات مراحل التحميل المختلفة ورؤوس HTTP لاستجابات الخادم مرئية بوضوح للتحقق من التحكم في ذاكرة التخزين المؤقت للمتصفح وضغطه. يمكنك أيضًا مشاهدة اتحاد CSS و JS في ملف واحد أو أكثر.
- باستخدام مصدر عرض الصفحة ، على الزر الأيمن ، تم إجراء تحليل المحتوى الذي تم إرجاعه عند تضمين CSS ، وجودة التصغير (فقط HTML ، JS ، CSS) وعلامات التأخير في تحميل نصوص JS (يجب أن تكون سمات تأجيل أو عدم التزام موجودة في وصف علامة ارتباط البرنامج النصي).
- تم فحص تأخير تحميل JS للحفاظ على صحة الموقع أيضًا يمكن أن يُظهر اختبار سرعة الصفحة من Google أن كل شيء رائع وأن النصوص البرمجية لا تعمل.
النتائج
النتيجة الرئيسية للتحليل هي
جدول XLSX مفصل يمكنك من خلاله فرز وتصفية ورؤية منهجية حساب الأوزان النهائية بشكل ملائم. يحتوي أيضًا على ملاحظات حول تفاصيل المكوّن الإضافي عند تقييم كل معيار.
يتم تعيين أدوار لكل مكون إضافي وفقًا لنتائج الاختبار لضمان فهم نطاق تغطية الخصائص المطلوبة.
فيما يلي نتائج مقارنة ملخصة لفهم الصورة العامة والراحة.
الخلاصة
يتيح لك
الجدول الناتج تحديد المكونات الإضافية وفقًا للمعايير اللازمة وتحديد عدة تركيبات لزيادة تغطية المعايير اللازمة. لدعم 4 مجموعات تم اختيارها واختبارها (حزمة مميزة بدلاً من الإصدار).
يتم وصف الإعدادات المحددة في المادة المذكورة في بداية المقالة.
- من الأفضل استخدام مجموعات مختلفة من الإضافات بدلاً من استخدامها بشكل فردي.
- لا يعد التقييم العام المنخفض للمكون الإضافي علامة على عدم ملاءمته. قد تكون جيدة في بعض الوظائف الخاصة.
- بعض المكونات الإضافية غير متوافقة مع بعضها عند دمجها.
- تحتاج دائمًا إلى التحقق من التشغيل الصحيح للتحميل المؤجل لـ JS - تحتاج بعض المكونات الإضافية إلى تكوين إضافي ، ولا يزال بعضها يكسر المحتويات. يحتوي الجدول على تعليقات حول هذا الموضوع.
- وتأكد من التحقق أخيرًا من خلال اختبار سرعة الصفحة من Google (أو العدادات الخارجية الأخرى مثل PingDom وغيرها) - على مواقع مختلفة قد تكون هناك نتائج مختلفة ، لأن تحسين المكونات الإضافية يمكن أن تتصرف بشكل مختلف.