الإجابة السريعة

الصور عادةً أثقل عنصر في صفحات الويب — تشكّل غالبًا أكثر من نصف وزن الصفحة، وهي السبب الأشهر لبطء LCP ولقفزات CLS. تحسينها يقوم على خمس خطوات متراكبة: اختيار الصيغة الصحيحة (AVIF ثم WebP بدل JPEG/PNG، وSVG للأيقونات)، التحجيم لأبعاد العرض الفعلية بدل رفع صور ضخمة، الضغط بمستوى جودة معقول (75–82 يكفي غالبًا)، تقديم أحجام متعدّدة عبر srcset/sizes لكل شاشة، والتحميل الكسول lazy loading للصور خارج الشاشة مع عدم تكسيل صورة LCP. أضِف إليها تحديد width/height لتفادي القفز، والتوصيل عبر CDN يحوّل الصيغ تلقائيًا. النتيجة: وزن أقل بنسبة 50–80% وتحسّن مباشر في Core Web Vitals.

هذا الدليل مرجعي ويصلح لأي منصّة — موقع مخصّص، ووردبريس، أو متجر — لأن مبادئ تحسين الصور واحدة وإن اختلفت الأدوات. سنشرح كل خطوة بعمق مع جداول مقارنة وأكواد عملية، ثم نختم بسير عمل جاهز وقائمة تحقّق وأخطاء شائعة وأسئلة متكرّرة. لمن يريد الصورة الأكبر، اقرأ أيضًا الدليل الشامل لتسريع موقعك الذي يضع الصور في سياق الأداء الكامل.

لماذا الصور أثقل عنصر في الصفحة؟

في معظم المواقع، إذا فتحت أدوات المطوّر وفرزت طلبات الشبكة حسب الحجم، ستجد الصور تتصدّر القائمة بفارق كبير عن الـHTML والـCSS وحتى الجافاسكربت. السبب بسيط: الصورة الفوتوغرافية تحمل ملايين البكسلات، وكل بكسل لون. صورة بدقّة 2000×1333 بكسل بصيغة JPEG غير محسّنة قد تتجاوز 2 ميجابايت بسهولة، بينما صفحة HTML كاملة نادرًا ما تتعدّى بضع عشرات من الكيلوبايت.

أثر هذا الوزن لا يقف عند «الصفحة ثقيلة». ينعكس مباشرة على مؤشّرين من Core Web Vitals:

  • LCP (Largest Contentful Paint): في أغلب الصفحات يكون أكبر عنصر مرئي هو صورة — صورة الهيرو، أو غلاف المقال، أو صورة المنتج الرئيسية. ما لم تُحمَّل هذه الصورة بسرعة، سيبقى مؤشّر LCP ضعيفًا مهما حسّنت بقية الصفحة. الهدف الرسمي أقل من 2.5 ثانية.
  • CLS (Cumulative Layout Shift): الصورة بلا أبعاد محجوزة تدفع المحتوى للأسفل فجأة عند وصولها، فيقفز التخطيط ويرتفع مؤشّر CLS. الهدف أقل من 0.1.
مقارنة وزن صفحة قبل التحسين وبعده: عمود (قبل) ثقيل تهيمن عليه الصور، وعمود (بعد) أخفّ بعد ضغط الصور وتقليل السكربتات.وزن الصفحة: قبل التحسين وبعدهصورسكربتاتأنماط/خطوطقبلصور مضغوطةأصول مصغّرةبعدضغط الصور + تقليل/تأجيل الأصول = صفحة أخفّ وأسرع
وزن الصفحة قبل/بعد: ضغط الصور وتقليل السكربتات والأنماط يقلّص الحجم الكلّي بوضوح فيتحسّن زمن التحميل.

والأخطر أن البطء له ثمن تجاري مباشر: كلّما تأخّر التحميل ارتفع احتمال مغادرة الزائر قبل أن يتفاعل أصلًا. هذه العلاقة بين زمن التحميل ومعدّل الارتداد موثّقة جيدًا.

رسم بياني يربط زمن التحميل بالثواني على المحور الأفقي بمعدّل الارتداد على المحور الرأسي، يرتفع المعدّل كلّما زاد زمن التحميل.كيف يرفع البطء معدّل الارتداد؟الارتدادزمن التحميل (ثانية)كل ثانية تأخير إضافية ترفع احتمال المغادرة
العلاقة بين زمن التحميل ومعدّل الارتداد: كلّما تأخّر التحميل ارتفع احتمال مغادرة الزائر قبل التفاعل.

الخبر الجيّد أن الصور هي أيضًا أكبر فرصة للتحسين: مكسب 70% من وزن الصورة أسهل بكثير من توفير 70% من الجافاسكربت، ولا يتطلّب لمس الكود غالبًا. هذا يجعل تحسين الصور أول ما يُبدأ به في أي مشروع تسريع. لفهم المؤشّرات بالتفصيل راجع فهم Core Web Vitals.

