The answer to this question really depends on the type of website that you are operating, the potential of SEO traffic, and how the users are finding your website. If you perceive that your website is to be SEO-led in terms of the traffic source, then outsourcing your SEO is a hugely logical step. Search engine optimisation is a full-time job, and depending on the size of your company can require a complete team to manage your SEO campaign.
Some of the main reasons to outsource your SEO is the following:
An SEO agency will be a specialist in this field.
The outsourced company will have a large amount of data available on a number of different clients, so understand what succeeds and fails, based on previous and existing clients.
The agency will have processes in place already.
It is cost-effective. Without outsourcing, SEO could be expensive as purchasing the high-quality SEO tools is an outlay of $300 – $400 per month.
The SEO agency has spent money on technology such as crawling, SEO tools, reporting, database creation etc. Therefore, you will get added value based on these valuable and expensive tools.
Ultimately though it will depend on your specific circumstances and preferences in whether to outsource your SEO services or keep it in-house. As an agency, I think it is always advisable to have an agency associated with your website whether it is as just a consultant or the full service.