syted

syted blog

How Much Does SEO Cost? Price It Line by Line

Every page that ranks for this question answers it the same way: a range, usually $1,000 to $5,000 a month, followed by a list of "factors that affect pricing". That is not an answer. It is the shape of an answer, and it leaves you exactly where you started, holding a proposal you cannot evaluate.

A quote is not a price. It is six line items bundled into one number, and those line items have wildly different unit economics. One of them is free if you do it yourself. One of them is the reason the quote is not $500. One of them is described in Google's own spam policies when it is done the cheap way.

This article prices each line item from sources you can open, using figures checked on 2026-09-01, and gives you the arithmetic to turn any quote into a cost per unit of work. Before any of it: Google states plainly, on its own hiring page, that "No one can guarantee a #1 ranking on Google." Nothing here predicts what a given budget will earn.

What the published numbers actually say

Four sources publish real figures. They disagree by a factor of thirty, and the disagreement is the useful part.

Source Figure Date checked What it covers
Ahrefs pricing survey Agencies $3,209/month average, freelancers $1,348.63, consultancies $3,250 Page updated August 15, 2024 439 providers polled, SEO generally
WebFX published pricing $1,000 to $5,000/month retainer, $75 to $200/hour, small business band $1,500 to $3,500 2026-09-01 One agency's own rate card
SEOCalc guide $250 to $10,000/month, $100 to $300/hour 2026-09-01 Aggregated ranges, no sources given
Virayo (B2B SaaS) "at least $7,500 monthly", six-month commitment 2026-09-01 One agency's published floor

Three details in that table matter more than the numbers.

The Ahrefs survey is the only one with a methodology attached, and it is the oldest. It reports that the most common hourly band is $75 to $100 (24% of respondents), that per-project agency work averages $9,507.84, and that 68.8% of providers charge $2,000 a month or less. It also carries an "updated August 15, 2024" stamp, so treat it as a two-year-old baseline rather than today's market.

The agency rate cards are not surveys. They are one seller's price, published to anchor a negotiation, and they move. Virayo's page read a $6,000 monthly minimum when we last checked it on 2026-08-14. Today the same page reads "at least $7,500 monthly". A published floor is a fact about that vendor on that date, nothing more.

The aggregated ranges cite nobody. SEOCalc's page, which holds a top-ten position with a domain rating of 10, gives $250 to $10,000 a month without a single link to where those numbers came from. That is the norm in this SERP, not the exception.

A quote is six line items, not one price

Ask any proposal to break itself into these six, with a count next to each. The bundle is what makes a monthly number impossible to judge.

Line item One-off or recurring Can you do it yourself What moves the price
Technical fixes Mostly one-off Yes, if you or your developer can edit templates Size of the site, state of the codebase
Keyword research and mapping Recurring, low volume Partly, with free tools Number of pages, competitiveness of the set
Content production Recurring, the main driver Yes, slowly Words per month, subject difficulty, revisions
Internal linking and structure Recurring, small Yes Number of existing pages
Off-site work and links Recurring, highest variance Rarely What the vendor actually does for it
Reporting and measurement Recurring, near free Yes How much of it is manual

Content production is the cost driver in almost every retainer, which means the single most informative number in a quote is the count of published articles per month. Divide and you get a cost per article that you can compare against anything else you buy.

# unit-cost.sh <monthly_retainer> <articles_per_month> [technical_hours]
retainer=${1:?monthly retainer}
articles=${2:?articles per month}
hours=${3:-0}

per_article=$(echo "scale=2; $retainer / $articles" | bc)
echo "Cost per published article: \$$per_article"

if [ "$hours" -gt 0 ]; then
  echo "Implied hourly rate on technical work: \$$(echo "scale=2; $retainer / $hours" | bc)"
fi

Run it against the survey average and the picture changes shape. A $3,209 retainer that ships four articles a month is $802 per article. The same retainer shipping one article a month is $3,209 per article, and the difference between those two proposals is invisible in the monthly number.

That is the question to put in writing before signing anything: how many pages get published per month, who writes them, and who reviews them. A vendor who will not commit to a count is selling you the range, not the work. The same arithmetic runs on a freelancer, on an in-house hire, and on a tool.

The line item Google's policies price for you

Off-site work is the highest-variance item in any quote, and it is the one where the cheap version has a name in Google's spam policies. Link spam, verbatim from the policy page (last updated 2026-08-28), is "the practice of creating links to or from a site primarily for the purpose of manipulating search rankings".

The examples list is specific about the transaction:

Buying or selling links for ranking purposes. This includes: Exchanging money for links, or posts that contain links. Exchanging goods or services for links. Sending someone a product in exchange for them writing about it and including a link.

So when a proposal quotes "15 links per month" at some price per link, the only question that matters is what the transaction is. If money moves in exchange for a link, the policy names it. If the vendor earns coverage by producing something worth citing, that is expensive because it is slow, and the count per month will be small and honest.

A quote with a high link count and a low price is describing the first thing while charging for the second. That single check kills more bad proposals than any amount of reference-calling, and it costs you the two minutes it takes to read the policy page.

