Plugin Pulse Beta
← Pulse
J

JMS Rss Feed

by James · Content & Feeds

Also makes 1 other plugin · 10+ installs across the portfolio →

Add the featured image tag in your posts RSS feed. For standard RSS feed XML, there is no image tag definition. This plugin will show the post featur …

Try it live opens a temporary test site in your browser, which can take about 20 seconds to load. Plugins that rely on outside services or a full server may not work completely there.

⚠ Stale⚠ Likely abandoned⚠ Few reviews

Health

D 42/100

Stale · Likely abandoned · Few reviews

Active installs

10+

≈17 estimated

Momentum

-38%

downloads vs prior 30d

Biggest opportunity: “add featured image”, “add featured image to rss” and “featured image” aren't earning a slot. You list them, but you're not in the first 24 results for those searches. WordPress.org counts only your first five tags, so free the slot for a search you can win.

How scoring works →
42 Health · D
Maintenance 3/100
Rating quality 67/100
Support 70/100

42 health vs 64 average across 1,193 Content & Feeds plugins

Install conversion

How it's measured →

0.4%

of downloads still active

At least 10 of 2.5K lifetime downloads are still running, below its category: the median Content & Feeds plugin keeps 0.8%, across 863 plugins.

Downloads count every update, not just first installs, so older and more frequently released plugins read lower. Compare against other Content & Feeds plugins, not across the directory. wp.org reports active installs as the bottom of a band, so the real rate is this or higher.

High removal-risk signals

63/100

Maintenance and integrity signals that tend to precede a WordPress.org removal. Not an official status, a heads-up to act.

  • Long abandoned. No update in 8+ years — the top precursor to removal once a vulnerability is found.
  • Compatibility drift. Tested only up to WordPress 4.9.0, well behind 6.8.

Details

Version
3.5.0
Last updated
8.6y ago
Added
2015-01-19 · 11 yrs old
Requires WP
4.0.0
Tested up to
4.9.0
Requires PHP
—

Directory ranking optimization

How it's scored →

How well this listing is tuned to rank in WordPress.org search, on the factors an owner controls. Not popularity, optimization.

38 / 100

Under-optimized

Most to gain: Update recency

Update recency 0/100

Updated 3138 days ago, past the ~180 days where wp.org starts discounting

WP compatibility 10/100

Tested up to WordPress 4.9.0; the current branch is 6.8

Rating quality 50/100

1.0★ over 1 review, smoothed to 4.04★ and held back under 25 reviews

Listing tuning 100/100

5 of 5 tags set · short description in place

To rank higher: Last updated 3138 days ago — ship an update; wp.org decays a listing's search weight after ~180 days.

Get the full rank-higher report →

Daily downloads

Since 5 Oct 2022 · 1,488 days · wp.org + Plugin Pulse archive

-38% vs prior 30d
031 Oct 2026

30-day downloads

Rolling 30-day volume · peak 168 · peaks are release surges

3131 Oct 2026

Directory rank

Ranked about #30,100 to #45,000, alongside the other plugins at 10+ installs. Plugins with the same install count swap places between wp.org requests, so this is where most of them sit. Checked monthly, last on 21 Oct 2026.

Update activity

Downloads in the last 30 days for every 1,000 active sites.

Not enough installs to measure. This needs at least 100 active sites; below that, a handful of downloads reads as tens of thousands.

What its installed base runs

via wordpress.org

Share of active installs on each version of this plugin. Green is the current release; a big slice on older versions is a user base that has stopped updating.

v3.0 100%

Estimated active installs

The public count shows “10+”. Our estimate pins where the real number sits.

tracked estimate
10–20 ≈17

Crossed into this band 4 months ago; a band this size takes about a year or more to cross, which places it about 70% of the way through.

Install history since 4 Oct 2022

1031 Oct 2026

Recent reviews

