Description
ToSlug is a WordPress plugin that automatically generates URL slugs for posts. It can create random alphanumeric or MD5-based slugs to help obscure predictable permalink patterns.
Features
- Automatically generate a random or MD5 slug when a new post is first saved
- Configurable slug length (8-32 characters)
- Optional setting to regenerate slugs on every post update
- Choose which public post types are supported (Post, Page, and custom post types; attachments are excluded)
- Track managed posts with post meta so existing content is not rewritten by accident
- Sample slug preview on the settings page
- Batched bulk processing with an ID cursor for larger sites
- Cleans up options and managed-post markers on uninstall
Links
- Plugin homepage: https://www.lezaiyun.com/toslug.html
Installation
- Download the plugin zip file.
- In WordPress admin, go to Plugins Add New.
- Click Upload Plugin.
- Select the zip file and install it.
- Activate the plugin.
FAQ
-
Will changing URL slugs affect SEO?
-
Yes, it can. Changing an existing post slug changes its public URL. Back up your database before using “Reset existing slugs” or bulk-processing all posts.
-
Which post types are supported?
-
Post, Page, and other public custom post types can be selected on the settings page. Attachment is not listed.
-
If “Reset existing slugs” is disabled, will old posts be changed?
-
No. The plugin only generates slugs for new posts, or posts that are still auto-drafts / have an empty slug. Existing content keeps its slug during normal edits.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“ToSlug” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “ToSlug” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.1
- Load admin JavaScript and CSS via wp_enqueue_script / wp_enqueue_style
- Remove inline script and style attributes from the settings page
1.2.0
- Fix: New posts with a title-based slug were not always replaced
- Refactor: Use wp_insert_post_data instead of a recursive wp_unique_post_slug filter and a second save_post update
- Add: _toslug_generated meta to distinguish new posts from legacy content
- Add: Slug preview on the settings page and a confirm dialog for bulk “process all”
- Coding standards: Escaping, wp_safe_redirect, Domain Path, uninstall.php
- Improve: Bulk processing uses an ID cursor; remove unnecessary rewrite flush and full cache flush
- Exclude the attachment post type
1.1.1
- Bump version to 1.1.1
- Add slug length setting (8-32)
- Add supported post types setting (Post / Page / CPT)
- Align automatic generation and bulk processing for multiple post types
1.1.0
- Bump version to 1.1.0
- Improve random slug generation with a more reliable entropy source
- Add unified uniqueness handling via wp_unique_post_slug
- Fix possible recursive save_post updates
- Add sanitize callbacks and whitelist validation for settings
- Improve bulk processing validation and failure reporting
- Process bulk updates in batches for large sites
- Standardize text domain to toslug

