docs(seo): answer definitional CAPTCHA intent on captcha-solving page - #94
Merged
Conversation
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).
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Google Search Console, last 3 months,
/overview/stealth/captcha-solving:The query cluster this page attracts is definitional, not configurational:
what is a captcha solver: 4,884 impressions, position 9.0, zero clickscaptcha solve: 599 impressionscaptcha solving: 542 impressionscaptcha solving api response time: 149 impressionswhat is a captcha solving api?: 102 impressionscaptcha solving api documentation for developers: 100+ impressionscaptcha solving api vs manual solving: 71 impressionsAcross 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:
warncallout for challenges that are detected but not auto-solved.captcha solving api vs manual solvingquery, with the existing session config and solve-endpoint content reorganized underneath.detectionTime/solveTime/totalDurationtask fields and how to log them. No invented latency numbers or success rates anywhere.titleanddescriptionretargeted at the definitional phrasing (55 and 158 chars), following the conventions from 8ff87c6, including no third-party protection-brand names in title/meta.sidebarTitleunchanged./overview/captchas-api/overviewpage 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.tsinsteel-main(CaptchaType+CAPTCHA_TYPE_VALUES):recaptchaV2,recaptchaV3,turnstile,image_to_text,sliderare among the user-exposed, persisted types;unknownis the catch-all.datadome,imperva,amazonWaf,funCaptchaare 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.
slideris supported and was missing from the old list, so it is now documented.stealthConfig.autoCaptchaSolvingandsolveCaptchaverified againstapps/api/src/modules/sessions/sessions.schema.ts; the per-typeautoSolveByTypetoggle is not part of the public session schema, so it stays undocumented.Verification
bun run lintcleanbun run validate-links: 0 errorsbun run spellclean, no dictionary additions needed