مؤشّرات Core Web Vitals الثلاثة: LCP أقل من 2.5 ثانية، INP أقل من 200 مللي ثانية، CLS أقل من 0.1، مع مناطق جيّد/يحتاج تحسين/ضعيف.Core Web Vitals: مؤشّرات تجربة الصفحةCLSثبات التخطيطجيّدضعيف< 0.1INPسرعة الاستجابةجيّدضعيف< 200 ملليLCPظهور أكبر عنصرجيّدضعيف< 2.5 ثانيةالأخضر = الهدف الجيّد · يُقاس من بيانات المستخدمين الحقيقيين
Core Web Vitals: LCP (ظهور أكبر عنصر) < 2.5 ثانية، INP (الاستجابة) < 200 مللي، CLS (ثبات التخطيط) < 0.1.

خط أنابيب الصورة: من الرفع إلى المتصفّح

قبل الغوص في التفاصيل، من المفيد رؤية رحلة الصورة كاملةً من اللحظة التي يلتقطها فيها المصوّر أو المصمّم حتى تظهر في متصفّح الزائر. كل خطوة في هذا الخط فرصة للتحسين أو للإهمال.

خطّ تحسين الصور: من الصورة الأصل الثقيلة، إلى التحجيم المناسب مع srcset، ثم الضغط، ثم التحويل لصيغة حديثة WebP أو AVIF، وأخيرًا التحميل الكسول والتوصيل عبر CDN.خطّ تحسين الصور: من الأصل إلى الأخفّالأصلكبيرة وثقيلةتحجيمsrcset مناسبضغطبلا فقد ملموسصيغة حديثةWebP / AVIFتحميل كسول + توصيل عبر CDNكل خطوة تقلّص الوزن — صفحة أخفّ وLCP أسرع
خطّ تحسين الصور: من الأصل الثقيل ← تحجيم مناسب (srcset) ← ضغط بلا فقد ملموس ← صيغة حديثة (WebP/AVIF) ← تحميل كسول وتوصيل عبر CDN.

الخطوات بالترتيب:

  1. المصدر: ملف أصلي عالي الدقّة (PNG/JPEG/PSD) — قد يكون عدّة ميجابايت.
  2. التحجيم (Resize): تقليل الأبعاد إلى ما تحتاجه الصفحة فعلًا، لا أكثر.
  3. اختيار الصيغة (Encode): تحويل إلى AVIF/WebP مع JPEG كاحتياطي.
  4. الضغط (Compress): ضبط مستوى الجودة لموازنة الحجم والوضوح.
  5. توليد أحجام متعدّدة: نسخ بعروض مختلفة لـsrcset.
  6. التخزين والتوصيل (CDN): رفع على تخزين كائنات وتوصيل من أقرب نقطة.
  7. العرض في المتصفّح: مع width/height، loading، decoding، وsizes.

أي موقع لا يطبّق هذا الخط يدفع الثمن مرّتين: مرّة في الوزن، ومرّة في التجربة. لنفصّل كل خطوة.

الخطوة الأولى: اختيار الصيغة الصحيحة

لا توجد «صيغة أفضل» مطلقة — لكل صيغة استخدامها الأمثل. القاعدة العامة: AVIF ثم WebP للصور الفوتوغرافية والرسومات المعقّدة، SVG للأيقونات والشعارات، وJPEG/PNG كاحتياطي عند الحاجة فقط.

مقارنة الصيغ الخمس الأساسية

الصيغةأفضل استخدامالدعمالحجم النسبيالشفافيةالرسوم المتحرّكة
JPEGصور فوتوغرافية (احتياطي)عالمي (100%)مرجع (100%)لالا
PNGشفافية، نصوص حادّة، لقطات شاشةعالمي (100%)كبير جدًا للصورنعملا
WebPبديل عام لـJPEG/PNGممتاز (~97%)~25–35% أصغر من JPEGنعمنعم
AVIFأفضل ضغط للصور الحديثةجيّد (~93%)~50% أصغر من JPEGنعمنعم
SVGأيقونات، شعارات، رسوم متّجهةعالمي (100%)ضئيل جدًانعمنعم (CSS/SMIL)
مقارنة حجم الملف لنفس الصورة بثلاث صيغ: JPEG الأكبر، WebP أصغر منه، AVIF الأصغر، مع أعمدة بأطوال متناسبة.JPEG مقابل WebP مقابل AVIF (حجم الملف)JPEGWebPAVIF≈ 100%≈ 70%≈ 50%نِسَب تقريبية لنفس الصورة — الأخفّ يحمّل أسرع
نفس الصورة بثلاث صيغ: WebP أخفّ من JPEG بوضوح، وAVIF الأخفّ — مكسب كبير في وزن الصفحة دون فقد بصري ملموس.

متى تختار كل صيغة؟

