[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvXqNBQtIpqLrzNlVm-HP8IkhzDf3VFzgN24lznfRHaQ":3,"$fF6FqV8-WY9mhg_IS4FEqEmtIGVFkgoDRpF-KCrL3m1s":208,"$fp5JVD3QBUtixtkbLPO8rQyYSwRbdFKyjlwzyVDpQrnE":213},{"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":40,"analysis":133,"fingerprints":195},"root-relative-urls","Root Relative URLs","2.3","MarcusPope","https:\u002F\u002Fprofiles.wordpress.org\u002Fmarcuspope\u002F","\u003Cp>A WordPress plugin that converts all URL formats to root-relative URLs to enable seamless transitioning between staging\u002Fproduction host environments and debugging\u002Ftesting from mobile devices, without the use of hackish tactics like textual find-replace strategies or risky hosts\u002FNAT spoofing strategies.\u003C\u002Fp>\n\u003Cp>With Root Relative URLs you can browse your development site from http:\u002F\u002Flocalhost\u002F or http:\u002F\u002F127.0.0.1\u002F or from a named network resource like http:\u002F\u002Fmycomputername\u002F without worrying about links redirecting you back to your site’s URL.\u003C\u002Fp>\n\u003Cp>This plugin also modifies the tinyMCE hooks so links and media embedded with built-in tools will only insert URLs from the first forward slash after the domain (i.e. the root of your site.)  This means when you push content changes to a staging or production environment they are guaranteed to reference the correct target instead of accidentally referencing a production resource in development or, worse-yet, a development-exclusive resource in production.\u003C\u002Fp>\n\u003Cp>It supports path-based MU Installations, but does not support domain-based MU sites due to architectural deficiencies in the WordPress core.\u003C\u002Fp>\n\u003Cp>Version 1.5 fixes an infinite redirect problem that is a result of a core bug in WordPress.  If you have problems with the \u003C!–more–> tag or permalinks for custom post types, please read the FAQ or new Install Steps for support.\u003C\u002Fp>\n\u003Cp>Version 2.2 allows for adding certain URL’s or partial URL’s to a blacklist, meaning I won’t use root relative urls, but dynamic absolute URLs instead for displaying content.  This will fix problems with 3rd party plugins, and can be configured on the General Settings page.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Converts all URLs to root-relative URLs for hosting the same site on multiple IPs, easier production migration and better mobile device testing.",6000,77684,58,20,"2017-11-28T08:04:00.000Z","3.5.2","3.2.1","",[20,21,22,23,24],"admin","content","links","multisite","url","http:\u002F\u002Fwww.marcuspope.com\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Froot-relative-urls.zip",85,0,null,"2026-04-16T10:56:18.058Z","no_bundle",[],{"slug":34,"display_name":7,"profile_url":8,"plugin_count":35,"total_installs":36,"avg_security_score":27,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"marcuspope",5,6860,30,84,"2026-05-20T05:03:15.389Z",[41,62,84,98,116],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":51,"num_ratings":52,"last_updated":53,"tested_up_to":54,"requires_at_least":55,"requires_php":56,"tags":57,"homepage":18,"download_link":61,"security_score":51,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"linkgather","LinkGather","2.0.3","techygeekshome","https:\u002F\u002Fprofiles.wordpress.org\u002Ftechygeekshome\u002F","\u003Cp>LinkGather is a lightweight admin tool for WordPress that lets you:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>View all published posts and pages in a sortable table\u003C\u002Fli>\n\u003Cli>Filter by post type, title keyword, and date range\u003C\u002Fli>\n\u003Cli>Paginate results (25 per page)\u003C\u002Fli>\n\u003Cli>Export filtered results to CSV\u003C\u002Fli>\n\u003Cli>Click through to view each post\u002Fpage directly\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Built for site managers, content auditors, and anyone needing fast access to internal URLs.\u003C\u002Fp>\n","Admin utility to gather internal post\u002Fpage URLs with filters, pagination, and CSV export.",70,4264,100,2,"2026-01-11T02:57:00.000Z","6.9.4","5.6","8.0",[20,58,22,59,60],"export","page-urls","post-urls","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flinkgather.2.0.3.zip",{"slug":63,"name":64,"version":65,"author":66,"author_profile":67,"description":68,"short_description":69,"active_installs":70,"downloaded":71,"rating":72,"num_ratings":73,"last_updated":74,"tested_up_to":16,"requires_at_least":75,"requires_php":18,"tags":76,"homepage":81,"download_link":82,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":83},"bitly-shortlinks-multisite","Bit.ly Shortlinks Multisite (Uses OAuth 2 API)","1.2","Denis Lam","https:\u002F\u002Fprofiles.wordpress.org\u002Fspiffyd\u002F","\u003Cp>WordPress generates shortlinks for your posts and pages. By default it uses the \u003Ccode>?p=\u003C\u002Fcode> with the post ID added to it, but if you have a rather long domain name this isn’t very useful. If you use \u003Ca href=\"http:\u002F\u002Fbit.ly\" rel=\"nofollow ugc\">Bit.ly\u003C\u002Fa>, this plugin will help you replace the shortlink WordPress generates with a proper Bit.ly shortlink.\u003C\u002Fp>\n\u003Cp>This plugin uses the latest Bit.ly OAuth 2 draft specification API instead of its deprecated V3 API and enables you to use generic access token to automatically enable Bit.ly shortlinks in your entire multisite network without the need for each site user to have to tinker with any settings or authentication configurations.\u003C\u002Fp>\n","This plugin replaces the default WordPress shortlinks with Bit.ly shortlinks for your single site or multisite WordPress network.",10,3182,74,3,"2013-07-02T20:37:00.000Z","3.0",[77,23,78,79,80],"bitly","shortlink","shortlinks","url-shortener","http:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fbitly-shortlinks-multisite\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbitly-shortlinks-multisite.1.2.zip","2026-04-06T09:54:40.288Z",{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":70,"downloaded":92,"rating":51,"num_ratings":52,"last_updated":93,"tested_up_to":18,"requires_at_least":18,"requires_php":18,"tags":94,"homepage":96,"download_link":97,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"enhanced-admin-links-in-multisite-my-sites-drop-downs","Contributors: aarontgrogg","1.6","Aaron T. Grogg","https:\u002F\u002Fprofiles.wordpress.org\u002Faarontgrogg\u002F","\u003Cp>Another WordPress plug-in that started with me finding something to be annoying,\u003Cbr \u002F>\nfinding a way to fix it, then figuring if it made my life a little better,\u003Cbr \u002F>\nsomeone else might appreciate it too…\u003C\u002Fp>\n\u003Cp>Currently, in a multisite installation, when in Admin mode, in order get to the\u003Cbr \u002F>\n‘Posts’, ‘Pages’, ‘Themes’, ‘Plugins’, ‘Settings’, or ‘Tools’ page for a site,\u003Cbr \u002F>\nbefore you can finally click the admin link you really wanted.\u003C\u002Fp>\n\u003Cp>I never understood why those drop-downs were so limited.  So I added to them.\u003C\u002Fp>\n\u003Cp>This plug-in adds links for ‘Posts’, ‘Pages’, ‘Themes’, ‘Plugins’, ‘Settings’, and ‘Tools’,\u003Cbr \u002F>\nto the ‘Network Admin’ and individual Site drop-downs, making jumping between\u003Cbr \u002F>\nmultisite options a \u003Cstrong>lot\u003C\u002Fstrong> easier…\u003Cbr \u002F>\n\u003Cem>Note that there is no ‘Posts’, ‘Pages’, or ‘Tools’ page available in the ‘Network Admin’ section,\u003Cbr \u002F>\nso those admin links are not added.\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Please let me know if you have any questions\u002Fsuggestions\u002Fthoughts,\u003C\u002Fp>\n\u003Cp>Atg\u003C\u002Fp>\n\u003Cp>http:\u002F\u002Faarontgrogg.com\u002F\u003C\u002Fp>\n\u003Cp>aarontgrogg@gmail.com\u003C\u002Fp>\n","Enhanced Admin Links in Multisite 'My Sites' Drop-Downs",2492,"2014-04-18T10:35:00.000Z",[20,22,23,95],"network","http:\u002F\u002Faarontgrogg.com\u002F2013\u002F03\u002F26\u002Fwordpress-plugin-enhanced-admin-links-in-multisite-my-sites-drop-downs\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fenhanced-admin-links-in-multisite-my-sites-drop-downs.zip",{"slug":99,"name":100,"version":101,"author":102,"author_profile":103,"description":104,"short_description":105,"active_installs":28,"downloaded":106,"rating":28,"num_ratings":28,"last_updated":107,"tested_up_to":108,"requires_at_least":109,"requires_php":18,"tags":110,"homepage":113,"download_link":114,"security_score":115,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":83},"custom-url-replacer","Custom URL Replacer","1.0.1","Hyperspective","https:\u002F\u002Fprofiles.wordpress.org\u002Fhyperspective\u002F","\u003Cp>Custom URL Replacer scans your post content for anchor tags where the visible text exactly matches the full URL. If the URL is external to your site, it replaces the text with a custom string. Additionally, if the “Open in New Tab” setting is enabled, the plugin forces all external links to open in a new tab by adding target=”_blank” and rel=”noopener noreferrer” automatically. A settings page is provided under the Tools menu so you can customize the replacement text and toggle the new tab option.\u003C\u002Fp>\n","Short Description: Replaces anchor text matching an external URL with custom text and can force external links to open in a new tab.",979,"2025-04-02T23:24:00.000Z","6.7.5","5.0",[21,111,22,112,24],"external","replacement","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdynamic-video-for-divi-posts\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-url-replacer.1.0.1.zip",92,{"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":54,"requires_at_least":126,"requires_php":18,"tags":127,"homepage":131,"download_link":132,"security_score":51,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"messymenu","MessyMenu","4.5","doc4","https:\u002F\u002Fprofiles.wordpress.org\u002Fdoc4\u002F","\u003Cp>MessyMenu, developed in Arkansas by Doc4 Design, is a ChatGPT plugin solution that enhances the functionality of the WordPress Dashboard navigation. With MessyMenu, users can effortlessly incorporate a wide range of new links into their navigation, whether external or internal.\u003C\u002Fp>\n\u003Cp>The Settings page of MessyMenu simplifies the process of creating new dashboard navigation links. Users can easily input labels, URLs, a Location within the WP Dashboard Menu, and select from a number of Dashicons to achieve a more comprehensive and polished appearance.\u003C\u002Fp>\n\u003Cp>When adding internal links, users only need to include the internal url, such as ‘options-writing.php’, while external links require the full URL (e.g., https:\u002F\u002Fdoc4design.com). To locate the specific link to an internal page, simply hover the mouse over the desired link or page and check the bottom of the browser window.\u003C\u002Fp>\n\u003Cp>MessyMenu streamlines the process of expanding the WordPress Dashboard navigation, offering users a straightforward method to integrate additional links with Dashicons. Give MessyMenu a try and discover the convenience and customization it brings to your WordPress Dashboard navigation.\u003C\u002Fp>\n\u003Ch4>ReOrdering\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Note: Drag and Drop reordering has been removed in favor of specific menu placement. To change the location of the Link within the WordPress Dashboard Menu, add a Link and then edit the Menu Location #. If no Menu Location # is provided, the Menu Location # will default to 1, incrementally adding 1 for each new link. Special thanks to Nathan Ingram for suggesting this.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Internal Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>To find the name of the page you wish to link to, hover your mouse over the desired link and check the bottom of your browser. For instance, if you want to link to the WordPress Admin Widgets page, you would hover over “Appearances > Widgets” and see the URL ‘https:\u002F\u002Fmysite.com\u002Fwp-admin\u002Fwidgets.php’. In this case, you would copy ‘widgets.php’ and paste it into the URL field.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>External Links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Include the full URL path as found in the browser address bar. For example, linking to the Apple website would look like this “https:\u002F\u002Fwww.apple.com\u002F”\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Plugin URL\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdoc4design.com\u002Fmessymenu\u002F\" rel=\"nofollow ugc\">MessyMenu\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Screenshots\u003C\u002Fh4>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fdoc4design.com\u002Fmessymenu\u002F\" rel=\"nofollow ugc\">View Screenshots\u003C\u002Fa>\u003C\u002Fp>\n","A solution that enhances the functionality of the WordPress Dashboard navigation",904,"2025-12-05T19:34:00.000Z","2.7",[20,128,22,129,130],"dasboard-menu","menu","urls","https:\u002F\u002Fdoc4design.com\u002Fplugins\u002Fmessymenu\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmessymenu.4.5.zip",{"attackSurface":134,"codeSignals":179,"taintFlows":186,"riskAssessment":187,"analyzedAt":194},{"hooks":135,"ajaxHandlers":175,"restRoutes":176,"shortcodes":177,"cronEvents":178,"entryPointCount":28,"unprotectedCount":28},[136,143,147,152,156,160,164,168,172],{"type":137,"name":138,"callback":139,"priority":140,"file":141,"line":142},"action","plugins_loaded","init",1,"sb_root_relative_urls.php",31,{"type":137,"name":144,"callback":145,"file":141,"line":146},"admin_init","admin_settings_init",185,{"type":148,"name":149,"callback":150,"file":141,"line":151},"filter","redirect_network_admin_request","proper_multisite_path_comparison",281,{"type":148,"name":153,"callback":154,"priority":140,"file":141,"line":155},"image_send_to_editor","root_relative_image_urls",289,{"type":148,"name":157,"callback":158,"priority":140,"file":141,"line":159},"media_send_to_editor","root_relative_media_urls",299,{"type":148,"name":161,"callback":162,"priority":70,"file":141,"line":163},"redirect_canonical","fix_canonical_redirect",309,{"type":148,"name":165,"callback":166,"priority":140,"file":141,"line":167},"upload_dir","fix_upload_paths",319,{"type":148,"name":169,"callback":170,"file":141,"line":171},"script_loader_src","proper_root_relative_url",331,{"type":148,"name":173,"callback":170,"file":141,"line":174},"WPML_filter_link",340,[],[],[],[],{"dangerousFunctions":180,"sqlUsage":181,"outputEscaping":183,"fileOperations":28,"externalRequests":28,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":185},[],{"prepared":28,"raw":28,"locations":182},[],{"escaped":52,"rawEcho":28,"locations":184},[],[],[],{"summary":188,"deductions":189},"The root-relative-urls plugin v2.3 exhibits a strong security posture based on the provided static analysis. The absence of any identified AJAX handlers, REST API routes, shortcodes, or cron events significantly limits the plugin's attack surface. Furthermore, the code analysis reveals no dangerous functions, all SQL queries are properly prepared, output is consistently escaped, and there are no file operations or external HTTP requests. The lack of identified taint flows and zero critical or high severity vulnerabilities in its history further bolster this positive assessment. \n\nHowever, a notable concern is the complete absence of nonce checks and capability checks. While the current attack surface is zero, this indicates a potential weakness if any new entry points are introduced or if the plugin's functionality were to expand. The vulnerability history shows no recorded issues, which is a positive indicator of good development practices, but it does not guarantee future security. In conclusion, the plugin is currently very secure due to its minimal attack surface and clean code, but the reliance on an undeveloped attack surface for security rather than explicit checks is a theoretical weakness.",[190,192],{"reason":191,"points":35},"Missing nonce checks",{"reason":193,"points":35},"Missing capability checks","2026-03-16T18:03:10.206Z",{"wat":196,"direct":201},{"assetPaths":197,"generatorPatterns":198,"scriptPaths":199,"versionParams":200},[],[],[],[],{"cssClasses":202,"htmlComments":203,"htmlAttributes":204,"restEndpoints":205,"jsGlobals":206,"shortcodeOutput":207},[],[],[],[],[],[],{"error":209,"url":210,"statusCode":211,"statusMessage":212,"message":212},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Froot-relative-urls\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":28,"versions":214},[]]