Well done search engine optimization often called SEO for short, is designed to allow websites to show up in search results when people search for products and services rather than simply company names. The idea is that people looking for things online are able to find a business website without any prior knowledge of the business or its name.
There is all manner of tricks and techniques which fall under Search Engine Optimization, but the good sustainable methods (also sometimes called "white hat SEO") are based around the idea of making your website easier for a search engine to read and understand, meaning they rank you higher in searches for appropriately relevant terms.
It is not uncommon to decide to outsource SEO to external marketing agencies and other companies, but there are far too many dodgy types out there who like to take companies seeking SEO – especially local and small businesses – for a very expensive ride. How then does one actually go about finding a good, honest, and legitimate search engine marketer?
It is actually incredibly easy to find a decent SEO agency online. Go to a search engine like Google or Bing and type in "SEO agency." Ignoring the paid ads at the top, whichever firm has landed at the top of the search results is what you want – they must be pretty good at SEO or their own website wouldn't be so high in the natural listings!
To narrow things down a bit, you could try extending your search. Or if your website is specialized and you want particular help with it you can add your industry or site type – "SEO tourism" or "SEO eCommerce" for example. This can be a great way to find niche SEO agencies that have specialist expertise in your field.
Sometimes SEO agencies (or at least people claiming to be SEO agencies) try to solicit companies by sending them emails or submitting contact forms with various enticements and offers.
However if you see something like this come in then it is best to ignore it – if a company that supposedly specializes in search engine optimization is reduced to spamming inboxes to get business rather than, say, doing SEO so their own website ranks highly and people can find them anyway, chances are they aren't very good.
The same is true of SEO services advertised on paid ads at the top of search engines or on banner ads on other websites. If their search marketing is any good, why are they having to pay for their placements?
Another thing to bear in mind is to steer well clear of any SEO agency that promises you "top position for x keywords" or something similar. Nearly all modern search engines used personalized searching, meaning that everyone sees websites in slightly different ranking positions depending on their personal search history.