السيناريوالصيغة المثلىالاحتياطي
صورة هيرو فوتوغرافيةAVIFWebP ← JPEG
غلاف مقال / صورة مدوّنةAVIFWebP ← JPEG
صورة منتج (تفاصيل دقيقة)AVIF بجودة أعلىWebP ← JPEG
شعار، أيقونة، رسم بياني متّجهSVGPNG
لقطة شاشة بنصوص حادّةWebP (lossless)PNG
رسم يحتاج شفافية حادّةWebP/AVIFPNG
صورة GIF متحرّكة قديمةWebP أو فيديو MP4/WebM

نصيحتان مهمّتان: أولًا، GIF المتحرّك سيّئ جدًا في الوزن — استبدله بفيديو <video> بصيغة WebM/MP4 أو بـAVIF/WebP متحرّك، فالتوفير يصل إلى 90%. ثانيًا، لا تستخدم PNG لصورة فوتوغرافية؛ PNG مصمّم للضغط بلا فقد، فيُنتج ملفًا ضخمًا للصور ذات التدرّجات اللونية الكثيرة. PNG ممتاز للنصوص الحادّة والشفافية فقط.

أما آلية التقديم، فإن أبسط طريقة موثوقة هي عنصر <picture> الذي يقدّم AVIF أولًا، ثم WebP، ثم JPEG لمن لا يدعم الحديث:

<picture>
  <source srcset="/images/hero.avif" type="image/avif" />
  <source srcset="/images/hero.webp" type="image/webp" />
  <img src="/images/hero.jpg" alt="لوحة تحكّم الاستضافة" width="1200" height="630" />
</picture>

المتصفّح يختار أول صيغة يدعمها من الأعلى للأسفل، فيحصل مستخدمو المتصفّحات الحديثة على AVIF الأخفّ، ويبقى الجميع قادرًا على رؤية الصورة. إن كنت على ووردبريس أو CDN يحوّل الصيغ تلقائيًا، فغالبًا لن تكتب هذا يدويًا — لكن فهم الآلية يساعدك على التشخيص.

الخطوة الثانية: الضغط — بفقد مقابل بلا فقد

الضغط نوعان جوهريًا، والخلط بينهما من أكثر الأخطاء شيوعًا:

النوعالفكرةالجودةالحجمالاستخدام الأمثل
بلا فقد (Lossless)يُزيل التكرار دون حذف أي بكسلمطابقة 100% للأصلتقليص متوسّطلقطات شاشة، نصوص حادّة، شعارات
بفقد (Lossy)يحذف تفاصيل لا تكاد العين تميّزهافقد بصري طفيف يُضبط بمستوى الجودةتقليص كبير جدًاالصور الفوتوغرافية

للصور الفوتوغرافية، الضغط بفقد هو الخيار الصحيح دائمًا تقريبًا: العين البشرية لا تلاحظ الفرق بين الأصل وبين نسخة مضغوطة بجودة 80، بينما الحجم ينخفض إلى الثلث أو أقل. السؤال الحقيقي هو: ما مستوى الجودة المناسب؟

الجودة مقابل الحجم — أين تضبط المؤشّر؟

مستوى الجودةالإدراك البصريالحجم النسبيالتوصية
95–100لا فرق ملموس، إسرافكبيرتجنّبه — هدر بلا فائدة
82–90ممتاز، آمن للمنتجات الدقيقةمتوسّط-كبيرلصور المنتجات وما يُكبّر
75–82ممتاز للعين، توازن مثاليمتوسّطالافتراضي الموصى به
60–74جيّد، يظهر بعض الفقد عند التدقيقصغيرللصور الثانوية والمصغّرات
< 55تشوّهات (artefacts) واضحةصغير جدًاتجنّبه للصور المهمّة

القاعدة الذهبية: ابدأ من جودة 80 وانزل تدريجيًا حتى ترى أول فرق بصري، ثم اصعد درجة واحدة. هذا «عتبة الجودة البصرية» وتختلف قليلًا من صورة لأخرى — الصور ذات المساحات اللونية المسطّحة (سماء، جدار) تتحمّل ضغطًا أعلى من الصور المزدحمة بالتفاصيل (أوراق شجر، نسيج).

أوامر سطر الأوامر تعطيك تحكّمًا دقيقًا. لتحويل صورة إلى WebP بجودة 80 عبر أداة cwebp:

# WebP بفقد بجودة 80
cwebp -q 80 input.jpg -o output.webp

# WebP بلا فقد (للقطات الشاشة والنصوص الحادّة)
cwebp -lossless input.png -o output.webp

ولتوليد AVIF عبر avifenc (من حزمة libavif):

# AVIF بفقد: --min/--max أقل = جودة أعلى؛ والسرعة 6 توازن جيّد
avifenc --min 24 --max 30 --speed 6 input.jpg output.avif

الخطوة الثالثة: التحجيم والصور المتجاوبة (srcset)