All reviews on wp.org ↗
  1. ★★★★★ Frédéric Malo
    10.8y ago

    Hello, The description is not correct. This plugin sends notifications, and downloaders are not informed : “This plugin only does one task, adding your posts’ featured image to the RSS feed in tag. It will show your full size featured image url in the tag.” Here is the source code of version 3.0 <?php /* Plugin Name: JMS Rss Feed Plugin URI: http://www.jmsliu.com/products/jms-rss-feed Description: Adds the featured image tag <jms-featured-image> to your posts to the RSS feed. Author: James Liu Version: 3.0 Author URI: http://jmsliu.com/ */ global $jms_rss_db_version; $jms_rss_db_version = ‘1.0’; add_action(‘rss2_item’, ‘add_jms_img_rss_node’); add_action( ‘publish_post’, ‘send_push_notification’, 10, 2 ); //work together add_filter(‘query_vars’, ‘add_jms_single_post_var’); add_action(‘parse_request’, ‘return_jms_single_post’); //install database register_activation_hook( __FILE__, ‘install_jms’ ); function add_jms_img_rss_node() { global $post; if(has_post_thumbnail($post->ID)) { $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), “full”); echo “<jms-featured-image>”.$thumbnail[0].”</jms-featured-image>”; } } function add_jms_single_post_var($vars) { $vars[] = ‘jms_rss_post_url’; $vars[] = ‘jms_rss_action’; $vars[] = ‘jms_rss_token’; $vars[] = ‘jms_rss_send’; return $vars; } function send_push_notification($ID, $post) { global $wpdb; $table_name = $wpdb->prefix . ‘jms_rss_android_listener’; $devicesList = $wpdb->get_results(“SELECT * FROM $table_name WHERE state=1”, “ARRAY_A”); $wpdb->flush(); if ( $devicesList ) { define(“GOOGLE_API_KEY”, “AIzaSyDYVTahqUmT4RX6brZnReUr6Rq2KNEUv90”); $deviceList = array(); foreach ( $devicesList as $device ) { $token = $device[“device_token”]; if(strlen($token) > 10) { $deviceList[] = $token; } } //$author = $post->post_author; //Post author ID //$name = get_the_author_meta( ‘display_name’, $author ); //$email = get_the_author_meta( ‘user_email’, $author ); $title = $post->post_title; //$permalink = get_permalink( $ID ); //$edit = get_edit_post_link( $ID, ” ); //$subject = sprintf( ‘Published: %s’, $title ); $message = sprintf (‘The article “%s” has been published.’, $title); //$message .= sprintf( ‘View: %s’, $permalink ); sendNotification($deviceList, $message); } } function return_jms_single_post($wp) { global $wpdb; //this is for test if(array_key_exists(‘jms_rss_send’, $wp->query_vars)) { $action = $wp->query_vars[‘jms_rss_send’]; if($action == ‘1’) { $table_name = $wpdb->prefix . ‘jms_rss_android_listener’; $devicesList = $wpdb->get_results(“SELECT * FROM $table_name WHERE state=1”, “ARRAY_A”); $wpdb->flush(); if ( $devicesList ) { define(“GOOGLE_API_KEY”, “AIzaSyDYVTahqUmT4RX6brZnReUr6Rq2KNEUv90”); $deviceList = array(); foreach ( $devicesList as $device ) { $token = $device[“device_token”]; if(strlen($token) > 10) { $deviceList[] = $token; } } sendNotification($deviceList, “Hello World!”); } } exit; } if (array_key_exists(‘jms_rss_action’, $wp->query_vars)) { $action = $wp->query_vars[‘jms_rss_action’]; if(!empty($action)) { if($action == “register_android”) { $token = $wp->query_vars[‘jms_rss_token’]; $table_name = $wpdb->prefix . ‘jms_rss_android_listener’; $wpdb->query( $wpdb->prepare( “ INSERT INTO $table_name ( device_token, state, reg_date ) VALUES ( %s, %d, %s ) “, array( $token, 1, current_time(‘mysql’, 1) ) ) ); echo $wpdb->insert_id; exit; } } } if (array_key_exists(‘jms_rss_post_url’, $wp->query_vars)) { //for old usage only $url = $wp->query_vars[‘jms_rss_post_url’]; $postid = url_to_postid( $url ); $post = get_post($postid); //print_r($post); echo $post->post_content; exit; } } function install_jms() { global $jms_rss_db_version; global $wpdb; $installed_ver = get_option( “jms_rss_db_version”, null ); if ( $installed_ver == null ) { $table_name = $wpdb->prefix . “jms_rss_android_listener”; $charset_collate = $wpdb->get_charset_collate(); $sql = “CREATE TABLE IF NOT EXISTS $table_name ( id INT NOT NULL AUTO_INCREMENT , device_token VARCHAR(255) NOT NULL , state TINYINT NOT NULL COMMENT ‘0 disabled\n1 enabled’ , reg_date DATETIME NOT NULL , PRIMARY KEY (id), UNIQUE INDEX id_UNIQUE (id ASC) , UNIQUE INDEX device_token_UNIQUE (device_token ASC) ) ENGINE = INNODB $charset_collate;”; require_once( ABSPATH . ‘wp-admin/includes/upgrade.php’ ); dbDelta( $sql ); add_option( “jms_rss_db_version”, $jms_rss_db_version ); } } function sendNotification($registrationIDs, $message) { //$registrationIDs = array( “reg id1″,”reg id2”); $url = ‘https://gcm-http.googleapis.com/gcm/send&#8217;; $fields = array( ‘registration_ids’ => $registrationIDs, ‘data’ => array( “message” => $message ), ); $headers = array( ‘Authorization: key=’ . GOOGLE_API_KEY, ‘Content-Type: application/json’ ); // Open connection $ch = curl_init(); // Set the URL, number of POST vars, POST data curl_setopt( $ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_POST, true); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true); //curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // curl_setopt($ch, CURLOPT_POST, true); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields)); // Execute post $result = curl_exec($ch); // Close connection curl_close($ch); echo $result; //print_r($result); //var_dump($result); } ?>

    Read on wp.org ↗

Behavioral tests

via WP Hive

Automated install-time checks, tested on PHP 7.2.16 · WP 5.3.2

✓ Low memory footprint
✓ Low page-speed impact
✓ Runs on latest PHP + WP
✓ No PHP errors
✓ No JS errors
✓ Activates cleanly
✓ No resource errors
✓ No external HTTP errors
✓ Optimized database use
✕ Frequently updated

AI assistants

How it's measured →

Whether ChatGPT and Claude name this plugin when asked the category question, and whether the readme gives them something to quote.

Not measured yet for this plugin’s topics. Its tracked searches are not among the measured topics. See the topics measured so far.

Readme readiness

3 of 8 pass · checked 24 Oct 2026

Can an assistant quote this readme? Eight deterministic checks over the wp.org listing, no model involved.

  • ✓ Says what it does "Add the featured image tag in your posts RSS feed. For standard RSS feed XML, there is no image tag definit..."
  • ✓ Has a FAQ 6 questions in the FAQ.
  • ✓ FAQ asks real questions 5 of 6 read like questions a user would type.
  • ! Names who it is for Never says who the plugin is for or what they use it for.
  • ! Names what it works with Names no plugin, service or platform it works with.
  • ! Headings and lists 0 headings and 0 lists; assistants quote headed sections and bullet lists, not paragraphs.
  • ! Enough to quote 154 characters of description; under 1,000 there is little to quote.
  • ! Tags match the text Only 2 of 5 tags appear in the text ("add featured image", "add featured image to rss", "post thumbnail" missing).

Growth timeline

Install-tier crossings we have observed, and how long each tier took to outgrow

  1. 2026-07-15 20+ → 10+ down after 151 days in tier
  2. 2026-02-14 30+ → 20+ down after 585 days in tier
  3. 2024-07-09 40+ → 30+ down

Competes with

The plugins that solve the same job, ranked by shared tags then reach, closest match first. The letter on the right is each plugin's health grade (A best, F worst).

Embed this report card

Drop a live Pulse card for JMS Rss Feed into a readme, a review or a deck. It updates itself.

<iframe src="https://plugins.wpmayor.com/embed/jms-rss-feed" width="480" height="300" style="border:0" loading="lazy" title="JMS Rss Feed — Plugin Pulse"></iframe>
Preview card ↗

JMS Rss Feed: 10+ active installs, 1.0★ (1 reviews). Plugin Pulse (WP Mayor), as of 2026-10-31. https://plugins.wpmayor.com/plugin/jms-rss-feed

Spotted a number that looks wrong? Report a data issue and we'll check it against the source.