Files

146 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Domain Availability Research
**When to use:** Before registering a domain — research which names are available, check WHOIS/DNS, generate creative alternatives, and compare pricing.
---
## Workflow: 3-Prong Validation
Do NOT rely on a single check. The registry WHOIS database can lag or return stale data. Always run all three checks:
### Check 1 — VeriSign WHOIS (authoritative for .com/.net/.edu)
```bash
whois <domain> 2>&1 | grep "No match for domain"
```
- **Available:** `No match for domain "EXAMPLE.COM"` — domain is not registered
- **Taken:** Returns registry domain ID, creation date, expiry, name servers
- **Rate note:** On fresh installs, `apt-get install -y whois` first
- **Limitation:** Only covers .com, .net, .edu domains at the VeriSign registry level. For other TLDs (.io, .org, .co, .app, etc.), use a registrar's check endpoint or DNS lookup instead.
### Check 2 — DNS NXDOMAIN verification
```bash
nslookup <domain> 2>&1 | grep "NXDOMAIN"
```
- **Available:** Returns `NXDOMAIN` — no DNS records exist
- **Taken:** Returns one or more IP addresses
- Works for ANY TLD, not just .com
- A DNS lookup returning `NXDOMAIN` but WHOIS showing "No match" confirms availability from two angles
### Check 3 — HTTP redirect/resolve check
```bash
curl -sk -o /dev/null -w '%{http_code} %{redirect_url}' https://<domain> 2>&1
```
- Sometimes a domain is registered but parked (HTTP 200/302 lander page) — means it's taken but possibly for sale
- NXDOMAIN from Check 2 + timeout/slow from Check 3 = definitely available
- A fast 200/302 response means someone owns it or a registrar has a landing page up
### Important: DNS vs WHOIS discrepancies
A domain can show "No match" in WHOIS yet resolve in DNS. This happens with:
- Very recent registrations (WHOIS database hasn't propagated yet — up to 24h lag)
- Domain was just registered but the WHOIS caching layer hasn't refreshed
- **Resolution:** If WHOIS says "No match" but DNS resolves, the domain was likely registered within the last few hours. Mark as "likely taken — verify again in 24h."
---
## Generating Creative Domain Names
### Formula patterns
| Pattern | Example | Why It Works |
|---------|---------|-------------|
| `{theme}{keyword}.com` | `sharkfantasy.com` | Direct, brandable |
| `{theme}ff.com` | `sharkattackff.com` | "FF" = fantasy football shorthand |
| `{theme}draft.com` | `jawsdraft.com` | Highlights the draft mechanic |
| `{theme}league.com` | `chumleague.com` | Wordplay: chum = shark bait |
| `{theme}szn.com` | `jawsszn.com` | Sports seasons slang (SZN) |
| `{wordplay}league.com` | `toothyleague.com` | Fun, playful, memorable |
| `{compound}league.com` | `finomenalleague.com` | "Fin" + phenomenal |
| `{anatomy}picks.com` | `dorsalpicks.com` | Shark anatomy + draft picks |
| `{slang}league.com` | `sharkattackseason.com` | "Season" = sports league |
| `{chum-themed}{keyword}.com` | `chumdraft.com`, `predapick.com` | Short, wordplay, edgy |
### Criteria for good names
- ≤15 characters ideal (fits URLs, social handles, easy to type)
- No hyphens if possible (people forget them, look spammy)
- Avoid numbers unless part of brand (e.g., Web3 names with 3)
- Easy to spell after hearing it once (the "radio test")
- Avoid trademarked terms (e.g., "Feeding Frenzy" — EA owns it)
- Avoid names that sound like existing products or confuse the brand
---
## Registrar Pricing Reference (as of Jul 2026)
| Registrar | .com (1yr) | Notes |
|-----------|-----------|-------|
| **Cloudflare** | **$10.46** | At-cost, no markup — best value. Registration/renewal/transfer all same price. |
| Namecheap | ~$10$14 | Often has first-year promos, reliable API |
| Porkbun | ~$10$12 | Good mid-tier, simple interface |
| GoDaddy | ~$12$18 | Renewals higher; good for premium/auction domains |
| HugeDomains | Premium | Marketplace for already-registered domains, often $1K+ |
**Best practice:** Use Cloudflare Registrar for new registrations if the site will use Cloudflare DNS anyway. If another registrar, transfer to Cloudflare later.
### Premium/aftermarket domains
- `fantasyfrenzy.com` → HugeDomains (likely $1K+)
- `apexshark.com` → GoDaddy Auctions ($2,500 or $834/mo lease-to-own)
- Before pursuing a premium domain, check if an available creative alternative exists first (usually does at $10.46)
---
## Venue-Specific Domain Availability Checks
### Cloudflare Registrar API (requires token with Registrar Admin permission)
```bash
ACCT_ID=$(curl -s "https://api.cloudflare.com/client/v4/accounts" \
-H "Authorization: Bearer $TOKEN" | python3 -c "import sys,json;print(json.load(sys.stdin).get('result',[{}])[0].get('id',''))")
curl -s "https://api.cloudflare.com/client/v4/accounts/$ACCT_ID/registrar/domains/example.com/check" \
-H "Authorization: Bearer $TOKEN"
```
Returns: `available`, `can_register`, `premium`, `supported_tld`, `fees.registration_fee`, `fees.renewal_fee`, `fees.transfer_fee`.
**Pitfalls:**
- This is GET, not POST. POST returns "Page not found"
- Domain name goes in URL path, not as query param or request body
- Requires `Account → Registrar → Admin` permission token (standard DNS-only token won't work)
- See `cloudflare-dns-and-domains` umbrella skill for full token setup
---
## Deliverable Format
After researching, compile a ranked report with:
1. **SECTION A: Initial List** — the domains the user asked about, each with status + note
2. **SECTION B: Creative Alternatives** — original ideas generated by the research, checked for availability
3. **SECTION C: Top Recommendations** — 3-5 ranked picks with rationale
4. **SECTION D: Strategy** — which to register now vs. consider vs. skip
5. **Pricing** — Cloudflare at-cost as baseline ($10.46/.com), note premiums
### Rating scale
- ⭐⭐⭐⭐⭐ = Short (≤12 chars), brandable, descriptive, no issues
- ⭐⭐⭐⭐ = Good option, slightly longer or less obvious
- ⭐⭐⭐ = Decent but long or less catchy
- ⭐⭐ = Functional but not ideal
- ⭐ = Skip (taken, premium, confusing)
---
## Pitfalls
- **WHOIS not installed** — on minimal Linux installs, `whois` may not be present. Run `apt-get install -y whois` first.
- **WHOIS rate limits** — VeriSign applies rate limiting at high query volumes (exact threshold undocumented). If queries start failing with connection errors, space them out or use DNS as a lighter alternative. For 20+ domains, batch with a loop + 0.5s delay.
- **Premium domain price shock** — a "taken" domain at a marketplace like GoDaddy or HugeDomains can cost $500-$5,000+. Always check creative alternatives first at $10.46.
- **"No match" with DNS resolution** — domain was likely registered in the last few hours. Cross-check again in 24h.
- **New TLDs (.app, .dev, .io, etc.)** — WHOIS check via VeriSign only covers .com/.net/.edu. For other TLDs, use DNS NXDOMAIN + Cloudflare check API + registrar's own lookup. Many new TLDs require HSTS preloading (.app, .dev) which can cause redirect issues with http-only test pages.