[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fyCixkv1pkiSRf-uSszr4f4w27cvtqahddUHWI0TE6wM":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":21,"download_link":22,"security_score":23,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25,"vulnerabilities":26,"developer":27,"crawl_stats":24,"alternatives":34,"analysis":145,"fingerprints":198},"jms-url-rewrite-rule","JMS URL Rewrite Rule","1.0.0","James","https:\u002F\u002Fprofiles.wordpress.org\u002Fjamesliu-1\u002F","\u003Cp>The URL Rewrite Rule plugin will help to generate 301 permanent redirection url rewrite rules which you can copy and paste in .htaccess files. Usually, it will be helpful when you want to restructure your website which has 50+ posts or pages. It works with post permalink, category permalink, and tag permalink.\u003C\u002Fp>\n","Help to create 301 permanent redirection URL rewrite rules for .htaccess.",0,1125,"2018-03-28T08:52:00.000Z","4.8.0","4.0.0","",[18,19,20],"htaccess","permalink","url-rewrite","https:\u002F\u002Fjmsliu.com\u002Fproducts\u002Fjms-url-rewrite-rules.html","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fjms-url-rewrite-rule.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":28,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":23,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},"jamesliu-1",2,20,30,84,"2026-04-05T04:00:50.395Z",[35,61,84,105,126],{"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":50,"tags":51,"homepage":56,"download_link":57,"security_score":58,"vuln_count":59,"unpatched_count":11,"last_vuln_date":60,"fetched_at":25},"redirection","Redirection","5.7.5","John Godley","https:\u002F\u002Fprofiles.wordpress.org\u002Fjohnny5\u002F","\u003Cp>Redirection is the most popular redirect manager for WordPress. With it you can easily manage 301 redirections, keep track of 404 errors, and generally tidy up any loose ends your site may have. This can help reduce errors and improve your site ranking.\u003C\u002Fp>\n\u003Cp>Redirection is designed to be used on sites with a few redirects to sites with thousands of redirects.\u003C\u002Fp>\n\u003Cp>It has been a WordPress plugin for over 10 years and has been recommended countless times. And it’s free!\u003C\u002Fp>\n\u003Cp>Full documentation can be found at \u003Ca href=\"https:\u002F\u002Fredirection.me\" rel=\"nofollow ugc\">https:\u002F\u002Fredirection.me\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Redirection is compatible with PHP from 7.4 to 8.4.\u003C\u002Fp>\n\u003Ch4>Redirect manager\u003C\u002Fh4>\n\u003Cp>Create and manage redirects quickly and easily without needing Apache or Nginx knowledge. If your WordPress supports permalinks then you can use Redirection to redirect any URL.\u003C\u002Fp>\n\u003Cp>There is full support for regular expressions so you can create redirect patterns to match any number of URLs. You can match query parameters and even pass them through to the target URL.\u003C\u002Fp>\n\u003Cp>The plugin can also be configured to monitor when post or page permalinks are changed and automatically create a redirect to the new URL.\u003C\u002Fp>\n\u003Ch4>Conditional redirects\u003C\u002Fh4>\n\u003Cp>In addition to straightforward URL matching you can redirect based on other conditions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Login status – redirect only if the user is logged in or logged out\u003C\u002Fli>\n\u003Cli>WordPress capability – redirect if the user is able to perform a certain capability\u003C\u002Fli>\n\u003Cli>Browser – redirect if the user is using a certain browser\u003C\u002Fli>\n\u003Cli>Referrer – redirect if the user visited the link from another page\u003C\u002Fli>\n\u003Cli>Cookies – redirect if a particular cookie is set\u003C\u002Fli>\n\u003Cli>HTTP headers – redirect based on a HTTP header\u003C\u002Fli>\n\u003Cli>Custom filter – redirect based on your own WordPress filter\u003C\u002Fli>\n\u003Cli>IP address – redirect if the client IP address matches\u003C\u002Fli>\n\u003Cli>Server – redirect another domain if also hosted on this server\u003C\u002Fli>\n\u003Cli>Page type – redirect if the current page is a 404\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Full logging\u003C\u002Fh4>\n\u003Cp>A configurable logging option allows to view all redirects occurring on your site, including information about the visitor, the browser used, and the referrer. A ‘hit’ count is maintained for each redirect so you can see if a URL is being used.\u003C\u002Fp>\n\u003Cp>Logs can be exported for external viewing, and can be searched and filtered for more detailed investigation.\u003C\u002Fp>\n\u003Cp>Display geographic information about an IP address, as well as a full user agent information, to try and understand who the visitor is.\u003C\u002Fp>\n\u003Cp>You are able to disable or reduce IP collection to meet the legal requirements of your geographic region, and can change the amount of information captured from the bare minimum to HTTP headers.\u003C\u002Fp>\n\u003Cp>You can also log any redirect happening on your site, including those performed outside of Redirection.\u003C\u002Fp>\n\u003Ch4>Add HTTP headers\u003C\u002Fh4>\n\u003Cp>HTTP headers can be added to redirects or your entire site that help reduce the impact of redirects or help increase security. You can also add your own custom headers.\u003C\u002Fp>\n\u003Ch4>Track 404 errors\u003C\u002Fh4>\n\u003Cp>Redirection will keep track of all 404 errors that occur on your site, allowing you to track down and fix problems.\u003C\u002Fp>\n\u003Cp>Errors can be grouped to show where you should focus your attention, and can be redirected in bulk.\u003C\u002Fp>\n\u003Ch4>Query parameter handling\u003C\u002Fh4>\n\u003Cp>You can match query parameters exactly, ignore them, and even pass them through to your target.\u003C\u002Fp>\n\u003Ch4>Migrate Permalinks\u003C\u002Fh4>\n\u003Cp>Changed your permalink structure? You can migrate old permalinks simply by entering the old permalink structure. Multiple migrations are supported.\u003C\u002Fp>\n\u003Ch4>Apache & Nginx support\u003C\u002Fh4>\n\u003Cp>By default Redirection will manage all redirects using WordPress. However you can configure it so redirects are automatically saved to a .htaccess file and handled by Apache itself.\u003C\u002Fp>\n\u003Cp>If you use Nginx then you can export redirects to an Nginx rewrite rules file.\u003C\u002Fp>\n\u003Ch4>Fine-grained permissions\u003C\u002Fh4>\n\u003Cp>Fine-grained permissions are available so you can customise the plugin for different users. This makes it particularly suitable for client sites where you may want to prevent certain actions, and remove functionality.\u003C\u002Fp>\n\u003Ch4>Import & Export\u003C\u002Fh4>\n\u003Cp>The plugin has a fully-featured import and export system and you can:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Import and export to Apache .htaccess\u003C\u002Fli>\n\u003Cli>Export to Nginx rewrite rules\u003C\u002Fli>\n\u003Cli>Copy redirects between sites using JSON\u003C\u002Fli>\n\u003Cli>Import and export to CSV for viewing in a spreadsheet\u003C\u002Fli>\n\u003Cli>Use WP CLI to automate import and export\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You can also import from the following plugins:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Simple 301 Redirects\u003C\u002Fli>\n\u003Cli>SEO Redirection\u003C\u002Fli>\n\u003Cli>Safe Redirect Manager\u003C\u002Fli>\n\u003Cli>Rank Math\u003C\u002Fli>\n\u003Cli>WordPress old slug redirects\u003C\u002Fli>\n\u003Cli>Quick Post\u002FPages redirects\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Search Regex compatible\u003C\u002Fh4>\n\u003Cp>Redirection is compatible with \u003Ca href=\"https:\u002F\u002Fsearchregex.com\" rel=\"nofollow ugc\">Search Regex\u003C\u002Fa>, allowing you to bulk update your redirects.\u003C\u002Fp>\n\u003Ch4>Wait, it’s free?\u003C\u002Fh4>\n\u003Cp>Yes, it’s really free. There’s no premium version and no need to pay money to get access to features. This is a dedicated redirect management plugin.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Please submit bugs, patches, and feature requests to:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fjohngodley\u002Fredirection\" rel=\"nofollow ugc\">https:\u002F\u002Fgithub.com\u002Fjohngodley\u002Fredirection\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Please submit translations to:\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fredirection\" rel=\"nofollow ugc\">https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fredirection\u003C\u002Fa>\u003C\u002Fp>\n","Manage 301 redirects, track 404 errors, and improve your site. No knowledge of Apache or Nginx required.",2000000,71280127,88,689,"2026-03-01T07:42:00.000Z","6.9.4","6.5","7.4",[52,53,54,18,55],"301","404","apache","redirect","https:\u002F\u002Fredirection.me\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fredirection.5.7.5.zip",97,5,"2018-11-14 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":71,"num_ratings":72,"last_updated":73,"tested_up_to":74,"requires_at_least":75,"requires_php":50,"tags":76,"homepage":81,"download_link":82,"security_score":83,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"custom-post-type-permalinks","Custom Post Type Permalinks","3.5.3","Toro_Unit (Hiroshi Urabe)","https:\u002F\u002Fprofiles.wordpress.org\u002Ftoro_unit\u002F","\u003Cp>Custom Post Type Permalinks allow you edit the permalink structure of custom post type.\u003C\u002Fp>\n\u003Cp>Change custom taxonomy archive’s permalink to “example.org\u002Fpost_type\u002Ftaxonomy_name\u002Fterm_slug”. Can disable this fix.\u003C\u002Fp>\n\u003Cp>And support \u003Ccode>wp_get_archives( 'post_type=foo' )\u003C\u002Fcode> and post type date archive (ex. \u003Ccode>example.com\u002Fpost_type_slug\u002Fdate\u002F2010\u002F01\u002F01\u003C\u002Fcode> ).\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ftorounit\u002Fcustom-post-type-permalinks\" rel=\"nofollow ugc\">This Plugin published on GitHub.\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>Donation: Please send \u003Ca href=\"http:\u002F\u002Fwww.amazon.co.jp\u002Fregistry\u002Fwishlist\u002FCOKSXS25MVQV\" rel=\"nofollow ugc\">My Wishlist\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.paypal.me\u002Ftorounit\" rel=\"nofollow ugc\">Paypal\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Translators\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Japanese(ja) – \u003Ca href=\"http:\u002F\u002Fwww.torounit.com\u002F\" rel=\"nofollow ugc\">Toro_Unit\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>French(fr_FR) – \u003Ca href=\"http:\u002F\u002Fgeoffrey.crofte.fr\u002F\" rel=\"nofollow ugc\">Geoffrey Crofte\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Russian(ru_RU) – \u003Ca href=\"http:\u002F\u002Folart.ru\" rel=\"nofollow ugc\">Olart\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fprofiles.wordpress.org\u002Fnatali_z\" rel=\"nofollow ugc\">Natali_Z\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Also checkout\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fsimple-post-type-permalinks\u002F\" rel=\"ugc\">Simple Post Type Permalinks\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Setting on Code\u003C\u002Fh3>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>register_post_type( 'foo',\n    array(\n        'public' => true,\n        'has_archive' => true,\n        'rewrite' => array(\n            \"with_front\" => true\n        ),\n        'cptp_permalink_structure' => '%post_id%'\n    )\n);\u003C\u002Fpre>\n\u003Ch4>Exclude specific post type\u003C\u002Fh4>\n\u003Cpre>add_filter(  'cptp_is_rewrite_supported_by_foo',  '__return_false' );\n\n\u002F\u002F or\n\nadd_filter(  'cptp_is_rewrite_supported', function ( $support , $post_type ) {\n    if ( 'foo' === $post_type ) {\n        return false;\n    }\n    return $support;\n}, 10, 2);\u003C\u002Fpre>\n","Edit the permalink of custom post type.",200000,1713689,96,71,"2024-10-10T06:12:00.000Z","6.6.5","6.1",[77,78,79,19,80],"address","custom-post-type","link","url","https:\u002F\u002Fgithub.com\u002Ftorounit\u002Fcustom-post-type-permalinks","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-post-type-permalinks.3.5.3.zip",92,{"slug":85,"name":86,"version":87,"author":88,"author_profile":89,"description":90,"short_description":91,"active_installs":92,"downloaded":93,"rating":94,"num_ratings":95,"last_updated":96,"tested_up_to":97,"requires_at_least":98,"requires_php":99,"tags":100,"homepage":101,"download_link":102,"security_score":58,"vuln_count":103,"unpatched_count":11,"last_vuln_date":104,"fetched_at":25},"custom-permalinks","Custom Permalinks","3.1.2","Sami Ahmed Siddiqui","https:\u002F\u002Fprofiles.wordpress.org\u002Fsasiddiqui\u002F","\u003Cp>You want to take control of your WordPress site’s URLs? The \u003Cstrong>Custom Permalinks\u003C\u002Fstrong> plugin gives you the power to set unique, custom URLs for any post, page, tag, or category. This means you can design your site’s structure exactly how you envision it, rather than being limited by WordPress’s default settings. When you set a custom permalink, the original post URL will be automatically redirected to your new, customized URL.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Individual Permalink Control\u003C\u002Fstrong>: Assign unique URLs to any post, page, tag, or category.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Site Structure Control\u003C\u002Fstrong>: Gain ultimate control over how your site’s URLs are organized.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Post Type Permalink Structures (v3.0.0+)\u003C\u002Fstrong>: Define custom permalink structures for each public Post Type using predefined tags, automatically generating URLs upon content creation. You can still manually edit any permalink. If left empty, default settings will apply.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Getting Started: Plugin Settings\u003C\u002Fh3>\n\u003Cp>You can configure Custom Permalinks by navigating to \u003Cstrong>Settings > Custom Permalinks\u003C\u002Fstrong> in your WordPress Dashboard.\u003C\u002Fp>\n\u003Ch3>Available Tags for Permalink Structures\u003C\u002Fh3>\n\u003Cp>When setting up your custom permalink structures, you can use a variety of tags that will dynamically populate the URL. Here’s a breakdown of what’s available:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>%year%\u003C\u002Fstrong>: The year of the post in four digits, eg: 2025\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%monthnum%\u003C\u002Fstrong>: Month the post was published, in two digits, eg: 01\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%day%\u003C\u002Fstrong>: Day the post was published in two digits, eg: 02\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%hour%\u003C\u002Fstrong>: Hour of the day, the post was published, eg: 15\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%minute%\u003C\u002Fstrong>: Minute of the hour, the post was published, eg: 43\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%second%\u003C\u002Fstrong>: Second of the minute, the post was published, eg: 33\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%post_id%\u003C\u002Fstrong>: The unique ID of the post, eg: 123\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%category%\u003C\u002Fstrong>: A clean version of the category name (its slug). Nested sub-categories will appear as nested directories in the URL..\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%author%\u003C\u002Fstrong>: A sanitized version of the post author’s name.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%postname%\u003C\u002Fstrong>: A clean version of the post or page title (its slug). For example, “This Is A Great Post!” becomes \u003Ccode>this-is-a-great-post\u003C\u002Fcode> in the URL.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%parent_postname%\u003C\u002Fstrong>: Similar to \u003Ccode>%postname%\u003C\u002Fcode>, but uses the immediate parent page’s slug if a parent is selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%parents_postnames%\u003C\u002Fstrong>: Similar to \u003Ccode>%postname%\u003C\u002Fcode>, but includes all parent page slugs if parents are selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%title%\u003C\u002Fstrong>: The title of the post, converted to a slug. For example, “This Is A Great Post!” becomes \u003Ccode>this-is-a-great-post\u003C\u002Fcode>. Unlike \u003Ccode>%postname%\u003C\u002Fcode> which is set once, \u003Ccode>%title%\u003C\u002Fcode> automatically updates in the permalink if the post title changes (unless the post is published or the permalink is manually edited).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_TAXONOMY_NAME%\u003C\u002Fstrong>: A clean version of a custom taxonomy’s name. Replace \u003Ccode>TAXONOMY_NAME\u003C\u002Fcode> with the actual taxonomy name. You can also provide a default slug for when no category\u002Ftaxonomy is selected by using \u003Ccode>??\u003C\u002Fcode> (e.g., \u003Ccode>%ctax_type??sales%\u003C\u002Fcode> will use “sales” as a default).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_parent_TAXONOMY_NAME%\u003C\u002Fstrong>: Similar to \u003Ccode>%ctax_TAXONOMY_NAME%\u003C\u002Fcode>, but includes the immediate parent category\u002Ftag slug in the URL if a parent is selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%ctax_parents_TAXONOMY_NAME%\u003C\u002Fstrong>: Similar to \u003Ccode>%ctax_TAXONOMY_NAME%\u003C\u002Fcode>, but includes all parent category\u002Ftag slugs in the URL if parents are selected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>%custom_permalinks_TAG_NAME%\u003C\u002Fstrong>: Developers have the flexibility to define their own custom tags(replace \u003Ccode>_TAG_NAME\u003C\u002Fcode> with your desired name). To ensure these tags resolve to the correct permalinks, simply apply the \u003Ccode>custom_permalinks_post_permalink_tag\u003C\u002Fcode> filter.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important Note:\u003C\u002Fstrong> For new posts, Custom Permalinks will keep updating the permalink while the post is in draft mode, assuming a structure is defined in the plugin settings. Once the post is published or its permalink is manually updated, the plugin will stop automatic updates for that specific post.\u003C\u002Fp>\n\u003Ch3>Custom Permalinks: Fine-Tuning with Filters\u003C\u002Fh3>\n\u003Cp>Custom Permalinks offers a range of \u003Cstrong>filters\u003C\u002Fstrong> that empower developers to precisely control its behavior. You can explore all available filters, complete with example code snippets, in our \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub repository\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>For Assistance:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Premium Users:\u003C\u002Fstrong> If you need assistance implementing these filters, please don’t hesitate to reach out to us via our \u003Ca href=\"https:\u002F\u002Fwww.custompermalinks.com\u002Fcontact-us\u002F\" rel=\"nofollow ugc\">Premium contact support\u003C\u002Fa>.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Other Users:\u003C\u002Fstrong> You can also directly reach out to the plugin author via \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fsami-ahmed-siddiqui\u002F\" rel=\"nofollow ugc\">LinkedIn\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Need Help or Found a Bug?\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Support:\u003C\u002Fstrong> For one-on-one email support, consider purchasing \u003Ca href=\"https:\u002F\u002Fwww.custompermalinks.com\u002F#pricing-section\" rel=\"nofollow ugc\">Custom Permalinks Premium\u003C\u002Fa>. While some basic support may be provided on the WordPress.org forums, email support is prioritized for premium users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bug Reports:\u003C\u002Fstrong> If you encounter a bug, please report it on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>. Make sure to provide complete information to reproduce the issue. GitHub is for bug reports, not general support questions.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>If you experience any site-breaking issues after upgrading, please report them on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fcustom-permalinks\u002F\" rel=\"ugc\">WordPress Forum\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsamiahmedsiddiqui\u002Fcustom-permalinks\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa> with detailed information. You can always revert to an older version by downloading it from \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-permalinks\u002Fadvanced\u002F\" rel=\"ugc\">https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fcustom-permalinks\u002Fadvanced\u002F\u003C\u002Fa>.\u003C\u002Fp>\n","A powerful WordPress plugin for full URL control. Set custom permalinks, auto-redirects, and use dynamic tags for ideal site structure and SEO.",100000,2526567,82,116,"2025-10-08T12:56:00.000Z","6.8.5","2.6","7.0",[77,79,19,55,80],"https:\u002F\u002Fwww.custompermalinks.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcustom-permalinks.3.1.2.zip",3,"2024-08-23 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":92,"downloaded":113,"rating":45,"num_ratings":114,"last_updated":115,"tested_up_to":97,"requires_at_least":116,"requires_php":16,"tags":117,"homepage":123,"download_link":124,"security_score":125,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"nginx-helper","Nginx Helper","2.3.5","rtCamp","https:\u002F\u002Fprofiles.wordpress.org\u002Frtcamp\u002F","\u003Col>\n\u003Cli>Removes \u003Ccode>index.php\u003C\u002Fcode> from permalinks when using WordPress with nginx.\u003C\u002Fli>\n\u003Cli>Adds support for purging redis-cache when used as full-page cache created using \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fopenresty\u002Fsrcache-nginx-module#caching-with-redis\" rel=\"nofollow ugc\">nginx-srcache-module\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Adds support for nginx fastcgi_cache_purge & proxy_cache_purge directive from \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FFRiCKLE\u002Fngx_cache_purge\" title=\"ngx_cache_purge module\" rel=\"nofollow ugc\">module\u003C\u002Fa>. Provides settings so you can customize purging rules.\u003C\u002Fli>\n\u003Cli>Adds support for nginx \u003Ccode>map{..}\u003C\u002Fcode> on a WordPress-multisite network installation. Using it, Nginx can serve PHP file uploads even if PHP\u002FMySQL crashes. Please check the tutorial list below for related Nginx configurations.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Tutorials\u003C\u002Fh4>\n\u003Cp>You will need to follow one or more tutorials below to get desired functionality:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fstatic-files-handling\u002F\" rel=\"nofollow ugc\">Nginx Map + WordPress-Multisite + Static Files Handling\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fsingle-site\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fsubdirectories\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress-Multisite (Subdirectories) + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002Fmultisite\u002Fsubdomains\u002Ffastcgi-cache-with-purging\u002F\" rel=\"nofollow ugc\">Nginx + WordPress-Multisite (Subdomains\u002Fdomain-mapping) + fastcgi_purge_cache\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Feasyengine.io\u002Fwordpress-nginx\u002Ftutorials\u002F\" rel=\"nofollow ugc\">Other WordPress-Nginx Tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Cleans nginx's fastcgi\u002Fproxy cache or redis-cache whenever a post is edited\u002Fpublished. Also does a few more things.",6119694,31,"2025-08-21T06:49:00.000Z","3.0",[118,119,120,121,122],"cache-purge","fastcgi","nginx","permalinks","redis-cache","https:\u002F\u002Frtcamp.com\u002Fnginx-helper\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fnginx-helper.2.3.5.zip",100,{"slug":127,"name":128,"version":129,"author":130,"author_profile":131,"description":132,"short_description":133,"active_installs":92,"downloaded":134,"rating":83,"num_ratings":135,"last_updated":136,"tested_up_to":97,"requires_at_least":137,"requires_php":16,"tags":138,"homepage":143,"download_link":144,"security_score":125,"vuln_count":11,"unpatched_count":11,"last_vuln_date":24,"fetched_at":25},"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.",856653,33,"2025-11-07T13:46:00.000Z","5.0",[139,140,141,142],"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":146,"codeSignals":158,"taintFlows":190,"riskAssessment":191,"analyzedAt":197},{"hooks":147,"ajaxHandlers":154,"restRoutes":155,"shortcodes":156,"cronEvents":157,"entryPointCount":11,"unprotectedCount":11},[148],{"type":149,"name":150,"callback":151,"file":152,"line":153},"action","admin_menu","jmsPluginAdmin","jms-urlrewrite-rule.php",28,[],[],[],[],{"dangerousFunctions":159,"sqlUsage":160,"outputEscaping":162,"fileOperations":11,"externalRequests":11,"nonceChecks":29,"capabilityChecks":29,"bundledLibraries":189},[],{"prepared":11,"raw":11,"locations":161},[],{"escaped":163,"rawEcho":164,"locations":165},4,10,[166,169,171,173,175,178,180,182,185,187],{"file":152,"line":167,"context":168},150,"raw output",{"file":152,"line":170,"context":168},154,{"file":152,"line":172,"context":168},182,{"file":152,"line":174,"context":168},186,{"file":176,"line":177,"context":168},"template\\fixed_url_rules.php",16,{"file":176,"line":179,"context":168},23,{"file":176,"line":181,"context":168},38,{"file":183,"line":184,"context":168},"template\\post_url_rules.php",15,{"file":183,"line":186,"context":168},22,{"file":183,"line":188,"context":168},37,[],[],{"summary":192,"deductions":193},"The \"jms-url-rewrite-rule\" plugin v1.0.0 presents a generally positive security posture based on the provided static analysis.  The absence of any reported CVEs and the fact that all SQL queries utilize prepared statements are strong indicators of good security practices.  Furthermore, the plugin doesn't appear to expose a broad attack surface through AJAX handlers, REST API routes, shortcodes, or cron events without proper authentication or permission checks, which is commendable.  The presence of nonce and capability checks, even if limited in number, suggests an awareness of common WordPress security mechanisms.\n\nHowever, a significant concern arises from the low percentage (29%) of properly escaped output. This indicates a potential for Cross-Site Scripting (XSS) vulnerabilities if user-supplied data or dynamic content is not consistently sanitized before being displayed to users. While no taint flows were identified in this analysis, a high rate of unescaped output can still be a precursor to such issues, especially if the plugin evolves or integrates with other components. The lack of identified dangerous functions and file operations is a positive sign, but the output escaping remains a notable weakness that requires attention.\n\nIn conclusion, the plugin demonstrates a good foundation in avoiding direct vulnerabilities like raw SQL or exposed entry points. Its vulnerability history is clean, which is a positive sign. The primary area for improvement and a source of potential risk lies in the inconsistent handling of output escaping. Addressing this weakness will be crucial for strengthening the plugin's overall security.",[194],{"reason":195,"points":196},"Low percentage of properly escaped output",6,"2026-03-17T06:13:56.802Z",{"wat":199,"direct":212},{"assetPaths":200,"generatorPatterns":207,"scriptPaths":208,"versionParams":209},[201,202,203,204,205,206],"\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fcss\u002Fbootstrap.min.css","\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fcss\u002Ffont-awesome.min.css","\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fcss\u002Fstyle.css","\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fjs\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fjs\u002Fjquery-3.1.1.min.js","\u002Fwp-content\u002Fplugins\u002Fjms-url-rewrite-rule\u002Fassets\u002Fjs\u002Fscript.js",[],[205,204,206],[210,211],"jms-url-rewrite-rule\u002Fassets\u002Fcss\u002Fstyle.css?ver=","jms-url-rewrite-rule\u002Fassets\u002Fjs\u002Fscript.js?ver=",{"cssClasses":213,"htmlComments":216,"htmlAttributes":217,"restEndpoints":220,"jsGlobals":221,"shortcodeOutput":223},[214,215],"jms-post-url-rewrite-form","jms-fixed-url-rewrite-form",[],[218,219],"data-toggle=\"tooltip\"","title=\"Copy to clipboard\"",[],[222],"jms_global_vars",[]]