أكبر خطأ منفرد في الصور هو رفع صورة بأبعاد ضخمة وعرضها بحجم صغير. صورة بعرض 4000 بكسل تُعرض داخل حاوية عرضها 400 بكسل تهدر 90% من بياناتها، ويُجبر المتصفّح على تنزيلها كاملةً ثم تصغيرها. الحلّ شقّان: حجّم لما تحتاجه، وقدّم أحجامًا متعدّدة لتختلف الشاشات.

أبعاد العرض الشائعة

موضع الصورةعرض العرض التقريبيعروض الـsrcset المقترحة
صورة هيرو عريضة (full-width)حتى 1920px640, 960, 1280, 1920
غلاف مقالحتى 1200px480, 768, 1024, 1200
صورة داخل المتنحتى 760px380, 560, 760
بطاقة في شبكة (grid card)~360px360, 540, 720
مصغّرة (thumbnail)~120px120, 240
أفاتار~48px48, 96

لاحظ أن كل صفّ يحتوي على نسخة بضعف العرض (مثل 360 و720): هذا لتغطية شاشات الكثافة العالية (DPR ≥ 2، مثل شاشات الريتينا) التي تحتاج بكسلات فعلية أكثر لكل بكسل CSS.

كيف يعمل srcset وsizes معًا؟

السمة srcset تخبر المتصفّح بالنسخ المتاحة وعرض كلٍّ بالبكسل (بواصف w)، والسمة sizes تخبره بالعرض الذي ستُعرض به الصورة فعلًا عند كل نقطة كسر، فيختار المتصفّح أنسب نسخة بنفسه حسب الشاشة والكثافة:

<img
  src="/images/cover-768.jpg"
  srcset="
    /images/cover-480.jpg   480w,
    /images/cover-768.jpg   768w,
    /images/cover-1024.jpg 1024w,
    /images/cover-1200.jpg 1200w"
  sizes="(max-width: 600px) 100vw, (max-width: 1024px) 80vw, 1200px"
  width="1200" height="630"
  alt="مقارنة خطط الاستضافة"
  decoding="async"
/>

اقرأ sizes هكذا: «على الشاشات حتى 600 بكسل اعرض الصورة بعرض كامل العرض (100vw)، وحتى 1024 بكسل بعرض 80% من العرض، وغير ذلك بعرض 1200 بكسل». بهذه المعلومة يستطيع المتصفّح حساب أصغر نسخة كافية لكل جهاز. بدون sizes دقيقة، تفقد فائدة srcset لأن المتصفّح يفترض أن الصورة بعرض كامل الشاشة ويختار نسخة أكبر من اللازم.

نقطة جوهرية: لا تكتب كل هذا يدويًا لكل صورة. على ووردبريس يُولّد النظام srcset/sizes تلقائيًا من «أحجام الصور» المسجّلة، وفي Next.js يتولّى next/image التوليد كاملًا. مهمّتك أن تتأكّد أن النسخ المتعدّدة تُولَّد وأن sizes يعكس تخطيطك الحقيقي.

الخطوة الرابعة: التحميل الكسول (lazy loading) دون أذية LCP

التحميل الكسول يؤجّل تنزيل الصور خارج إطار الشاشة حتى يقترب المستخدم منها بالتمرير، فيُسرّع التحميل الأولي ويوفّر بيانات على صور قد لا يصل إليها الزائر أصلًا. تفعيله أصبح بسيطًا عبر سمة أصلية في المتصفّح:

<!-- صورة أسفل الصفحة: كسّلها -->
<img src="/images/section-3.webp" loading="lazy" decoding="async"
     width="800" height="450" alt="لوحة الإحصاءات" />

لكن هنا أخطر فخّ في الموضوع كلّه:

لا تكسّل أبدًا صورة LCP — أي الصورة الأولى المرئية فوق الطيّة (above the fold)، كصورة الهيرو أو غلاف المقال. تكسيلها يؤخّر تنزيلها فيتدهور مؤشّر LCP بشدّة، وهو عكس ما تريد.

القاعدة العملية:

موقع الصورةloadingfetchpriorityالسبب
صورة LCP (هيرو/غلاف، فوق الطيّة)eager (الافتراضي)highحمّلها فورًا وبأولوية عالية
صور فوق الطيّة غير LCPeagerمرئية مباشرة
كل الصور أسفل الطيّةlazyأجّلها حتى الاقتراب

لتسريع صورة LCP تحديدًا، أضِف fetchpriority="high" لترفع أولويتها في طابور التنزيل:

<!-- صورة الهيرو / LCP: عجّلها -->
<img src="/images/hero.avif" fetchpriority="high" decoding="async"
     width="1200" height="630" alt="استضافة سريعة" />

أمّا سمة decoding="async" فتسمح للمتصفّح بفكّ ترميز الصورة دون حجب الخيط الرئيسي، وهي آمنة لمعظم الصور وتساعد على الاستجابية.