The same policy page defines doorway abuse as sites or pages "created to rank for specific, similar search queries", naming "multiple domain names or pages targeted at specific regions or cities that funnel users to one page". If your quote includes fifty city pages, you are paying for the example in the policy. Local businesses get sold this constantly, which is why our vertical guides for contractors, dentists and restaurants all end up quoting the same paragraph.

What the tools cost, and what Google says their numbers are worth

The measurement layer is the cheapest line item to move in-house, because the first-party tools cost nothing.

Tool Price What it gives you
Google Search Console Free Impressions, clicks, positions, indexing status, straight from Google
PageSpeed Insights Free Field and lab performance data for a URL
Rich Results Test Free Whether your structured data is eligible
Google Business Profile Free The local surface, if you have one
Ahrefs $29 Starter, $129 Lite, $249 Standard, $449 Advanced, $1,499 Enterprise per month Third-party index, keyword and backlink data
Semrush From $117.33/month billed annually up to $455.67 Third-party index, keyword and rank tracking

Prices for the two paid tools were read from their own pricing pages on 2026-09-01 and change often. Check them before you quote them back at anybody.

The more interesting document is one that nobody in this SERP appears to have opened. Google publishes a page called "Google Search's guidance on using third-party SEO tools, services, and advice" (last updated 2026-06-05), and it is unusually direct about what you are buying when you buy a tool subscription:

Third-party tools don't have access to our internal ranking data. They can't guarantee performance. Any predictions are their own and like predictions generally, may not happen.

The same page states that "Google doesn't evaluate third-party services", that "using a service or tool doesn't guarantee ranking success", and that Google "strongly encourage[s] using our first-party tool, Google Search Console". It also names the AEO and GEO tool category explicitly, which matters if part of your quote is for visibility in AI answers. We cover what is measurable there in LLM SEO and LLM brand visibility.

None of the top-ten pages we were able to open for this query cites that document. Two of them (Forbes Advisor and Neil Patel) returned 403 to our fetches, so we cannot speak for those, but the two that opened cleanly quote difficulty scores and volume estimates as if they came from Google.

Run this before you accept a quote

A proposal is priced on the state of your site. You can measure that state yourself, for free, in about ten minutes, and walk into the conversation knowing which line items you actually need.

# pre-quote.sh https://example.com
site=${1:?site url}
sitemap="$site/sitemap.xml"

echo "== sitemap =="
curl -sI "$sitemap" | head -1
count=$(curl -s "$sitemap" | grep -o "<loc>" | wc -l)
echo "URLs in sitemap: $count"

echo "== status and canonical for the first 20 =="
curl -s "$sitemap" \
  | grep -o "<loc>[^<]*" | sed "s/<loc>//" | head -20 \
  | while read -r url; do
      code=$(curl -s -o /dev/null -w "%{http_code}" -L "$url")
      canon=$(curl -s -L "$url" | grep -o 'rel="canonical"[^>]*' | head -1)
      echo "$code  $url  $canon"
    done

Three outcomes, three different quotes. If the sitemap 404s or holds a fraction of your pages, you are buying technical work first and content later. If every URL returns 200 with a canonical pointing at itself, your technical line item is close to zero and you should refuse to pay a discovery fee for it. If half of them redirect, you have an architecture problem that no amount of monthly content will outrun.

Then open Search Console and read two numbers: how many pages are indexed, and how many queries you already appear for. A site with impressions and no clicks has a title and description problem, which is a cheap fix. A site with no impressions at all has an indexing problem, which is also cheap. Neither of those justifies a $3,000 retainer, and both are the most common findings on a small site.

How to audit the proposal in twenty minutes

Google publishes a vetting list on its "Do you need an SEO?" page (last updated 2026-06-05), and it is more useful than anything the vendors write about themselves. The clauses worth quoting back:

  • "An SEO audit should be about giving you realistic estimates of improvement, and an estimate of the work involved."
  • "If they guarantee you that their changes will give you first place in search results, find someone else."
  • Grant "read access to Search Console (at this stage, don't grant them write access)".
  • Ask, if they sell AI visibility work, whether "their advice [is] aligned with Google Search's official guidance on optimizing for generative AI features".
  • "Be careful if a company is secretive or won't clearly explain what they intend to do."

Add three commercial questions the Google page does not cover, because they decide the real price rather than the quoted one.

Who owns what you paid for. Content, accounts, tracking properties and any pages built on the vendor's own platform. If the blog lives on a domain they control, the asset stops being yours the month you stop paying, which is the argument we make in detail in SEO vs Google Ads.

What the exit looks like. Minimum term, notice period, and whether the deliverable count survives a bad quarter. Virayo publishes a six-month commitment on its own page, "after which our engagements switch to month-to-month", which is a normal term stated plainly. Vendors who will not state one in writing are the problem.

What the first invoice actually is. WebFX publishes a Silver package at $5,900 initial (covering two months) and $2,900 a month ongoing. If you read that as a twelve-month cost, it is $5,900 plus ten payments of $2,900, or $34,900 for the year, not the $2,900 the ad copy leads with. Setup fees are not unusual, but they belong in your arithmetic.

