Title: FetchPriority Featured Image
Author: Gunjan Jaswal
Published: <strong>November 3, 2025</strong>
Last modified: June 28, 2026

---

Search plugins

![](https://ps.w.org/fetchpriority-featured-image/assets/banner-772x250.png?rev=
3424799)

![](https://ps.w.org/fetchpriority-featured-image/assets/icon.svg?rev=3424808)

# FetchPriority Featured Image

 By [Gunjan Jaswal](https://profiles.wordpress.org/gunjanjaswal/)

[Download](https://downloads.wordpress.org/plugin/fetchpriority-featured-image.1.4.0.zip)

 * [Details](https://mfe.wordpress.org/plugins/fetchpriority-featured-image/#description)
 * [Reviews](https://mfe.wordpress.org/plugins/fetchpriority-featured-image/#reviews)
 *  [Installation](https://mfe.wordpress.org/plugins/fetchpriority-featured-image/#installation)
 * [Development](https://mfe.wordpress.org/plugins/fetchpriority-featured-image/#developers)

 [Support](https://wordpress.org/support/plugin/fetchpriority-featured-image/)

## Description

FetchPriority Featured Image is a self-learning LCP (Largest Contentful Paint) optimizer.
Instead of _guessing_ which image is your hero like every other plugin, it **measures
the real LCP element from your actual visitors** (via the browser’s PerformanceObserver),
learns it per template, and then automatically applies `fetchpriority="high"` plus
a `<link rel="preload">` to that exact image — whether it’s a normal `<img>` or 
a CSS `background-image`. It self-corrects as your design and content change, with
zero configuration.

#### What makes it different

 * **Self-learning real LCP** — no competitor in this space measures field LCP from
   real users and auto-targets it. Most plugins blindly prioritize the featured 
   image and hope it’s the hero.
 * **CSS background-image preload** — hero sliders and background heroes are a blind
   spot for most performance plugins; this preloads them.
 * **Visual LCP picker** — click your hero element on the front end to lock it in
   as a manual override per template.
 * **Built-in Core Web Vitals before/after report** — pulls real-world LCP, INP,
   and CLS from the Chrome UX Report so you can prove the impact.
 * **Per-template control** — Auto / Learned-only / Manual-only / Off for every 
   template the plugin sees.

#### Key Features

 * Self-learning LCP detection from real-user field data (PerformanceObserver beacon),
   aggregated per template
 * Visual click-to-pick LCP element on the front end (admin-bar  “Pick LCP element”)
 * Core Web Vitals before/after report via the Chrome UX Report (CrUX) API
 * Preloads + prioritizes the measured LCP, including CSS `background-image` heroes
 * Per-template modes: Auto, Learned-only, Manual-only, Off
 * Automatically adds `fetchpriority="high"` to the hero / featured image
 * Optional `fetchpriority="low"` for below-fold images — paired complement that
   tells the browser to defer non-critical loads
 * `<link rel="preload" as="image">` for the hero featured image on singular pages—
   strongest LCP signal
 * AVIF / WebP detection — when a sibling `.avif` / `.webp` file exists on disk,
   an extra `<link rel="preload" type="image/avif|image/webp">` is emitted so the
   browser picks the supported modern format automatically (works with ShortPixel,
   Imagify, Optimole, and similar)
 * Theme presets — auto-detects Astra, GeneratePress, Kadence, Divi, and Hello Elementor
   and excludes their site-logo / header-image classes so the priority budget is
   spent on the real hero
 * Avatar / Gravatar exclusion — never tags images with class `avatar` / `gravatar`
   or hosted on gravatar.com
 * Settings page (Settings  FetchPriority) for per-context toggles, first-N control,
   preload, and exclusions
 * Admin-bar debug badge showing how many images were tagged on the current page(
   total + how many got `high`)
 * Compatible with most WordPress themes including Divi, Elementor, Astra, GeneratePress,
   Kadence, and any theme using standard `the_post_thumbnail()` / `wp_get_attachment_image()`

#### Why Use FetchPriority?

The `fetchpriority` attribute is a modern web standard that tells browsers which
images should be prioritized during page load. By marking featured images as high
priority, you can improve:

 * Largest Contentful Paint (LCP) scores
 * User experience with faster loading of important images
 * Overall page performance

#### Developer-Friendly

The plugin uses WordPress’s native filters and doesn’t modify your database or image
files.

## Installation

 1. Upload the `fetchpriority-featured-image` folder to the `/wp-content/plugins/` 
    directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. That’s it! The plugin works automatically with no configuration needed

## FAQ

### Does this plugin modify my images?

No, this plugin only adds an HTML attribute to the image tag. It doesn’t modify 
your actual image files or database entries.

### Will this work with my theme?

Yes! This plugin works with any theme that uses WordPress’s standard featured image
functions. It also includes specific support for popular page builders like Divi
and Elementor that use custom image rendering methods.

### Do I need to configure anything?

No, the plugin works automatically once activated with sensible defaults. Optional
fine-tuning is available under **Settings  FetchPriority** (contexts, first-N posts
on archives, preload, debug badge).

### Will this slow down my site?

No, the plugin adds minimal overhead and should actually improve your site’s performance
by helping browsers prioritize important images.

### How can I verify it’s working?

You can view the HTML source of your pages and look for `fetchpriority="high"` in
the featured image HTML.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“FetchPriority Featured Image” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Gunjan Jaswal ](https://profiles.wordpress.org/gunjanjaswal/)

[Translate “FetchPriority Featured Image” into your language.](https://translate.wordpress.org/projects/wp-plugins/fetchpriority-featured-image)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/fetchpriority-featured-image/),
check out the [SVN repository](https://plugins.svn.wordpress.org/fetchpriority-featured-image/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/fetchpriority-featured-image/)
by [RSS](https://plugins.trac.wordpress.org/log/fetchpriority-featured-image/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.0

 * NEW: Self-learning LCP — a lightweight PerformanceObserver beacon reports the
   real Largest Contentful Paint element per template; once enough samples are collected
   the plugin auto-preloads and tags that exact image with `fetchpriority="high"`.
 * NEW: CSS `background-image` hero support — preloads the measured/manual background
   image, a blind spot for most performance plugins.
 * NEW: Visual LCP picker — open the front-end admin bar, click “Pick LCP element”,
   click your hero, done. Saved as a manual override per template.
 * NEW: Core Web Vitals before/after report — connect a free Chrome UX Report (CrUX)
   API key to see real-world LCP, INP, and CLS, with a saved baseline to measure
   improvement.
 * NEW: Per-template control table — Auto / Learned-only / Manual-only / Off for
   every template the plugin has seen.
 * NEW: PageSpeed audit — run Google Lighthouse on any URL from the admin; see the
   performance score, LCP, page weight, image-saving opportunities, and Google’s
   own detected LCP element to confirm correct targeting.
 * NEW: Oversized-LCP detection — compares the measured LCP image’s real pixels 
   against its displayed size and warns when you’re serving wasted bytes, with a
   recommended width.
 * NEW: Loading optimization — forces `loading="eager"` on the LCP image and `loading
   ="lazy"` on below-fold images so native lazy-loading never delays your hero.
 * NEW: Slowest-templates leaderboard — measured real-user LCP per template, sorted
   slowest first, as a built-in to-do list.
 * Video poster and `<picture>` heroes are supported as LCP targets via the learned/
   manual preload.
 * Configurable sampling rate for the measurement script to keep front-end overhead
   minimal.
 * Learned/manual targets supersede the featured-image guess for both preload and
   the `fetchpriority` tag.

#### 1.3.0

 * Added Settings page under Settings  FetchPriority (Contexts / Preload / Below-
   fold / Exclusions / Theme preset / Debug).
 * Added per-context toggles: Single posts & pages, Blog home, Archives, Search 
   results.
 * Added “First N posts on archives” setting (1–20) — previously hardcoded to first
   post only.
 * Added optional `<link rel="preload" as="image" fetchpriority="high">` for the
   featured image on singular pages (strongest LCP signal).
 * Added AVIF / WebP detection — when a sibling modern-format file exists on disk,
   additional `<link rel="preload" type="image/avif|webp">` tags are emitted; browsers
   pick the supported variant automatically.
 * Added `fetchpriority="low"` for below-fold images (opt-in) as a paired complement
   to the hero `high` tag.
 * Added theme presets (Astra / GeneratePress / Kadence / Divi / Hello Elementor)
   with auto-detection — excludes theme logo & header classes so the priority budget
   hits the real hero.
 * Added Avatar / Gravatar exclusion to keep author avatars from consuming the priority
   budget.
 * Added admin-bar debug badge showing total tagged + how many were tagged `high`.
 * Added Settings link to plugin action links on the Plugins screen.
 * Content filter rewritten to use a `preg_replace_callback` walk so the high/low
   budget is honored across all images in the content, not only the first.
 * Cleaner reset logic on each request via `template_redirect`.
 * Author display name updated to “Gunjan Jaswal”.

#### 1.2.1

 * Updated “Tested up to” to WordPress 7.0.
 * Updated donation link to Ko-fi (https://ko-fi.com/gunjanjaswal).
 * Removed extraneous GITHUB_DESCRIPTION.md from plugin root for WordPress.org compliance.

#### 1.2.0

 * Added support for Divi theme and Elementor page builder
 * Implemented `wp_get_attachment_image_attributes` filter for broader compatibility
 * Added content filter fallback to catch custom image implementations
 * Improved image detection across different theme rendering methods
 * Enhanced compatibility with themes that bypass standard WordPress image functions

#### 1.1.0

 * Updated for WordPress 6.9 compatibility
 * Improved security with nonce verification for AJAX calls
 * Updated minimum PHP requirement to 7.4
 * Enhanced code quality and WordPress coding standards compliance
 * Added proper input sanitization and escaping
 * Aligns with WordPress 6.9’s frontend performance improvements

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.4.0**
 *  Last updated **2 days ago**
 *  Active installations **200+**
 *  WordPress version ** 5.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/fetchpriority-featured-image/)
 * Tags
 * [core web vitals](https://mfe.wordpress.org/plugins/tags/core-web-vitals/)[fetchpriority](https://mfe.wordpress.org/plugins/tags/fetchpriority/)
   [image optimization](https://mfe.wordpress.org/plugins/tags/image-optimization/)
   [lcp](https://mfe.wordpress.org/plugins/tags/lcp/)[performance](https://mfe.wordpress.org/plugins/tags/performance/)
 *  [Advanced View](https://mfe.wordpress.org/plugins/fetchpriority-featured-image/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/fetchpriority-featured-image/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/fetchpriority-featured-image/reviews/)

## Contributors

 *   [ Gunjan Jaswal ](https://profiles.wordpress.org/gunjanjaswal/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/fetchpriority-featured-image/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://ko-fi.com/gunjanjaswal)