نصيحة خبير: على ووردبريس، النواة تضيف loading="lazy" تلقائيًا لكل الصور — بما فيها أحيانًا صورة LCP. تأكّد أن قالبك أو إضافة الأداء يستثني أول صورة (أو يضع لها fetchpriority="high"). كثير من المواقع البطيئة سببها أن صورة الهيرو مُكسَّلة بالخطأ.

جاهز لإطلاق موقعك على استضافة سريعة؟

خطط استضافة wpressly على أقراص NVMe مع SSL مجاني ودعم عربي — اختر الخطة المناسبة لحجمك وانطلق اليوم.

اكتشف خطط الاستضافة

الخطوة الخامسة: تحديد width وheight لتفادي CLS

عندما لا يعرف المتصفّح أبعاد الصورة مسبقًا، يحجز لها مساحة صفرية ثم يدفع كل ما تحتها للأسفل فجأة حين تصل — وهذا هو سبب قفز التخطيط (CLS) الأشهر. الحلّ بسيط جدًا وغالبًا ما يُهمَل: اكتب width وheight الحقيقيين (بالبكسل) على كل صورة، حتى لو كانت متجاوبة.

<!-- نسبة الأبعاد محفوظة: المتصفّح يحجز المساحة قبل التنزيل -->
<img src="/images/chart.webp" width="800" height="450"
     style="height:auto" alt="نمو الأداء" loading="lazy" />

السرّ أن المتصفّح الحديث يستخدم width وheight لحساب نسبة الأبعاد (aspect ratio)، فيحجز الصندوق بالحجم الصحيح قبل وصول الصورة. مع style="height:auto" (أو قاعدة CSS مماثلة)، تبقى الصورة متجاوبة لكن نسبتها محفوظة فلا قفز. هذه أرخص خطوة تحسين على الإطلاق: سطر واحد لكل صورة يُسقط مؤشّر CLS إلى الصفر تقريبًا.

الحالةالنتيجة على CLS
صورة بلا width/heightقفز شديد عند الوصول — CLS مرتفع
width/height + height:autoالمساحة محجوزة — CLS ≈ 0
حاوية بنسبة أبعاد CSS (aspect-ratio)بديل ممتاز يحجز المساحة كذلك

الخطوة السادسة: التوصيل عبر CDN وتحويل الصيغ تلقائيًا

بعد ضغط الصور وتحجيمها، يبقى عامل المسافة: زائر بعيد جغرافيًا عن خادمك ينتظر أطول لتصل الصورة. هنا يأتي دور شبكة توصيل المحتوى (CDN)، التي تخزّن نسخًا من صورك على نقاط حضور موزّعة حول العالم وتخدم كل زائر من أقرب نقطة إليه. هذا يقلّص زمن وصول الصورة (وبالتالي LCP) بشكل ملموس للجمهور الدولي.

الأفضل من ذلك أن CDN الصور الحديثة تفعل أكثر من التوصيل: تحوّل الصيغة وتحجّم وتضغط عند الطلب حسب متصفّح الزائر وحجم شاشته. ترفع صورة أصلية واحدة، وتطلبها برابط يحمل معاملات، فتعيد لك الشبكة النسخة المثلى:

# مثال: رابط CDN صور يحجّم ويحوّل ويضبط الجودة عند الطلب
https://cdn.example.com/hero.jpg?width=768&format=auto&quality=80

format=auto تعني: «أعطِ هذا الزائر AVIF إن كان متصفّحه يدعمه، وإلا WebP، وإلا JPEG» — تلقائيًا دون أن تولّد النسخ بنفسك. هذا يبسّط سير العمل كثيرًا. لفهم أعمق لآلية الـCDN وفوائده الأمنية والأدائية راجع ما هو CDN ولماذا تحتاجه.

إن كنت تخدم WebP يدويًا من خادمك دون CDN، يمكنك إعداد Nginx ليقدّم نسخة WebP تلقائيًا للمتصفّحات الداعمة بناءً على ترويسة Accept:

# يخدم x.webp بدل x.jpg إن كان المتصفّح يدعم webp ووُجدت النسخة
location ~* \.(jpe?g|png)$ {
    add_header Vary Accept;
    try_files $uri$webp_suffix $uri =404;
}

map $http_accept $webp_suffix {
    default        "";
    "~*image/webp" ".webp";
}

الأدوات: من اليدوي إلى الأونلاين إلى الإضافات

لا تحتاج كل الأدوات؛ تحتاج الأداة المناسبة لسياقك. هذه خريطة عملية:

أدوات الضغط والتحويل

الأداةالنوعالمميّزاتالأنسب لـ
Squooshأونلاين (مجاني)مقارنة قبل/بعد حيّة، AVIF/WebP، تحكّم دقيقصور مفردة، تعلّم العتبات
TinyPNGأونلاين (مجاني/مدفوع)ضغط ذكي PNG/JPEG/WebP، APIدفعات سريعة
cwebp / avifencسطر أوامرتحكّم كامل، أتمتة، دفعات ضخمةالمطوّرون والـCI
ShortPixelإضافة/أونلاin/APIتحويل تلقائي AVIF/WebP، CDN اختياريووردبريس والمواقع الحيّة
Imagifyإضافة/أونلاin/APIضغط تلقائي بمستويات، WebP/AVIFووردبريس
Sharpمكتبة Node.jsأسرع معالجة برمجية، توليد srcsetالبناء وخطوط الأنابيب

