اولویت‌بندی تصاویر (Image Prioritizer)

توضیحات

این افزونه بارگذاری تصاویر (و ویدیوها) را با اولویت‌بندی برای بهبود بزرگترین ترسیم محتوایی (LCP)، بارگذاری تنبل و انتخاب دقیق‌تر اندازه تصویر بهینه‌سازی می‌کند.

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

  1. افزودن لینک‌های پیش‌بارگذاری (preload) با fetchpriority=high مخصوص نقطه شکست (هم به عنوان عناصر LINK[rel=preload] و هم سرآیندهای پاسخ Link) برای URLهای تصویر عناصر LCP:
    1. یک عنصر IMG، شامل ویژگی‌های srcset/sizes که به صورت imagesrcset/imagesizes در LINK ارائه شده‌اند.
    2. اولین عنصر SOURCE با ویژگی type در یک عنصر PICTURE. (عناصر PICTURE جهت‌دهی هنری (Art-directed) که از مدیا کوئری‌ها استفاده می‌کنند، پشتیبانی نمی‌شوند.)
    3. عنصری با ویژگی style خطی برای background-image CSS.
    4. عنصری با background-image CSS که با یک شیوه‌نامه اعمال شده است (زمانی که تصویر از یک منشأ مجاز باشد).
    5. تصویر poster یک عنصر VIDEO.
  2. اطمینان از اینکه fetchpriority=high تنها زمانی به یک IMG اضافه می‌شود که عنصر LCP در تمام نقاط شکست واکنش‌گرا باشد.
  3. افزودن fetchpriority=low به تگ‌های IMG که در ناحیه دید اولیه ظاهر می‌شوند اما قابل مشاهده نیستند، مانند زمانی که اسلایدهای بعدی کاروسل هستند.
  4. بارگذاری تنبل:
    1. اعمال بارگذاری تنبل روی تگ‌های IMG بر اساس اینکه آیا در ناحیه دید اولیه هر نقطه شکست (breakpoint) ظاهر می‌شوند یا خیر.
    2. پیاده‌سازی بارگذاری تنبل تصاویر پس‌زمینه CSS که از طریق ویژگی‌های style خطی اضافه شده‌اند.
    3. بارگذاری تنبل تگ‌های VIDEO با تنظیم ویژگی‌های مناسب بر اساس اینکه آیا در ناحیه دید اولیه ظاهر می‌شوند یا خیر. اگر یک VIDEO عنصر LCP باشد، مقدار preload=auto را دریافت می‌کند؛ اگر در ناحیه دید اولیه باشد، مقدار پیش‌فرض preload=metadata باقی می‌ماند؛ اگر در ناحیه دید اولیه نباشد، مقدار preload=none را دریافت می‌کند. همچنین ویژگی‌های اولیه preload، autoplay و poster ویدیوهای بارگذاری تنبل، هنگامی که VIDEO وارد ناحیه دید می‌شود، بازیابی می‌شوند.
  5. Responsive image sizes:
    1. Ensure sizes=auto is set on IMG tags after setting correct lazy-loading (above).
    2. ~~Compute the sizes attribute using the widths of an image collected from URL Metrics for each breakpoint (when not lazy-loaded since then handled by sizes=auto).~~ (This has been removed due to an issue; use Enhanced Responsive Images instead.)
  6. کاهش اندازه تصویر poster یک VIDEO از اندازه کامل به اندازه مناسب برای حداکثر عرض ویدیو (در دسکتاپ).

این افزونه به افزونه Optimization Detective به عنوان یک پیش‌نیاز نیاز دارد. لطفاً برای اطلاعات پیش‌زمینه بیشتر درباره نحوه کار این افزونه و همچنین گزینه‌های توسعه‌دهنده اضافی، به آن افزونه مراجعه کنید.

👈 توجه: این افزونه صفحات را برای بازدیدکنندگان واقعی بهینه می‌کند و برای بهینه‌سازی صفحات به بازدیدکنندگان وابسته است. بنابراین، بلافاصله پس از فعال‌سازی افزونه، بهینه‌سازی‌ها را مشاهده نخواهید کرد. لطفاً منتظر بمانید تا داده‌های مربوط به URL Metrics برای بازدیدهای موبایل و دسکتاپ جمع‌آوری شوند. همچنین، از آنجا که کاربران مدیر معمولاً بازدیدکنندگان عادی محسوب نمی‌شوند، بهینه‌سازی‌ها به‌صورت پیش‌فرض برای مدیران اعمال نمی‌شود.

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

نصب

نصب از طریق وردپرس

  1. از افزونه ها> افزودن جدید دیدن کنید.
  2. جستجو برای اولویت‌بندی تصویر.
  3. نصب و فعال سازی افزونه اولویت‌بندی تصویر.

نصب دستی

  1. تمامی محتویات پوشه image-prioritizer را در مسیر /wp-content/plugins/ بارگذاری کنید.
  2. به بخش افزونه‌ها بروید.
  3. افزونه Image Prioritizer را فعال کنید.

سوالات متداول

کجا می‌توانم بازخورد خود را درباره افزونه ارسال کنم؟

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

کجا می‌توانم باگ‌های امنیتی را گزارش دهم؟

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

