Author profile system
Build named author bylines, profile pages, and an archive in seven steps
A blog with one writer needs no author system — the site title carries the byline. The minute a second voice joins, every post needs a name on it and a profile page behind that name.
This recipe builds the full author system in SGEN: a dedicated Author Custom Object, a bio / photo / social-links field group, a Post Author field on each blog entry, and an /authors/ archive. Once it is in place, adding a fourth or fifth writer takes two minutes — no schema work, no template work.
What is this for?
Use this recipe when the site is publishing posts from more than one writer and readers need to see who wrote what. The result: every post carries a real byline that links to a profile page; every profile page lists the writer's posts; an /authors/ archive shows the full team.
The end state:
- A published Author Custom Object with its own permalink at
/authors/<slug>/. - An Author Bio field group (bio, photo, twitter, linkedin, website).
- A Post Author field group on every Blog Post entry that links it to one Author record.
- Three author records ready to attribute existing posts to.
- Profile pages and an archive that render automatically from the templates.
Good use cases
Multi-writer editorial blog. Three writers, eight posts a month, every post tied to one writer. Readers click the byline and see that writer's bio, photo, and posts.
Guest contributors. Internal team plus occasional guest writers. Guest writers get their own Author records — same fields, same profile shape — without admin login access.
Subject-matter authors. Each writer covers a topic (roasting, sourcing, brewing). Readers who like one writer can browse that writer's profile page for everything they've written.
What NOT to use this for
- A staff directory. Use a separate "Team Member" Custom Object if the goal is org-chart pages. Don't mix authorship records with HR pages.
- User account management. Author records are content, not user accounts. Writers who need admin access get a SGEN user role separately.
- Reader-submitted profiles. Custom Fields are admin-side. For visitor data, use SGEN Forms.
How this connects to other features
- Custom Objects — the Author type is a Custom Object. The slug, permalink, and template assignments work the same as every other Custom Object. See Create custom object types.
- Custom Fields — the bio / photo / social-links group is a Custom Field group. Locations checkboxes bind it to the Author type and to Blog Posts at the same time. See Create a custom field group.
- Blog — the Post Author field lives on every Blog Post edit screen. The byline shortcodes resolve per post.
- SG-Builder templates — three templates render the system: Author Detail, Author Archive, Author Card. Build them first, then assign them when the Author type is published.
Before you start
You are signed in as an Administrator. You have a working blog with at least three published posts. You have three writers' bios, headshots, and social links collected and ready to paste — gathering data mid-build slows the work.
You also have at least the Author Detail SG-Builder template ready, or you are willing to create the Author Custom Object in Draft first, build the templates, then publish.
Where to find it
| Feature | Admin path | Used for |
|---|---|---|
| Custom Objects | Sidebar → Custom Objects | Create the Author type |
| Custom Fields | Sidebar → Custom → Fields | Create the Author Bio and Post Author groups |
| Authors (new panel) | Sidebar → Authors | Fill in author records |
| Blog | Sidebar → Blog | Assign authors to posts |
| Media | Sidebar → Media | Upload headshots and author photos |
The Authors panel only appears after step 1 — it is created when the Custom Object type is saved.
The pre-build checklist before step 1:
| Item | Ready? |
|---|---|
| Author Detail template built in SG-Builder | — |
| Author Archive template built in SG-Builder | — |
| Author Card template (for blog index display) | — |
| Bios collected for 3 writers (2-4 sentences each) | — |
| Headshots uploaded to Media (400 × 400 px min) | — |
| Social links (Twitter, LinkedIn) for each writer | — |
Complete the checklist before starting step 1. A half-built author system with templates missing produces 404s on the public profile pages the moment the Custom Object type is published.
Steps
1. Create the Author Custom Object type
Navigate to Custom Objects. Click + Create Type.
Fill in the form:
| Field | Value |
|---|---|
| Title | Authors |
| Slug | authors |
| Items per page | 12 |
| Items per row | 3 |
| Permalink structure | Post name |
| Status | Draft (publish in step 7) |
Click Create Item. SGEN adds the Authors panel to the sidebar.
2. Create the Author Bio field group
Navigate to Custom → Fields. Click + Add New. Set Title to Author Bio.
Add five fields in this order:
| Label | Internal name | Type |
|---|---|---|
| Bio | bio | Textarea |
| Photo | photo | Image |
twitter | URL | |
linkedin | URL | |
| Website | website | URL |
3. Bind the field group to two locations
Scroll to Locations on the same screen. Tick both:
- Authors — surfaces the five fields on every Author record edit screen.
- Blog — surfaces the same fields on Blog Post edit screens for guest-post inline bios.
Click Create Item. The five fields are now live on both edit screens.
4. Create the three author records
Navigate to Authors in the sidebar. Click Add New. Create three records with these slugs and statuses:
| Title | Slug | Status |
|---|---|---|
| an editor | ada-author | Publish |
| a teammate | grace-author | Publish |
| a developer | alan-author | Publish |
For each record, fill in the bio (two to four sentences), upload the headshot to the Photo field, paste the Twitter and LinkedIn URLs, and save. The Authors list now shows three Published entries.
5. Add a Post Author field on Blog Posts
Navigate to Custom → Fields. Click + Add New. Set Title to Post Author. Add two fields:
| Label | Internal name | Type |
|---|---|---|
| Post Author | post_author | Text |
| Author Slug | author_slug | Text |
Tick Blog in Locations. Set Status to Publish. Save.
The byline block below is ready to paste into a Blog Single SG-Builder template — drop it into an HTML component above the post body:
<div class="author-byline"><img src="[custom_field name=photo]"alt="[custom_field name=post_author]"width="48" height="48"style="border-radius:50%;object-fit:cover;" /><div class="author-byline__text"><a href="/authors/[custom_field name=author_slug]/">[custom_field name=post_author]</a></div></div>The shortcodes resolve per post. Each post's byline reflects the values saved on that post's edit screen.
6. Assign authors to existing posts
Navigate to Blog. Open each post. Scroll to the Post Author field group below the editor. Fill in both fields and save.
| Post title | Post Author | Author Slug |
|---|---|---|
| First post | Ada Lovelace | ada-lovelace |
| Second post | Alan Turing | alan-turing |
| Third post | Grace Hopper | grace-hopper |
The Blog list after assignment shows every post with a named byline. Confirm each row before publishing — a blank author slug means the byline link will not resolve.
7. Publish the Author type and verify
Return to Custom Objects. Open the Authors type. Change Status from Draft to Publish. Save.
Visit /authors/ on the public site. The Author Archive renders three profile cards. Click one — the Author Detail page renders with name, headshot, bio, and social links.
What success looks like
After all seven steps:
/authors/shows three profile cards with photo, name, and short bio./authors/ada-lovelace/,/authors/grace-hopper/, and/authors/alan-turing/each render a full profile page.- Every blog post with filled-in Post Author fields renders a byline linking to that author's profile.
- The Authors panel shows All (3) and Published (3).
- Custom Fields shows two published groups: Author Bio and Post Author.
- Adding a fourth writer takes under three minutes — no template or schema work.
Variations
Single author with no archive. One writer, no need for an archive or byline links. Create the Author Custom Object and one record, fill the fields, but skip publishing the type — use the fields as a structured bio block on the About page via a shortcode. The author archive at /authors/ does not exist because the type is not published.
Author archive as a team page. When every writer is also a public-facing team member, the /authors/ archive doubles as the Team page. Add a Designation and Department field to the Author Bio group. The archive template renders them in the profile card. The About page links to /authors/ instead of a separate team page.
Guest author with a private record. A guest writer appears on one post but the brand does not want a public profile page. Create the Author record as Draft. The byline text still renders on the post using the post-level Post Author field; the link targets the draft record, which returns a 404. Remove the link from the byline template for draft authors.
Multi-language site with translated bios. Each author has two bio entries — one per language. Use the SGEN multi-language module alongside the Author Custom Object. Each language record maps to the same author slug with a locale prefix (/en/authors/ada-lovelace/, /fr/authors/ada-lovelace/). The Author Bio field group is shared; the translated content lives in each locale's record.
What to do if it does not work
The Author type does not appear in the Custom Fields Locations list. The Locations list only shows Custom Object types that have been saved. Confirm the Authors type is saved (the screen heading reads "Edit" not "Create"), then reload the Add New screen.
Author detail pages return a 404. Confirm the Author type Status is Publish, not Draft. Also confirm each Author record's Status is Publish. Both must be published for the public URL to resolve.
The byline block renders blank on a blog post. Confirm the Post Author field group has Blog ticked in Locations. Open the post and confirm the Post Author and Author Slug fields are not empty.
The photo shortcode renders a URL string instead of an image. The Image field outputs the file URL. Wrap the shortcode in an <img> tag with the photo shortcode as the src value.
The Author Archive is empty. The Archive template must include a SGEN loop component pointed at the Authors content type. A static template with no loop renders blank even when records exist.
Anti-patterns
Mixing Author records with user accounts. Author records are content objects — they carry bio and photo, not login credentials. A writer who needs admin access gets a SGEN user role separately. Storing login details in the Author Bio field group creates a security and maintenance problem.
One field group for all content types. Ticking every location on the Author Bio field group surfaces bio fields on unrelated content types. Scope each field group deliberately. If Brew Guides need author info, create a second, lighter field group for that content type rather than expanding the Author Bio scope.
Unpublished Author type with published posts. If the Author type is Draft and individual Author records are Published, the public URLs for those records return 404. The byline shortcode still renders the text — but the link is broken. Always publish the type before publishing the records.
Examples
Reusing the bio fields on a Brew Guides Custom Object. Edit the Author Bio field group. Tick Brew Guides alongside Authors and Blog. The same fields surface on Brew Guide edit screens — no second field group required.
Guest post with no Author record. Fill the post-level Author Bio fields directly on the Blog Post edit screen. The byline renders from post-level values. The guest never appears in the /authors/ archive because no Author record exists for them.
Two separate author pools. A site that uses both internal writers and external contributors creates a second field group named Advisor Bio and ticks a Sourcing Advisors location. The two groups operate independently — separate archives, separate profile pages.
Related recipes
- Blog content calendar — 90-day plan — scheduling and category discipline for multi-author editorial programs
- Case study publishing workflow — a different kind of author attribution: customer voice in long-form content
Related reading
Last updated: 2026-05-25