إضافات ووردبريس للصور

الإضافةالوظيفة الأساسيةملاحظة
ShortPixelضغط + تحويل WebP/AVIF + CDNشامل وسهل
Imagifyضغط بمستويات + WebP/AVIFمن صنّاع WP Rocket
EWWW Image Optimizerضغط محلي/سحابي + WebPيعمل بلا اشتراك للأساسيات
Smushضغط + كسل + تحجيمواجهة بسيطة
Converter for Mediaتحويل WebP/AVIF وخدمتهامتخصّص في التحويل

نصيحة: لا تجمع أكثر من إضافة ضغط واحدة — قد تتعارض وتضغط الصورة مرّتين فتفسدها. اختر واحدة واضبطها جيدًا. ولمزيد عن تسريع ووردبريس بالكامل راجع تسريع موقع ووردبريس.

سير عمل عملي جاهز

للموقع المخصّص (يدوي أو بناء)

  1. ابدأ من الأصل الأعلى دقّة الذي ستحتاجه (مثلًا 1920px للهيرو).
  2. حجّم لكل عرض في خطّة الـsrcset (مثلًا 640/960/1280/1920).
  3. حوّل كل عرض إلى AVIF وWebP (واحتفظ بـJPEG احتياطيًا).
  4. اضغط بجودة 80 (انزل للثانوية، اصعد للمنتجات).
  5. اعرض عبر <picture> أو srcset/sizes مع width/height.
  6. كسّل ما هو أسفل الطيّة، وعجّل صورة LCP بـfetchpriority="high".
  7. وصّل عبر CDN صور بـformat=auto.

سكربت Node بسيط بمكتبة Sharp يولّد كل النسخ دفعةً:

import sharp from "sharp";

const widths = [640, 960, 1280, 1920];
for (const w of widths) {
  await sharp("hero.jpg").resize(w)
    .avif({ quality: 50 }).toFile(`hero-${w}.avif`);
  await sharp("hero.jpg").resize(w)
    .webp({ quality: 80 }).toFile(`hero-${w}.webp`);
}

لموقع ووردبريس

  1. ثبّت إضافة ضغط/تحويل واحدة (ShortPixel أو Imagify) وفعّل WebP/AVIF.
  2. فعّل «إعادة تحجيم الصور الكبيرة عند الرفع» (ووردبريس يفعلها افتراضيًا فوق 2560px — يمكن خفضها).
  3. اضغط مكتبة الوسائط القديمة دفعةً واحدة (Bulk).
  4. تأكّد أن القالب يخرج width/height وsrcset (القوالب الحديثة تفعل).
  5. استثنِ صورة الهيرو/الغلاف من التكسيل، وأعطها أولوية عالية.
  6. فعّل CDN (عبر الإضافة أو مزوّدك).

القياس: كيف تعرف أنّك نجحت؟

التحسين بلا قياس تخمين. استخدم هذه الأدوات:

الأداةتقيسمتى تستخدمها
PageSpeed InsightsLCP/CLS ميدانيًا + مختبريًا + توصيات الصورفحص شامل وتوصيات «صيغ الجيل القادم»
Lighthouse (DevTools)تدقيق محلي مفصّل للصورأثناء التطوير والتشخيص
DevTools ← Networkحجم كل صورة فعليًا وزمنهاإيجاد أثقل الصور بسرعة
WebPageTestشلال تحميل دقيق + أولوياتتشخيص متقدّم لـLCP

أسرع فحص يدوي: افتح DevTools ← لسان Network ← صفّ حسب Size نزولًا ← أعِد تحميل الصفحة. أثقل الصفوف هي أهدافك الأولى. وفي Lighthouse انتبه لتوصيتين متكرّرتين: «قدّم الصور بصيغ الجيل القادم» (أي حوّل لـWebP/AVIF) و**«حجّم الصور بشكل صحيح»** (أي أنت تخدم أبعادًا أكبر من المعروضة).

الأخطاء الشائعة وكيف تتجنّبها

الخطأالأثرالتصحيح
رفع صور بأبعاد ضخمة وعرضها صغيرةهدر هائل في الوزن وLCP بطيءحجّم للأبعاد المعروضة + srcset
استخدام PNG لصور فوتوغرافيةملفات أضخم بـ5–10 أضعافاستخدم JPEG/WebP/AVIF
تكسيل صورة LCP (الهيرو/الغلاف)تدهور حادّ في LCPeager + fetchpriority="high" للأولى
غياب width/heightقفز تخطيط وCLS مرتفعأضِفهما + height:auto
جودة 95–100 بلا داعٍحجم مضاعف بلا فائدة بصريةاضبط على 75–82
GIF متحرّك ثقيلعشرات الميجابايتاستبدله بـ<video> أو WebP/AVIF
إهمال نص altضرر للوصولية وSEO الصوراكتب alt وصفيًا لكل صورة محتوى
ضغط مزدوج بأكثر من إضافةتشوّه وفساد الصورإضافة ضغط واحدة فقط
نسيان CDN للجمهور الدوليLCP بطيء للبعيدينCDN صور بـformat=auto

