How do you build a simple WordPress portfolio site as a freelancer?

TL;DR A freelance portfolio site is not a small-business site with the org chart removed. The freelancer is operator and brand at the same time. The entity to verify is a Person, not an Organization. Five things matter, in order….

WordPress portfolio anchored on Person entity and the about page, this post's five-thing freelancer plan.
WordPress portfolio anchored on Person entity and the about page, this post's five-thing freelancer plan.

TL;DR

  • A freelance portfolio site is not a small-business site with the org chart removed. The freelancer is operator and brand at the same time. The entity to verify is a Person, not an Organization.
  • Five things matter, in order. A clear answer to what you do and for whom on the home page. Three to six work samples with client, date, and outcome. An about page with a real photo, a real start year, and your city. A short message-link path. Person structured data with two sameAs links.
  • The pretty multi-purpose theme is rarely the right pick. A simple block theme with one clean case-study template beats a heavy theme with twenty unused demos. The theme is a delivery layer, not the work itself.
  • The about page is the verification anchor. A real photo, a start year, a city, and one voice paragraph feed both the human reader and the entity graph the AI engines traverse.
  • AI helps with structure, not substance. Feed an AI chat your raw project notes and ask for a four-part case-study draft. You bring the voice and the verifiable detail.

You open a freelancer’s website. The hero image is a stock photo of a laptop on a wooden desk. The "Work" page lists three projects with no client names, no dates, and no outcomes.

The "About" page shows a smiling photo and a paragraph that reads like a LinkedIn summary written by a third party. You back-button before scrolling.

The freelancer in this scene is good at the work. The website is fighting the work, not carrying it. The website was built from a "best portfolio themes for freelancers" listicle plus a Saturday afternoon’s editing of demo content. The result is a site that looks fine and earns nothing.

This piece is the version of the same site that earns its keep. Five essentials. Two structured-data fields.

One page to build first. The portfolio that helps a real prospect decide to email you. The portfolio that helps an AI engine name you when someone asks for a freelancer in your field.

Why does a freelance portfolio look different from a small-business site?

A freelancer is the operator, the brand, and the entire org chart at the same time. The website carries fewer pages and a tighter identity story.

The home page is not the storefront. The home page is the elevator pitch. Three sentences and one image, ideally with the city named in the first sentence. A visitor who lands on a freelancer’s home page wants to know who you are before they read what you do.

The about page is not optional. On a small-business site the about page is the third or fourth thing visitors check. On a freelancer’s site the about page is often the first. The visitor is hiring a person, and they want to see the person before reading the proposal.

The entity to verify is a Person, not an Organization. The engines treat the two differently. An Organization has a logo, a founding year, and a list of employees.

A Person has a name, a photo, a job title, and links to outside profiles that confirm the same identity. The freelancer site needs to make Person structured data as visible to the engines as the small-business site makes LocalBusiness structured data visible.

What does a freelance portfolio site actually need to show?

Five things, in this order.

A clear short answer to "what do you do and for whom" on the home page. The first hundred words. The role, the audience, and one sentence of proof.

"I write technical case studies for B2B software companies. Recent clients include three Series A teams in the developer-tools space."

Three to six work samples. Each sample carries the client name (with permission) or a named role (industry and company size if the client is private). The year the work shipped.

A one-line outcome. "Conversion lift on the trial-signup page from 3.1 to 4.6 percent over six weeks." Two without numbers and one with a strong number is fine.

An about page with a real photo, a real start date for independent work, and the city you work from. The about page is the verification anchor for everything else.

A contact path that takes fewer than three clicks from any page. A persistent link in the header. The contact form on its own page with one field for the message and a calendar embed for a fifteen-minute call. No newsletter pop-ups in the way.

Person structured data in the head of the about page that names you, your job title, your photo URL, and links to two outside profiles. The five things. Everything else is decoration.

How do you pick a theme that stays out of the way?

Three signals beat the demo screenshots.

The theme.json file is configured. Open the WordPress admin’s customizer panel. If the theme exposes its colors and typography as design tokens you can edit in one place, the theme.json is doing its job. If every page needs its own custom CSS, the theme will fight you for years.

The theme ships with a single clean case-study template, not twenty multi-purpose demos. A freelancer needs one well-designed case-study layout, repeated. A multi-purpose theme with twenty demos is twenty layouts you will not use plus weight you will pay for on every page load.

The author has shipped at least one update in the last six months. An abandoned theme is a security and compatibility liability. Open the theme’s wordpress.org page.

Read the changelog. If the last update is from 2023, pick a different theme.

The pretty multi-purpose theme with twenty demos is rarely the right pick. The theme is a delivery layer, not the work itself. A simple block theme from the wordpress.org directory is often the better choice.

Twenty Twenty-Five and Twenty Twenty-Four are both reasonable starting points. Both ship with current theme.json conventions. Both stay out of the way.

The longer-form theme-selection walkthrough lives in the walkthrough on choosing a simple WordPress theme. The three signals above are the freelancer-specific shortcut.

How do you organize work samples without a four-week build?

Pick the three most recent samples that ended well.

Name the client (with permission) or name the role. The client name is stronger when you can use it. The role description is the fallback for private projects.

"A Series A developer-tools company" is honest. "A leading enterprise client" is not.

For each sample, write a short page with four parts. The setup in one paragraph. The work in two paragraphs.

The outcome in one paragraph with a number when there is one. One image of the deliverable or a screenshot of the work in production.

Four parts. Fifteen minutes per sample after the first one. The first sample takes longer because you are also defining your case-study template. Samples two through six fill in faster.

