By default, all author archive pages use the /author/ base in their URLs. For most sites, this works perfectly fine, but it might not fit every website. While there is no built-in way to change this, there are a few workarounds that make it possible.
Replacing the generic "author" in URLs to a word that fits your content, can make your URLs more meaningful to the visitors. Plus, it also allows to localize it so they match the language of your site.
This workaround can be implemented in more than one way, and using a plugin is generally the fastest and simplest one. If you prefer a lightweight solution and avoid extra plugins, using a small code snippet s a clean and effective alternative.
What Are Author Pages For?
Every user who publishes posts gets their own author page, or sometimes called an author archive. This page automatically lists all of that user’s posts in one place.
This improves a experience for readers by allowing them to quickly access more content from the same person. The author page link usually appears in a dedicated area at the top or bottom of each post.

How Default Permalinks Look Like?
From a technical perspective, the $wp_rewrite global object controls how all URLs are structured, including author archives. The default author URL format is:
/author/%author%
For instance, an author page for John Doe would be:
https://example.com/author/john-doe
The URL is unique for every author and has two key parts:
- The Base:
The static part, /author/, indicates this is an author archive page. - The Slug:
The dynamic part that follows is unique for each user (it defaults to the login username).
Unfortunately, there is no built-in option to edit either of these. Even though you can open a user’s profile in the admin dashboard to check the slug ("Username"), it cannot be edited there.
Changing Author URLs in WordPress
"Edit Author Slug" Plugin
For beginners or anyone who prefers a simple, code-free solution, the easiest way is to use Edit Author Slug, one of the most recommended plugins for this task.
Once you install it, you can customize author permalinks, including both the base and the slug, directly from the admin dashboard without touching a single line of code.
No-Plugin Method
How to Change the Author Slug?
Every time a new user is added, the author slug is automatically set and saved in the "user_nicename" column of the wp_users table. While it is not possible to edit it later via the dashboard, it is possible to modify it directly in the database if you are comfortable working directly in the database.
How to Change the Author Base?
Rewriting the author base, such as changing "author" to "writer", is safer than editing individual author slugs, since you can easily revert the change by disabling the code.
To get started, copy the code snippet below and make any necessary adjustments.
function pm_change_author_base() {
	global $wp_rewrite;
	$wp_rewrite->author_structure = 'user/%author%';
}
add_action('init', 'pm_change_author_base', 10);
Make sure that your new base does not conflict with any existing page or category. For example, if you have a child pages for "writers" and set the same author base, WordPress will not be able to recognize them.
You can use a plugin to add code snippet to your website, but the simplest and most straightforward way is use a child theme. Once it is in place, make sure to flush the rewrite rules so your changes take effect.
How to Convert Author Permalinks to Social-Style Handles?
The @ symbol has become a standard way to indicate user profiles across social platforms. One of the ways you can enhance the snippet from the previous section is by adopting this format.
By making a simple adjustment in the code snippet, you can set up author URLs that start with an @ followed by the username.
function pm_change_author_base() {
	global $wp_rewrite;
	$wp_rewrite->author_structure = '/@%author%';
}
add_action('init', 'pm_change_author_base', 10);
Redirecting Old Permalinks
If you modify the author URL structure, old links will no longer function. That means links from other websites, search results, or internal content will result in 404 “Not Found” errors, which can damage user experience and SEO.
To prevent this, you can use one more code snippet to set-up a fallback redirect function:
function pm_redirect_old_author_urls() {
	global $wp;
	if (is_404() && preg_match('#^author/([^/]+)/?$#', $wp->request, $matches)) {
		$author_slug = $matches[1];
		$new_url = home_url('/@' . $author_slug);
		wp_redirect($new_url, 301);
		exit;
	}
}
add_action('template_redirect', 'pm_redirect_old_author_urls');



Leave a Reply