Skip to content
WordPress

Author Archives in WordPress: SEO and Schema Setup

WordPress author archive pages are underused SEO and credibility assets. This guide covers custom templates, profile fields, single vs multi-author SEO, and Person schema markup.

Author Archives in WordPress: SEO and Schema Setup

WordPress automatically creates an archive page for each registered user who has published at least one post — accessible at yoursite.com/author/username/. By default, this page shows all posts by that author in reverse chronological order with no additional customisation. The WordPress author archive is often the most neglected part of a WordPress site’s template system, showing generic theme output when it could be a rich, personalised landing page that builds credibility, improves SEO, and reduces visitor bounce rates from author-specific traffic. You’ll find the complete rundown in our Complete Guide to WordPress How.

WordPress Author Archive — How It Works

The WordPress author archive is a standard WordPress archive page, generated by the theme’s template hierarchy. WordPress checks for template files in this order: author-{nicename}.php (for a specific author), author-{id}.php (for a specific author by ID), author.php (for all authors), archive.php (the generic archive template), and finally index.php. Most themes do not include a dedicated author.php template — they fall back to archive.php which shows a generic post list without any author-specific customisation.

The author object is available on WordPress author archive pages through WordPress’s queried object system. get_queried_object() returns the current author’s WP_User object, giving access to all user data: $author = get_queried_object(); echo $author->display_name; echo get_avatar($author->ID, 128); echo $author->description;. This data populates an author bio section at the top of the archive, transforming the generic post list into a personalised author page. The description field contains the biographical info written in Users → Edit Profile → Biographical Info — encouraging authors to fill in this field turns every author archive into a content-rich landing page without additional plugins.

Creating a custom WordPress author archive template: create author.php in the child theme folder → copy the structure from the theme’s archive.php → add an author bio section at the top using get_queried_object() data. For author-specific templates (one layout for the lead author, another for contributors), create author-{nicename}.php files — WordPress loads the nicename-specific template only for that author and falls back to author.php for everyone else. Our guide on creating a WordPress child theme covers the child theme file structure where author template overrides should be placed to survive parent theme updates.

Customising Author Profiles and Archive Pages

The data available on a WordPress author archive extends well beyond display name page extends well beyond the basic display name and bio. WordPress’s user meta system stores additional author information that can be displayed on the archive to build credibility and context for the author’s content.

Default user profile fields for the WordPress author archive accessible via get_the_author_meta(): user_url (the author’s website), user_email (for generating Gravatar), description (biographical info), and all custom fields added via the author meta. Extend the author profile form to include custom fields using the user_contactmethods filter — this adds custom fields like Twitter handle, LinkedIn URL, or job title to the Edit Profile page in the WordPress admin. Add to functions.php:

add_filter('user_contactmethods', function($methods) {
    $methods['twitter']   = 'Twitter URL';
    $methods['linkedin']  = 'LinkedIn URL';
    $methods['job_title'] = 'Job Title';
    return $methods;
});

These custom fields are retrievable on the WordPress author archive using get_the_author_meta('twitter', $author->ID). Display them in the author bio section as social links or credentials alongside the existing bio text and avatar. For multi-author publications, richer author profiles — with real photos (uploaded via the user’s profile Avatar field, if the theme supports it, or via a plugin like User Avatar), social links, article counts, and expertise areas — significantly increase the credibility signal of author-attributed content, which Google’s Quality Rater Guidelines identify as an important trust indicator for EEAT (Experience, Expertise, Authoritativeness, Trustworthiness).

SEO Optimisation for WordPress Author Archives

The WordPress author archive has specific SEO considerations that differ from standard blog archives. Author archives can create duplicate content issues — if the site has only one author whose posts also appear on the main blog archive, the author archive is a near-duplicate of the homepage.

For single-author sites, the author archive adds no unique value — it is the same content as the blog index with a slightly different URL. The correct SEO configuration is to redirect the author archive to the homepage: add to functions.php or a plugin: add_action('template_redirect', function() { if (is_author()) { wp_redirect(home_url(), 301); exit; } });. This redirects all author archive requests to the homepage, consolidating PageRank and preventing the thin-content author page from competing with the main index. Alternatively, use an SEO plugin to noindex the author archive without redirecting it — Rank Math: Titles & Meta → Authors → “No Index Author Archives.” Either approach prevents the duplicate content issue on single-author sites.

