To update your WordPress site’s blog post URL structure to include /blog/ (and translated equivalents for WPML), follow these steps:
- Go to Settings > Permalinks.
- Under Custom Structure, enter: /blog/%postname%/
- Save changes. This changes your English post URLs to /blog/{slug}/.
If you’re not seeing “blog” in WPML > String Translation, it’s likely because WordPress doesn’t register the /blog/ base as a translatable string by default — you need to register it manually using WPML’s filters.
Here’s how to fix it:
Use WPML’s wpml_register_single_string to Register “blog”
Add this to your theme’s functions.php
function register_blog_base_slug_with_wpml() { do_action( 'wpml_register_single_string', 'Permalinks', 'blog slug', 'blog' ); } add_action( 'init', 'register_blog_base_slug_with_wpml' );
Now go to WPML > String Translation, and search for:
- Domain: Permalinks
- Name: blog slug
Then add translations:
- Arabic: مدونة
- German: blog
- Spanish: blog