برای گزارش یک مشکل امنیتی، لطفاً از برنامه WordPress HackerOne بازدید کنید.

چگونه می‌توانم در افزونه مشارکت کنم؟

مشارکت‌ها همیشه مورد استقبال هستند! درباره نحوه مشارکت در دستورالعمل تیم عملکرد هسته بیشتر بیاموزید.

کد منبع افزونه در مخزن WordPress/performance در گیت‌هاب قرار دارد.

نقد و بررسی‌ها

17 جولای 2025
I don’t know what this does but I have seen a massive speed boost from 67 to 95-99 it would be good to have some control of the settings of fetchpriority=high
خواندن تمامی 1 نقد و بررسی‌

توسعه دهندگان و همکاران

“اولویت‌بندی تصاویر (Image Prioritizer)” نرم افزار متن باز است. افراد زیر در این افزونه مشارکت کرده‌اند.

مشارکت کنندگان

“اولویت‌بندی تصاویر (Image Prioritizer)” به 9 زبان ترجمه شده است. با تشکر از مترجمین برای همکاری و کمک‌هایشان.

ترجمه “اولویت‌بندی تصاویر (Image Prioritizer)” به زبان شما.

علاقه‌ مند به توسعه هستید؟

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

گزارش تغییرات

1.0.0-beta3

بهبودها

  • Add URL Metric mutation helpers to extension initialization API. (1951)
  • Improve construction of inline scripts with sourceURL, hardened JSON encoding, and exporting JSON in separate script. (2169)

رفع باگ‌ها

  • Allow background image URLs for file types the web server doesn’t know about, e.g. when AVIF is sent as application/octet-stream. (1956)
  • Remove responsive image sizes computation. (2109)

1.0.0-beta2

بهبودها

  • به‌روزرسانی OD_HTML_Tag_Processor::next_tag() برای اجازه دادن به آرگومان $query و آماده‌سازی جهت رد کردن تگ‌های بسته به صورت پیش‌فرض. (1872)
  • در دسترس قرار دادن توابع ثبت وقایع برای افزونه‌های سمت کاربر و در نظر گرفتن خودکار مقدار isDebug. (1895)

رفع باگ‌ها

  • اصلاح کدگذاری URL در سرآیند پاسخ HTTP لینک. (1907)
  • رفع مشکل شناسایی غیرقابل پیش‌بینی عنصر LCP در یک گروه معیار URL. (1903)

1.0.0-beta1

بهبودها

  • ارتقاء نسخه به 1.0.0-beta1 برای نشان دادن خروج از حالت آزمایشی. ببینید: 1846.
  • محاسبه ویژگی sizes واکنش‌گرا بر اساس width از boundingClientRect در معیارهای URL ثبت شده. (1840)

0.3.1

رفع باگ‌ها

  • حذف بررسی نادرست نوع آغازگر منبع هنگام تصمیم‌گیری برای ارسال تصویر پس‌زمینه LCP. (1760)

0.3.0

بهبودها

  • افزودن لینک‌های پیش‌بارگذاری عناصر picture برای LCP. (1707)
  • مقاوم‌سازی اعتبارسنجی URL تصویر پس‌زمینه LCP ارسال شده توسط کاربر. (1713)
  • بارگذاری تنبل تصاویر پس‌زمینه اضافه شده از طریق ویژگی‌های استایل خطی. (1708)
  • پیش‌بارگذاری URLهای تصویر برای عناصر LCP با تصاویر پس‌زمینه خارجی. (1697)
  • ارائه اسکریپت‌های فشرده‌نشده زمانی که SCRIPT_DEBUG فعال است. (1643)

0.2.0

بهبودها

  • بارگذاری تنبل ویدئو‌ها و پوستر ویدئو‌ها. (1596)
  • اولویت‌بندی بارگذاری تصویر پوستر عناصر LCP ویدیویی. (1498)
  • انتخاب اندازه تصویر پوستر ویدیوی کوچکتر بر اساس ابعاد واقعی. (1595)
  • افزودن fetchpriority=low به تصاویر مسدود شده (occluded) در ناحیه دید اولیه (مثلاً تصاویر در اسلایدهای مخفی کاروسل). (1482)
  • اجتناب از بارگذاری تنبل تصاویر و جاسازی‌ها مگر اینکه معیارهای URL برای هر دو حالت موبایل و دسکتاپ وجود داشته باشد. (1604)

0.1.4

بهبودها

  • انتقال منطق اندازه‌های خودکار از تصاویر واکنش‌گرای بهبودیافته به اولویت‌بندی تصاویر. (1476)

0.1.3

رفع باگ‌ها

  • رفع مشکل مدیریت اولویت‌بندی تصویر زمانی که تنها برخی گروه‌های ناحیه دید پر شده‌اند. (1404)

0.1.2

  • به‌روزرسانی منطق PHP برای در نظر گرفتن تغییرات در API کارآگاه بهینه‌سازی. (1302)

0.1.1

  • رفع نحوه مدیریت بازدیدکننده تگ دارای استایل background-image در پارس کردن استایل بدون تصویر پس‌زمینه. (1288)

0.1.0

  • انتشار اولیه.