Search on Upwork works like search anywhere. A client types what they need, a list comes back, and the order of the list decides who gets read. So people ask how to rank higher, and most of the answers they get are guesses dressed up as inside knowledge.
Here is the honest version. Nobody outside the company knows the weights, and anyone who says otherwise is selling something. What is knowable is which parts of a profile the search can read, and what a client actually does once the results appear. Both of those are enough to work with.
What the search can read
Text is only searchable if it is there. These are the fields a query can match against, roughly in the order a client sees them.
- Title. The single most-read line on the platform.
- The first two lines of the overview. Visible in results before anyone clicks.
- Skills. A structured list that filters as well as ranks.
- Specialized profiles. A second title and overview aimed at a second kind of search.
- Portfolio titles and descriptions. Often forgotten, always indexed.
- Work history titles. Written by clients, which makes them credible and out of your hands.
Every one of these should contain the words a client would type, in the client's language rather than yours. "Checkout speed on Shopify" beats "e-commerce performance optimisation" because the first is what the person with the problem actually types.
Keywords are not stuffing
A title that lists eight skills separated by pipes matches more searches and converts none of them. The search decides who appears; the client decides who gets opened. Write for the second decision and the first mostly follows.
What a client does on the results page
They scan. Photo, title, rate, score, first line. They open a handful and ignore the rest. Whatever the ranking did, the client's eye is the second filter, and it is the one you fully control.
| Signal | Who reads it | What to do |
|---|---|---|
| Title | The client | One problem, one client type, no lists |
| Skills | The search | Only the skills you want work in; remove the rest |
| Job Success Score | Both | Finish contracts cleanly |
| Recent activity | The search | Stay active; a profile idle for months drops |
| Response time | Both | Answer within the hour during your working day |
| Availability badge | The search | Turn it on when you mean it |
The signals you cannot write
Some of what decides your position is behaviour rather than text: whether you finish what you start, how fast you reply, whether you have worked recently, whether clients who hire you come back. How the Job Success Score is put together covers the first. None of it responds to keywords. All of it responds to running a tidy operation for a few months.
A twenty-minute pass
- Search your own niche phrase the way a client would, logged out, and note who appears and what their titles say.
- Rewrite your title as one sentence a client would recognise as their problem.
- Rewrite the first two lines of the overview to say who it is for and what changes.
- Cut the skills list to the jobs you actually want.
- Give every portfolio piece a title with the client's words in it.
- If you serve two different kinds of client, make a specialized profile for the second rather than blending them.
Then leave it alone for a month and watch invitations rather than rankings. Invitations are the only ranking signal you can see, and they tell you what the search already believes you are.