MirrorORG Speed
دليل MirrorORG Speed 2.3.7: وكيل ذكاء اصطناعي بيقيس ويجرّب ويطبّق التحسينات لوحده، بقياس PageSpeed Insights مدمج مع الاشتراك (من غير مفتاح)، ومابيقفش في النص — لو الاستضافة قفلت الخلفية بترجع لوحدها — وبيكمّل لحد ما الرئيسية توصل ٩٠ أو التجارب تخلص؛ بيغطّي أقسام PageSpeed الأربعة على الموبايل والكمبيوتر (ومنها خانات بتمنع اللصق)، وبيفتكر التجارب اللي خلصت فمابيصرفش رصيد على الفاضي؛ مع الأمان والرجوع وحل المشاكل والتحديثات. في 2.3.2 و2.3.3: كل تجربة بتتقاس قياس جديد (جوجل كان بيرجّع تقرير متكيّش لتجربتين ورا بعض)، وصفحات Elementor (وقالب Eduma) أول شاشتها بيظهر من غير ما يستنى السكربتات، ومقارنة الشاشة مابقتش تعتبر إزاحة كام بكسل كسر. وإصلاح التباين مابقاش يلمس ألوان البراند ولا يغيّر عنصر غير اللي اتقاس، وحذف الـCSS غير المستخدم بيحتفظ بستايلات العناصر اللي السكربتات بتبنيها. و«تأجيل السكربتات (defer)» و«تأجيل jQuery» مابيتجرّبوش غير بالمتصفح المدمج (بيكسروا حاجات بعد التفاعل PageSpeed مابيشوفهاش)، وjquery-migrate مابيتشالش أوتوماتيك. والخطوط المكتوبة بروابط fonts.gstatic.com جوّه ملفات القالب بقت بتتستضاف محليًا كمان، مع شبكة أمان للغات (اللاتيني ولغة الموقع وأي لغة في نص الصفحات مابتتشالش). في 2.3.5: البانر الأول في Flatsome بيظهر فورًا على كل شاشة (بانر الكمبيوتر وبانر الموبايل)، ومع «تأخير كل السكربتات» ده بيشتغل دايمًا. في 2.3.6: reCAPTCHA وتسجيل الدخول بجوجل ونوافذ الدخول بالموبايل بتتأخّر لحد أول تفاعل، ولغات خطوط جوجل المحلية (زي Roboto بتاع Elementor) بتتقصّ، وملفات تصميم صفحة الدخول (WPShapere وأمثالها) مابقتش بتتحمّل في كل صفحة، وخطوط الموقع المحلية مابقتش بتتمنع كـmixed content. في 2.3.7: أي تحسين بيتقبل بسبب أرقام بيتقاس مرة تانية قبل ما يوصل للزوّار (قياس واحد على PageSpeed ممكن يتذبذب ١٠ درجات أو أكتر)، وكل تحسين بيتحكم عليه بالمقاييس اللي ممكن يحرّكها فعلًا بس؛ ولو الـCDN بتاع الاستضافة (زي Hostinger CDN) بيحوّل الصور لـWebP بنفسه، الإضافة مابتحطش نسخها فوقه؛ وأي إضافة بتطلب «ماتتكيّشش» وهي بترسم الصفحة طلبها بيتسمع، وصفحات الدفع والبروفايل في LearnPress مابتتكيّشش أبدًا؛ وسجل المهام بيعرض أحدث النتايج، وزرار الإيقاف مابيلمسش غير عملية الإضافة نفسها.
التثبيت والتفعيل وأول تشغيل
- خد نسخة احتياطية من الملفات وقاعدة البيانات. الإضافة بتكتب ملفات نظام (advanced-cache.php وسطر WP_CACHE في wp-config.php وبلوك في .htaccess) لما أول تحسين يتطبّق.
- عطّل أي إضافة كاش أو تحسين تانية (LiteSpeed Cache، WP Rocket، W3 Total Cache، Autoptimize…) — إضافتين كاش مع بعض بيدّوا صفحات قديمة أو مكسورة.
- «الإضافات ← أضف إضافة جديدة ← رفع إضافة»، اختار ملف ZIP وثبّت وفعّل.
- افتح «ميرور سبيد ← التفعيل والتحديثات» وحط كود الترخيص. من غير كود ساري مفيش أي تحسين بيشتغل.
- افتح «ميرور سبيد ← الوكيل» ودوس «⚡ حسّن موقعي» (أو «⚡ ابدأ تحسين السرعة» من الشريط العلوي في أي صفحة). الشغل بيكمّل في الخلفية حتى لو قفلت الصفحة.
- بعدها دوس «✍️ حسّن المحتوى» عشان الوكيل يكتب النص البديل للصور ووصف الصفحات اللي ناقصة.
المتطلبات: WordPress 5.8 وPHP 7.4 أو أحدث، ومكتبة OpenSSL. تحويل الصور محتاج Imagick أو GD. تشغيل الخلفية محتاج الاستضافة تسمح بـ proc_open (هوستنجر وأغلب الاستضافات بتسمح).
الوكيل بيشتغل إزاي
من الإصدار 2 الإضافة كلها وكيل: شاشة واحدة، ومفيش صفحات إعدادات تتظبط بإيدك. الجلسة بتمشي كده:
- قياس: الموقع الأصلي (كأن الإضافة مش موجودة) واللي الزوّار شايفينه دلوقتي، على صفحات بتمثّل الموقع (الرئيسية، المتجر، صفحة منتج أو مقال).
- تجارب: الوكيل (بالذكاء الاصطناعي) بيختار التحسين الجاي حسب بنود PageSpeed الواقعة فعلًا، ويجرّبه على نسخة تجريبية مابيشوفهاش أي زائر، جنب الإعداد الحالي في نفس الفحص (A/B).
- الحكم بقواعد ثابتة (مع PageSpeed Insights الحدود بتتضاعف لأن نتايجه بتتذبذب بين الفحوصات — في المواقع التقيلة ممكن ١٠ درجات أو أكتر — فالضوضاء ماتتحسبش مكسب ولا خسارة): أي كسر (خطأ JavaScript جديد، ملف مابقاش بيتحمّل، الهيدر أو القايمة أو الفوتر اختفوا، أزرار «أضف للسلة» قلّت، فورم اختفى، شكل أول الشاشة اتغيّر أو جزء منه فضي) = ترجع — ومقارنة الشاشة بتسمح بإزاحة لحد ٢٤ بكسل لفوق أو لتحت (عنوان اتغيّر ارتفاعه شوية مش كسر). أبطأ = ترجع. أسرع أو أخف = تتقبل — بس بعد قياس تاني: أي تجربة باينة كويسة بسبب الأرقام (مش تحسين قياسي آمن بيتشغّل) بتتقاس مرة كمان جنب الإعداد الحالي، وبتتقبل بس لو المكسب اتكرر في القياس التاني لوحده وفي متوسط القياسين؛ غير كده بتظهر في النشاط «المكسب ماتكررش — كان ذبذبة قياس». وكل تحسين بيتحكم عليه بالمقاييس اللي ممكن يأثّر عليها فعلًا بس: صور WebP مثلًا مابتغيّرش وقت تشغيل JavaScript، ففرق TBT بعدها مابيتحسبش.
- تطبيق وتأكيد: اللي اتقبل بيوصل للزوّار فورًا، وبعدها الوكيل بيفحص الموقع الحقيقي؛ لو حاجة باظت، الخطوة دي بس بترجع.
- النتيجة: قياس نهائي بالأقسام الأربعة وتسخين الكاش.
الوكيل بيبدأ من إعداد الزوّار الحالي ويبني عليه، وممكن يجرّب يشيل تحسين شغّال لو شاكك إنه بيضر — ما عدا التحسينات القياسية الآمنة (الضغط، صور WebP، الخطوط، إصلاحات الوصول والـSEO، التباين…): دي مابتتشالش بتجربة، لأن فرقها في الأداء أصغر من ذبذبة القياس وشيلها بيرجّع بنود PageSpeed.
ذاكرة التجارب — مابيعيدش اللي خلص
- كل تجربة اتحسمت (اتقبلت أو اترجعت) بيفتكرها الوكيل ١٤ يوم، ومابيعيدهاش في الجلسات الجاية — كل تجربة بتكلّف سؤال للمساعد الذكي ووقت قياس.
- الذاكرة بتتفتح لوحدها لو غيّرت القالب أو نسخته، أو فعّلت/عطّلت/حدّثت إضافة، أو حدّثت ووردبريس، أو دوست «رجّع الموقع زي ما كان قبل الوكيل».
- لو مفيش حاجة جديدة تتجرّب، زرار «ابدأ» بيقولك كده ومابيبدأش جلسة خالص.
- قياس جديد لكل تجربة: PageSpeed Insights بيرجّع نفس التقرير لنفس الرابط لمدة دقيقة تقريبًا؛ فكل قياس للنسخة التجريبية بياخد رابط مختلف، ولو تقرير الموقع الحقيقي رجع قديم الوكيل بيستنى دقيقة ويقيس تاني. التجارب اللي اترفضت قبل 2.3.2 (ممكن تكون اتحكم عليها بقياس تجربة قبلها) بتتفتح تاني مرة واحدة بعد التحديث.
- الهدف ٩٠: طول ما درجة الأداء للرئيسية على الموبايل تحت ٩٠، الجلسة بتكمّل لحد ما التجارب المتاحة كلها تخلص (أو توقّفها انت). لما توصل ٩٠ أو أكتر، الجلسة بتقف لما المساعد يقول مفيش تجربة تستاهل، أو بعد ٤ تجارب ورا بعض من غير أي مكسب — والتجارب اللي ماتجرّبتش بتفضل مفتوحة للجلسة الجاية.
- لو كل التجارب خلصت والرئيسية لسه تحت ٩٠، الوكيل بيقولك كده صراحة: الباقي جاي من القالب أو إضافات تانية، وتبويب «PageSpeed» بيقول مين المسؤول عن كل بند.
- لما يفضل اختيار واحد بس، الوكيل بيجرّبه من غير ما يسأل المساعد.
- تجارب محتاجة متصفح حقيقي: «تأجيل السكربتات (defer)» و«تأجيل jQuery» الكسر بتاعهم بيبان بعد ما الزائر يلمس الصفحة (أخطاء JavaScript، أو ارتفاعات بيحسبها سكربت القالب زي بانر العنوان) — وPageSpeed Insights مابيتفاعلش مع الصفحة. فبيتجرّبوا بس لما الجلسة شغّالة بالمتصفح المدمج (من SSH)، ومع PageSpeed بيتسابوا زي ما هم. وjquery-migrate عمره ما بيتشال أوتوماتيك.
بيشتغل بس لما تدوس — والشريط العلوي
مفيش كرون شغّال طول الوقت: التحسين وتحسين المحتوى والفحص والتنضيف وتسخين الكاش كلهم بيبدأوا بس لما تدوس الزرار، وبيكمّلوا في الخلفية كعملية مستقلة على السيرفر، وبعد ما يخلصوا بتقفل لوحدها.
مابيقفش في النص
الاستضافات المشتركة ممكن تقفل أي عملية في الخلفية فجأة (ذاكرة، إعادة تشغيل) من غير ما تسيب أي أثر. طول ما فيه شغل مفتوح، الإضافة بتحط «حارس» — حدث واحد في كرون ووردبريس بيتجدّد كل دقيقتين — بيتأكد إن الخلفية عايشة ويرجّعها لو ماتت، والوكيل بيكمّل من نفس الخطوة. ولو صفحة في اللوحة مفتوحة، الرجوع بيحصل فورًا من الشريط العلوي. أول ما الشغل يخلص أو توقّفه، الحارس بيختفي. لو الاستضافة قفلتها ٤٠ مرة في نفس الجلسة، الرجوع التلقائي بيقف ويقولك.
الشريط العلوي
- في أي صفحة (اللوحة أو الموقع) «ميرور سبيد» في الشريط العلوي بيبيّن الحالة: وهو شغّال بيتلوّن أزرق وجنبه علامة تحميل ونسبة التقدّم؛ وهو واقف بيبيّن درجة الأداء.
- القايمة بتعرض: الخطوة اللي بيعملها دلوقتي، شريط التقدّم، درجات PageSpeed الأربعة، المهام المفتوحة، وآخر نشاط — وبتتحدّث لوحدها كل ٣ ثواني وهو شغّال.
- منها تقدر: «⚡ ابدأ تحسين السرعة»، «⏹ وقّف الشغل»، «▶ كمّل الشغل»، «✍️ حسّن المحتوى»، «📋 فحص PageSpeed كامل»، «📊 افتح لوحة الوكيل»، ومسح الكاش.
- «وقّف الشغل» بيلغي المهام المفتوحة ويقفل المتصفح المدمج فورًا. التحسينات اللي اتطبّقت قبل كده بتفضل شغّالة (كل واحدة اتأكدت لوحدها).
- «كمّل الشغل» بيظهر لو الخلفية اتقفلت في النص — الوكيل بيرجّعها لوحده خلال دقيقتين، والزرار بيرجّعها فورًا.
- لو الاستضافة مانعة تشغيل عمليات في الخلفية، اللوحة بتقولك، والمهام الخفيفة (الصور، الخطوط، المحتوى، الكاش، القاعدة) بتكمّل على دفعات طول ما أي صفحة في اللوحة مفتوحة.
محرّكات القياس (والمفتاح المجاني)
الوكيل بيختار أقوى محرّك متاح على سيرفرك، ومكتوب في تبويب «PageSpeed ← محرّك القياس»:
- المتصفح المدمج — كروم + Lighthouse (نفس محرّك PageSpeed) على سيرفرك، بيجرّب كل تحسين ويفحص الكسر بتفاعل حقيقي (سكرول، ماوس، لمس) ومقارنة صور الشاشة. بيتثبّت لوحده أول مرة (~٤٠٠ ميجا في مجلد برّه الموقع). على الاستضافات المشتركة (زي هوستنجر) العمليات اللي بتبدأ من الموقع عليها حد ذاكرة افتراضية ٤ جيجا، وكروم الحديث مابيقومش تحت أي حد — فالمحرّك ده بيشتغل على السيرفرات اللي من غير الحد ده، أو لو شغّلت الخلفية يدويًا من SSH (شوف «حل المشاكل»).
- Google PageSpeed Insights (مدمج مع الاشتراك) — نفس أرقام PSI بالظبط (جوجل بيشغّل Lighthouse أحدث من المتصفح المدمج، فممكن قايمة البنود تختلف شوية بين المحرّكين)، من غير أي حاجة على السيرفر ومن غير ما تجيب مفتاح: سيرفر MirrorORG بيقيس صفحات موقعك بمفتاح جوجل بتاعه (متخزّن مشفّر عنده ومابيوصلش لموقعك)، طول ما الترخيص ساري. كل موقع بيقيس صفحات الدومين المفعّل بس، وليه حد فحوصات في الساعة وفي اليوم (بيكفي جلسات كتير). الكسر بيتفحص من تقرير جوجل (أخطاء الكونسول، الملفات اللي فشلت، لقطة الشاشة) ومن HTML الصفحة على السيرفر.
- قواعد آمنة من غير قياس — لو مفيش ولا واحد من اللي فوق: الوكيل بيطبّق التحسينات الآمنة المعروفة بس (WebP، صور على قد الشاشة، تحميل كسول، ضغط، خطوط، تخفيف، إصلاحات الوصول والـSEO، شيل الملفات المكسورة…) وبيتأكد من سلامة كل صفحة من HTML السيرفر. التحسينات اللي ممكن تضر (تأخير كل السكربتات، defer، CSS غير المستخدم، البانر…) مابتتجرّبش من غير قياس.
مفتاح خاص بيك (اختياري)
مش محتاجه. لو عايز القياس يتحسب على حصة مشروعك في جوجل بدل المدمج: «الوكيل ← PageSpeed ← مفتاح PageSpeed خاص بيك؟» والصق مفتاح بيبدأ بـ AIza (من صفحة PageSpeed Insights API ← «Get a Key»). المفتاح بيتخزّن مشفّر، ولو حفظت الخانة فاضية بترجع للمدمج. لو جوجل أو السيرفر رفض (الحد خلص، الترخيص انتهى) الجلسة بتكمّل بالقواعد الآمنة وبتقولك السبب.
تبويب PageSpeed: كل البنود ومين بيصلّحها
التبويب بيعرض آخر فحص بنفس أقسام PageSpeed Insights الأربعة (الأداء، إمكانية الوصول، أفضل الممارسات، SEO) — ودرجة الموقع من غير الإضافة تحت كل واحدة — وبعدها كل بند واقع وحالته:
- 🧪 الوكيل هيجرّب — فيه تحسين في كتالوج الوكيل بيعالج البند، ولسه ماتجرّبش.
- ✅ مطبّق — التحسين شغّال للزوّار؛ لو البند لسه ظاهر يبقى الباقي جاي من القالب أو إضافات تانية.
- ✍️ تحسين المحتوى — نصوص الصور ووصف الصفحات (شوف «تحسين المحتوى»).
- 🧭 محتاج تعديل منك — قرار تصميم أو استضافة (مثلًا تباين الألوان، ترتيب العناوين، حجم الصفحة الكبير)، ومعاه نصيحة بالعربي.
- ↩️ اتجرّب ومافرقش — التحسين اتجرّب واترجع لأنه كسر حاجة أو مافرقش.
الفحص الكامل بيشمل الكمبيوتر كمان: البنود اللي بتظهر على الكمبيوتر بس (زي تباين ألوان في الفوتر) بتتعرض ومكتوب جنب الصفحة «(كمبيوتر)». البنود غير المحسوبة في الدرجة اللي مالهاش عنصر ولا ملف محدّد (زي Forced reflow لما مايبقاش فيه سكربت معروف) مابتظهرش كمشكلة دايمة.
كل بند بيتفتح ويبيّن الصفحات اللي فيها، التوفير المتوقّع، والعناصر أو الملفات المسؤولة. الفلاتر فوق بتعرض «الوكيل هيصلّحها» أو «مطبّق» أو «محتاجة تعديل منك» بس. «📋 فحص PageSpeed كامل» بيعمل فحص جديد من غير ما يغيّر أي حاجة.
اللي الوكيل بيقدر يصلّحه
الأداء
- كاش الصفحات (LiteSpeed أو ملفات) + ضغط gzip/brotli + كاش المتصفح سنة — مع أول تحسين يتطبّق. صفحات السلة والدفع وحسابي في ووكومرس، وصفحات الدفع والبروفايل و«انضم كمدرّس» في LearnPress، مابتتكيّشش أبدًا. وأي إضافة بتقول «ماتكيّشش الصفحة دي» (DONOTCACHEPAGE) حتى وهي في نص رسم الصفحة — زي إضافة أسعار حسب البلد لما الصفحة فيها سعر مختلف — طلبها بيتسمع قبل التخزين.
- صور WebP (الأصل مابيتلمسش) — للـ<img> ولخلفيات البانرات في CSS. لو الـCDN اللي قدّام موقعك بيحوّل الصور بنفسه (زي Hostinger CDN: رابط الـJPG نفسه بيرجع WebP مضغوط للمتصفحات اللي بتدعمه)، الوكيل بيكتشف ده أول كل جلسة ومابيحطّش نسخ WebP بتاعته فوقه — نسختنا كانت بتعدّي من غير ضغط الـCDN فتطلع أتقل (على موقع حقيقي: الصفحة أتقل ~٣٠٠KB والدرجة أقل ١٠–٢٠). نسخ المقاسات الصغيرة بتفضل شغّالة.
- صور على قد الشاشة: نسخ WebP بمقاسات 240–1440 بكسل (من غير بيانات الكاميرا، وجودة على قد المقاس: 64 للصغيرة و72 للكبيرة) — ده اللي بيعدّي «Improve image delivery» — وsizes مظبوطة من العرض الحقيقي لكل صورة.
- تحميل كسول للصور والإطارات والخلفيات، والأبعاد الناقصة.
- LCP request discovery (موبايل وكمبيوتر): الوكيل بيتعلّم صورة LCP لكل صفحة على كل شاشة — حتى لو خلفية بانر في CSS — فبتتحمّل من أول الـHTML بـ preload وfetchpriority=high (للشاشة اللي ظهرت فيها بس)، عمرها ما تتأجّل، والبانر بتاعها بيظهر من غير ما يستنى السكربتات. الصورة مربوطة بصفحتها: نفس صورة المنتج في شبكة الرئيسية مابتاخدش أولوية هناك.
- حجم الصفحة (dom-size) — رسم مؤجَّل: النوافذ المخفية (القايمة الجانبية وأمثالها) والأقسام اللي بعد أول ٣ أقسام حقيقية بتفضل في الـHTML زي ما هي (جوجل بيقراها)، بس بتترسم أول ما الزائر يلمس الشاشة أو يحرّك الماوس أو يسكرول — وقبل سكربتات القالب، فالقالب بيلاقي الصفحة كاملة. القسم المستني بيحجز ارتفاع شاشة فمفيش حاجة بتتنطّ. بيشتغل بس مع «تأخير كل السكربتات»، ومابيلمسش قسم فيه سكربت أو فيديو أو سلايدر أو فورم تسجيل، ولا الأقسام اللي بتظهر على شاشة واحدة بس (hide-for-…).
- أول الشاشة يظهر فورًا في القوالب اللي بتخفيه لحد ما السكربت يشتغل: خلفية البانر في Flatsome (أول بانر لكل شاشة — لو عندك سلايدر للكمبيوتر وبانر منفصل للموبايل الاتنين بيظهروا، وكل صورة بتتحمّل مسبقًا على شاشتها بس)، وفي صفحات Elementor: حركات الدخول (fade-in) في أول ٣ أقسام بتتشال فالزرار أو العنوان بيظهر من السيرفر، وأول صورة في خلفية الـslideshow بتبقى خلفية ثابتة بأولوية عالية (والسلايدر بيكمّل فوقها لما السكربت يشتغل) وبصيغة WebP بدل الـPNG التقيلة. قوالب زي Eduma بتخفي كل عناصر Elementor لحد ما سكربته يشتغل — الوكيل بيخلّيها تبان من الأول، وده اللي بيخلّي «تأخير كل السكربتات» ينفع عليها — ولما «تأخير كل السكربتات» يكون شغّال، ده بيشتغل معاه دايمًا. على موقع Eduma+Elementor: الرئيسية 55–61 ← 98 على الموبايل، وLCP من ~١٤ ثانية لـ ١٫٨.
- ضغط CSS وJS وHTML، CSS من غير تعطيل الرسم، حذف الـCSS غير المستخدم (مع الاحتفاظ بستايلات العناصر اللي السكربتات بتبنيها بعدين زي العدّادات والنوافذ)، defer، تأخير تاج مانجر والبيكسلات والشات، أو تأخير كل السكربتات لحد أول تفاعل (وأوامر jQuery ready بتشتغل بعد آخر سكربت، زي تحميل الصفحة العادي — فعدّادات ومكوّنات القالب بتلاقي مكتباتها).
- دمج خطوط جوجل واستضافتها على الموقع (ومعاها خطوط fonts.gstatic.com المكتوبة جوّه ملفات القالب؛ لغات الخط اللي مالهاش لزمة بتتشال، بس اللاتيني ولغة الموقع وأي لغة بتظهر في نص صفحاتك بيفضلوا دايمًا)، font-display: swap، وpreload لخطوط أول الشاشة. خطوط الأيقونات (زي fl-icons) بتاخد swap بس لما ملفها يكون متحمّل بدري — ساعتها مفيش مربعات فاضية وبند Font display بيعدّي.
- preconnect، تجهيز الصفحة الجاية قبل الضغط، يوتيوب خفيف، تخفيف ووردبريس وووكومرس.
إمكانية الوصول وSEO وأفضل الممارسات
- نص بديل للصور الناقصة، أسماء لأيقونات الروابط والأزرار (السلة، البحث، السوشيال…)، تسميات للخانات، عنوان للإطارات، لغة الصفحة، والسماح بالتكبير على الموبايل.
- ترتيب العناوين (heading-order): العنوان اللي بينط أكتر من مستوى (مثلًا H5 بعد H2 لأن القالب بيستخدمه للشكل) بياخد aria-level يكمّل التسلسل — الشكل مابيتغيّرش خالص.
- تباين الألوان (color-contrast): الوكيل بيقرا من Lighthouse العناصر اللي تباينها ناقص بألوانها بالظبط، ويديها نفس اللون أغمق أو أفتح بالقدر اللي يوصّلها لـ ٤٫٥:١ بس — للنصوص المحايدة (الرمادي) بتغيير بسيط بس. ألوان البراند (أي لون مشبّع زي الوردي أو الأزرق، أو نص أبيض على خلفية ملوّنة) عمرها ما بتتغيّر أوتوماتيك: ده قرار تصميم، والبند بيفضل ظاهر في تبويب PageSpeed. واللون بيتطبّق بس على العنصر اللي لون نصّه وخلفيته الفعليين هما اللي اتقاسوا — مش على كل العناصر اللي شبهه في الشكل.
- وصف للصفحات اللي مالهاش وصف (مابيلمسش صفحة إضافة السيو كاتبة وصفها)، وروابط قابلة للزحف.
- reCAPTCHA وتسجيل الدخول لحد أول تفاعل: reCAPTCHA (بما فيه بتاع Contact Form 7 — السكربت اللي بينادي grecaptcha بيتأخّر معاه بنفس الترتيب)، وتسجيل الدخول بجوجل (One Tap وSite Kit)، ونوافذ الدخول بالموبايل (Mersal OTP مع intl-tel-input) بتتحمّل أول ما الزائر يلمس الصفحة أو يسكرول — قبل ما يوصل للفورم. على موقع Eduma ده شال ~٥٨٠KB جافاسكربت من وقت التحميل (أول بند في «وقت تشغيل JS»)، والتوكن بيتولّد والنافذة بتفتح عادي بعد أول لمسة. الكسر هنا لو حصل بيبان بعد التفاعل بس، فالوكيل مابيجرّبهاش غير بالمتصفح المدمج.
- لغات خطوط جوجل المحلية: نسخ خطوط جوجل اللي على موقعك (زي
uploads/elementor/google-fonts— Roboto لوحده ١٦٢ @font-face) بتتقصّ لغاتها زي خطوط جوجل بالظبط، بنفس شبكة الأمان (اللاتيني ولغة الموقع وأي لغة في نص الصفحات بيفضلوا)، والرموز الرياضية والأسهم بتتشال إلا لو علّمتها في «اللغات المطلوبة». أي @font-face تاني (أيقونات، خط مكتوب بإيد) مابيتلمسش. - ملفات تصميم صفحة الدخول تفضل في صفحة الدخول: Eduma وLearnPress بيشغّلوا حدث صفحة الدخول جوّه نافذة الدخول اللي في الهيدر، فإضافات تصميم لوحة التحكم وصفحة الدخول (WPShapere، LoginPress…) بتحمّل أيقوناتها وملفاتها في كل صفحة (على egsbi: نسخة تانية من Font Awesome وLineIcons وDashicons). ده بيمنعها برّه wp-login.php بس؛ الإضافات التانية على نفس الحدث (حماية، هوني بوت، OTP) بتفضل.
- شيل ملفات CSS/JS في القالب أو الإضافات اللي رابطها بيرجّع 404 (بتملا الكونسول أخطاء وبتعطّل الرسم على الفاضي).
- خانات بتمنع اللصق (paste-preventing-inputs): خانة بتمنع اللصق من غير ما تعمل بيه حاجة (تأكيد إيميل أو باسورد مثلًا) بقت تقبله. خانات الكود المقسّمة (كل رقم في خانة) بتفضل توزّع الكود المنسوخ على الخانات زي ما هي — الإصلاح مابيتدخّلش غير لو اللصق اتمنع ومحصلش أي تغيير.
الإصلاحات دي بتضيف اللي ناقص بس وعمرها ما بتشيل حاجة انت كاتبها.
تحسين المحتوى
«✍️ حسّن المحتوى» (من اللوحة أو الشريط العلوي) بيخلّي الوكيل يكتب في المحتوى نفسه:
- نص بديل (alt) لكل صورة معروضة في الموقع ومالهاش — من اسم المنتج أو المقال اللي الصورة تبعه وعنوانها، ٣–١٢ كلمة.
- وصف (meta description) لكل صفحة ومنتج ومقال منشور مالوش وصف في إضافة السيو — ١٢٠–١٥٥ حرف.
- الكتابة بلغة الموقع (لغة ووردبريس)، بالذكاء الاصطناعي المشمول في اشتراكك؛ لو الحد خلص بيقف ويقولك تكمّل بعد شوية.
- مابيكتبش غير في الفاضي: أي نص انت كاتبه مابيتلمسش.
- «↩️ رجّع كل اللي اتكتب» في تبويب «المحتوى» بيمسح كل اللي الوكيل كتبه — واللي انت عدّلته بعده بيفضل.
- الوصف بيظهر للزوّار من خلال إصلاح «وصف للصفحات» بس في الصفحات اللي إضافة السيو مش طابعة لها وصف.
شاشة الوكيل
- الدرجة: الصفحة الرئيسية على الموبايل (اللي الناس بتفحصها في PageSpeed)، والفرق من أول قياس للموقع من غير الإضافة بنفس المحرّك — مرجع ثابت مابيتغيّرش مع كل جلسة — ودرجة الموقع من غير أي تحسين النهارده، ومتوسط الصفحات التلاتة. المتصفح المدمج وPageSpeed Insights أرقامهم مختلفة (جوجل بيدّي أرقام أعلى لنفس الموقع)، فالمسار بيعرض قياسات المحرّك الحالي بس. نفس رقم الرئيسية بيظهر في الشريط العلوي.
- الوكيل: الحالة، المراحل (قياس ← تجارب ← تطبيق ← النتيجة)، الخطوة الحالية مباشرة، نسبة التقدّم، وتفكير الوكيل في التجربة الجاية.
- المقاييس: LCP وFCP وTBT وCLS بألوان PageSpeed، واللي كانت عليه قبل.
- اللي اتحسّن لحد دلوقتي بفرق كل تحسين.
- التبويبات: النشاط (كل خطوة بالعربي)، PageSpeed، المحتوى، الصفحات (لقطات قبل/بعد لكل صفحة)، التجارب (كل تجربة وحكمها ولقطاتها)، اسأل الوكيل، وتفاصيل (شغل الخلفية: تحويل الصور، تسخين الكاش، تنضيف قاعدة البيانات، فحص PageSpeed؛ وحالة المتصفح المدمج؛ وزرار الرجوع).
اسأل الوكيل (الذكاء الاصطناعي)
- اسأل بالعربي زي «إيه أكبر حاجة مبطّأة موقعي؟» أو «ليه رجّعت آخر تجربة؟». الوكيل بيقرا نتايج القياس والتجارب ويرد، وممكن يقترح أمر بزرار «نفّذ» مابيحصلش غير لما تدوس.
- مشمول في اشتراكك ومش محتاج مفتاح: الطلبات بتعدّي على سيرفر MirrorORG بكود التفعيل، والمفتاح عمره ما بيوصل لموقعك. لو الترخيص انتهى أو الموقع اتشال منه الذكاء الاصطناعي بيقف.
- حدود عادلة لكل ترخيص (حاليًا ٦٠ طلب في الساعة و٣٠٠ في اليوم) مشتركة بين المحادثة واختيار التجارب وتحسين المحتوى. من غيره الوكيل بيكمّل بترتيب ثابت.
الأمان والرجوع
- الزوّار عمرهم ما بيشوفوا تجربة: النسخ التجريبية بتتبني بس لطلبات موقّعة بتوكن بيقدم بعد ٢٠ دقيقة، ومابتتكيّشش.
- كل تغيير في إعدادات الزوّار بيتسجّل. «↩️ رجّع الموقع زي ما كان قبل الوكيل» (تبويب «تفاصيل») بيرجّع إعدادات الزوّار لما كانت قبل آخر جلسة.
?mspeed=offعلى أي رابط (وانت مسجّل كمدير) بيعرض الصفحة من غير أي تحسين للمقارنة؛ «👁️ اعرض الصفحة من غير تحسين» في الشريط العلوي بيعمل نفس الحاجة.?mspeed_plugins=offبيتخطّى إيقاف الإضافات لكل رابط لو كان مفعّل من إصدار قديم.- أمر الخلفية ثابت ومابيتنفّذش غير من طلب مدير؛ ملف الـworker نفسه بيرجّع 404 لأي طلب من المتصفح.
- زرار «⏹ وقّف الشغل» والتأكد إن الخلفية لسه شغّالة بيتأكدوا الأول إن رقم العملية لسه بتاع الـworker بتاع الإضافة (على الاستضافة المشتركة الرقم ممكن يتدّى لعملية تانية بعد ما الـworker يقفل) — عمره ما بيقفل عملية مش بتاعته.
حل المشاكل
- الموقع اتكسر أو شكله اتلخبط: دوس «⏹ وقّف الشغل» لو شغّال، وبعدين «↩️ رجّع الموقع زي ما كان قبل الوكيل» من تبويب «تفاصيل». افتح الصفحة بـ
?mspeed=offللتأكد إن السبب من التحسين. احكي للوكيل في «اسأل الوكيل» اللي حصل. - «الخلفية وقفت في النص»: الاستضافة قفلت العملية — الوكيل بيرجّعها لوحده خلال دقيقتين ويكمّل من مكانه، أو دوس «▶ كمّل» عشان ترجع فورًا. لو «🔁 رجّعتها تلقائيًا» بتتكرر كتير في النشاط، الاستضافة بتقفل العمليات الطويلة — شوف سجل الـworker في
~/.mirrororg-speed/tmp/worker-*.log. الرجوع التلقائي محتاج كرون ووردبريس شغّال (لوDISABLE_WP_CRONمتفعّل، اعمل كرون حقيقي لـ wp-cron.php). - «محرّك القياس: قواعد آمنة من غير قياس»: معناه إن القياس المدمج مش متاح دلوقتي (الترخيص مش ساري، أو حد الفحوصات اليومي خلص) — شوف السبب في خانة المحرّك. أو لو عندك SSH شغّل الخلفية يدويًا — العملية دي مالهاش حد الذاكرة فالمتصفح المدمج بيشتغل:
php wp-content/plugins/mirrororg-speed/bin/worker.php --start --daemon --verboseمن مجلد ووردبريس — بيبدأ جلسة كاملة بالمتصفح المدمج (ولو فيه شغل من اللوحة شغّال بيوقّفه وياخد مكانه)، وتقدر تتابعها من الشريط العلوي عادي.--auditبدل--start= فحص PageSpeed كامل بس. - «القياس المدمج مش متاح»: اتأكد إن الترخيص ساري والموقع مفعّل عليه (صفحة «التفعيل والتحديثات»). لو وصلت لحد الفحوصات اليومي، الجلسة بتكمّل بالقواعد الآمنة والحد بيتجدّد بكرة.
- PageSpeed API رفض مفتاحك الخاص: السبب مكتوب في النشاط وفي خانة المحرّك. اتأكد إن «PageSpeed Insights API» مفعّل في مشروع جوجل وإن المفتاح مش مقيّد بمواقع (HTTP referrers) — الطلبات بتطلع من السيرفر.
- قسم تحت أول شاشة بيظهر بعد لمسة أو حركة ماوس: ده «الرسم المؤجَّل» — مقصود ومحدش بيلاحظه لأن الزائر بيلمس الشاشة قبل ما يوصله. لو فيه إضافة بتدوّر على محتوى القسم ده أول ما الصفحة تفتح (قبل أي تفاعل)، اطلب من الوكيل في المحادثة يقفل «رسم مؤجَّل للأقسام».
- قايمة أو سلايدر مابيشتغلش غير بعد ما أتحرّك: من «تأخير كل السكربتات» — الوكيل بيجرّبه بس بالقياس؛ اطلب منه في المحادثة يشيله، أو ارجع بزرار الرجوع.
- «ابدأ» بيقول «مفيش حاجة جديدة أجرّبها»: ده معناه إن كل التجارب اتعملت قبل كده والموقع ما اتغيرش — الوكيل مش هيصرف رصيد يعيدها. (لو ظهرت قبل 2.3.2 والرئيسية لسه بعيدة عن ٩٠، حدّث: التجارب المرفوضة بتتفتح تاني مرة واحدة لأن بعضها اتحكم عليه بقياس متكيّش.) هتتفتح تاني لوحدها بعد ١٤ يوم أو لما تغيّر القالب أو الإضافات؛ ولو عايز تعيدها دلوقتي، «رجّع الموقع زي ما كان قبل الوكيل» وبعدين «ابدأ».
- ألوان اتغيّرت أو نص زرار اختفى (قبل 2.3.3): كان من إصلاح التباين — حدّث لـ 2.3.3 وامسح الكاش؛ الإصلاح بقى مابيلمسش ألوان البراند.
- «باينة كويسة — بقيسها تاني» في النشاط: طبيعي من 2.3.7 — التجربة بتاخد قياس كمان قبل ما تتطبّق، عشان مكسب جه بالصدفة مايوصلش للزوّار.
- صور WebP مش ظاهرة في صفحات موقعك: لو الـCDN بتاع الاستضافة بيحوّل الصور بنفسه، الإضافة بتسيب له المهمة (النشاط بيقول كده أول الجلسة) — الزائر بياخد WebP من الـCDN على نفس رابط الصورة.
- صفحة مش بتتكيّش: افتح مصدر الصفحة في نافذة خاصة وشوف آخر سطر:
MirrorORG Speed · … · not cached: السبب— مثلًاdonotcachepage(إضافة طلبت كده، زي صفحة فيها سعر حسب البلد) أوexcluded_url(صفحة دفع أو حساب). - تعديلاتي مش باينة للزوّار: «🧹 امسح الكاش كله» من الشريط العلوي، ولو عندك كلاودفلير امسح كاشه.
- بند في PageSpeed فاضل «مطبّق» ولسه ظاهر: الجزء الباقي جاي من القالب أو إضافة (مثلًا صور بتتحمّل بسكربت)؛ افتح البند وشوف الملفات المسؤولة.
- reCAPTCHA أو «الدخول بجوجل» أو نافذة الدخول بالموبايل مش شغّالين من أول ثانية: ده «تأخير reCAPTCHA وتسجيل الدخول» — بيتحمّلوا مع أول لمسة أو سكرول، قبل ما الزائر يوصل للفورم. لو فورم في أول الشاشة محتاجهم فورًا، اطلب من «اسأل الوكيل» يقفل «أجّل reCAPTCHA وتسجيل الدخول لحد أول تفاعل».
- «Mixed Content» على خط من
/wp-content/cache/mirrororg-speed/fonts/(قبل 2.3.6): الخلفية كانت بتكتب روابط الخطوط المحلية بـhttp:// (من سطر الأوامر ووردبريس مابيعرفش إن الموقع https)، فالمتصفح كان بيمنع الخط. 2.3.6 بيصلّح الروابط القديمة وقت القراية؛ امسح الكاش من الشريط العلوي لو لسه ظاهرة. - لما الخطوط المحلية تتمسح، اللغات اللي الإضافة اتعلّمتها من نص صفحاتك (
mspeed_font_scripts) بتتمسح معاها — وبتتعلّمها تاني مع أول صفحات تتفتح. - الصفحة البيضاء بعد التفعيل: عطّل الإضافة من FTP بتغيير اسم مجلدها، وامسح
wp-content/advanced-cache.phpوwp-content/mu-plugins/mirrororg-speed-loader.phpلو موجودين، وشيل سطرWP_CACHEاللي عليه تعليق MirrorORG Speed من wp-config.php.
اختبار بعد أي جلسة
- الرئيسية ومقال ومنتج على الموبايل والكمبيوتر، في نافذة خاصة.
- إضافة للسلة ← السلة ← الدفع.
- الفورمات (تواصل، تسجيل، دخول).
التحديث والرجوع لإصدار سابق وإزالة الإضافة
- التحديثات بتظهر في «التحديثات» في ووردبريس طول ما الترخيص ساري، والملف بيتحقّق من توقيعه وبصمته قبل التثبيت.
- 2.3.6: لو الاستضافة المحلية للخطوط شغّالة، ملفات الـCSS بتتبني تاني مرة واحدة بلغات أقل، وروابط الخطوط المحلية القديمة بتتصلّح لـhttps لوحدها. «تأخير reCAPTCHA وتسجيل الدخول» و«ملفات تصميم صفحة الدخول» مقفولين لحد ما الوكيل يجرّبهم (أو تطلبهم من «اسأل الوكيل»).
- 2.2.1: الإصلاحات الجديدة (ترتيب العناوين، التباين، صورة LCP، الرسم المؤجَّل، الخطوط) بتتجرّب وتتطبّق في أول جلسة «حسّن موقعي» بعد التحديث. نسخ الصور بالمقاسات القديمة بتفضل شغّالة؛ المقاسات الجديدة بتتعمل مع جلسة التحسين الجاية. صفحة «التفعيل والتحديثات» بقت فاتحة دايمًا.
- من 1.x لـ 2.2: إعداداتك الحالية بتفضل شغّالة للزوّار والوكيل بيبدأ منها. صفحات الإعدادات القديمة اتشالت — كل حاجة بقت من شاشة الوكيل. التنضيف المجدول لقاعدة البيانات والتسخين كل دقيقة اتشالوا (مفيش كرون)؛ الاتنين من أزرار «تفاصيل». لو كنت ضايف كرون للـworker في لوحة الاستضافة من إصدار 2.0/2.1 تقدر تشيله.
- الرجوع لإصدار سابق: نزّل ملف الإصدار من حسابك وارفعه من «رفع إضافة ← استبدال الحالي». إعداداتك بتفضل.
- التعطيل: بيوقّف أي شغل في الخلفية، ويشيل advanced-cache.php وسطر WP_CACHE وبلوك .htaccess ولودر الإضافات، والموقع بيرجع زي ما كان.
- الحذف النهائي: بيمسح إعدادات الإضافة ومجلد الكاش ومحادثات الوكيل والأوصاف اللي «تحسين المحتوى» كتبها. النص البديل للصور بيفضل (بقى جزء من مكتبة الوسائط)، ونسخ WebP اللي جنب الصور بتفضل. المتصفح المدمج (لو اتثبّت) في
~/.mirrororg-speedوتقدر تمسحه يدويًا. - الترخيص لموقع واحد؛ لنقله اعمل «إلغاء التفعيل» من الموقع القديم الأول.
سجل الإصدارات
هذه التغييرات مأخوذة مباشرة من الإصدارات المنشورة على الـHub.
2.4.1 · 2026-10-19 · الإصدار الحالي
2.4.1 — تسميات الخانات مابقتش بتغطّي أسماء الاختيارات
- إمكانية الوصول: إصلاح «تسميات للخانات» كان بيدّي aria-label لأي خانة مالهاش label for — حتى الخانة المكتوبة جوّه <label>…</label>، اللي اسمها أصلًا هو نص الـlabel. النتيجة إن اختيارات استطلاع (راديو) كانت بتتقري «q 0» بدل اسم الاختيار. دلوقتي الخانات اللي جوّه label بتفضل زي ما هي، والخانات اللي مالهاش أي اسم بس هي اللي بتاخد تسمية.
- مفيش إعدادات جديدة ولا حاجة تعملها بعد التحديث. الدليل اتراجع (قسم «اللي الوكيل بيقدر يصلّحه» والتحديثات).
2.4.0 · 2026-10-19
2.4.0 — قفل فوري بالترخيص، وتفاصيل PageSpeed مابقتش بتتقفل لوحدها
- الترخيص: لحظة انتهاء الاشتراك أو إلغاء الكود الإضافة بتقف بالكامل — قبل كده كانت بتكمّل لحد ٢١ يوم بعد آخر فحص. والقفل بيشيل ملف الكاش (advanced-cache.php) وسطر WP_CACHE وبلوك .htaccess ولودر الإضافات ويمسح الصفحات المكيّشة، وملف الكاش ولودر الإضافات بيقفوا لوحدهم في لحظة الانتهاء حتى لو محدش زار الموقع. الحُكم بقى مربوط بالإضافة والكود والدومين (حُكم إضافة تانية أو موقع تاني مابيفتحهاش)، والفحص بقى يومي بدل أسبوعي، والمركز بيدق على مواقع الكود أول ما يتوقّف أو تاريخه يتغيّر. شاشة التفعيل بتعرض فاضل كام يوم وزرار «جدّدت؟ أعد الفحص».
- تفاصيل PageSpeed والتجارب: أي بند بتفتحه كان بيتقفل لوحده بعد ثواني لأن الشاشة كانت بتعيد رسم القايمة كلها مع كل تحديث. دلوقتي بيترسم بس اللي اتغيّر، والمفتوح بيفضل مفتوح ومكان السكرول ثابت.
- الواجهة: بنود PageSpeed بعناوين عربية (والإنجليزي الأصلي صغير جوّه البند)، والتوفير في شارة واضحة بدل «Est savings of …» اللي كان بيتلخبط مع العربي، وسهم فتح/قفل لكل بند وتجربة، وعناوين الأقسام بعدّاد.
- الأداء: لو مفيش جديد السيرفر بيرد بسطر واحد بدل الحالة كلها؛ الشاشة وهي مستنية بتتحدّث كل دقيقة بدل ٢٠ ثانية، والشريط العلوي كل ٥ دقايق بدل كل دقيقة — أقل ضغط على admin-ajax.
- مفيش إعدادات جديدة. لو الاشتراك منتهي، الإضافة هتتقفل أول ما التحديث يتثبّت — جدّد قبلها. الدليل اتراجع واتضاف له قسم «الترخيص والقفل».
2.3.7 · 2026-10-14
2.3.7 — حكم مابيصدّقش قياس واحد، WebP مع الـCDN، وكاش أدق
- قياس تاني قبل أي تطبيق: PageSpeed Insights ممكن يتذبذب ١٠ درجات أو أكتر بين فحصين لنفس الصفحة في المواقع التقيلة — والوكيل كان بيشيل تحسينات شغّالة بقياس واحد جه بالصدفة. دلوقتي أي تجربة باينة كويسة بالأرقام بتتقاس مرة كمان، وبتتطبّق بس لو المكسب اتكرر. وكل تحسين بيتحكم عليه بالمقاييس اللي ممكن يحرّكها فعلًا (صور WebP مابتكسبش بوقت تشغيل JavaScript).
- WebP مع CDN الاستضافة: Hostinger CDN (وأمثاله) بيحوّل الصور لـWebP بنفسه على نفس الرابط وبضغط أعلى؛ نسخ WebP بتاعتنا كانت بتعدّي من غير الضغط ده فالصفحة بتتقل (~٣٠٠KB والدرجة أقل ١٠–٢٠ على موقع حقيقي). الوكيل بقى بيكتشف ده أول كل جلسة ويسيب الـCDN يشتغل. والـWebP بقى تحسين قياسي مابيتشالش بتجربة على أي موقع تاني.
- كاش أدق: أي إضافة بتطلب «ماتكيّشش الصفحة دي» وهي في نص رسمها (DONOTCACHEPAGE — زي أسعار حسب البلد) طلبها بقى بيتسمع قبل التخزين، وصفحات الدفع والبروفايل و«انضم كمدرّس» في LearnPress مابتتكيّشش أبدًا (زي السلة والدفع في ووكومرس). آخر سطر في مصدر الصفحة بيقول ليه صفحة ماتكيّشتش.
- إصلاحات في الخلفية: سجل المهام كان بيمسح أحدث النتايج ويسيب القديمة — اتصلّح. وزرار الإيقاف والتأكد إن الخلفية شغّالة بيتأكدوا إن رقم العملية لسه بتاع الإضافة (على الاستضافة المشتركة الرقم بيتعاد استخدامه) — فمابيقفلوش عملية غريبة ومابيعتبروش الوكيل شغّال وهو واقف.
- المساعد الذكي: سببه في النشاط بقى لازم يتكلّم عن التجربة اللي اختارها نفسها.
2.3.6 · 2026-09-28
2.3.6 — reCAPTCHA وتسجيل الدخول بعد أول تفاعل، خطوط أخف، ومفيش mixed content
- تأخير reCAPTCHA وتسجيل الدخول لحد أول تفاعل (جديد): reCAPTCHA (ومعاه سكربت Contact Form 7 اللي بينادي grecaptcha، بنفس الترتيب)، وتسجيل الدخول بجوجل (One Tap وSite Kit)، ونوافذ الدخول بالموبايل (Mersal OTP مع intl-tel-input) بيتحمّلوا أول ما الزائر يلمس الصفحة أو يسكرول. على موقع Eduma ده شال ~٥٨٠KB جافاسكربت من وقت التحميل، واتجرّب في متصفح حقيقي: توكن reCAPTCHA بيتولّد، ونافذة الدخول بتفتح بخانة الموبايل، والعدّاد وارتفاع بانر العنوان زي ما هم. الوكيل بيجرّبه بالمتصفح المدمج بس.
- لغات خطوط جوجل المحلية: نسخ خطوط جوجل اللي على الموقع نفسه (زي uploads/elementor/google-fonts — Roboto لوحده كان ١٦٢ @font-face و٩٢KB جوّه كل صفحة) بتتقصّ لغاتها زي خطوط جوجل، بنفس شبكة الأمان للغة الموقع. الرموز الرياضية والأسهم بقوا اختيارين في «اللغات المطلوبة».
- ملفات تصميم صفحة الدخول تفضل في صفحة الدخول (جديد): Eduma وLearnPress بيشغّلوا حدث صفحة الدخول جوّه نافذة الهيدر، فإضافات زي WPShapere كانت بتحمّل نسخة تانية من Font Awesome وLineIcons وDashicons في كل صفحة. ده بيمنعها برّه wp-login.php بس.
- إصلاح mixed content في الخطوط المحلية: الخلفية (من سطر الأوامر) كانت بتكتب روابط الخطوط المحلية بـhttp:// على مواقع https، فالمتصفح كان بيمنع الخط (زي Almarai على egsbi) وبيطلع خطأ في الكونسول. الروابط الجديدة بـhttps، والقديمة بتتصلّح وقت القراية.
2.3.5 · 2026-09-28
2.3.5 — البانر الأول يظهر على الموبايل كمان
- إصلاح Flatsome: مواقع فيها سلايدر للكمبيوتر (hide-for-medium) وبانر منفصل للموبايل (show-for-medium) — «البانر الأول يظهر فورًا» كان بيعالج أول بانر بس (بتاع الكمبيوتر)، فعلى الموبايل مع «تأخير كل السكربتات» البانر كان مربع بلون الخلفية لحد أول لمسة. دلوقتي أول بانر لكل شاشة، وكل صورة بتتحمّل مسبقًا على شاشتها بس.
- «تأخير كل السكربتات» بيشغّل البانر معاه دايمًا — حتى في المواقع اللي كان متفعّل فيها قبل ما الاتنين يترابطوا.
2.3.4 · 2026-09-28
2.3.4 — الوكيل مابقاش يطبّق تجارب بتكسر بعد التفاعل
- «تأجيل السكربتات (defer)» و«تأجيل jQuery» بقوا بيتجرّبوا بس بالمتصفح المدمج: مع PageSpeed Insights كانوا بيعدّوا الحكم وهم كاسرين حاجات مابتبانش غير بعد ما الزائر يلمس الصفحة — على موقع Eduma بانر العنوان في كل الصفحات الداخلية قصر ٣٠ بكسل، وظهرت أخطاء JavaScript (.size() و getClientRects) بعد التفاعل.
- jquery-migrate مابقاش بيتشال أوتوماتيك مع تأجيل jQuery — كود قديم كتير بيعتمد عليه.
- الخطوط: الخطوط المكتوبة بروابط fonts.gstatic.com جوّه ملفات القالب بقت بتتستضاف على الموقع كمان، ولغات الخط اللي مالهاش لزمة بتتشال — مع شبكة أمان: اللاتيني ولغة الموقع وأي لغة بتظهر في نص الصفحات مابتتشالش أبدًا (العربي على egsbi وdietfields اتأكّد إنه سليم).
2.3.3 · 2026-09-28
2.3.3 — الاستايلات مابقتش تتضرب + شكل اللوحة
- إصلاح التباين كان بيضرب الاستايلات: كان بيلوّن بمحدّد عام من Lighthouse، فالقاعدة اللي اتعملت لزرار واحد وصلت لكل الأزرار اللي شبهه — نص «VIEW ALL» و«LEARN MORE» بقى وردي على وردي، وأيقونات الشريط الوردي بقت سودا. دلوقتي اللون بيتطبّق بس على العنصر اللي لون نصّه وخلفيته الفعليين هما اللي اتقاسوا، ومابيلمسش ألوان البراند خالص (بس الرمادي بتغيير بسيط).
- حذف الـCSS غير المستخدم: بيحتفظ بستايلات العناصر اللي السكربتات بتبنيها بعدين (عدّاد العضوية في Eduma كان بيطلع دواير ضعف حجمها).
- شاشة الوكيل والشريط العلوي: سطر «بيحضّر الخطوة الجاية» وزرار الإيقاف كانوا بيفضلوا ظاهرين بعد ما الوكيل يخلّص؛ رسالة النتيجة بقت سطور مرتّبة؛ الأزرار في شبكة منظّمة؛ لوحة الشريط العلوي بقت بسطور عادية (كانت متباعدة جدًا) ونشاط مرتّب بوقته ومن غير تكرار، والقايمة تحتها مابقتش بتتقص.
2.3.2 · 2026-09-28
2.3.2 — الوكيل كان بيقول «مفيش حاجة جديدة» والرئيسية لسه بعيدة عن ٩٠
- إصلاح القياس: PageSpeed Insights بيرجّع نفس التقرير لنفس الرابط لمدة دقيقة تقريبًا، فتجارب ورا بعض كانت بتتحكم بأرقام التجربة اللي قبلها (مثلًا «السماح باللصق» اترجعت بسبب شاشة «تأخير كل السكربتات»). دلوقتي كل قياس تجريبي بياخد رابط جديد، والقياس الحقيقي لو رجع قديم بيتعاد. كمان مع مفتاح PageSpeed الخاص، رابط النسخة التجريبية كان بيتبعت ناقص.
- ذاكرة التجارب: التجارب اللي اترفضت قبل التحديث بتتفتح تاني مرة واحدة (المقبولة زي ما هي) — فزرار «ابدأ» هيشتغل تاني.
- Elementor وEduma: «أول الشاشة يظهر فورًا» بقى يشيل حركات الدخول من أول ٣ أقسام، ويحط أول صورة في خلفية الـslideshow كخلفية ثابتة بأولوية عالية وبصيغة WebP، ويخلّي عناصر Elementor تبان من غير ما تستنى سكربته (Eduma كان بيخفيها). «تأخير كل السكربتات» بيتجرّب معاه. على egsbi.org: الرئيسية على الموبايل 55–61 ← 98، وLCP من حوالي ١٤ ثانية لـ ١٫٨.
- تأخير السكربتات: أوامر jQuery ready بتشتغل بعد آخر سكربت زي تحميل الصفحة العادي (عدّاد Eduma كان بيطلّع خطأ ClassyCountdown).
- مقارنة الشاشة: إزاحة كام بكسل مابقتش تتحسب كسر، وجزء من الشاشة فضي بيتحسب كسر حتى لو كان باهت.
2.3.1 · 2026-09-28
2.3.1 — إصلاح عاجل للرجوع التلقائي
- إصلاح: في 2.3.0 الرجوع التلقائي للخلفية كان بيقع بخطأ PHP في اللحظة اللي الخلفية تكون ماتت فيها والشغل لسه مفتوح (وده كان ممكن يطلّع «خطأ حرج» في صفحات اللوحة لحد ما حد يدوس «كمّل»). دلوقتي بيرجّعها فعلًا، ومضاف له اختبارات. الدليل اتراجع ومفيش تغيير في الاستخدام عن 2.3.0.
2.3.0 · 2026-09-28
2.3.0 — قياس PageSpeed مدمج، ومابيقفش في النص، والهدف ٩٠
- PageSpeed Insights مدمج مع الاشتراك: مش محتاج مفتاح جوجل — سيرفر MirrorORG بيقيس صفحات موقعك بمفتاحه (مشفّر عنده ومابيوصلش لموقعك)، لصفحات الدومين المفعّل بس، والنتيجة موقّعة. المفتاح الخاص بقى اختياري. ترقية: اللي كان حاطط مفتاح بيفضل يقيس بيه؛ امسح الخانة عشان تنقل للمدمج.
- مابيقفش في النص: لو الاستضافة قفلت عملية الخلفية فجأة، حارس مؤقت (حدث كرون واحد بيتجدّد طول ما فيه شغل بس) بيرجّعها خلال دقيقتين، والشريط العلوي بيرجّعها فورًا لو اللوحة مفتوحة — والوكيل بيكمّل من نفس الخطوة.
- الهدف ٩٠: طول ما الرئيسية على الموبايل تحت ٩٠، الجلسة مابتقفش بدري (لا بقرار المساعد ولا بعد تجارب من غير مكسب) — بتكمّل لحد ما التجارب كلها تخلص، ولو فضلت تحت ٩٠ بيقولك إن الباقي من القالب أو الإضافات.
- خانات بتمنع اللصق (paste-preventing-inputs): إصلاح جديد — الخانة اللي بتمنع اللصق من غير ما تعمل بيه حاجة بقت تقبله، وخانات الكود المقسّمة بتفضل توزّع الأرقام زي ما هي.
2.2.2 · 2026-09-28
2.2.2 — الوكيل مابقاش يصرف رصيد الذكاء الاصطناعي على الفاضي
- ذاكرة للتجارب: التجربة اللي اتحسمت مابتتعادش ١٤ يوم أو لحد ما القالب أو الإضافات أو ووردبريس يتغيّروا. قبل كده كل جلسة كانت بتعيد نفس التجارب كلها وكل واحدة بسؤال للمساعد.
- «ابدأ» مابيشتغلش على الفاضي: لو مفيش تجربة جديدة، بيقولك كده ومابيبدأش جلسة ولا قياس.
- بيقف لوحده: لما المساعد يقول مفيش تجربة تستاهل (كان بيتجاهله لو فاضل أكتر من تجربتين)، أو بعد ٤ تجارب ورا بعض من غير مكسب.
- لما يفضل اختيار واحد بس، مفيش سؤال للمساعد. «رجّع الموقع زي ما كان» بيفتح الذاكرة من الأول. زرار «ابدأ» في الشريط العلوي مابقاش بيشغّل الخلفية لو الجلسة ماتبدأتش.
2.2.1 · 2026-09-28
2.2.1 — باقي بنود PageSpeed على الموبايل والكمبيوتر
- ترتيب العناوين (heading-order): العنوان اللي بينط مستويات بياخد aria-level يكمّل التسلسل — الشكل زي ما هو.
- تباين الألوان (color-contrast): الوكيل بيقرا ألوان العناصر الناقصة من Lighthouse (موبايل وكمبيوتر) ويديها أقل تغيير يوصّلها لـ ٤٫٥:١، ويثبّت الشفافية لو كانت هي السبب.
- LCP request discovery: صورة LCP لكل صفحة على كل شاشة (حتى خلفية بانر CSS) بتتحمّل من أول الـHTML بـ preload وfetchpriority=high، وعمرها ما تتأجّل، والبانر بيظهر من غير ما يستنى السكربتات. بيشتغل مع Lighthouse 13 اللي PageSpeed Insights بيستخدمه (صورة LCP بتتعرف حتى لو اللوجو). الأولوية مربوطة بالصفحة: صورة منتج كانت LCP في صفحته مابقتش تاخد أولوية في شبكة الرئيسية.
- حجم الصفحة (dom-size): «رسم مؤجَّل» — النوافذ المخفية والأقسام اللي تحت أول شاشة بتترسم أول تفاعل، قبل سكربتات القالب (مع «تأخير كل السكربتات»). الرئيسية في موقع تجريبي: ١٤٨٩ ← ٩١٢ عنصر وقت التحميل، من غير أي كسر.
- Improve image delivery: نسخ الصور بمقاسات أكتر (240–1440) وبجودة على قد المقاس ومن غير بيانات الكاميرا (نسخة منتج 360px: ٤٧ ← ٣٣ ك.ب).
- Font display: خطوط الأيقونات بتاخد swap لما ملفها يكون متحمّل بدري (من غير مربعات فاضية).
- حكم أدق مع PageSpeed Insights: الحدود بتتضاعف قدام ذبذبة نتايج جوجل، والتحسينات القياسية الآمنة مابقتش بتتشال بتجربة (كانت بتتشال ساعات بسبب الضوضاء)، و«تأخير الخدمات الخارجية» مابقاش بيتجرّب لما «تأخير كل السكربتات» شغّال (كان ممكن ينزّل الإعداد).
- اللوحة: الدرجة بقت للصفحة الرئيسية ومقارنة بأول قياس للموقع من غير الإضافة بنفس المحرّك (مرجع ثابت)، والمسار مابيخلطش المتصفح المدمج بـ PageSpeed. بنود الكمبيوتر بتظهر في تبويب PageSpeed. الشريط العلوي بيعرض رقم الرئيسية.
- صفحة «التفعيل والتحديثات» فاتحة دايمًا ومن غير إشعارات الإضافات التانية. mousemove الوهمي اللي كروم بيبعته وقت التحميل مابقاش بيتحسب تفاعل.
2.2.0 · 2026-09-27
2.2.0 — وكيل كامل بيشتغل بس لما تدوس، ويغطّي PageSpeed كله
أول إصدار منشور من الجيل التاني: الإضافة بقت وكيل ذكاء اصطناعي واحد بدل صفحات الإعدادات، بيقيس ويجرّب كل تحسين على نسخة تجريبية مابيشوفهاش الزوّار ويطبّق اللي يثبت بس.
- من غير كرون خالص: التحسين وتحسين المحتوى والفحص والتنضيف وتسخين الكاش بيبدأوا بس لما تدوس، وبيكمّلوا في الخلفية كعملية مستقلة حتى لو قفلت الصفحة، وبعد ما يخلصوا بتقفل لوحدها. «وقّف» بيلغي كل حاجة فورًا، و«كمّل» بيكمّل من مكانه لو السيرفر قطع.
- حالة الشغل في الشريط العلوي في أي صفحة: الخطوة الحالية، نسبة التقدّم، درجات PageSpeed الأربعة، المهام، وآخر نشاط — بتتحدّث كل ٣ ثواني — ومنه تبدأ وتوقّف.
- أقسام PageSpeed الأربعة: الأداء وإمكانية الوصول وأفضل الممارسات وSEO، وتبويب بكل بند واقع ومين بيصلّحه (الوكيل، السيرفر، تحسين المحتوى، أو نصيحة لتعديل منك).
- إصلاحات جديدة: نص بديل للصور، أسماء لأيقونات الروابط والأزرار، تسميات للخانات، عنوان للإطارات، لغة الصفحة، السماح بالتكبير، وصف للصفحات، روابط قابلة للزحف، شيل ملفات CSS/JS اللي بترجّع 404، preload لخطوط أول الشاشة، WebP لخلفيات البانرات، sizes مظبوطة من العرض الحقيقي لكل صورة، وصورة LCP عمرها ما تتأجّل.
- تحسين المحتوى: الوكيل بيكتب النص البديل للصور ووصف الصفحات والمنتجات الناقصة بلغة الموقع — في الفاضي بس — وزرار يرجّع كل اللي كتبه.
- ٣ محرّكات قياس: المتصفح المدمج (كروم + Lighthouse على السيرفر، لو الاستضافة تسمح)، Google PageSpeed Insights بمفتاح مجاني، أو قواعد آمنة من غير قياس (بيطبّق المضمون بس ويتأكد من سلامة الصفحات من السيرفر).
- تجارب A/B في نفس الفحص، حكم بقواعد ثابتة، تطبيق فوري لكل تحسين نجح، وفحص الموقع الحقيقي بعده مع رجوع تلقائي للخطوة اللي كسرت.
ملاحظات الترقية من 1.x
- إعداداتك الحالية بتفضل شغّالة للزوّار، والوكيل بيبدأ منها ويبني عليها.
- صفحات الإعدادات القديمة اتشالت — كل حاجة من «ميرور سبيد ← الوكيل».
- التنضيف المجدول لقاعدة البيانات والتسخين كل دقيقة اتشالوا (مفيش كرون)؛ الاتنين زراير في تبويب «تفاصيل».
- على الاستضافات المشتركة (زي هوستنجر) المتصفح المدمج مابيقومش من طلب الموقع بسبب حد الذاكرة الافتراضية؛ ضيف مفتاح PageSpeed API المجاني من تبويب «PageSpeed» عشان الوكيل يقيس ويجرّب كل حاجة — الخطوات في الدليل.
1.0.0 · 2026-09-27
الإصدار الأول
إضافة تسريع كاملة لووردبريس، بتبدأ في وضع تجربة مابيأثرش على الزوّار لحد ما تتأكد بنفسك.
- الكاش: كاش LiteSpeed من ذاكرة السيرفر لو متاح، وإلا كاش ملفات؛ تحميل مسبق من خريطة الموقع؛ مسح ذكي للصفحة المعدّلة والمرتبطة بيها بس؛ كاش المتصفح وضغط Gzip/Brotli.
- تأجيل تاج مانجر والبيكسلات والشات لحد أول تفاعل، مع مهلة للتحليلات عشان الزيارة تتحسب، وإعادة الضغطة لو الزائر داس قبل التحميل.
- CSS وJS: ضغط ودمج، defer بيحافظ على الترتيب، وحذف الـCSS غير المستخدم لكل صفحة.
- فاحص الخطوط: بيقرا كل خط متحمّل فعلًا (حتى @import المدفون) ويطلّع توصيات بزرار تطبيق؛ دمج Google Fonts واستضافتها محليًا بلغات وأوزان محدّدة، وfont-display: swap.
- الصور: تحميل كسول، أولوية لصورة LCP، أبعاد ناقصة، واجهة يوتيوب خفيفة، وتحويل WebP/AVIF.
- تخفيف ووردبريس وووكومرس، مدير ملفات لكل صفحة، إيقاف إضافات كاملة لكل رابط، تنضيف قاعدة البيانات، CDN وكلاودفلير، وفحص PageSpeed قبل/بعد.
- المساعد الذكي (مرسال) مشمول في الاشتراك من غير مفتاح: الطلبات بتعدّي على سيرفر MirrorORG بكود التفعيل، والمفتاح عمره ما بيوصل للموقع. أي تغيير منه بيستنى موافقتك وتقدر ترجع فيه.
- أمان التحديثات: الردود موقّعة، وملف التحديث بيتطابق ببصمته الموقّعة قبل التثبيت.
