SEO for freelancers

Freelancer Portfolio SEO Checklist: 15 Wins for Inbound Leads

Your portfolio site exists. Here's the 15-item checklist that converts it from a digital business card into a lead-generation channel.

Published May 24, 20268 min readBy RankCrab Team

Your portfolio site is live. It has your name, some work samples, and a contact form. It is doing almost nothing for your business.

That's the default state for most freelancer portfolios — technically functional, strategically inert. The good news is that the gap between "digital business card" and "lead-generation channel" is mostly a checklist problem. There are specific, executable things that need to be true about your site for Google to understand what you do, who you serve, and why you should appear when a potential client searches for someone like you.

This is that checklist. Fifteen items. Most take under an hour each. Work through them over two weeks alongside your client workload and you'll have a portfolio that pulls its weight in search.

The 15-item checklist

1. Homepage targets "[Skill] freelancer [City or Niche]"

Your homepage H1 and title tag should state explicitly what you do and for whom. "Welcome to my portfolio" tells Google nothing. "Freelance UX Designer for SaaS Products" or "Freelance React Developer — New York" tells Google exactly what searches you're relevant for.

Pick one primary keyword: the service you most want to be hired for, combined with either a city (if local business matters to you) or a niche (if you specialize in an industry or product type). That keyword goes in the H1, the title tag, and naturally in the first paragraph of your homepage copy.

2. Dedicated services page exists and targets "[Service] freelancer"

Your homepage can't do everything. Create a standalone services page that targets the specific "[Service] freelancer" keyword with depth — what's included, what's not, typical engagement structure, starting price or price range. This page competes for commercial-intent searches where clients are actively shopping for a freelancer like you.

See freelance services page SEO for the full anatomy of a services page that ranks and converts.

3. At least one case study is published and linked from the services page

A case study is the single highest-converting page type on a freelancer site — it demonstrates expertise, provides social proof, and targets "[Service] for [Industry]" long-tail keywords. You need at least one. Link it prominently from your services page.

If NDA constraints are a concern, see case studies as SEO content — you can anonymize the client while preserving the metrics.

4. Testimonials appear on the homepage and services page

Testimonials serve two SEO functions: they add unique, keyword-rich text to your pages (clients describe your work in natural language that often mirrors how future clients search), and they signal authority to Google by supporting the E-E-A-T framework. Collect them with a simple email ask after project completion. Display at least three, with the client's name, title, and company.

If you publish any content on your portfolio — even a single case study — include an author bio that names your specialty, years of experience, and notable clients or publications. Link to your best published bylines. This supports Google's E-E-A-T signals, and it gives future clients a fast read on your background.

6. Person schema on the homepage

Person schema tells Google structured facts about you: your name, job title, URL, social profiles, and areas of expertise. It takes 20 minutes to implement and directly feeds the knowledge panel that may appear when clients Google your name.

Use the schema generator to build the JSON-LD block, then paste it into your site's <head>. At minimum include: name, jobTitle, url, sameAs (your LinkedIn, GitHub, and Twitter URLs).

Free tool
Schema markup generator
Generate valid JSON-LD in 60 seconds — no signup.
Try it

7. Organization schema if you operate under a business name

If you work under a studio or agency name rather than your personal name, add Organization schema alongside or instead of Person schema. Include name, url, logo, contactPoint, and sameAs. This signals to Google that you're a legitimate business entity.

8. XML sitemap submitted to Google Search Console

Your portfolio probably has fewer than 20 pages. Google will find them eventually without a sitemap, but submitting one in Search Console accelerates indexation and makes it easy to spot pages that aren't being crawled. Generate the sitemap (most website platforms do this automatically), verify your site in Search Console, and submit the sitemap URL.

9. Canonical tags are correct on every page

If your site is accessible at both https://example.com and https://www.example.com, or if query strings can create duplicate URLs, canonical tags tell Google which version is the authoritative one. A misconfigured canonical is one of the most common technical issues on portfolio sites — and one of the easiest to fix once you know about it.

Run the RankCrab audit on your portfolio to surface canonical issues alongside the other 80 checks.

10. Open Graph / social preview cards are set