The same vetting applies whether the vendor is an agency, a freelancer or a tool. Our breakdowns of the SaaS SEO agency, B2B SEO agency, AI SEO agency and SaaS SEO consultant markets all end at the same place: ask for counts, ask for access, and read the deliverables rather than the promise.

The three things that move your price more than the vendor does

Two proposals for the same monthly number can describe completely different amounts of work, because three inputs dominate the estimate.

The state of your site. A five-page site on a modern stack needs a morning of technical work. A ten-year-old site with three CMS migrations behind it can absorb a quarter before a single new page ships. The pre-quote.sh output above tells you which one you are, and it is the input vendors price highest because it is the one they cannot see from outside.

The difficulty of the keyword set. Ranking pages for queries where the incumbent results are thin costs a fraction of what it costs where the first page is owned by established publishers. This is why the audience and difficulty check comes before the writing, not after: the same article costs the same to produce and is worth nothing on the wrong query. We walk through that check on a real vertical in SEO for photographers and SEO for gyms.

Publishing volume. This is the only one you control directly, and it is where the cost per article from the script above becomes a decision rather than a metric. Four thin posts a month and one good one a month cost the same in most retainers.

Notice what is not on that list: the vendor's own domain rating, their case studies, and their tooling. Those affect the price you are quoted. They do not affect the work your site needs.

What you can do yourself, priced in hours

Google's hiring page contains a sentence that no vendor in this SERP quotes: "If you run a small local business, you can probably do much of the work yourself." The same page notes that "it costs nothing to appear in our organic search results".

Priced in hours rather than dollars, the recurring work of a small site looks like this.

Task Frequency Hours Notes
Technical checks (status codes, canonicals, sitemap) Quarterly 2 The script above, plus fixes
Search Console review Monthly 1 Impressions, indexing, top queries
Business Profile upkeep Monthly 1 Only if you have a location
Keyword selection for the month Monthly 2 The check that decides everything downstream
One article, researched and written Per article 4 to 8 The number that scales
Titles and descriptions on existing pages Quarterly 2 Cheapest measurable win on most sites

Multiply the article row by your own hourly cost and compare it against the cost per article from any quote. That comparison, not the retainer size, is the real buy-or-build decision, and it is the arithmetic we run through step by step in DIY SEO for small business.

The part that genuinely does not scale by hand is the last row multiplied by consistency. Publishing one useful page a week for a year is a hundred hours of work that nobody does in month seven, which is what most retainers are really being paid for. Whether you buy that or build it, price it honestly, and remember that results vary and nobody can promise a position.

FAQ

Is paying someone for SEO worth it?

It depends entirely on which line item you are paying for. Paying for measurement is rarely worth it, since Search Console is free and gives you data no third-party tool has. Paying for technical fixes is worth it if you cannot edit your own templates. Paying for consistent content production is the one that is usually worth it, because it is the item that fails first when you do it yourself. Ask for the cost per published article and judge that number, not the retainer.

Can I do SEO on my own?

Google says so directly on its hiring page: "If you run a small local business, you can probably do much of the work yourself." The technical checks, the Business Profile, the titles and descriptions, and the measurement are all doable with free first-party tools. What breaks is the publishing cadence, not the skill.

What is the 80/20 rule in SEO?

It is a rule of thumb, not a Google concept, and it is usually stated as most of the results coming from a small share of the work. Applied to a budget, the useful version is narrower: on a small site, indexing, titles and descriptions, and a handful of pages that match real queries account for most of what moves, while link line items and tool subscriptions account for most of what you are quoted.

How much should a small business pay for SEO per month?

There is no defensible single number, which is why the published ranges span $250 to $10,000. The answerable version is unit cost: what does one published article cost, what does one hour of technical work cost, and how many of each do you get. Compare those against your own hourly cost and the arithmetic decides it. Anyone quoting a monthly figure before seeing your site is quoting an average, not a price.

Why is SEO so expensive?

Because the recurring part is human writing time, and it does not compress. A retainer at the survey average of $3,209 that ships four articles a month is paying roughly $802 per article, which covers research, writing, editing and publishing. The line items that look cheap per unit, particularly bulk link packages, are the ones Google's link spam policy describes when the transaction is money for links.

Are cheap SEO packages worth it?

Read what the package counts. A low monthly price with a high deliverable count (dozens of links, dozens of pages) is describing volume that Google's scaled content abuse policy defines as "many pages generated for the primary purpose of manipulating search rankings and not helping users". A low price with a small, specific count can be perfectly reasonable. The price alone tells you nothing until you divide it by the units.

Get cited by ChatGPT. Rank on Google.

You found this article through search. That is the whole product.

  • One researched article a day
  • Published on your own domain
  • Keywords checked against live results
Start writing

Get cited by ChatGPT. Rank on Google.

You found this article through search. That is the whole product.

  • One researched article a day
  • Published on your own domain
  • Keywords checked against live results
Start writing