Skip to content

docs(seo): answer definitional CAPTCHA intent on captcha-solving page - #94

Merged
nibzard merged 2 commits into
mainfrom
seo/captcha-definitional-rework
Jul 30, 2026
Merged

docs(seo): answer definitional CAPTCHA intent on captcha-solving page#94
nibzard merged 2 commits into
mainfrom
seo/captcha-definitional-rework

Conversation

@nibzard

@nibzard nibzard commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Why

Google Search Console, last 3 months, /overview/stealth/captcha-solving:

Metric Value
Avg position 14.2
Impressions 16,414
CTR 0.4%

The query cluster this page attracts is definitional, not configurational:

  • what is a captcha solver : 4,884 impressions, position 9.0, zero clicks
  • captcha solve : 599 impressions
  • captcha solving : 542 impressions
  • captcha solving api response time : 149 impressions
  • what is a captcha solving api? : 102 impressions
  • captcha solving api documentation for developers : 100+ impressions
  • captcha solving api vs manual solving : 71 impressions

Across all 114 captcha queries: 8,524 impressions, 2 clicks. The page only answered "how do I configure CAPTCHA solving in Steel", so it ranked on page one for a definitional question and converted nothing.

What changed

Definitional intent first, then the existing configuration content. No configuration content was deleted, only reordered.

New heading tree:

What Is a CAPTCHA Solver?
How Automated CAPTCHA Solving Works
CAPTCHA Types Steel Detects and Solves
How Steel Handles CAPTCHAs
Automatic vs Manual Solving
  Session Configuration
  Manual Solving
Response Times
Best Practices for Implementation
  1. Implement Proper Waiting
  2. Detecting CAPTCHA Presence
Important Considerations
Common Issues and Solutions
Best Practices for Avoiding CAPTCHAs
Looking Forward
FAQ
  • What Is a CAPTCHA Solver? opens with the definition plus the detect / solve / submit-and-verify breakdown, and the one-flag session example.
  • CAPTCHA Types Steel Detects and Solves replaces the old checkmark bullet list with a table of the type strings that appear on status tasks, plus a warn callout for challenges that are detected but not auto-solved.
  • Automatic vs Manual Solving adds a comparison table for the captcha solving api vs manual solving query, with the existing session config and solve-endpoint content reorganized underneath.
  • Response Times answers the response-time queries honestly: no published latency figure, instead the detectionTime / solveTime / totalDuration task fields and how to log them. No invented latency numbers or success rates anywhere.
  • Frontmatter title and description retargeted at the definitional phrasing (55 and 158 chars), following the conventions from 8ff87c6, including no third-party protection-brand names in title/meta. sidebarTitle unchanged.
  • Definitional FAQ entries added (what a solver is, what a solving API is, automatic vs manual, how long solving takes); all existing entries kept.
  • Kept the existing /overview/captchas-api/overview page as the API reference and link to it rather than duplicating the status/solveImage/bridge reference material.

Fact check

Supported types verified directly against packages/types/src/captchas.ts in steel-main (CaptchaType + CAPTCHA_TYPE_VALUES):

  • recaptchaV2, recaptchaV3, turnstile, image_to_text, slider are among the user-exposed, persisted types; unknown is the catch-all.
  • datadome, imperva, amazonWaf, funCaptcha are annotated in the source as analytics-only: "detected and logged, not yet exposed to users or persisted to DB".

Brand-name CAPTCHA vendors are listed only where legally appropriate, so the table and the FAQ answer both note that other widely used challenge types are auto-solved as well rather than presenting the list as exhaustive.

This corrects two pre-existing inaccuracies in the body copy: the old list advertised Amazon AWS WAF as supported and GeeTest v3/v4 as coming soon, and GeeTest does not appear in the source at all. slider is supported and was missing from the old list, so it is now documented.

stealthConfig.autoCaptchaSolving and solveCaptcha verified against apps/api/src/modules/sessions/sessions.schema.ts; the per-type autoSolveByType toggle is not part of the public session schema, so it stays undocumented.

Verification

  • bun run lint clean
  • bun run validate-links: 0 errors
  • bun run spell clean, no dictionary additions needed
  • Page renders 200 on the dev server; title, table, callouts, and FAQ JSON-LD all present
  • No em dashes in the page (removed the one pre-existing instance in the FAQ)

GSC (last 3 months) shows the page at avg position 14.2 with 16,414
impressions and 0.4% CTR: the query cluster is definitional, not
configurational ("what is a captcha solver" alone is 4,884 impressions
at position 9.0 with zero clicks). The page only answered "how do I
configure CAPTCHA solving in Steel".

Restructure so definitional questions come first, then flow into the
existing configuration content (nothing removed):

- new opening "What Is a CAPTCHA Solver?" section with the detect /
  solve / submit-and-verify breakdown
- "How Automated CAPTCHA Solving Works" keeps the existing pipeline and
  adds a status-polling example
- "CAPTCHA Types Steel Detects and Solves" replaces the old bullet list
  with a type-string table, fact-checked against
  packages/types/src/captchas.ts in steel-main
- "Automatic vs Manual Solving" comparison table, with session config
  and manual solve endpoints reorganized underneath it
- "Response Times" answers the response-time queries by showing how to
  measure detectionTime / solveTime / totalDuration, with no invented
  latency or success-rate numbers
- title and description retargeted at the definitional phrasing, brand
  names kept out of the metadata
- three definitional FAQ entries added, existing ones kept

Fixes an inaccurate support claim on the way: the old list advertised
Amazon AWS WAF as supported and GeeTest as coming soon, and omitted
hCaptcha and slider. CaptchaType marks DataDome, Imperva, Amazon WAF,
and FunCAPTCHA as analytics-only (detected and logged, never exposed
as solvable).
@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jul 30, 2026 2:20pm

Request Review

The types table and the FAQ answer named a trademarked CAPTCHA vendor
that the docs cannot reference. Remove the row and the prose mention,
and reword both so the list no longer claims to be exhaustive: the
table intro and the FAQ answer now say other widely used challenge
types are auto-solved as well.

Also reverts the dictionary entry that was only needed for the removed
type string. The slider and image_to_text entries stay.
@nibzard
nibzard merged commit 0c92546 into main Jul 30, 2026
3 checks passed
@nibzard
nibzard deleted the seo/captcha-definitional-rework branch July 30, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant