[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fs5tmBZY7iJpLwaKO5VkxvArNkF7J2erDmQb4s-xy_no":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":38,"analysis":131,"fingerprints":212},"wp-reading-progress","WP Reading Progress","1.7.0","Joeri van Veen","https:\u002F\u002Fprofiles.wordpress.org\u002Fruigehond\u002F","\u003Cp>The reading progress bar is a great user experience on longreads. Especially if it accurately depicts the reading progress in the article text, and nothing else. This is standard on single blog posts and enabled by default.\u003C\u002Fp>\n\u003Cp>Customization:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>Location top of screen, bottom of screen or below sticky elements.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Select post types you wish the bar to appear, or individual posts.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Choose color of the reading progress bar.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Have the bar start at 0% even when part of the article is visible.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Behaviour:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>The reading progress bar has smooth initializing since part of the text may already be visible, after that a lightweight update-function ensures quick response while scrolling.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>The bar can attach itself to multiple (sticky) elements that you define as an admin, the first visible element will be used.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>When there is no (longer a) visible element to attach to, the bar displays at the top.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Use \u003Ccode>dir=rtl\u003C\u002Fcode> on your html tag to have the bar display correctly for right-to-left languages.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Estimated reading time (beta)\u003C\u002Fp>\n\u003Cp>Since 1.6.0 this plugin has rudimentary estimated reading time functionality, for when your theme does not support it out of the box.\u003Cbr \u002F>\nThere are some potential issues, some of which cannot be fixed in a plugin. If it does not work for you, switch it off. It will have no effect on the plugin then.\u003C\u002Fp>\n\u003Cp>This is my 6th WordPress plugin but my first one freely available to everybody. I hope you enjoy using it as much as I enjoy building it!\u003C\u002Fp>\n\u003Cp>Regards,\u003Cbr \u002F>\nJoeri\u003C\u002Fp>\n","Light weight fully customizable reading progress bar. Sticks to top, bottom or sticky menu, with fallback for small screens. Includes ert (beta).",3000,49337,100,19,"2026-02-11T12:10:00.000Z","6.9.4","4.9","5.6",[20,21,22,23],"estimated-reading-time","progress","progressbar","reading","https:\u002F\u002Fgithub.com\u002Fjoerivanveen\u002Fwp-reading-progress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-reading-progress.1.7.0.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":31,"display_name":7,"profile_url":8,"plugin_count":32,"total_installs":33,"avg_security_score":34,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"ruigehond",6,3120,98,30,93,"2026-04-03T19:57:07.034Z",[39,56,77,97,114],{"slug":40,"name":41,"version":42,"author":43,"author_profile":44,"description":45,"short_description":46,"active_installs":47,"downloaded":48,"rating":13,"num_ratings":49,"last_updated":50,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":51,"homepage":54,"download_link":55,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"reading-progress-bar","Reading progressbar","1.3.1","Jb Audras","https:\u002F\u002Fprofiles.wordpress.org\u002Faudrasjb\u002F","\u003Cp>Get a reading position indicator as a progress bar and show it where you want: top, bottom or custom position in differents templates or post types.\u003C\u002Fp>\n\u003Cp>Very lightweight, it uses \u003Ccode>\u003Cprogress>\u003C\u002Fcode> HTML5 element and few lines of javascript.\u003C\u002Fp>\n\u003Cp>Options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Progress bar’s height\u003C\u002Fli>\n\u003Cli>Foreground color\u003C\u002Fli>\n\u003Cli>Background color\u003C\u002Fli>\n\u003Cli>Position (top, bottom, custom)\u003C\u002Fli>\n\u003Cli>Class\u002FID of HTML element to fix the bar (if custom position selected)\u003C\u002Fli>\n\u003Cli>Page templates\u003C\u002Fli>\n\u003Cli>Post types (natives or custom)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Credits\u003C\u002Fstrong> :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"http:\u002F\u002Fjeanbaptisteaudras.com\u002F\" title=\"Jean-Baptiste Audras\" rel=\"nofollow ugc\">Jean-Baptiste Audras\u003C\u002Fa>, project manager at \u003Ca href=\"http:\u002F\u002Fwww.whodunit.fr\u002F\" title=\"Whodunit WordPress Agency\" rel=\"nofollow ugc\">Whodunit\u003C\u002Fa> and WordPress developer. @audrasjb on \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Faudrasjb\" title=\"@audrasjb on Twitter\" rel=\"nofollow ugc\">Twitter\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faudrasjb\" title=\"@audrasjb on Github\" rel=\"nofollow ugc\">Github\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n","A reading position indicator that you can use where you want: top, bottom or custom position in differents templates or post types.",6000,72086,17,"2026-02-18T12:09:00.000Z",[52,21,22,23,53],"indicator","scroll","https:\u002F\u002Fjeanbaptisteaudras.com\u002Fportfolio\u002Fwordpress-reading-progressbar-indicator-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Freading-progress-bar.1.3.1.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":66,"num_ratings":67,"last_updated":68,"tested_up_to":16,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":73,"download_link":74,"security_score":13,"vuln_count":75,"unpatched_count":26,"last_vuln_date":76,"fetched_at":28},"catch-scroll-progress-bar","Catch Scroll Progress Bar","2.1","Catch Plugins","https:\u002F\u002Fprofiles.wordpress.org\u002Fcatchplugins\u002F","\u003Cp>Catch Scroll Progress Bar is a simple yet handy WordPress plugin that provides a visual representation of how much of a blog post remains. It is absolutely free of cost. As your reader scrolls down your web page, the progress bar begins to fill, indicating how much progress they’ve made. The plugin comes with an array of customization features like choosing the position, background colors, opacity level, height, border radius, and more. With Catch Scroll Progress Bar, you can choose your reading progress bar to display them either at the top or bottom of your website. You can choose the background and foreground colors and select their display opacity as well. Most importantly, Catch Scroll Progress Bar empowers you with the conditions as to where your progress bar would be displayed—front page, blog page, or posts\u002Fpages. With all these essential features integrated into the plugin, Catch Scroll Progress Bar sure is a perfect pick for displaying a simple yet elegant reading progress bar.\u003C\u002Fp>\n","Catch Scroll Progress Bar - Catch Scroll Progress Bar is a simple, super-light WordPress progress bar plugin that has the most essential features to s &hellip;",1000,18682,80,4,"2026-02-25T09:44:00.000Z","5.9","",[72,22,23,53],"progress-bar","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatch-scroll-progress-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcatch-scroll-progress-bar.2.1.zip",1,"2021-09-20 00:00:00",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":26,"downloaded":85,"rating":13,"num_ratings":86,"last_updated":87,"tested_up_to":88,"requires_at_least":89,"requires_php":90,"tags":91,"homepage":95,"download_link":96,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"read-bar","ReadBar – Smart Reading Time & Dynamic Progress Bar","1.0.0","NoorWork","https:\u002F\u002Fprofiles.wordpress.org\u002Fnoorwork\u002F","\u003Cp>\u003Cstrong>ReadBar\u003C\u002Fstrong> is a smart and highly customizable plugin that improves user experience by providing estimated reading times and a dynamic reading progress bar for your posts and pages. Enhance content engagement, provide clear expectations, and help your readers easily track their progress through your articles.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Cstrong>Smart Reading Time Calculation:\u003C\u002Fstrong> Automatically estimates reading time for posts\u002Fpages based on configurable words per minute.\u003Cbr \u002F>\n* \u003Cstrong>Dynamic Reading Progress Bar:\u003C\u002Fstrong> Displays a smooth, animating progress bar that updates as users scroll through content.\u003Cbr \u002F>\n* \u003Cstrong>Fully Customizable Design:\u003C\u002Fstrong> Control colors (text, background, bar), text alignment, font size, margin, and padding to perfectly match your site’s design.\u003Cbr \u002F>\n* \u003Cstrong>Flexible Positioning:\u003C\u002Fstrong> Place reading time above title, above content, or below content. The progress bar can be fixed at the top or bottom of the viewport.\u003Cbr \u002F>\n* \u003Cstrong>Device Visibility Control:\u003C\u002Fstrong> Independently enable or disable features for mobile, tablet, and desktop devices.\u003Cbr \u002F>\n* \u003Cstrong>Post Type Selection:\u003C\u002Fstrong> Choose specific post types where the reading time and progress bar should appear automatically.\u003Cbr \u002F>\n* \u003Cstrong>Reading Time Shortcode:\u003C\u002Fstrong> Use \u003Ccode>[read_bar_reading_time]\u003C\u002Fcode> to insert reading time anywhere, with optional parameters to override global settings for unique placements.\u003Cbr \u002F>\n* \u003Cstrong>Lightweight & Optimized:\u003C\u002Fstrong> Built with clean, efficient code to ensure fast page load speeds and optimal performance.\u003Cbr \u002F>\n* \u003Cstrong>SEO-Friendly:\u003C\u002Fstrong> Designed to enhance user experience without negatively impacting your search engine rankings.\u003Cbr \u002F>\n* \u003Cstrong>Translation Ready:\u003C\u002Fstrong> Fully internationalized for easy translation into any language.\u003C\u002Fp>\n\u003Cp>ReadBar helps you provide a better, more informative, and visually engaging reading experience for your audience.\u003C\u002Fp>\n","Add estimated reading time and a dynamic reading progress bar to your WordPress posts and pages to boost content engagement and improve readability.",321,2,"2025-07-09T15:31:00.000Z","6.8.5","5.0","7.4",[92,93,20,72,94],"article-progress","content-engagement","reading-time","https:\u002F\u002Fnoorwork.com\u002Fread-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fread-bar.1.0.0.zip",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":26,"downloaded":105,"rating":26,"num_ratings":26,"last_updated":106,"tested_up_to":107,"requires_at_least":108,"requires_php":109,"tags":110,"homepage":111,"download_link":112,"security_score":113,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"wp-post-reading-progress","WP Post Reading Progress","1.0.1","Alexandru Negoita","https:\u002F\u002Fprofiles.wordpress.org\u002Fkulsite\u002F","\u003Cp>A plugin that adds the reading time and the reading progress to single posts, pages or both of them.\u003C\u002Fp>\n\u003Cp>At this moment, there is no support for custom post types. It will be added at a later time.\u003C\u002Fp>\n\u003Cp>The information box shows a progress bar, which will complete once you scroll the content.\u003C\u002Fp>\n\u003Cp>Going back up, it will empty the progress bar.\u003C\u002Fp>\n\u003Cp>It also calculates and shows the total reading time for the page\u002Fpost.\u003C\u002Fp>\n\u003Cp>You can change the bar colors and add the bar to the top, bottom, left or right side of the screen .\u003C\u002Fp>\n\u003Cp>The default location is static, before the content and then floated, once the scroll view passes the box location.\u003C\u002Fp>\n\u003Cp>You can also choose if you want to show the total reading time, only the progress, or both and if you want to show it on posts only, pages only, or on both of them.\u003C\u002Fp>\n\u003Cp>Options page is found as a sub-menu link in Settings area.\u003C\u002Fp>\n\u003Cp>It can be used as it is, or can be easily modified with CSS from your theme or other plugins.\u003Cbr \u002F>\nIt will inherit the fonts and most of the spacing directly for your theme.\u003C\u002Fp>\n\u003Cp>Optionally, the settings can be removed from the database, once the plugin uninstalls.\u003C\u002Fp>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cp>It is build with the latest modern browsers in mind. It supports last 2 versions of Safari, Chrome, Firefox, Edge. It doesn’t support IE.\u003C\u002Fp>\n","Add time to read or progress bar to your posts and pages!",882,"2021-09-26T15:58:00.000Z","5.6.17","5.5.3","7.3",[21,22,23],"https:\u002F\u002Fplugins.kul.site","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-post-reading-progress.1.0.1.zip",85,{"slug":115,"name":116,"version":117,"author":118,"author_profile":119,"description":120,"short_description":121,"active_installs":122,"downloaded":123,"rating":124,"num_ratings":14,"last_updated":125,"tested_up_to":88,"requires_at_least":126,"requires_php":127,"tags":128,"homepage":70,"download_link":130,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28},"read-meter","Read Meter – Reading Time & Progress Bar","1.0.11","Brainstorm Force","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrainstormforce\u002F","\u003Cp>People often skip reading posts with the fear of the time they’ll spend reading it. Are you losing readers too?\u003C\u002Fp>\n\u003Cp>The Read Meter plugin displays the estimated reading time for blog posts along with a progress bar. It works great to give visitors a quick idea about the time needed to read a post and encourages them to go on till the end.\u003C\u002Fp>\n\u003Cp>Usually, visitors try to scan the entire post at first glance and grasp as much as information possible from the post. Reading time specified in minutes motivates users to read the post.\u003C\u002Fp>\n\u003Cp>A handy progress bar will show the reader’s position on the post. As the reader scrolls the page, the progress bar indicates the remaining part of the post. This lets readers know how far have they reached and how much more do they have to go on.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbsf.io\u002Fread-meter-demo\" rel=\"nofollow ugc\">Try it out on a free dummy site\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>The plugin uses an advanced image time calculation technique. In case your post contains images, the plugin calculates the time to view those images as well. It adds 12 seconds for the first image, 11 seconds for the second image and so on till the 10th image. After that, it adds 3 seconds for each further image.\u003C\u002Fp>\n\u003Cp>It works great to give visitors a quick idea about the time needed to read a post and encourages them to go on till the end.\u003C\u002Fp>\n\u003Cp>Here are some key features of the plugin –\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A simple shortcode – \u003Ccode>[read_meter]\u003C\u002Fcode>,  gives you the flexibility to add read time anywhere on the site.\u003C\u002Fli>\n\u003Cli>A simple ID attribute to the shortcode can display reading time of that particular post\u002Fpage irrespective of where the shortcode is added – \u003Ccode>[read_meter id=47]\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Even if the post is updated multiple times, the plugin will calculate the read time for the most recent version of the post.\u003C\u002Fli>\n\u003Cli>You can choose to display the read time and a progress bar on various post types.\u003C\u002Fli>\n\u003Cli>You can decide whether you would like to include images and comments in the read time and progress bar.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>That’s not all! Here are some more controls you get over \u003Cstrong>Reading Time\u003C\u002Fstrong> –\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display the read time on a blog\u002Farchive page or single post page\u003C\u002Fli>\n\u003Cli>Show the estimated time it takes to read any blog\u002Farchive page or single post page, which can be displayed on any section of the website\u003C\u002Fli>\n\u003Cli>Set the read time position – i.e. Above\u002FBelow title or above content\u003C\u002Fli>\n\u003Cli>Set a read time Prefix and Postfix\u003C\u002Fli>\n\u003Cli>Use various read time styling options – Spacing, Background color, Font size, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Specific controls for \u003Cstrong>Progress Bar\u003C\u002Fstrong> –\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Set a progress bar position – i.e. Top\u002F Bottom of the page.\u003C\u002Fli>\n\u003Cli>Use various progress bar styling options – Gradient Background color, Bar thickness, etc.\u003C\u002Fli>\n\u003C\u002Ful>\n","The Read Meter plugin displays the estimated reading time for blog posts along with a progress bar.",10000,111714,90,"2025-07-10T05:30:00.000Z","4.2","5.2",[22,129],"readtime","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fread-meter.1.0.11.zip",{"attackSurface":132,"codeSignals":177,"taintFlows":204,"riskAssessment":205,"analyzedAt":211},{"hooks":133,"ajaxHandlers":170,"restRoutes":171,"shortcodes":172,"cronEvents":176,"entryPointCount":75,"unprotectedCount":26},[134,140,144,148,152,156,160,164],{"type":135,"name":136,"callback":137,"file":138,"line":139},"action","init","ruigehond006_run","wp-reading-progress.php",22,{"type":135,"name":141,"callback":142,"file":138,"line":143},"wp","ruigehond006_start",23,{"type":135,"name":145,"callback":146,"file":138,"line":147},"admin_init","ruigehond006_settings",33,{"type":135,"name":149,"callback":150,"file":138,"line":151},"admin_menu","ruigehond006_menuitem",34,{"type":135,"name":153,"callback":154,"file":138,"line":155},"add_meta_boxes","ruigehond006_meta_box_add",36,{"type":135,"name":157,"callback":158,"file":138,"line":159},"save_post","ruigehond006_meta_box_save",37,{"type":135,"name":161,"callback":162,"file":138,"line":163},"wp_head","ruigehond006_stylesheet",71,{"type":165,"name":166,"callback":167,"priority":168,"file":138,"line":169},"filter","get_the_excerpt","ruigehond006_ert",99,83,[],[],[173],{"tag":174,"callback":175,"file":138,"line":66},"wp-reading-progress-ert","ruigehond006_shortcode",[],{"dangerousFunctions":178,"sqlUsage":179,"outputEscaping":181,"fileOperations":26,"externalRequests":26,"nonceChecks":75,"capabilityChecks":86,"bundledLibraries":203},[],{"prepared":26,"raw":26,"locations":180},[],{"escaped":139,"rawEcho":182,"locations":183},9,[184,187,189,191,193,195,197,199,201],{"file":138,"line":185,"context":186},156,"raw output",{"file":138,"line":188,"context":186},194,{"file":138,"line":190,"context":186},196,{"file":138,"line":192,"context":186},198,{"file":138,"line":194,"context":186},200,{"file":138,"line":196,"context":186},293,{"file":138,"line":198,"context":186},318,{"file":138,"line":200,"context":186},320,{"file":138,"line":202,"context":186},322,[],[],{"summary":206,"deductions":207},"The wp-reading-progress v1.7.0 plugin exhibits a generally good security posture based on the provided static analysis. The absence of dangerous functions, reliance on prepared statements for all SQL queries, and the presence of nonce and capability checks are positive indicators. Furthermore, the lack of known vulnerabilities and critical taint flows suggests a mature and well-maintained codebase.  \n\nHowever, a concern arises from the output escaping. With 31 total outputs and only 71% properly escaped, this leaves a portion of the plugin's output potentially vulnerable to Cross-Site Scripting (XSS) attacks. While the attack surface is small and currently has no unprotected entry points, this unescaped output represents the most significant risk identified in the code analysis. \n\nIn conclusion, the plugin demonstrates strong practices in critical areas like SQL handling and authentication. The primary weakness lies in the insufficient output escaping. The absence of any historical vulnerabilities is a strong positive, suggesting a commitment to security. Addressing the output escaping issue would significantly strengthen its overall security.",[208],{"reason":209,"points":210},"Insufficient output escaping (29% unescaped)",8,"2026-03-16T18:22:15.003Z",{"wat":213,"direct":221},{"assetPaths":214,"generatorPatterns":216,"scriptPaths":217,"versionParams":219},[215],"\u002Fwp-content\u002Fplugins\u002Fwp-reading-progress\u002Fwp-reading-progress.min.js",[],[218,215],"\u002Fwp-content\u002Fplugins\u002Fwp-reading-progress\u002Fadmin.min.js",[220],"wp-reading-progress.min.js?ver=",{"cssClasses":222,"htmlComments":223,"htmlAttributes":224,"restEndpoints":228,"jsGlobals":229,"shortcodeOutput":231},[174],[],[225,226,227],"data-ert","data-minutes","_ruigehond006_show",[],[230],"ruigehond006_c",[232],"\u003Cspan class='wp-reading-progress-ert post-"]