Sessions are up year on year and the sales team has not noticed. It is the most common brief we get, and it is almost never a ranking problem. The site is ranking. It is ranking for the wrong half of its own market.
Search intent is the boring answer and it is usually the right one. “What is X” and “X pricing” sit next to each other in a keyword tool with similar volume, and they are not remotely the same visitor. One is reading. One is buying. If the content plan came out of a volume column, the site has been optimised for the reader, and then everyone wonders why nobody bought.
Here is the short version of the diagnosis. It takes about twenty minutes and needs nothing but Search Console.
What you are looking for is a mismatch. If eighty percent of your clicks sit in the learning bucket and eighty percent of your revenue comes from one product page, the traffic graph and the pipeline are describing two different businesses.
The fix is rarely more content. More often it is three or four pages that do not exist yet, sitting at the commercial end: the pricing page you keep meaning to write, the comparison against the competitor everyone asks about, the page for the one service that closes fastest. Lower volume, far shorter distance to a sale.
Then close the loop. The learning-intent pages you already rank for are doing real work, but most of them dead-end. Give each one a route to the commercial page it should feed. Not a sidebar CTA nobody clicks. A line in the body, at the point where the reader has just finished the part that made them care.
One honest caveat: sometimes traffic really is the problem. If the top 50 queries are all branded, you do not have an intent mismatch, you have a visibility problem, and this exercise will tell you nothing useful. Check that first. It takes thirty seconds.
None of this needs a rebuild, a new agency, or a tool you have to pay for. It needs someone to sit with the query list for an afternoon and be honest about what they are looking at.