How to Get Clients as a Freelancer From Google Search

Search Google for how to get clients as a freelancer and read what comes back. Two Reddit threads, a pair of Quora questions, a listicle from April 2024, an undated essay, and an AI Overview sitting on top of all of it. The advice inside is not wrong. Tell your network, try the job boards, post on social, send cold emails, go to meetups.
Not one of the ten results explains how a client finds you through Google in the first place.
That is the gap this article fills. Not the pitch, not the portfolio review, not the cold email template. The search channel: which queries your future clients actually type, which pages answer them, which markup is worth writing and which is a waste of an afternoon, and the commands that tell you whether any of it worked. Everything below is organic traffic work, and every datable claim is sourced to Google's own documentation.
One thing first, because the advice on page one deserves it. Referrals and direct outreach are the fastest way to get your next client, and they will probably always beat search on speed. Their problem is that they stop the moment you stop. A page that ranks keeps answering the same question while you are asleep, on holiday, or heads down on a deadline.
The advice on page one, and the one channel it skips
The top ten for this query is unusually soft, and that is worth measuring rather than asserting. Here is what ranks, with the numbers behind it.
| Position | Page | DR | Backlinks | Est. traffic | Covers search? |
|---|---|---|---|---|---|
| 1 | AI Overview | n/a | n/a | n/a | n/a |
| 2 | Reddit, r/freelance thread | 95 | 4 | 370 | No, anecdotes |
| 4 | Reddit and Quora discussions | n/a | n/a | n/a | No |
| 5 | beingfreelance.com, 5 ways listicle | 58 | 37 | 363 | No |
| 6 | Medium, introvert's guide | 94 | 3 | 5 | No |
| 8 | solowork.co essay | 25 | 11 | 11 | One anecdote |
| 9 | theautonomousfreelancer.com | 2 | 2 | 6 | No |
| 10 | dropcapcopy.com | 19 | 0 | 2 | No |
Two numbers in that table matter more than the rest. A site with a Domain Rating of 2 and two backlinks holds position 9, and a site with zero backlinks holds position 10. Whatever is keeping this page one in place, it is not an unreachable link profile.
The other number is the traffic column. Outside the Reddit thread and the listicle, the ranking pages earn single-digit or low double-digit visits per month. This is a small query. It is also a query where the searcher has a budget problem and no plan, which is exactly the reader who later pays for the thing you do.
The content gap is the real opportunity here. The 2024 listicle runs about 2,300 words and never says the word search. The solowork essay runs about 3,300 words, mentions in passing that the author's site "ranks quite well" for a service and a city, and then moves on without saying how. Across the whole top ten there is not one command you can run, not one keyword method, and nothing at all about structured data, Google Business Profile, or being quoted by AI assistants.
Worth noting before you plan around this: an AI Overview occupies the top of this result page. Some portion of these searchers will read the summary and never click anything. That is the current state of informational queries, and it is an argument for targeting pages where the searcher has to come to you, which is what the next section is about. If you want the broader picture on where visits come from, how to get traffic to your website covers the channels side by side, including the choice between renting traffic and owning it.
Your clients do not search for "freelancer"
The query you are reading about right now is the wrong query to rank for if you want clients. It is a freelancer asking a freelancer question. Your clients type something else entirely, and the fastest way to see it is Google's own autocomplete endpoint, which answers in plain JSON and needs no account.
curl -s "https://suggestqueries.google.com/complete/search?client=firefox&hl=en&gl=us&q=freelance+next.js"
Run it and you get the live suggestion list:
["freelance next.js",
["freelance next js","freelance next js developer","freelance next js jobs",
"next js freelance work","next js freelance projects","freelance node js jobs",
"freelance react js jobs"],[],{...}]
Read that list slowly, because it contains the single most expensive mistake in freelance SEO. Seven suggestions, and four of them are about jobs, work and projects. Those are not clients. Those are other freelancers looking for gigs, and a job board is what ranks for them.
Two of the seven are client queries: "freelance next js" and "freelance next js developer". Someone typing those is looking for a person to hire. Build a page for the jobs variant and you will get traffic, competitors in your analytics, and no enquiries.
Swap the seed and run it again for your craft. A wedding videographer should try "wedding videographer", "videographer near", and "hire videographer". A bookkeeper should try "bookkeeper for". The split between hiring queries and working queries shows up every time.
Once you have candidates, three families are worth pages:
- Service plus craft plus place. "freelance next js developer", "freelance bookkeeper london". Low volume, highest intent, usually low difficulty.
- The problem, in the client's words. "website too slow on mobile", "shopify checkout abandonment". Your future client does not know your job title. They know their symptom.
- The comparison they make before paying. "agency vs freelancer", "freelance rates per hour". These are late-stage and convert, and most freelancers never write them.
As for what these queries are worth: "how to find freelance clients" measures 100 US searches a month at a keyword difficulty of 2, and "how to get clients as a freelance web developer" measures 90 at a difficulty of 0 (Ahrefs, US, as of publication). Those are small numbers and they should not put you off. A page earning 40 of the right visits a month, where the visitor is a buyer with a problem, beats a page earning 4,000 visits from people who do what you do.
The method behind choosing between candidates is the same one DIY SEO for a small business lays out in order: find the query, check who already answers it, then decide whether you can answer it better.
Read the results before you write the page
This is the check worth running before you write a single word, and it is the check most SEO advice skips. Open the result page for your candidate query and look at who ranks and what those pages are really about.
Three signals tell you almost everything.
What kind of pages rank. If the top results are guides and discussions, the searcher is learning, not buying. If they are service pages and pricing pages, the searcher is shopping. Our example query is all discussions and listicles, with no service pages in the top ten, which is why nobody sells anything on this page one.
What those pages are otherwise known for. Every ranking page has a main query it earns most of its traffic from. On this result page, the pages at positions 2, 7 and 8 are mainly known for "how to find clients" and "how to find clients as a freelancer". The result page is consistent, so the intent is what it looks like. When the top result's main query belongs to a different subject, the result page is not about what you think it is.
Who the ranking pages are written for. Job boards and marketplaces in the top three mean the searcher is a freelancer, not a client. Pages selling agency services mean the searcher wants to hire a company, and a solo practitioner writing a how-to guide will not displace them.
That third signal is the one that saves the most wasted work. We apply it to our own queries before every article and skip the ones that fail, including some with good volume. How to get photography clients walks the same check through a craft where the client searches by occasion, and SEO for coaches walks it through a market where half the result page is selling to coaches rather than to their clients.
The pages that do the work
A freelance site that gets found is not a portfolio with a contact form. It is a small set of pages, each answering one query family, and each able to stand alone as the landing page for a stranger.
One page per service, not one Services page. A combined page listing six things you do competes for six queries and wins none of them. Give "Next.js performance audits" its own URL, its own title, its own first sentence answering what it is and who it is for. Six focused pages can each rank. One list page cannot.
A proof page per problem you solve. Case studies are usually written as portfolio entries: client name, pretty screenshot, "we increased engagement". Write them as the problem instead, in the words the client used when they first emailed you. The title that earns search traffic is closer to "Cutting a Shopify theme's mobile load time in half" than "Project: Acme Co.", and the project-page version of that rule is in SEO for architects.
An about page that proves a person exists. For a solo business this page carries more weight than people expect. A name, a face, where you are based, what you have actually shipped, how to reach you. It is also the page most likely to be read by someone who already decided to hire you and is checking you are real.
A blog only if it answers client questions. The trap is writing for your peers, because peer topics are more fun and the engagement is immediate. Peer articles bring peers. If you write, write the questions clients ask you in the first call.
For developers wondering where to put the blog, that decision has real consequences and they are worth understanding before you ship: subdomain vs subfolder covers it, and Next.js SEO covers the implementation details that break most often.
Markup: what earns something and what does not
Structured data is where freelance SEO advice goes most wrong, usually by recommending markup that cannot produce anything. Google documents a fixed list of structured data features, and its own words on all of them are worth pinning above your desk: "Google does not guarantee that features that consume structured data will show up in search results."
Three traps are worth naming, because every one of them appears in articles telling freelancers to add schema.
FAQ markup will not give you FAQ results. Google's documentation for FAQPage says the feature "is only shown for well-known, authoritative government and health websites". Your FAQ section is still worth writing, for readers and for the assistants quoting you, but expect nothing in the result page from the markup.
Testimonials on your own site will not give you stars. The review snippet documentation is explicit: "If the entity that's being reviewed controls the reviews about itself, their pages that use LocalBusiness or any other type of Organization structured data are ineligible for star review feature." Reviews you host and control are self-serving reviews, including when they arrive through an embedded widget.
LocalBusiness requires an address you may not want to publish. The markup's required properties are name and address, the physical location of the business. If you work from a spare room and keep that address private, as the next section recommends, do not invent a plausible one to satisfy a validator.
What does fit a solo practice is ProfilePage, and it is one of the documented features. Its valid use cases include "An 'About Me' page on a blog site" and "An employee page on a company website", while invalid ones include "The main home page of a store". Its only required property is mainEntity, a Person or Organization, which itself requires a name.
Here is a version you can paste on your about page and edit. Every type and property in it resolves on schema.org, checked the day this was published.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"mainEntity": {
"@type": "Person",
"name": "Your Name",
"url": "https://yoursite.com/about",
"jobTitle": "Freelance Next.js developer",
"knowsAbout": ["Next.js", "Core Web Vitals", "technical SEO"],
"areaServed": { "@type": "AdministrativeArea", "name": "United Kingdom" },
"sameAs": [
"https://github.com/yourhandle",
"https://www.linkedin.com/in/yourhandle"
]
}
}
</script>
The honest summary of that block: it will not draw a star, a carousel, or a badge. It states plainly who the page is about, what you know, and where you work, in a format a machine reads without guessing. That is worth ten minutes and no more than ten minutes.
Local search when your office is a spare room
A freelancer who meets clients, visits sites, or serves one region is a service-area business in Google's vocabulary, and the rules for those are specific and quotable.
On how the profile should be set up: "Service-area businesses, or businesses that serve customers at their locations, should have one profile for the central office or location with a designated service area."
On the home address, which is the question everyone actually has: "If you're a service-area business, you should hide your business address from customers. For example, if you're a plumber and run your business from your residential address, clear the address from your Business Profile."
Two shortcuts are closed, and both appear regularly in freelance marketing advice. Co-working desks: a business "can't list an office at a co-working space unless that office maintains clear signage, receives customers at the location during business hours, and is staffed during business hours by your business staff". Virtual offices: service-area businesses "can't list a 'virtual' office unless that office is staffed during business hours".
So the legitimate setup for most freelancers is a profile with a hidden address and a declared service area. That is not a loophole, it is the documented path. Google Business Profile optimization covers what to do with the profile once it exists, including the parts that move the needle for a one-person business.
Skip this section entirely if your work is remote and global. A profile with a service area makes sense when a region is part of what you sell. It makes no sense for a developer whose clients are in four time zones.
Get quoted by the assistants your clients now ask
A share of your future clients will not open Google at all. They will ask an assistant to find them a freelance developer in their city, or a bookkeeper who knows their industry, and they will contact two of the three names that come back.
The good news is that this needs no new infrastructure, and Google says so directly: "You don't need to create new machine readable files, AI text files, or markup to appear in these features." The eligibility bar is the ordinary one, that "a page must be indexed and eligible to be shown in Google Search with a snippet".
Where that traffic shows up is also documented. Sites appearing in AI features "are included in the overall search traffic in Search Console", reported in the Performance report under the "Web" search type. You will not find a separate AI Overviews line to watch.
What does change is how you write. An assistant answering "find me a freelance Next.js developer in Manchester" needs to be able to lift a sentence that contains the craft, the place, and the fact that you are available. Scattering those three facts across a hero animation, a PDF, and a contact form leaves nothing to quote.
So write the plain sentences. Name the stack rather than implying it. Name the city or the region you serve. State your rate or your range if you are willing to. State what you do not do, which is the detail assistants reach for when they are comparing three options and your competitors are all vague.
The mechanics of being citable are the same across assistants, and we have them broken down: how to get cited by ChatGPT for the sourcing behaviour, LLM SEO for the practices that carry across models, and answer engine optimization for how this fits next to classic search work.
Verify it with commands instead of hope
Every step above is checkable, and a freelancer who can read a terminal has an advantage over most people doing this work. In order:
Confirm the page is indexed, and not with
site:. Google's own documentation on that operator is blunt: "If a URL is indexed in Google, it can show up in search results forsite:queries that are related to the URL, however it's not guaranteed", and it "doesn't necessarily return all the URLs that are indexed under the prefix specified in the query". Use the URL Inspection tool in Search Console instead, and read the fine print: "This is not a live test. The results shown are from most recently indexed version of a page, not the live version on the web." Run the Live Test for the current state of the page.Get a Search Console property you can actually use. A Domain property covers every subdomain and protocol, and requires a DNS record at your registrar. A URL-prefix property accepts the simpler methods, including an HTML tag or an uploaded file. Pick the domain property if you own the DNS, because it survives the day you move the blog.
Check what a crawler receives, not what your browser renders. If your title and your first heading arrive by JavaScript, your pages can be thin at the exact moment they are being judged.
curl -s -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://yoursite.com/services/nextjs-audit | grep -iE "<title>|<h1|description"
- Check the two files nobody checks until something breaks.
curl -s https://yoursite.com/robots.txt
curl -s -o /dev/null -w "%{http_code}\n" https://yoursite.com/sitemap.xml
Validate the JSON-LD before you trust it. Paste the page URL into Google's Rich Results Test for feature eligibility, and into validator.schema.org for syntax. A block with a typo in a type name is silently ignored, which looks exactly like a block that is working.
Keep the page fast enough to not be the problem. The current thresholds are 2.5 seconds for Largest Contentful Paint, 200 milliseconds for Interaction to Next Paint, and 0.1 for Cumulative Layout Shift, assessed "at the 75th percentile of page loads, segmented across mobile and desktop devices". Interaction to Next Paint replaced First Input Delay in 2024, so advice written before that is measuring a metric that no longer exists.
When a page refuses to appear at all, the causes are a short and boring list, and why your website is not showing up on Google walks through them in the order worth checking.
What this will not do
No one can guarantee a position in Google, and anyone selling you one is selling you something else. Results vary by market, by competition, and by how many other things on your site are broken.
Timelines are honest guesswork too. A new service page on a site with some history can be found in days. A new domain with no links can sit unranked for months while it earns the right to be trusted. We wrote how long SEO takes about exactly that uncertainty rather than pretending it away.
The volumes in this work are small by design. Two or three digits a month, not five. The arithmetic that makes it worth doing is the ratio, not the total. One client a quarter from a page that took an afternoon to write, on a query where the searcher has already decided to hire someone, is a better return than most paid campaigns a solo business can afford.
And none of it replaces the advice on page one. Keep asking past clients for referrals. Keep sending the emails. The difference is that in six months the pages will still be there answering, and the emails you sent today will not be.
FAQ
What is the best way to find clients?
The one that fits the next thirty days, plus the one that compounds. Referrals and direct outreach fill your calendar fastest, because you control the volume. Search fills it later and keeps filling it, because the query gets typed whether or not you are working. A freelancer doing only the first is permanently prospecting, and a freelancer doing only the second is hungry for the first six months.
How can I get a real client with no portfolio?
Publish the work you would have done for a client, and write it as a case study rather than a demo. Pick a real problem in your field, solve it in public, and document the decisions and the numbers. That page can rank for the problem query, which means it is both your portfolio and your lead source. Two or three such pages beat an empty site with a contact form, and they beat a marketplace profile that disappears the moment you stop paying for visibility.
Is AI replacing freelancers?
It is changing which parts of the work people pay for, and it is changing how clients find you. Assistants now answer questions clients used to pay a junior to answer, and they also recommend specific people when asked. That second part is the opportunity: an assistant can only recommend you if your pages state plainly what you do, where, and for whom. The freelancers losing work to AI are usually the ones who were selling the output rather than the judgement.
How do I get clients as a freelance web developer?
Write one page per stack and service combination you want to be hired for, and target the hiring variant of the query rather than the jobs variant. "Freelance Next.js developer" is a client searching. "Freelance Next.js jobs" is a developer searching. Then make the technical side exemplary on your own site, because a developer whose own pages are slow or unindexed has a credibility problem that no copywriting fixes.
How long before search brings me clients?
Nobody can tell you honestly, and results vary too much for an average to mean anything. What you can control is the order: publish the high-intent service pages first, because they are the lowest difficulty and the closest to a decision, then the problem pages, then the comparisons. Treat the first ninety days as measurement rather than results, and read the Search Console Performance report for impressions before you expect clicks.
Do I need a blog to get freelance clients?
Not at first. The service pages, the proof pages and the about page earn more per hour spent, because the searcher who lands on them is already looking for someone to hire. A blog becomes worth it when you notice yourself answering the same client question for the fifth time in a first call. Write that answer once, properly, and link to it from the matching service page.
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