Three samples published this Saturday is more useful than ten samples planned and never finished. The portfolio is a working document. Add one sample a quarter as new projects ship. The WordPress case-study post-type walkthrough covers the on-site structure when the working document grows past a dozen samples.

What should the about page tell that LinkedIn does not?

Four things LinkedIn buries or skips.

The city you work from, named in the first paragraph. LinkedIn shows location as a small label under your name. On the about page the city goes in the first sentence. "I work from Austin and have been a freelance technical writer since 2018." The city becomes part of the entity-graph signal the engines pick up.

The start year of independent work, as a number. Not "experienced freelancer." Not "decade of experience." A specific year. "Independent since 2018." The number ties to a verifiable date that the AI engines and a careful prospect can both check.

A photo taken in the last two years at consistent resolution with the LinkedIn photo. The engines compare the two. Large differences create entity-record uncertainty. A consistent recent photo across the about page, the LinkedIn profile, and any professional-association directory makes the Person record stable.

One paragraph in your own voice that explains why you pick the kind of work you pick. Not the LinkedIn third-person bio. The first-person paragraph the prospect needs to read before deciding the conversation is worth their time.

The four pieces feed both the human reader and the entity graph the engines traverse. The reader notices the voice. The engines notice the photo, the year, and the city.

How does Person structured data help AI engines name you specifically?

Person structured data is a labeled block of identity data the engines can read directly. The block lives in the head of the about page. A plugin like Yoast or RankMath emits it from a settings panel. A manual JSON-LD snippet does the same job for the freelancer who likes to edit code.

The fields the engines actually use are short. Name. Job title. Image (URL of the about-page photo). worksFor (Organization name if you trade under one, "self-employed" otherwise). sameAs (an array of URLs to outside profiles).

The sameAs field is the most-used. The engines walk the sameAs links to confirm the identity. LinkedIn. GitHub.

Behance for designers. The local chamber-of-commerce member directory if you are listed. A professional-association profile (Editorial Freelancers Association, IxDA, Society of Authors).

Two sameAs links is enough. Four is better. The links are how the engines decide that the person on your about page and the person on LinkedIn are the same person.

A freelancer who skips Person structured data is asking the engines to guess. Sometimes the guess is right. Sometimes the engines name a different freelancer when a prospect asks for a writer in your specialty. The structured-data block removes the guessing.

What can AI help with when you write the case-study pages?

AI helps with structure, not with substance.

Feed an AI chat your raw notes from a project. The kickoff document, the email thread with the client, the final deliverable, the post-launch outcome. Ask for a four-part case-study draft — setup, work, outcome, lesson — in your own voice.

The chat returns a draft you edit for accuracy and tone. The draft is faster than starting from a blank page. The edit is faster than rewriting a generic template.

Paste a finished case study back into the AI chat. Ask the chat to suggest three short subheadings that make the page scannable. The AI tool sees the structure of your prose more cleanly than you do after staring at it for an hour.

Pick the subheading suggestions that match your voice. Ignore the ones that do not.

Paste two or three case studies side by side. Ask the chat to find the through-line that should appear in your about page. The through-line is the sentence that names what you actually do across projects. The chat’s first answer is rarely right — the second draft is usually a useful prompt for the about-page paragraph in your own voice.

The pattern is consistent across freelancer use. The AI tool tightens the structure. You bring the voice and the verifiable detail. The combination beats either alone.

Which page should you build first?

The about page.

The about page sets the identity the rest of the site verifies. A real photo. A real start year.

A one-paragraph voice. The named city. Person structured data tied to two sameAs profiles.

Forty minutes once. You have the verification anchor before any case-study page exists. The home page can be a short placeholder for a week.

The case-study pages can land one a week. The contact page can be the WordPress default until the second pass.

The about page is the foundation. The engines check it. A careful prospect checks it.

A casual visitor scrolls past it. All three groups read the same four anchors — the photo, the year, the city, and the one paragraph in your own voice. Get those four right, and the rest of the portfolio site builds on something the readers can trust.

Other questions worth answering

Should a solo operator publish rates on the front instead of behind a contact request?

Both work in different contexts. The publish-rates side says the rate filters the inbox quickly and saves time. The keep-rates-private side says rates without context anchor the conversation low. As of 2026, WordPress makes either pattern trivial, and pipeline strength is the real deciding factor.

Which domain shape reads stronger — a personal handle or a brand-style URL?

Personal handle, almost always. A solo operator is selling identity, and yourname.com matches the identity story on the about page. A brand-style URL fits when you plan to add collaborators within the year or trade under a registered LLC. As of 2026, the WordPress.org documentation still recommends a personal domain as the default for solo professionals.

What hosting tier makes sense for a solo operator publishing three client examples per year?

Mid-tier shared hosting clears the bar in 2026. A solo operator with three to six entries per year sits well below the traffic and storage ceilings of any reputable shared plan. Pay for managed WordPress hosting once the revenue from the site itself justifies the spend, not before. The hosting tier is rarely the bottleneck on a freelance career.

Where should a testimonial block live — near the top of the index or tucked inside individual project entries?

Two placements, two jobs. A short pull-quote on the index, sourced from the strongest engagement, sets the trust signal early. Inside each WordPress entry, a longer testimonial from the actual client carries the specific outcome. As of 2026, the careful prospect reads both before sending the first email.

Which freelancer essential should you write first?

Have a freelance portfolio site that looks fine and earns nothing? You can contact me here. Tell me the URL and the three roles you most want to win.

I will check the about page against your LinkedIn profile, name the Person structured data gap, and pick the one case-study page worth tightening first. There is no pitch, no upsell, and the conversation is free.

Similar Posts