For multi-author publications where each WordPress author archive contains a meaningful unique collection of posts, the archive should be indexed but needs unique meta descriptions that distinguish each author’s page. Use an SEO plugin’s dynamic meta description for author archives: in Rank Math’s Titles & Meta → Authors → Meta Description, use the %user_description% variable to insert each author’s biographical info as the meta description — ensuring every author’s archive page has a unique, personalised meta description generated from their profile. Ensure the author bio description field in each user’s profile is filled in (Users → Edit Profile → Biographical Info) — this becomes both the on-page bio text and the meta description for the author’s WordPress author archive. According to Google’s Search Quality Evaluator Guidelines, author expertise and credentials are explicit signals for content quality evaluation — a well-optimised author archive that establishes author authority contributes to overall site EEAT signals.

Schema Markup for Author Archives

Person schema markup on the WordPress author archive provides structured data that helps search engines understand the author’s identity, credentials, and content relationship. This schema can contribute to knowledge panel generation for prolific authors and improves the author attribution clarity in search results.

Rank Math automatically generates Person schema on author archive pages when configured: Rank Math → Titles & Meta → Authors → Schema Type → Person. Fill in the schema properties: name (the author’s display name), description (biographical info), sameAs (URLs for the author’s social profiles, Wikipedia page, or other identity-confirming sources). The sameAs property is particularly valuable for establishing author identity across the web — linking to the author’s LinkedIn, Twitter, and any Wikipedia or authoritative biography page connects the WordPress content attribution to the author’s verified online presence. This disambiguates between authors with common names and strengthens the entity connection between the site’s content and the author’s overall web presence.

For sites adding schema to the WordPress author archive without Rank Math or Yoast without Rank Math or Yoast, output JSON-LD directly in the author.php template file:

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Person",
    "name": "<?php echo get_the_author_meta('display_name', $author->ID); ?>",
    "description": "<?php echo get_the_author_meta('description', $author->ID); ?>",
    "url": "<?php echo get_author_posts_url($author->ID); ?>"
}
</script>

Validate the generated schema using Google’s Rich Results Test after implementation to confirm the JSON-LD is valid and recognized. Our guide on adding Google Analytics to WordPress covers the measurement framework that helps track how author archive pages perform in terms of traffic, engagement, and conversion — metrics that confirm whether the author page optimisation is effectively capturing and retaining author-specific organic traffic. Reviews from major SEO publications confirm that well-structured author archive pages with Person schema and populated author bio fields measurably improve EEAT signals for content-heavy WordPress sites competing in competitive search verticals.

Plugins that extend the WordPress author archive with rich author profile features — Co-Authors Plus (for multiple authors per post), PublishPress Authors (for author teams), and Ultimate Member (for full member profiles) — provide functionality that custom code in functions.php and template files achieves but at higher development cost. Co-Authors Plus allows multiple authors to be credited on a single post and displays each credited author in the author archive correctly — the post appears in every credited author’s archive, not just the primary author’s. This is essential for collaborative publications where multi-author posts should be discoverable through each contributor’s author archive page. PublishPress Authors adds guest author profiles — people who appear as authors without needing a WordPress user account — extending the author system to freelancers, interview subjects, and external contributors without creating login accounts for each.

The WordPress author archive URL structure can be changed from the default /author/username/ format to a custom prefix using the author_base property in the $wp_rewrite global. Add to functions.php: function custom_author_base() { global $wp_rewrite; $wp_rewrite->author_base = 'journalist'; } add_action('init', 'custom_author_base'); — then navigate to Settings → Permalinks → Save Changes to flush rewrite rules. The author archive URLs now appear at /journalist/username/ rather than /author/username/. This customisation is useful for editorial sites where “author” is not the right terminology (journalism sites prefer “journalist,” agency sites prefer “team member”), and for sites that had author pages at a custom URL on a previous platform and need to maintain URL consistency during a WordPress migration. After changing the author base, redirect the old /author/ URLs to the new /journalist/ URLs in .htaccess to preserve any existing inbound links.