When you share a page on LinkedIn or someone else links to your portfolio in Slack, the preview card is the first impression. Set the og:title, og:description, and og:image tags for your homepage and services page at minimum. The description should include your primary keyword. The image should be a professional headshot or branded graphic — not a missing-image placeholder.

Preview your current OG cards with the meta tag previewer before you publish changes.

Free tool
Meta tag + SERP previewer
See exactly how your title and meta description will render in Google.
Try it

11. URLs are short, readable, and keyword-friendly

/services is better than /pages/services-v2-final. /case-studies/saas-onboarding-redesign is better than /portfolio/project?id=14. Clean URLs are easier to share, easier to read in search results, and marginally better for rankings because the keyword appears in the URL string. Audit your URL structure and fix the ugly ones.

12. Hosting is fast and stable

Page speed is a direct ranking factor and a strong conversion factor. Freelancer portfolios frequently run on shared hosting plans that serve pages in 3–5 seconds. That's too slow. Move to a modern static-site platform (Vercel, Netlify) or a performance-focused host. Aim for sub-1.5 second time to first contentful paint. Test with Google PageSpeed Insights before and after.

13. Site is fully mobile-friendly

More than half of Google searches happen on mobile. Google uses mobile-first indexing — meaning the mobile version of your site is the one it evaluates for rankings. Test your portfolio on actual mobile devices, not just a browser resizer. Common failures: tiny tap targets, text that overflows containers, and images that don't scale.

14. All portfolio images have descriptive alt text

Alt text serves two purposes: accessibility for screen readers, and a keyword signal for Google Image Search. For portfolio images, write alt text that describes the work: "UX redesign of mobile checkout flow for e-commerce client" is useful. "image3.jpg" is not. This takes 30 minutes to fix across a typical portfolio and is one of the most commonly skipped items.

Cross-linking between your portfolio and LinkedIn is the single easiest external link you can get. Make sure your LinkedIn profile URL is in your website footer and your bio. Make sure your portfolio URL is in your LinkedIn profile header and About section. This strengthens both presences in your brand SERP — the results page Google shows when someone searches your name.

For a deeper treatment of brand SERP optimization, see SEO for personal brand keywords.

Bonus: Google Business Profile if relevant. If you do any local client work or want to appear in "[Service] near me" searches, a Google Business Profile (set up as a service-area business — no physical address required) adds a significant local signal. Covered in depth in local SEO for service freelancers.

Your two-week execution plan

Don't try to do all of this in a single Saturday. Spread it across two weeks in 1–2 hour blocks so it fits alongside client work.

Week 1 — High-impact technical items (items 1, 2, 6, 8, 9, 12, 13)

Start with the changes that affect indexation and rankings immediately: homepage targeting (item 1), services page creation or improvement (item 2), Person schema (item 6), sitemap submission (item 8), canonical fix if needed (item 9), and a hosting/speed check (item 12, 13). These are mostly technical tasks with no writing required.

Run the RankCrab audit at the start of week 1 to build your punch list. Use the results to prioritize items flagged as critical.

Week 2 — Content and coverage items (items 3, 4, 5, 7, 10, 11, 14, 15)

Week 2 is about content quality and completeness: publish or update one case study (item 3), add testimonials (item 4), write your author bio (item 5), set OG tags (item 10), clean URLs (item 11), fix alt text (item 14), and wire up the LinkedIn cross-link (item 15). If you operate under a business name, add Organization schema (item 7).

What to expect afterward

After completing this checklist, you'll typically see:

  • Weeks 1–3: Improved indexation as Google re-crawls the updated pages. Your target keywords may start appearing in Search Console impressions data.
  • Month 2–3: Movement into positions 15–40 for your primary keyword targets. Not page one yet, but visible.
  • Month 4–6: With a case study or two and a few inbound links (LinkedIn shares, a guest post, a client's website mentioning you), you start cracking page one for long-tail variants.

The freelancer SEO timeline is measured in months, not days. But the portfolio you build during those months keeps working — every new client who Googles you, every referral who wants to verify your credentials, every search for "[Your Specialty] freelancer [Your City]" that might surface your name.

That's the return on the two-week investment.

Back to the full SEO for freelancers guide.

Ship optimized content this afternoon.

7-day trial. $29 when it converts. Cancel from the dashboard the second it stops earning its keep.