Ballad
Product · SEO & Website

The searches your buyers make, and a site that wins them.

The SEO and web person you haven't hired, working while you ship: the searches your buyers make and the ones you could win, articles written for them and tracked week by week, a weekly audit of your site with every fix spelled out, landing pages that keep up with your positioning, and listings where your buyers look. You approve; Ballad does the legwork and shows what each search and link brought.

The job

What an SEO and web lead would own, done while you ship.

  • Keyword research

    Finds the searches your buyers make, the ones you nearly win and the ones you don't show up for yet, each with a reason it fits.

  • Briefs for search

    Every other article is written for one of those searches, after reading what already ranks on Google's first page.

  • Rank tracking

    A week-by-week record of every search it wrote for, with the clicks, visits and signups each article brought.

  • Site audits

    Checks the whole site every week, from robots.txt and page speed to pages still selling last quarter's offer, and hands you each fix.

  • Landing pages

    Comparison, segment, use case, integration, ad and launch pages, written from your positioning and rewritten when it moves.

  • Link building

    Finds the directories, review sites and roundups where your buyers look, drafts each listing, and counts what each link brings.

01 · Searches

The searches your buyers make, turned into briefs.

Search Console knows the searches your site already shows up for. Keyword data knows the ones your buyers make that you don't show up for yet. Ballad reads both, keeps the searches that fit your business, and writes for the best one every other article, so the rest of the calendar stays yours.

  • Within reach, and not yet. A search you rank 11th for with no article behind it, an article stuck on page two, a search a competitor wins and you don't. Each shows where you stand, how often it's searched, and why it fits.
  • Read what ranks first. Before an article for a search is outlined, Ballad reads Google's first page for it: the format most results take and the questions people also ask. The search goes in the title, and the opening answers it.
  • Your market, not your name. Searches are read for the country and language your buyers search in. Searches for your own name, misspellings included, never count as opportunities.
Connect Search Console
app.balladlabs.com/signals
Search
Google Search Console for driftwood.dev · the last four weeks
Live
18.4kImpressions · 28d
612Clicks · 28d
14.2Avg. position
3.3%Click-through
Searches you could win
Ballad writes for the top one every other article
postgres job queue
Position 11.4 on /docs/queues, no article answers it · 2,140 searches
Write itNot for us
retry failed jobs postgres
“Retries without the pager” ranks 8.6 · 910 searches
Refresh itNot for us
pg_cron alternative
480 searches a month · difficulty 24
Halyard Queue ranks #3. Teams outgrowing pg_cron are the ones Driftwood is built for.
Write itNot for us
background jobs without redis
320 searches a month · difficulty 18
Postgres teams who don't want to run Redis for a queue, Driftwood's buyers exactly.
Write itNot for us
02 · Rankings

Every search it wrote for, on the record.

Writing for a search is only half the job; the other half is watching what happens. Each article Ballad writes for a search gets a record of its position week by week since it went live, with what it brought, and an article that stalls or slips is proposed for a rewrite at the same URL.

  • Position, then signups. Where it started, where it is now, and the clicks, visits and signups beside it, on Signals, in the article itself, and in your Inbox when something climbs.
  • Refreshed for the search. An article ranking 6th to 20th, or on page one with too few clicks for its position, comes to your Inbox as a refresh: researched again, its opening rewritten to answer the search, retitled for it, at the same address.
  • What competitors rank for. One tab per competitor you watch: their page-one searches your buyers make, by estimated visits, marked where you rank too. The ones you're missing become searches you could win.
app.balladlabs.com/signals
Search
What happened to every search Ballad wrote for
Searches Ballad wrote for
“how to schedule jobs in postgres”
Scheduling jobs in Postgres without a cron box
Now #7 ↑41 started #48 · 38 clicks · 21 visits · 2 signups · since Aug 31
“dead letter queue postgres”
What a dead-letter queue is for
Now #19 ↑45 started #64 · 6 clicks · 4 visits · 0 signups · since Sep 7
What competitors rank forHalyard QueueTidewell
Searches your buyers make
durable job queue~640 visits/moYou #12
postgres queue benchmarks~410 visits/mo
job scheduler for node~380 visits/moYou #27
Also brings them traffic (14)
03 · Audit

A site audit that hands you the fix.

Every Monday, Ballad reads your site again and checks it against two things: what Google can reach, index and load, and what you now say you do. Each finding names the page, says how much it matters, and ends in something to write, refresh or paste.

  • The technical side. robots.txt rules that block a page, a stray noindex, broken internal links, Google's own index status, mobile page speed, and structured data that doesn't parse.
  • The marketing side. Pages your positioning promises and the site lacks, pages still saying what you no longer say, readers with no next step, and years and “coming soon”s gone stale.
  • Copy for Agent. Findings of one kind fold into one card, and Copy for Agent hands your coding agent the exact change. High ones reach your Inbox.
  • Told when it's blocked. If your firewall starts turning Ballad's reader away, one finding says what's blocking it and the rule to let it in.
Read the site audit guide
app.balladlabs.com/content?v=audit
Audit
7 open, 2 high. Last run Mon 06:10.
Run the audit
HighTechnical/pricing
Your pricing page tells Google not to index it
The page carries a robots noindex tag, so it can't appear in search results.
Copy for AgentFixedDismiss
HighCoverage
People search “Halyard Queue alternatives” 720 times a month
No page on driftwood.dev answers it.
Comparison page · /vs
Written from your positioning, product and proof; it waits in your Inbox.
Write itDismiss
MediumFreshness/docs/quickstart
Still says “in beta”
Driftwood has been generally available since June.
CopyFixedDismiss
04 · Pages

Landing pages that keep up with you.

A comparison page, a page for each kind of buyer, a page for each integration: the permanent answers to questions buyers keep asking. Ballad writes them from your positioning, product and proof, and when something they say stops being true, proposes the rewrite as a diff.

  • Six types, each with its shape. Segment, use case, comparison, integration, ad landing and launch pages. A comparison always has its table; ad and launch pages stay out of search by default.
  • From the audit, or from you. A gap the audit finds, like a competitor's “alternatives” search with no page to answer it, becomes the right page when you press Write it. Every page waits in your Inbox and never publishes on its own.
  • Ballad as your CMS, or yours. On Next.js, one catch-all route renders every page Ballad writes. On your own CMS, paste the finished page in as rich text, Markdown or HTML and tell Ballad its address.
Read the landing pages guide
app.balladlabs.com/content?c=vs
Compare
Comparison page · 2 live · 1 rewrite proposed
New page
Cited by AI answerscited in 3 of 12 tracked questions
Driftwood vs Halyard Queue/vs/halyard-queuerewrite proposed
Driftwood vs Tidewell/vs/tidewelllive
Comparison page · rewrite proposed
Halyard Queue added a hosted dashboard
Their site changed this week. One section of the comparison is now wrong.
What it says now
Only Driftwood shows failed jobs in a dashboard.
Both have a dashboard; only Driftwood keeps job history in your own Postgres.
Apply and republishLeave it
The rest of the loop

One system, not a stack of tools.

What one job learns, the others use: the calendar writes from the positioning, the launches measure through the same signals, and the analysis changes the plan.

Your first audit by Monday.

Point Ballad at your site and connect Search Console. It maps every page, runs the first audit, and lists the searches you could win, before you'd have finished choosing an SEO tool.