Pagination on the WordPress author archive paginates the author’s posts across multiple pages when the total post count exceeds the blog’s Posts Per Page setting (Settings → Reading → Blog pages show at most X posts). For prolific authors with hundreds of posts, pagination works identically to the main blog archive — WordPress generates /author/username/page/2/, /author/username/page/3/, etc. Configure the number of posts per author archive page independently of the blog post count using a pre_get_posts filter: add_action('pre_get_posts', function($query) { if ($query->is_author() && $query->is_main_query()) { $query->set('posts_per_page', 12); } }); — this sets 12 posts per author archive page regardless of the global setting, allowing a different layout density on author archives compared to the main blog. Our guide on fixing WordPress excerpt not showing covers the template function differences between archive templates that apply when the author archive template needs to display excerpts differently from the main blog archive.

Disabling the WordPress author archive entirely on sites where it presents security or privacy concerns — exposing usernames, email hashes, or profile information for users who should not have public-facing profiles — requires both suppressing the archive URL and removing the author information from feeds and REST API responses. Add to functions.php: add_action('template_redirect', function() { if (is_author()) { global $wp_query; $wp_query->set_404(); status_header(404); get_template_part(404); exit; } }); — this returns a 404 for all author archive URLs without redirecting, which is the safest approach for sites with sensitive author information. Remove author slugs from REST API responses by filtering the user endpoint. This combination removes all traces of author profiles from public-facing site surfaces while preserving the WordPress user system for internal use. Pair with a security plugin that also removes the ?author= query string discovery vector, which exposes usernames even when the /author/ permalink archive is disabled.

The WordPress author archive integrates with WordPress’s built-in post format system — if the theme supports post formats (video, gallery, quote, link, status, etc.), the author archive can filter posts by format using URL parameters: /author/username/?post_format=video. This filtering is not natively implemented as a standalone UI feature — it requires either a custom navigation UI in the author template that constructs these filtered URLs, or a plugin that adds format-based filtering to archive pages. For multi-format publications where some authors specialise in video content while others write long-form articles, format-filtered author archive views help visitors quickly find the specific content type they prefer from a given author without scrolling through a mixed-format post list.

Testing the WordPress author archive after customisation requires checking behaviour for three distinct user states: a logged-in administrator (who sees the admin bar), a logged-in subscriber (who may see personalised content), and a logged-out visitor (who represents the vast majority of author archive traffic). Each state may render the template differently depending on whether any conditional content is shown to authenticated users. Run through a checklist: load the author archive URL while logged out → verify the author bio, posts list, and pagination work correctly → check that no draft posts or private posts are visible → confirm the page title and meta description are correct (check page source) → verify schema markup is present (view source and search for “application/ld+json”) → test pagination by navigating to page 2 of the author archive if posts_per_page is low enough to trigger it. This systematic test ensures the polished author page experience works for all visitor types before promoting author archive pages in social sharing or internal linking campaigns.

Social proof elements on the WordPress author archive — total post count, years of experience, publication credits, or testimonials — are retrieved from user meta and post counts and displayed in the author bio section of the archive template. WordPress provides count_user_posts($author->ID) to display the number of published posts by the author, and the registration date via $author->user_registered to calculate years of contribution. Displaying “Written 127 articles since 2019” beneath the author name adds immediate credibility context that generic author bios without this quantified data cannot match. For multi-author publications where author credibility directly affects reader trust and content engagement, these data-driven credibility signals on the author archive page translate to measurably longer session durations and higher rates of exploration through the author’s related content.

Nikolas Lamprou

Nikolas Lamprou (MSc; GCFR, SC-200, Security+) has been working with computers professionally since 2009 — starting with web development and e-commerce, and moving into cybersecurity over the years. Based in Greece, he brings over 15 years of real-world IT experience to SolveTechToday, where he writes about Windows fixes, software reviews, security tools, and AI applications. His goal is straightforward: cut through the noise and give readers clear, honest guidance on the tech decisions that matter.

Stay Ahead

Fix your next problem before it starts

Get the week's best Windows fixes, software picks, and security guides delivered straight to your inbox. No noise, just solutions.

Press ESC to close · Try "Windows 11" or "Chrome"