[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7Tlrjz9jm0ZgqJEmcSERbcJwzj3zGTN9CvdBOhDaUg8":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":22,"download_link":23,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":140,"fingerprints":169},"backwards-compatible-permalinks","Backwards Compatible Permalinks","0.1.0","Chris A. a11n","https:\u002F\u002Fprofiles.wordpress.org\u002Faprea\u002F","\u003Cp>Backwards Compatible Permalinks helps prevent 404 errors when switching between permalink structures.\u003C\u002Fp>\n\u003Cp>It achieves this by appending a set of backwards compatible post rewrite rules. This ensures posts are still accessible at their previous permalink after the permalink structure is updated.\u003C\u002Fp>\n\u003Ch4>Example\u003C\u002Fh4>\n\u003Cp>Let’s say your permalink structure is set to “Month and name” and you have a post titled “I Love WordPress.” That particular post would live at \u003Ccode>https:\u002F\u002Fexample.com\u002F2019\u002F03\u002Fi-love-wordpress\u002F\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cp>But what if you wanted to switch to the “Post name” permalink structure and have your post live at \u003Ccode>https:\u002F\u002Fexample.com\u002Fi-love-wordpress\u002F\u003C\u002Fcode> instead?\u003C\u002Fp>\n\u003Cp>You could but this would result in the existing post permalink 404ing when visited. Which is problematic if the previous URL was bookmarked or shared on social media.\u003C\u002Fp>\n\u003Cp>With Backwards Compatible Permalinks installed your post would be accessible at both the old and new permalink structures:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>https:\u002F\u002Fexample.com\u002F2019\u002F03\u002Fi-love-wordpress\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>https:\u002F\u002Fexample.com\u002Fi-love-wordpress\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Caveats\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>This plugin does not work retroactively. i.e. you must have the plugin installed and activated prior to switching permalink structures before backwards compatibility will work.\u003C\u002Fli>\n\u003Cli>Currently only standard posts are supported.\u003C\u002Fli>\n\u003Cli>Backwards compatibility is not supported between certain permalink structure updates. This is due to a clash between permalink structure regex matching.\u003C\u002Fli>\n\u003Cli>Backwards compatibility is only provided between the most recent permalink structure update. i.e. you cannot change your permalink structure 3 times and have backwards compatibility across all 3 structures.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Deactivate or uninstall\u003C\u002Fh4>\n\u003Cp>After deactivating or uninstalling this plugin please ensure you visit Settings > Permalinks in the WordPress admin area to flush your rewrite rules.\u003C\u002Fp>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>Contributions are \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Faprea\u002Fbackwards-compatible-permalinks\" rel=\"nofollow ugc\">welcomed on GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>From within WordPress\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Visit ‘Plugins > Add New’.\u003C\u002Fli>\n\u003Cli>Search for ‘Backwards Compatible Permalinks’.\u003C\u002Fli>\n\u003Cli>Activate Backwards Compatible Permalinks from your Plugins page.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Manually\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Upload the \u003Ccode>backwards-compatible-permalinks\u003C\u002Fcode> folder to the \u003Ccode>\u002Fwp-content\u002Fplugins\u002F\u003C\u002Fcode> directory.\u003C\u002Fli>\n\u003Cli>Activate the Backwards Compatible Permalinks plugin through the ‘Plugins’ menu in WordPress.\u003C\u002Fli>\n\u003C\u002Fol>\n","Provides a degree of backwards compatibility when switching between permalink structures.",0,1710,"2019-03-11T10:19:00.000Z","5.1.22","4.8","5.6",[18,19,20,21],"permalink","permalinks","url","urls","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbackwards-compatible-permalinks.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":29,"display_name":7,"profile_url":8,"plugin_count":30,"total_installs":11,"avg_security_score":24,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"aprea",1,30,84,"2026-04-05T02:57:17.781Z",[35,56,80,99,118],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":22,"tags":50,"homepage":54,"download_link":55,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"wp-permastructure","WP Permastructure","1.4.4","Robert O'Rourke","https:\u002F\u002Fprofiles.wordpress.org\u002Fsanchothefat\u002F","\u003Cp>In addition to controlling your custom post type permalinks this plugin adds support for using custom taxonomies in your permalink structures as well.\u003C\u002Fp>\n\u003Cp>Not only that but you can control the full permalink so the post type slug is not required at the start of the link.\u003C\u002Fp>\n\u003Cp>Multiple post types can use the same permalink structure.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>There are 2 ways to use this plugin:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Permalink Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin adds fields to the permalinks settings page for any public facing custom post types.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>In Code\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>When registering a post type you can add a value to the rewrite property with the key ‘permastruct’ to define your default permalink structure.\u003C\u002Fp>\n\u003Cp>eg:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php\n\nregister_post_type( 'my_type', array(\n    ...\n    'rewrite' => array(\n        'permastruct' => '\u002F%custom_taxonomy_name%\u002F%author%\u002F%postname%\u002F'\n    ),\n    ...\n) );\n\n?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n","Adds the ability to configure permalinks for custom post types using rewrite tags like %post_id% and %author%.",400,21041,86,15,"2023-07-26T09:18:00.000Z","6.3.8","3.3",[51,52,19,53,21],"custom-post-types","custom-taxonomies","rewrite-rules","https:\u002F\u002Fgithub.com\u002Finterconnectit\u002Fwp-permastructure","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-permastructure.1.4.4.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":64,"downloaded":65,"rating":64,"num_ratings":66,"last_updated":67,"tested_up_to":68,"requires_at_least":69,"requires_php":70,"tags":71,"homepage":76,"download_link":77,"security_score":78,"vuln_count":30,"unpatched_count":11,"last_vuln_date":79,"fetched_at":26},"wp-seo-search","Pretty Search Permalinks","1.3","Angel Costa","https:\u002F\u002Fprofiles.wordpress.org\u002Fangelcosta\u002F","\u003Cp>This plugin makes the URL for the search results page look like https:\u002F\u002Fsite.com\u002Fsearch\u002Fkeyword.\u003C\u002Fp>\n\u003Cp>Credit\u002FInspired by: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fnice-search\u002F\" rel=\"ugc\">Nice Search\u003C\u002Fa>\u003C\u002Fp>\n","Rewrites default search query URLs into clean and readable permalinks.",100,5522,3,"2026-02-23T20:52:00.000Z","6.9.4","5.4","7.4",[72,18,73,74,75],"clean-urls","pretty-urls","search","search-permalinks","https:\u002F\u002Fnetmundo.com.br\u002Fwp-seo-search\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-seo-search.1.3.zip",99,"2025-12-20 00:00:00",{"slug":81,"name":82,"version":83,"author":84,"author_profile":85,"description":86,"short_description":87,"active_installs":88,"downloaded":89,"rating":64,"num_ratings":30,"last_updated":90,"tested_up_to":91,"requires_at_least":92,"requires_php":22,"tags":93,"homepage":97,"download_link":98,"security_score":24,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"go-live-url-update","Go Live URL Update","1.0","mafia99","https:\u002F\u002Fprofiles.wordpress.org\u002Fmafia99\u002F","\u003Cp>If you are move your WordPress website live from your localhost or to a new domain name, you will find that internal links to pages and references to images are not updated. Instead, these links and references will point to your localhost or old domain name. This plugin fixes that problem by helping you change old urls and links in your website.\u003C\u002Fp>\n\u003Ch4>Features:\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Users can choose to update links embedded in content, excerpts, or custom fields\u003C\u002Fli>\n\u003Cli>Users can choose whether to update links for attachments\u003C\u002Fli>\n\u003Cli>View how many items were updated\u003C\u002Fli>\n\u003C\u002Ful>\n","This small plugin will Updates all urls and content links in your website.",20,2057,"2016-08-27T08:58:00.000Z","4.6.30","3.8",[94,95,19,96,21],"links","move-wordpress","update-links","https:\u002F\u002Fwww.bitbytez.net\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgo-live-url-update.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":11,"downloaded":107,"rating":11,"num_ratings":11,"last_updated":108,"tested_up_to":68,"requires_at_least":109,"requires_php":70,"tags":110,"homepage":116,"download_link":117,"security_score":64,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"nested-blog-posts","Nested Blog Posts","1.0.0","Yaver Abbas","https:\u002F\u002Fprofiles.wordpress.org\u002Fwwhry\u002F","\u003Cp>Nested Blog Posts makes the built-in \u003Cstrong>Posts\u003C\u002Fstrong> post type behave more like \u003Cstrong>Pages\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Adds a \u003Cstrong>Parent\u003C\u002Fstrong> dropdown to Posts.\u003C\u002Fli>\n\u003Cli>Generates hierarchical permalinks like \u003Ccode>\u002Fparent\u002Fchild\u002F\u003C\u002Fcode> (supports unlimited depth).\u003C\u002Fli>\n\u003Cli>Routes nested URLs correctly so you don’t get 404s or forced redirects to \u003Ccode>\u002Fchild\u002F\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin does not contact external servers and does not collect user data.\u003C\u002Fp>\n\u003Ch3>How to use\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\u003Cstrong>Enable the plugin\u003C\u002Fstrong> (Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Nested Blog Posts \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Enabled).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create a Parent blog post\u003C\u002Fstrong> (a normal Post).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Create a Child blog post\u003C\u002Fstrong> and set its \u003Cstrong>Parent\u003C\u002Fstrong> in the editor sidebar (Post \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Parent).\u003C\u002Fli>\n\u003Cli>To create a deeper tree, set the new post’s \u003Cstrong>Parent\u003C\u002Fstrong> to the previous child.\u003Cbr \u002F>\nExample: \u003Ccode>\u002Fparent\u002Fchild\u002Fgrandchild\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>If you disable the feature later, the plugin automatically refreshes rewrite rules and WordPress will fall back to normal post behavior.\u003C\u002Fli>\n\u003C\u002Fol>\n","Enable parent\u002Fchild hierarchy for standard Posts and generate nested permalinks like \u002Fparent\u002Fchild\u002F (unlimited depth).",164,"2026-02-17T21:10:00.000Z","6.3",[111,112,113,114,115],"hierarchical-posts","nested-permalinks","nested-posts","parent-child-posts","seo-friendly-urls","https:\u002F\u002Fgithub.com\u002Fyaverabbas\u002Fnested-blog-posts","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnested-blog-posts.1.0.0.zip",{"slug":119,"name":120,"version":121,"author":122,"author_profile":123,"description":124,"short_description":125,"active_installs":126,"downloaded":127,"rating":128,"num_ratings":129,"last_updated":130,"tested_up_to":131,"requires_at_least":132,"requires_php":22,"tags":133,"homepage":138,"download_link":139,"security_score":64,"vuln_count":11,"unpatched_count":11,"last_vuln_date":25,"fetched_at":26},"no-category-base-wpml","No Category Base (WPML)","1.4","DigitalME","https:\u002F\u002Fprofiles.wordpress.org\u002Fdigitalmeactivecampaign\u002F","\u003Cp>As the name suggests this plugin will completely remove the mandatory ‘Category Base’ from your category permalinks ( e.g. ‘mysite.com\u002Fcategory\u002Fmy-category\u002F’ to ‘mysite.com\u002Fmy-category\u002F’ ).\u003C\u002Fp>\n\u003Cp>The plugin requires no setup or modifying core wordpress files and will not break any links. It will also take care of redirecting your old category links to the new ones.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Better and logical permalinks like ‘mysite.com\u002Fmy-category\u002F’ and ‘mysite.com\u002Fmy-category\u002Fmy-post\u002F’.\u003C\u002Fli>\n\u003Cli>Simple plugin – barely adds any overhead.\u003C\u002Fli>\n\u003Cli>Works out of the box – no setup needed.\u003C\u002Fli>\n\u003Cli>No need to modify WordPress files.\u003C\u002Fli>\n\u003Cli>Doesn’t require other plugins to work.\u003C\u002Fli>\n\u003Cli>Compatible with sitemap plugins.\u003C\u002Fli>\n\u003Cli>Compatible with WPML.\u003C\u002Fli>\n\u003Cli>Works with multiple sub-categories.\u003C\u002Fli>\n\u003Cli>Works with WordPress Multisite.\u003C\u002Fli>\n\u003Cli>Redirects old category permalinks to the new ones (301 redirect, good for SEO).\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin removes the mandatory 'Category Base' from your category permalinks. It's compatible with WPML.",100000,856653,92,33,"2025-11-07T13:46:00.000Z","6.8.5","5.0",[134,135,136,137],"category-base","category-permalinks","category-slug","category-url","https:\u002F\u002Fwww.digitalme.cc\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fno-category-base-wpml.1.4.zip",{"attackSurface":141,"codeSignals":157,"taintFlows":164,"riskAssessment":165,"analyzedAt":168},{"hooks":142,"ajaxHandlers":153,"restRoutes":154,"shortcodes":155,"cronEvents":156,"entryPointCount":11,"unprotectedCount":11},[143,149],{"type":144,"name":145,"callback":146,"file":147,"line":148},"filter","post_rewrite_rules","anonymous","backwards-compatible-permalinks.php",45,{"type":150,"name":151,"callback":146,"file":147,"line":152},"action","update_option_permalink_structure",46,[],[],[],[],{"dangerousFunctions":158,"sqlUsage":159,"outputEscaping":161,"fileOperations":11,"externalRequests":11,"nonceChecks":11,"capabilityChecks":11,"bundledLibraries":163},[],{"prepared":11,"raw":11,"locations":160},[],{"escaped":11,"rawEcho":11,"locations":162},[],[],[],{"summary":166,"deductions":167},"The 'backwards-compatible-permalinks' plugin v0.1.0 exhibits an exceptionally clean static analysis report, indicating a strong adherence to secure coding practices. There are no identified entry points such as AJAX handlers, REST API routes, shortcodes, or cron events that could be exploited. Furthermore, the code signals reveal a complete absence of dangerous functions, raw SQL queries, file operations, and external HTTP requests. Notably, all SQL queries, if any existed, would have been prepared, and all outputs are properly escaped. The lack of any taint analysis findings reinforces this positive assessment, suggesting no observable data flows that could lead to vulnerabilities.\n\nThe plugin's vulnerability history is also pristine, with zero recorded CVEs of any severity. This lack of past issues, combined with the secure coding practices observed, suggests that the plugin is currently well-maintained and has not historically presented significant security risks. However, it is important to note that the absence of these elements (like AJAX handlers or REST API routes) could also mean a very limited functionality or an incomplete implementation, rather than deliberate security by obscurity. The plugin's attack surface is effectively zero, which is a significant strength. The primary concern, if any, is the lack of any checks (capability or nonce) which is a direct consequence of there being no entry points. A small plugin with no user-facing interactions and no administrative settings would logically not require these checks, but it's a point to be aware of if the plugin's scope were to expand.",[],"2026-03-17T06:28:31.941Z",{"wat":170,"direct":175},{"assetPaths":171,"generatorPatterns":172,"scriptPaths":173,"versionParams":174},[],[],[],[],{"cssClasses":176,"htmlComments":177,"htmlAttributes":178,"restEndpoints":179,"jsGlobals":180,"shortcodeOutput":181},[],[],[],[],[],[]]