This depends entirely on how much of a hands on role they need to take in delivering what you need and what your budget allows. A Consultant A consultant will only give you the information to put into practice yourself so unless you are pretty web-savvy with websites, code, the platform your website is built-on and understand the basics of SEO, this probably won't be a good fit. We have however acted on ak consultancy basis to businesses that have a very low budget and wish to try and learn themselves at the same time. A Freelancer An Agency An agency will typically and usually have the necessary resources to take on any jobs although some will not take on small jobs and they're often not worth it to them. You will usually get quick response times, quick delivery of work and a wealth of experience and expertise as their resources are greater. Whether they are the best fit for what you seek however completely depends on the scale of your project and if your budget can afford agency rates (they're often more expensive but this isn't always the case). One thing is pretty much certain though, a great SEO specialist will never charge a low price, if you seek discounted SEO services then chances are you'll end up with someone that does not possess the experience/expertise and will cut corners. This can work the other way of course too, a high price does not guarantee that they will be the best at SEO.