نقطة الوصولية تستحقّ تأكيدًا: نصّ alt ليس رفاهية. هو ما يقرؤه قارئ الشاشة لمستخدم كفيف، وما يعتمده محرّك البحث لفهم الصورة، وما يظهر إن فشل تحميل الصورة. اكتبه وصفيًا دقيقًا لصور المحتوى، واتركه فارغًا (alt="") للصور الزخرفية البحتة فقط حتى تتجاهلها قارئات الشاشة.

قائمة تحقّق سريعة لتحسين الصور

البندتمّ؟
كل الصور الفوتوغرافية بصيغة AVIF/WebP مع احتياطي
الأيقونات والشعارات بصيغة SVG
لا صورة أكبر من أبعاد عرضها الفعلية
srcset + sizes لكل صورة متجاوبة
الجودة مضبوطة على 75–82 (لا 95+)
width + height + height:auto على كل صورة
الصور أسفل الطيّة بـloading="lazy"
صورة LCP غير مُكسَّلة + fetchpriority="high"
decoding="async" على الصور
التوصيل عبر CDN صور بـformat=auto
نص alt وصفي لكل صورة محتوى
قياس بعد/قبل عبر PageSpeed/Lighthouse

جاهز لإطلاق موقعك على استضافة سريعة؟

خطط استضافة wpressly على أقراص NVMe مع SSL مجاني ودعم عربي — اختر الخطة المناسبة لحجمك وانطلق اليوم.

اكتشف خطط الاستضافة

استكشاف الأخطاء وإصلاحها (Troubleshooting)

العرَضالسبب المحتملالحلّ
LCP بطيء رغم ضغط الصورصورة LCP مُكسَّلة أو منخفضة الأولويةأزِل lazy وأضِف fetchpriority="high"
CLS مرتفع عند تحميل الصورغياب width/heightأضِف الأبعاد + height:auto
WebP/AVIF لا يظهر لبعض الزوّارلا يوجد احتياطي أو ترويسة Vary ناقصةاستخدم <picture> أو أضِف Vary: Accept
الصور تبدو مشوّهة (artefacts)جودة ضغط منخفضة جدًاارفع الجودة فوق 70
الصور لا تزال ثقيلة بعد الإضافةالأبعاد الأصلية ضخمةفعّل إعادة التحجيم عند الرفع
srcset لا يوفّر شيئًاsizes غير دقيقة أو غائبةاضبط sizes ليطابق التخطيط الفعلي
صورة لا تُخدَم من الـCDNالكاش لم يُسخَّن أو الرابط أصليتحقّق من ترويسة cf-cache-status/x-cache
ووردبريس يخدم النسخة الأصلية الكبيرةالقالب لا يدعم srcset أو حُذفت الأحجامجدّد توليد الأحجام (Regenerate Thumbnails)

الأسئلة الشائعة

ما الفرق بين WebP وAVIF وأيّهما أختار؟ كلاهما صيغة حديثة بضغط ممتاز ودعم للشفافية والحركة. AVIF يعطي حجمًا أصغر (حتى 50% أقل من JPEG) لكن دعمه أقلّ قليلًا وترميزه أبطأ. WebP أوسع دعمًا (~97% من المتصفّحات) وأسرع ترميزًا وأخفّ من JPEG بـ25–35%. الأمثل: قدّم AVIF أولًا ثم WebP ثم JPEG عبر <picture> أو CDN بـformat=auto، فيحصل كل زائر على الأفضل المتاح له.

هل أستغني عن JPEG وPNG تمامًا؟ ليس بعد. أبقِ JPEG احتياطيًا لنسبة ضئيلة من المتصفّحات القديمة، وأبقِ PNG للقطات الشاشة والنصوص الحادّة والشفافية الحرجة حيث الضغط بلا فقد مطلوب. لكن لا تستخدمهما كصيغة افتراضية للصور الفوتوغرافية — هناك AVIF/WebP أخفّ.

ما مستوى الجودة المثالي للضغط؟ للصور الفوتوغرافية، 75 إلى 82 توازن مثالي بين الوضوح والحجم لا يكاد يميّز عنه أحد بالعين. ارفعه إلى 85–90 لصور المنتجات التي تُكبَّر، واخفضه إلى 60–70 للصور الثانوية والمصغّرات. تجنّب 95+ فهو هدر، وتجنّب أقل من 55 فهو يُظهر تشوّهات.

