You open Google, type your service and your city, and the agency on the corner appears first. Their site has pixelated images and a hit counter. Yours has animations, dark mode and sounds like a Silicon Valley startup. And they are three pages ahead of you.
Google does not reward pretty, it rewards presence
Their site has been at the same domain for eight years. Yours has been online for four months. In Google's eyes that difference says 'this one is still here, that one might disappear next week'.
They have inbound links. You do not
The local chamber of commerce links to them, two trade blogs mention them, an old customer wrote about them on their own site. Each one is a vote for Google. Design does not add votes. Being around for years and doing the work does.
Their Google Business profile is complete
Address, hours, 47 reviews with answers, photos uploaded every month. Yours is empty or does not exist. For a local business, that profile weighs more than your website.
They answer questions you do not
Their old blog has 60 posts about specific local topics ("permits in the north district", "cost of repairing a leak in brick walls"). Yours has three articles that could be about any city in the world. Google rewards topic depth, not visual polish.
What you can do in 30 days
Claim your Google Business profile, ask ten past customers for a review, write five articles about specific problems from your city, and get two local sites to link to you. In two months you move up. The design stays as is.