"Should we hire a consultant or an agency?" is the question we are asked most often, and it is the wrong shape. There are four viable models, they fail in different ways, and the right one depends less on your budget than on something most businesses never estimate: how many hours a month someone internally can genuinely give to the project.
This article lays out the four honestly, including where each one breaks. We run an agency, so read our comparison with that in mind — we have tried to be specific about the cases where an agency is the wrong answer.
| Freelancer | Boutique agency | Full-service agency | In-house | |
|---|---|---|---|---|
| Typical monthly cost | €400 - 1,200 | €800 - 2,500 | €2,000 - 6,000+ | Salary + tools |
| Who does the work | The person you hired | A small named team | Mixed, often juniors | Your employee |
| Breadth | Narrow, deep in their speciality | Good across SEO | SEO plus paid, social, design | Whatever they know |
| Capacity risk | High: illness, holidays, a bigger client | Medium | Low | High: one person |
| Attention risk | Low | Low to medium | High: you may be a small account | None |
| Your time needed | 2-4 h/month | 2-3 h/month | 2-4 h/month | Ongoing management |
Estimate honestly how many hours a month someone internal can spend on this — approving changes, answering sector questions, supplying real customer language. Under one hour, only a full-service agency with a strong process will survive it, and the output will be generic. Two to four hours makes every model work. Above eight, in-house or a hybrid starts to make financial sense.
A good independent SEO consultant is frequently the best value in the market. You get a senior person doing the work directly, no account-management layer, and a level of care that comes from your project being a visible share of their income.
Where it works: businesses with a clear, focused problem — a site that needs a technical rebuild, a local presence that needs establishing, a specific market to enter. Also anywhere the owner is engaged and enjoys the subject.
Where it breaks: capacity. One person cannot write forty pages, build authority, fix technical debt and manage a migration simultaneously. When a freelancer wins a larger client, smaller ones feel it. And when they are ill, on holiday or between projects, everything stops.
How to reduce the risk: agree explicitly what happens if they are unavailable for two weeks; keep all accounts in your name; and insist the work is documented somewhere you can read, not held in their head.
Three to ten people, usually specialised, usually with the founders still doing client work. For an established local business in Valencia this is the model that most often fits.
Where it works: you get continuity — holidays do not stop the project — plus a mix of skills that one person rarely combines: technical, editorial, outreach. Small enough that you are a meaningful client and speak to people who touch the work.
Where it breaks: capability limits. A ten-person shop cannot do everything, and the honest ones will say so. Also, growth: an agency that doubles in a year may quietly stop being the agency you hired.
How to reduce the risk: ask who specifically will do the work and how many other accounts they carry. Ask what they outsource. Both answers are fine — it is the concealment that is a problem.
Larger agencies bring paid search, social, creative and SEO under one roof. That coordination is genuinely valuable when several channels interact — and genuinely expensive when they do not.
Where it works: multi-channel businesses where the same campaign runs across paid, organic and social, or where a brand needs consistent handling. Also when internal marketing capacity is thin and someone needs to run the whole thing.
Where it breaks: attention. A €1,200 monthly local account inside an agency whose average client spends €8,000 will receive junior attention and templated deliverables, however good the pitch was. This is not malice; it is arithmetic.
How to reduce the risk: ask where you would sit in their client list by size. If you are in the bottom quartile, expect to be handled accordingly — and consider whether a boutique would give you more for the same money.
Hiring is tempting: full control, full attention, no retainer. The arithmetic is less obvious than it looks.
The real cost of an employee is not the salary. It is salary plus employer contributions, plus tooling, plus the months before they are productive, plus the management time to direct them, plus the exposure if they leave in month fourteen and take all the context with them.
Where it works: businesses where organic search is the primary acquisition channel and the work never stops — ecommerce with a live catalogue, marketplaces, publishers. Also anywhere the volume of content needed exceeds what an agency retainer can produce.
Where it breaks: a single generalist owning technical SEO, content, outreach and analytics will be strong in one and weak in three. Most in-house hires end up needing external support anyway — which is the argument for the hybrid.
Split by competence rather than by supplier. It plays to what each side actually does better.
Target selection, sector accuracy, customer language, Google Business Profile and review responses, conversion on the site.
Sustained content production, authority building, repetitive technical implementation, monthly rhythm.
Measurement. One account, both parties reading the same numbers, owned by you.
The failure mode of full outsourcing is technically competent campaigns describing a business that does not exist, because nobody from the business took part. The failure mode of pure in-house is a knowledgeable person with no capacity, whose plan collapses whenever the business gets busy. The split addresses both.
The same supplier produces very different work depending on the brief, and the difference is larger than the difference between suppliers. A good brief takes an hour to write and is reusable.
Start with margin, not volume. Name the two or three services you want more of, and say which ones you do not want more of. Most businesses list everything they sell, which guarantees effort spreads evenly across things worth very different amounts.
Describe the customer you want, and the one you do not. "Homeowners in the metropolitan area planning a full renovation, not tenants looking for a single repair." That sentence eliminates a third of the keyword research immediately and saves months.
Hand over your objections. Whoever answers your phone knows the five questions every prospect asks before buying, in the exact words they use. That list is worth more than any keyword tool, and almost no business thinks to share it.
State your constraints honestly. If the site is on a platform nobody can edit, if legal must approve every sentence, if there are things you cannot say for regulatory reasons - say so on day one. Suppliers plan around constraints they know about and stall on the ones they discover in month three.
Define what success looks like in numbers. Not "more visibility". Something like: fifteen additional qualified enquiries a month within nine months. That figure makes it possible to work backwards to how much traffic is needed, and to say honestly whether the budget can plausibly produce it.
Whichever model you choose, keep measurement in an account you own, in your name, with the supplier added as a user. This matters more than people expect, for three reasons.
It removes the argument. When both sides read the same numbers from a source neither controls exclusively, "did this work?" becomes a factual question. It preserves history — analytics data is one of your genuine business assets, and losing twelve months of it because a property was in an agency's name is a real and common loss. And it makes switching cheap: a new supplier inherits a working measurement setup rather than starting blind.
The free layer in Semalt covers what is needed: search analytics for clicks and impressions per URL, rank tracking for positions and competitor share, an indexing log to confirm published work is actually being crawled, and AI visibility for the layer that classic tools do not see. No time limit, so it survives supplier changes.
Open the account yourself, connect the domain, then add whoever you hire as a user on day one. Doing it in that order takes ten minutes and avoids the far more awkward conversation of asking for access back later.
Search analytics, rank tracking, crawl log and AI visibility in one free account. Set it up before you hire, and add your supplier as a user.
Sign in to Semalt semalt.comPer hour, usually yes. Per outcome, not necessarily — capacity limits mean some work simply does not get done. Compare hours delivered, not monthly price.
Not at depth. Technical, editorial and outreach are different skills. A strong generalist covers the first 70% of most local projects, which is often enough.
When organic search is your primary channel and the content workload is continuous. Below that threshold, an agency or hybrid is usually cheaper per outcome.
Set up your own baseline and compare the next three reports against it. It resolves the question without a confrontation.
No. Own them and add the supplier as a user. This is the single cheapest protection available to you.
There is no best model, only a best fit — and the variable that decides it is internal time, not budget. A business with four engaged hours a month will get good results from almost any competent supplier. A business with none will get generic output from all of them, at any price.
Whatever you conclude, start with the part that costs nothing and helps in every scenario: open your own measurement account and connect the domain today. Then choose your model knowing what you are starting from.
If you would like help thinking through which model suits your situation — including the possibility that you do not need external help yet — get in touch. The initial audit is free and delivered within 48 hours.
Free analytics for Google Search, SERP rankings and AI answers - plus fast indexing for your new pages.
Sign in to Semalt semalt.comGet in touch for a free audit