ما هو التحميل الكسول ومتى لا أستخدمه؟ التحميل الكسول (loading="lazy") يؤجّل تنزيل الصور خارج الشاشة حتى يقترب منها المستخدم بالتمرير، فيسرّع التحميل الأولي. لا تستخدمه أبدًا لصورة LCP (الهيرو/الغلاف فوق الطيّة)؛ تكسيلها يؤخّر ظهور أكبر عنصر فيتدهور LCP. كسّل ما تحت الطيّة فقط.

كيف تتسبّب الصور في رفع CLS وكيف أمنع ذلك؟ حين تصل صورة بلا أبعاد محجوزة، تدفع المحتوى تحتها فجأة فيقفز التخطيط (CLS). امنع ذلك بكتابة width وheight الحقيقيين على كل صورة مع style="height:auto"؛ فيحجز المتصفّح المساحة الصحيحة بنسبة الأبعاد قبل وصول الصورة. بديل آخر: حدّد aspect-ratio للحاوية في CSS.

ما حجم الصورة المناسب للويب؟ لا رقم واحد، بل يعتمد على موضع العرض: غلاف مقال محسّن غالبًا 50–150 كيلوبايت، صورة متن أصغر، صورة هيرو محسّنة قد تصل 150–250 كيلوبايت. القاعدة: حجّم لأبعاد العرض، حوّل لـAVIF/WebP، واضبط الجودة على 80 — وستصل لهذه الأرقام تلقائيًا. أي صورة محتوى تتجاوز نصف ميجابايت غالبًا غير محسّنة.

هل يحسّن next/image الصور تلقائيًا؟ نعم. مكوّن next/image يولّد srcset/sizes، يحوّل إلى AVIF/WebP، يضيف width/height لمنع CLS، ويكسّل ما تحت الطيّة تلقائيًا. مهمّتك أن تمرّر الأبعاد الصحيحة، وأن تضع priority على صورة LCP لتعجيلها (يعادل fetchpriority="high" وإلغاء التكسيل).

ماذا أفعل بالصور المتحرّكة GIF؟ استبدلها. GIF صيغة قديمة ثقيلة جدًا (عشرات الميجابايت أحيانًا). حوّلها إلى فيديو <video> بصيغة WebM/MP4 (مع autoplay muted loop playsinline) أو إلى AVIF/WebP متحرّك؛ التوفير يصل إلى 90% من الوزن مع جودة أفضل.

هل يكفي استخدام CDN دون ضغط الصور؟ لا. الـCDN يقرّب الصورة جغرافيًا لكنه لا يصلح صورة بحجم 3 ميجابايت — ستبقى ثقيلة، فقط أقرب. الترتيب الصحيح: اضغط وحجّم أولًا، ثم وصّل عبر CDN. الأفضل CDN صور يحوّل ويحجّم عند الطلب فيجمع الأمرين. راجع ما هو CDN للتفصيل.

كيف أقيس تحسّن الصور فعليًا؟ شغّل PageSpeed Insights وراقب LCP وتوصيات «صيغ الجيل القادم» و«تحجيم الصور»، أو افتح DevTools ← Network وصفّ حسب الحجم لترى أثقل الصور قبل/بعد. قارن LCP وCLS قبل التحسين وبعده — التحسّن يجب أن يكون ملموسًا في الرقمين.

هل تحسين الصور يفيد SEO؟ نعم، بطريقتين: مباشرةً عبر تحسين Core Web Vitals (إشارة ترتيب في تجربة الصفحة)، وغير مباشرة عبر نص alt الوصفي وأسماء الملفات الدالّة التي تساعد محرّك البحث على فهم الصورة وأرشفتها في بحث الصور. الموقع الأسرع أيضًا يُزحف أعمق ويحتفظ بالزوّار أطول.

الخلاصة

الصور أثقل عنصر في معظم الصفحات، وهي بالتالي أكبر فرصة لتسريعها. الوصفة واضحة ومتراكبة: صيغة حديثة (AVIF ثم WebP)، تحجيم للأبعاد الفعلية، ضغط بجودة 80، أحجام متعدّدة عبر srcset/sizes، تحميل كسول لما تحت الطيّة مع عدم تكسيل صورة LCP، أبعاد محجوزة بـwidth/height لمنع CLS، وتوصيل عبر CDN بتحويل تلقائي. طبّق هذه الخطوات وستجد وزن الصفحة ينخفض 50–80% وCore Web Vitals يتحسّن مباشرةً.

والأهمّ أن أساسًا سريعًا من الاستضافة يضاعف عائد كل هذا الجهد — صور خفيفة على خادم بطيء تبقى دون المطلوب. ابدأ بتحسين صورك اليوم، وضعها على استضافة سريعة، وقِس النتيجة.

جاهز لإطلاق موقعك على استضافة سريعة؟

خطط استضافة wpressly على أقراص NVMe مع SSL مجاني ودعم عربي — اختر الخطة المناسبة لحجمك وانطلق اليوم.

اكتشف خطط الاستضافة