Default Permalink is a WordPress plugin that prevents multi-byte (URL-encoded) slugs in the default permalink. Auto-generated slugs like %e3%81%82... are replaced with a readable slug such as post-123. A multi-byte slug is kept as-is when the user has explicitly specified it.
Usage
After installing, just check “Enable” under “Settings” → “Default Permalink” and multi-byte slugs are replaced automatically on save. Choose from three slug formats — post type and ID, post date and ID, or a random string — and select which post types are targeted. A bulk conversion tool for existing posts is also included (old URLs get a 301 redirect).
Documentation (for developers)
Technical details for developers: the exact conditions of slug replacement hooked into the wp_unique_post_slug filter, the list of options, and how to customize the generated slug with the default_permalink_slug filter.
FAQ
Answers to common questions: “I enabled it but slugs are not replaced”, “What happens to a slug I specified myself?”, “Do old URLs break after converting?” and more.
Changelog
The latest version is 1.5.1. Version 1.5 added an admin notice on slug replacement and a bulk conversion tool for existing multi-byte slugs. See the changelog for the details and downloads of every release.
Requirements
| WordPress | 4.7 or later (tested up to 7.0) |
| PHP | 7.4 or later |
| License | GPLv2 or later |