I changed the WordPress permalink structure for this blog from “/%postname%-%post_id%” to “/%year%/%monthnum%/%postname%/”, after nearly three years with the old URLs. This is what most WordPress blogs use, and I understand the wisdom of using a trailing slash which indicates directory status with non-virtual URLs, implies the end of the URL, and is expected by most users. Including the post ID was a stupid mistake. I was copying what deviantART does in its post URLs, but the month and date are far better than a meaningless number.
This also matches what I did on my new blog, Composer’s Journey.
The hard part was redirecting all the old URLs to the new URLs. I ended up changing the core file /wp-admin/includes/post.php: where it says “posts_per_page=15” I substituted “posts_per_page=500”. Then I opened a copy of my Manage Posts screen with the old URLs, changed permalink structures to the new URLs, opened a new tab with the Manage Post screen, changed back to the old permalinks, and started copying and pasting the permalinks into a CSV file which I imported into the Redirection plugin. I redirected the original posts and the printable version links, but I was not able to get the comment RSS feed links to redirect (got stuck in an endless loop). No one uses those, fortunately. Copying and pasting 848 URLs was no picnic.
Enjoy the new URLs!