Though there are legitimate companies who can help you have a search engine friendly website they are very hard to identify amongst the much larger number of companies who seek to take advantage of people's lack of knowledge about search engines.
Put simply, if you build a site that is easy to read and navigate by a human being it will also be useful to search robots.
Tricks to get higher rankings are just that and Google constantly looks for them and blocks them.
For a small site owner, the simple rule is never pay for SEO. (That's not the same as paying for a designer/builder who, as part of the package, makes sure the site gets its proper ranking.)
They are keywords which relate to the subject matter of your site, and were in the past inserted into site pages in hidden form, so search engines could see them, and list your site accordingly. That was because, back then, sites were ranked purely on site content.
I say this happened 'in the past' because Google doesn't use meta-tags to rank websites, and hasn't done so for many years. You should ignore any advice that you include them.
Google ranks sites using very sophisticated algorithms, none of which use meta-tags. Google relies instead on site content, plus other 'off page' factors, one of which is how many external links point to a site.
Optimising your site can be a lengthy process, but in essence you should concentrate on the content and architecture - well written text, appropriate images, and efficient site navigation. Make sure that you refresh the content from time to time, and work on getting other sites to link back to you. One way of doing this is by what's called 'reciprocal linking', a process whereby you put a link to a site on your page, and that site owner includes a link to your site.
It's easier said than done, if it was easy everyone would do it. Take time over your pages, work away at getting the content right, find other, related sites to link with.