[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPpaAH4Idt7axSYC4bkXrignFHip-l78PcLH-35Ciw94":3,"$fVRtPYk3Pb2LaWZWk6uRpeO6oUQ4Rr3ZfJddm1V33McQ":216,"$fa9K0Ov2JnKUdCnBsT82Ysk5UVKdOYvOLyKtZ_7ER4zM":221},{"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":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"discovery_status":31,"vulnerabilities":32,"developer":33,"crawl_stats":29,"alternatives":38,"analysis":132,"fingerprints":191},"post-reading-progress","Post Reading Progress","1.1.2","Piotr Szarmach","https:\u002F\u002Fprofiles.wordpress.org\u002Fpietrek\u002F","\u003Cp>This plugin allows to display reading progress of single article using horizontal progress bar. You can customize following plugin options:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>define which \u003Cstrong>post types\u003C\u002Fstrong> should be supported\u003C\u002Fli>\n\u003Cli>\u003Cstrong>top\u003C\u002Fstrong>, \u003Cstrong>right\u003C\u002Fstrong>, \u003Cstrong>bottom\u003C\u002Fstrong> and \u003Cstrong>left\u003C\u002Fstrong> position display\u003C\u002Fli>\n\u003Cli>setting progress bar height\u003C\u002Fli>\n\u003Cli>hiding progress bar after reading complete\u003C\u002Fli>\n\u003Cli>two autohide bar animations (slide, fade out)\u003C\u002Fli>\n\u003Cli>setting background and foreground progress bar color\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>All customizable options are available under \u003Cstrong>settings -> readings\u003C\u002Fstrong> section.\u003C\u002Fp>\n\u003Ch4>Installation and usage video\u003C\u002Fh4>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FmuJz-wULIQc?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>Plugin is available in \u003Cstrong>english\u003C\u002Fstrong> and \u003Cstrong>polish\u003C\u002Fstrong> languages.\u003C\u002Fp>\n","This plugin allows to display reading progress of single article using horizontal progress bar.",10,2027,100,1,"2018-03-17T17:40:00.000Z","4.9.29","4.4","7.0",[20,21,22,23,24],"post","progress","progressbar","read","reading","http:\u002Fpiotrszarmach.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":35,"trust_score":36,"computed_at":37},"pietrek",30,84,"2026-05-19T20:58:56.502Z",[39,61,77,97,116],{"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":51,"requires_at_least":52,"requires_php":53,"tags":54,"homepage":57,"download_link":58,"security_score":59,"vuln_count":14,"unpatched_count":28,"last_vuln_date":60,"fetched_at":30},"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,73050,17,"2026-02-18T12:09:00.000Z","6.9.4","4.9","5.6",[55,21,22,24,56],"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",99,"2026-03-12 00:00:00",{"slug":62,"name":63,"version":64,"author":65,"author_profile":66,"description":67,"short_description":68,"active_installs":69,"downloaded":70,"rating":13,"num_ratings":71,"last_updated":72,"tested_up_to":51,"requires_at_least":52,"requires_php":53,"tags":73,"homepage":75,"download_link":76,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"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,49907,19,"2026-02-11T12:10:00.000Z",[74,21,22,24],"estimated-reading-time","https:\u002F\u002Fgithub.com\u002Fjoerivanveen\u002Fwp-reading-progress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-reading-progress.1.7.0.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":85,"downloaded":86,"rating":87,"num_ratings":88,"last_updated":89,"tested_up_to":51,"requires_at_least":90,"requires_php":91,"tags":92,"homepage":94,"download_link":95,"security_score":13,"vuln_count":14,"unpatched_count":28,"last_vuln_date":96,"fetched_at":30},"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,18996,80,4,"2026-02-25T09:44:00.000Z","5.9","",[93,22,24,56],"progress-bar","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcatch-scroll-progress-bar","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcatch-scroll-progress-bar.2.1.zip","2021-09-20 00:00:00",{"slug":98,"name":99,"version":100,"author":101,"author_profile":102,"description":103,"short_description":104,"active_installs":28,"downloaded":105,"rating":28,"num_ratings":28,"last_updated":106,"tested_up_to":107,"requires_at_least":53,"requires_php":108,"tags":109,"homepage":114,"download_link":115,"security_score":13,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"blog-reading-progress-bar","Reading Progress Bar","2.0.0","Iftakharul Islam","https:\u002F\u002Fprofiles.wordpress.org\u002Fifatwp\u002F","\u003Cp>The Reading Progress Bar plugin adds a beautiful, customizable progress bar to your blog posts, allowing readers to see how much they have scrolled through the content. This feature helps to enhance the reading experience and provides a visual indication of the user’s progress.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Key Features:\u003C\u002Fstrong>\u003Cbr \u002F>\n– 🎨 \u003Cstrong>Modern Dashboard\u003C\u002Fstrong>: Beautiful, intuitive admin interface with live preview\u003Cbr \u002F>\n– 🌈 \u003Cstrong>Advanced Customization\u003C\u002Fstrong>: Gradient colors, shadows, borders, and effects\u003Cbr \u002F>\n– 📱 \u003Cstrong>Responsive Design\u003C\u002Fstrong>: Works perfectly on desktop, tablet, and mobile\u003Cbr \u002F>\n– ⚡ \u003Cstrong>Performance Optimized\u003C\u002Fstrong>: Smooth animations and efficient code\u003Cbr \u002F>\n– 🎯 \u003Cstrong>Per-Post Control\u003C\u002Fstrong>: Enable\u002Fdisable for individual posts\u003Cbr \u002F>\n– 📊 \u003Cstrong>Reading Time\u003C\u002Fstrong>: Display estimated reading time\u003Cbr \u002F>\n– 🎪 \u003Cstrong>Live Preview\u003C\u002Fstrong>: See changes in real-time as you adjust settings\u003C\u002Fp>\n\u003Ch3>Features\u003C\u002Fh3>\n\u003Ch3>Core Functionality\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reading Progress Tracking\u003C\u002Fstrong>: Real-time progress bar that shows how much of the post has been read\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-Post Control\u003C\u002Fstrong>: Enable\u002Fdisable progress bar for individual posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reading Time Estimation\u003C\u002Fstrong>: Display estimated reading time for posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Responsive Design\u003C\u002Fstrong>: Works perfectly on desktop, tablet, and mobile devices\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Advanced Customization\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Color Options\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Solid color picker with WordPress native color picker\u003C\u002Fli>\n\u003Cli>Gradient color support with start and end colors\u003C\u002Fli>\n\u003Cli>Custom shadow colors and effects\u003C\u002Fli>\n\u003Cli>Border color and width customization\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Visual Effects\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Position Control\u003C\u002Fstrong>: Place progress bar at top or bottom of screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Size Customization\u003C\u002Fstrong>: Adjustable height (1-20px)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Border Radius\u003C\u002Fstrong>: Rounded corners (0-50px)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Opacity Control\u003C\u002Fstrong>: Adjust transparency (0.1-1.0)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Shadow Effects\u003C\u002Fstrong>: Customizable shadow with color and blur options\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Border Styling\u003C\u002Fstrong>: Optional border with custom color and width\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>User Experience\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Smooth Animations\u003C\u002Fstrong>: Fluid progress updates with CSS transitions\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Performance Optimized\u003C\u002Fstrong>: Uses requestAnimationFrame for smooth scrolling\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keyboard Navigation\u003C\u002Fstrong>: Space bar and arrow key support\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Touch Gestures\u003C\u002Fstrong>: Swipe support for mobile devices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Accessibility\u003C\u002Fstrong>: High contrast mode and reduced motion support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Dashboard Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Modern Admin Interface\u003C\u002Fstrong>: Beautiful, responsive dashboard with tabs\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Live Preview\u003C\u002Fstrong>: See changes in real-time as you adjust settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Statistics\u003C\u002Fstrong>: View posts with progress bar enabled vs total posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Organized Settings\u003C\u002Fstrong>: Grouped options for easy configuration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Configuration\u003C\u002Fh3>\n\u003Ch3>Basic Settings\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Navigate to \u003Cstrong>Settings > Reading Progress Bar\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Configure appearance options:\n\u003Cul>\n\u003Cli>\u003Cstrong>Color\u003C\u002Fstrong>: Choose solid color or enable gradient\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Height\u003C\u002Fstrong>: Set progress bar height (1-20px)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Position\u003C\u002Fstrong>: Top or bottom of screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Border Radius\u003C\u002Fstrong>: Add rounded corners\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Opacity\u003C\u002Fstrong>: Adjust transparency\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Advanced Effects\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Shadow\u003C\u002Fstrong>: Enable shadow with custom color and blur\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Border\u003C\u002Fstrong>: Add border with custom color and width\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gradient\u003C\u002Fstrong>: Use gradient colors instead of solid color\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Display Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Show on Posts\u003C\u002Fstrong>: Enable\u002Fdisable for blog posts\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show on Pages\u003C\u002Fstrong>: Enable\u002Fdisable for pages\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show Reading Time\u003C\u002Fstrong>: Display estimated reading time\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Per-Post Settings\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Edit any post and look for the “Reading Progress Bar” meta box\u003C\u002Fli>\n\u003Cli>Check\u002Funcheck to enable\u002Fdisable for that specific post\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Requirements\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>WordPress 5.6 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.3 or higher\u003C\u002Fli>\n\u003Cli>jQuery (included with WordPress)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is released under the GPL-2.0+ license. You can find a copy of the license in the \u003Ccode>license.txt\u003C\u002Fcode> file or visit \u003Ca href=\"http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.txt\" rel=\"nofollow ugc\">http:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-2.0.txt\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, feature requests, or bug reports, please visit the \u003Ca href=\"https:\u002F\u002Fifatwp.wordpress.com\u002F2023\u002F10\u002F17\u002Fblog-reading-progress\u002F\" rel=\"nofollow ugc\">plugin page\u003C\u002Fa> or create an issue on GitHub.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Made with ❤️ for the WordPress community\u003C\u002Fstrong>\u003C\u002Fp>\n","A modern WordPress plugin that adds a customizable reading progress bar to your blog posts with advanced styling options.",3564,"2025-07-14T18:39:00.000Z","6.8.5","7.3",[110,111,93,112,113],"blog","posts","reading-time","user-experience","https:\u002F\u002Fifatwp.wordpress.com\u002F2023\u002F10\u002F17\u002Fblog-reading-progress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fblog-reading-progress-bar.2.0.0.zip",{"slug":117,"name":118,"version":119,"author":120,"author_profile":121,"description":122,"short_description":123,"active_installs":28,"downloaded":124,"rating":28,"num_ratings":28,"last_updated":125,"tested_up_to":126,"requires_at_least":127,"requires_php":53,"tags":128,"homepage":91,"download_link":131,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"my-post-time","My Post Time","1.0.0","ammarwp","https:\u002F\u002Fprofiles.wordpress.org\u002Fammarwp\u002F","\u003Cp>My Post Time is a simple and innovative plugins to stand out your blog.\u003Cbr \u002F>\nIt helps users to see that how much the article will take time to read and by progress bar they will have a proper tracking of the article’s length.\u003C\u002Fp>\n\u003Ch4>Support, Bug Fix, Feature Request\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\n\u003Cp>We welcome your feedback and new feature requests for My Post Time *\u003Cbr \u002F>\nLet us know if you face any problem or need help with My Post Time\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Ca href=\"mailto:ammar.pro786@gmail.com\" rel=\"nofollow ugc\">Plugin Support\u003C\u002Fa> *\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n","My Post Time plugin is an innovative and useful plugin that is designed to help your readers more efficiently read your blog posts.",817,"2021-04-15T13:01:00.000Z","5.7.15","4.6",[129,93,112,130],"post-reading-time","time-to-read-post","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-post-time.zip",{"attackSurface":133,"codeSignals":170,"taintFlows":183,"riskAssessment":184,"analyzedAt":190},{"hooks":134,"ajaxHandlers":166,"restRoutes":167,"shortcodes":168,"cronEvents":169,"entryPointCount":28,"unprotectedCount":28},[135,141,146,150,154,159,163],{"type":136,"name":137,"callback":138,"file":139,"line":140},"action","admin_init","closure","includes\u002FPluginSettings.php",65,{"type":136,"name":142,"callback":143,"file":144,"line":145},"wp_enqueue_scripts","includeAssets","includes\u002FReadingProgress.php",46,{"type":136,"name":147,"callback":148,"file":144,"line":149},"admin_enqueue_scripts","includeAdminAssets",47,{"type":136,"name":151,"callback":152,"file":144,"line":153},"plugins_loaded","loadPluginTranslations",50,{"type":155,"name":156,"callback":157,"file":144,"line":158},"filter","the_content","setPostEndMarker",53,{"type":136,"name":160,"callback":161,"file":144,"line":162},"wp_head","printPluginOptionsStyle",56,{"type":136,"name":151,"callback":164,"file":144,"line":165},"activatePlugin",59,[],[],[],[],{"dangerousFunctions":171,"sqlUsage":172,"outputEscaping":174,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":182},[],{"prepared":28,"raw":28,"locations":173},[],{"escaped":28,"rawEcho":175,"locations":176},2,[177,180],{"file":139,"line":178,"context":179},124,"raw output",{"file":139,"line":181,"context":179},152,[],[],{"summary":185,"deductions":186},"The 'post-reading-progress' plugin version 1.1.2 exhibits a generally strong security posture based on the provided static analysis. The absence of identified dangerous functions, raw SQL queries, file operations, external HTTP requests, and the complete lack of known vulnerabilities are positive indicators. The plugin also has a very small attack surface, with no detected AJAX handlers, REST API routes, shortcodes, or cron events, which inherently limits potential entry points for attackers. This suggests a conscientious approach to secure coding practices by the developers.\n\nHowever, a significant concern arises from the \"Output escaping\" signal, which indicates that 100% of the identified outputs are not properly escaped. This presents a direct risk of Cross-Site Scripting (XSS) vulnerabilities. If user-supplied data is ever incorporated into these outputs without proper sanitization, an attacker could inject malicious scripts. The lack of nonce and capability checks, while seemingly mitigated by the small attack surface, could become a problem if new entry points were introduced or if existing code paths were ever exposed without the necessary security controls. The taint analysis reporting zero flows is encouraging, but it should not overshadow the clear unescaped output issue.\n\nIn conclusion, while the plugin benefits from a minimal attack surface and a clean vulnerability history, the unescaped output is a critical weakness that requires immediate attention. The developers should prioritize implementing proper output escaping mechanisms to mitigate XSS risks. The absence of authentication checks on potential entry points, though currently not exposed, remains a latent risk if the plugin evolves. Addressing the unescaped output is the most pressing concern.",[187],{"reason":188,"points":189},"Unescaped output",8,"2026-04-16T12:11:22.928Z",{"wat":192,"direct":207},{"assetPaths":193,"generatorPatterns":198,"scriptPaths":199,"versionParams":202},[194,195,196,197],"\u002Fwp-content\u002Fplugins\u002Fpost-reading-progress\u002Fpublic\u002Fjs\u002Fbundle.js","\u002Fwp-content\u002Fplugins\u002Fpost-reading-progress\u002Fpublic\u002Fcss\u002Fbundle.css","\u002Fwp-content\u002Fplugins\u002Fpost-reading-progress\u002Fadmin\u002Fjs\u002Fbundle.js","\u002Fwp-content\u002Fplugins\u002Fpost-reading-progress\u002Fadmin\u002Fcss\u002Fbundle.css",[],[200,201],"plugins_url(self::PLUGIN_SLUG . '\u002Fpublic\u002Fjs\u002Fbundle.js')","plugins_url(self::PLUGIN_SLUG . '\u002Fadmin\u002Fjs\u002Fbundle.js')",[203,204,205,206],"post-reading-progress\u002Fpublic\u002Fjs\u002Fbundle.js?ver=","post-reading-progress\u002Fpublic\u002Fcss\u002Fbundle.css?ver=","post-reading-progress\u002Fadmin\u002Fjs\u002Fbundle.js?ver=","post-reading-progress\u002Fadmin\u002Fcss\u002Fbundle.css?ver=",{"cssClasses":208,"htmlComments":210,"htmlAttributes":211,"restEndpoints":212,"jsGlobals":213,"shortcodeOutput":215},[209],"wordpress-reading-progress-bar",[],[],[],[214],"postReadingProgress",[],{"error":217,"url":218,"statusCode":219,"statusMessage":220,"message":220},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fpost-reading-progress\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":222,"versions":223},5,[224,231,238,245,252],{"version":6,"download_url":225,"svn_tag_url":226,"released_at":29,"has_diff":227,"diff_files_changed":228,"diff_lines":29,"trac_diff_url":229,"vulnerabilities":230,"is_current":217},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.1.1.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpost-reading-progress\u002Ftags\u002F1.1.2\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpost-reading-progress%2Ftags%2F1.1.1&new_path=%2Fpost-reading-progress%2Ftags%2F1.1.2",[],{"version":232,"download_url":233,"svn_tag_url":234,"released_at":29,"has_diff":227,"diff_files_changed":235,"diff_lines":29,"trac_diff_url":236,"vulnerabilities":237,"is_current":227},"1.1.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.1.1.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpost-reading-progress\u002Ftags\u002F1.1.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpost-reading-progress%2Ftags%2F1.1.0&new_path=%2Fpost-reading-progress%2Ftags%2F1.1.1",[],{"version":239,"download_url":240,"svn_tag_url":241,"released_at":29,"has_diff":227,"diff_files_changed":242,"diff_lines":29,"trac_diff_url":243,"vulnerabilities":244,"is_current":227},"1.1.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.1.1.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpost-reading-progress\u002Ftags\u002F1.1.0\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpost-reading-progress%2Ftags%2F1.0.1&new_path=%2Fpost-reading-progress%2Ftags%2F1.1.0",[],{"version":246,"download_url":247,"svn_tag_url":248,"released_at":29,"has_diff":227,"diff_files_changed":249,"diff_lines":29,"trac_diff_url":250,"vulnerabilities":251,"is_current":227},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpost-reading-progress\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fpost-reading-progress%2Ftags%2F1.0.0&new_path=%2Fpost-reading-progress%2Ftags%2F1.0.1",[],{"version":119,"download_url":253,"svn_tag_url":254,"released_at":29,"has_diff":227,"diff_files_changed":255,"diff_lines":29,"trac_diff_url":29,"vulnerabilities":256,"is_current":227},"https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-reading-progress.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fpost-reading-progress\u002Ftags\u002F1.0.0\u002F",[],[]]