WordPress author archive URLs use the /author/ base by default, but you can change the base and customize individual author slugs with a plugin or custom code.
Custom author permalinks can make author archive URLs easier to read, align them with the language of a website, or fit a site's URL conventions. For example, a website could use /writer/ instead of the default /author/.
This guide explains what author archives are, how WordPress handles their URLs, and how to change the archive base or slug using a plugin or a code snippet. It also covers how to redirect old URLs after making these changes.

Key Takeaways
- WordPress author archive URLs use the
/author/base by default, but the base and individual author slugs can be changed with a plugin or custom code. - The admin area offers no built-in control over either the author base or an individual author slug, so editing them requires a plugin or extra code
- After changing an author base or permalink structure, the rewrite rules must be flushed and old author URLs should be redirected to avoid "404" errors.
What Are Author Archive Pages?
A WordPress author archive is a page that lists posts published by a specific user. Once a user has published at least one post, an archive can be available for that user. There is no need to create the page manually.
Many themes display an author archive link in the post meta section, usually at the bottom of a post. This provides an easy way to open the author's archive and view their other posts.
To link directly to one of these pages, two built-in functions are available:
get_author_posts_url()
and
get_the_author_posts_link()
.

How WordPress Builds Author Permalinks
WordPress builds author archive URLs from an author permalink structure managed by the
WP_Rewrite
class. The default structure uses the /author/ base followed by the author's slug.
/author/%author%
For example, an author archive for John Doe could use:
https://example.com/author/john-doe
The URL has two main components:
- Author base:
The static part, such as /author/, identifies the URL as an author archive. - Author slug:
The dynamic part, such as john-doe, identifies the individual author. It is generated when the author is added to the site.
The author base and author slug control different parts of an author URL. Changing the author base changes the URL structure used for all author archive pages, while changing an author slug affects the URL of a specific author.
For example, changing the base from /author/ to /writer/ changes:
https://example.com/author/john-doe → https://example.com/writer/john-doe
Changing John's slug from john-doe to john-smith changes the individual author URL while leaving the base unchanged.
https://example.com/author/john-doe → https://example.com/author/john-smith
Why Change Author Permalinks?
Changing an author permalink can make it easier to read, better suited to your site's language, and more consistent with its URL structure. A default
/author/
base may not always provide enough context.
Customized author URLs can help visitors understand exactly who is behind your website's content, highlighting their specific role. For example, a publication that refers to its contributors as "writers" may use
/writer/
instead of
/author/
.
To prevent URL conflicts, make sure that the new permalink base for author archives is not already used by a page, custom post type or taxonomy.
- Keep /author/ when the default structure already fits the site.
- Use a different base, such as /autor/ or /writer/, when it better matches the site's profile.
- Use custom author slugs when public author names should differ from account-related identifiers.
- Use an @ format when you want the URLs to resemble social media handles.
Changing Author URLs in WordPress
Method 1: Edit Author Slug Plugin
The Edit Author Slug plugin lets you customize author URLs from the WordPress dashboard without writing PHP code.
You can change the slug for an individual author or set a custom author base. To edit an author URL:
- Open "Users -> All Users".
- Edit the user whose author URL you want to change.
- Locate the Edit Author Slug section.
- Enter a new slug or select one of the provided options.
- Save the user profile.
Author slugs are not the only thing you can adjust. The plugin also allows you to change the author base in the permalink structure and use different bases for different user roles.
To change the author base site-wide, go to "Settings -> Edit Author Slug". Within the Author Base field, you can replace the default /author/ value with /writer/, /team/, or any base you prefer.
Method 2: Change Author URLs With Code
You can change the author base without installing another plugin by using a small PHP snippet. This option works well for users who are comfortable maintaining code in a child theme or custom plugin.
The
author_base
property in the WP_Rewrite class controls the URL base used for author archives. The code snippet below shows how to replace /author/ with a different base.
function pm_change_author_base() {
	global $wp_rewrite;
	$wp_rewrite->author_base = 'writer';
}
add_action( 'init', 'pm_change_author_base' );
Add the code to the functions.php file of your child theme, or use a custom code snippets plugin. After adding the code, flush the rewrite rules.
How to Use @ Handles in Author URLs
You can change not only the author base in author URLs, but the entire permalink structure as well. This allows you to use formats such as social-media handles, for example /@john-doe instead of /author/john-doe/.
Since this changes the full permalink structure rather than only the author base, a different filter hook is required.
The example below removes the author base from the URL structure and adds an @ prefix to author URLs.
function pm_change_author_structure() {
	global $wp_rewrite;
	$wp_rewrite->author_structure = '/@%author%';
}
add_action( 'init', 'pm_change_author_structure' );
How to Change an Individual Author Slug
Each author slug is stored in the user_nicename column of the
wp_users
table. Since the dashboard does not provide a field for changing it, updating the slug without a plugin requires editing this column directly.
To update the slug, use a SQL query like the one below. Make sure to change wp_ to your site's table prefix and replace the user_login name and new slug with the appropriate values.
UPDATE wp_users SET user_nicename = 'john-writer' WHERE user_login = 'johndoe';
Extra Steps After URL Changes
Changing an author permalink creates a new URL. The previous URL may still be used by search engines, external websites, bookmarks, feeds, or internal content. Without a redirect, these links may lead to a 404 error.
- Redirect old author URLs
For an existing site, redirect each previous author URL to its new URL. This keeps existing links working after the permalink change. - Flush rewrite rules
After changing the author base or permalink structure, flush the rewrite rules to apply the new URL structure. Go to Settings → Permalinks and click Save Changes.
Hardening Author Archives Against ID Enumeration
Changing the canonical author URL does not, by itself, prevent access through the default URL format that uses the
?author=ID
query parameter.
Author ID enumeration attack uses the
author
GET parameter to test sequential user IDs. When pretty permalinks are enabled, a request using this parameter may be redirected to the correct author URL, e.g.:
https://example.com/?author=1 → https://example.com/author/admin
The resulting URL can reveal the author's public slug. If an author's public slug is the same as the login name used to access the admin dashboard, exposing that slug may make brute-force attacks easier.
A simple code snippet can intercept these requests and redirect bots to the homepage, so the admin login stays hidden rather than disclosed.
add_action( 'template_redirect', function () {
	if ( isset( $_GET['author'] ) && ! is_admin() ) {
		wp_redirect( home_url() );
		exit;
	}
} );
?author=ID
pattern. Other methods may still expose an admin login name, including REST API responses or functionality provided by third-party plugins.Frequently Asked Questions
Why the Author URL Returns a 404 Error
A stale rewrite rules is the most common cause. Go to "Settings -> Permalinks" and click Save Changes button to flush the rewrite rules.
If the error continues, check whether the new author base conflicts with another URL structure or whether custom rewrite code is overriding the expected behavior.
For old author URLs, redirect each URL to its corresponding new URL. Do not redirect all old author URLs to one unrelated page (e.g. homepage).
Can I Change the Author URL From the Dashboard?
WordPress does not provide a built-in setting to change an individual author slug or the global author URL base. An author slug is generated when the user is added to the database.
Changing either value requires a plugin or custom code.
Does Changing an Author Slug Change the Posts URLs?
No. Changing an author slug only changes the URL used to access the author archive. It does not affect which posts are assigned to the user, nor does it change the URLs of individual posts.


Leave a Reply