Adding a brand is the only manual step. Everything downstream — keyword research, article planning, content generation — derives from what we learn about your site here.
What you give us
Just the website URL. Examples:
https://bright-shot.combright-shot.comhttps://www.your-startup.io/
We normalise the URL, follow redirects, and start with the homepage.
What we do
The brand setup runs four sub-stages. Total time: 1-3 minutes for most sites.
1. Sitemap discovery
We check /sitemap.xml, /sitemap_index.xml, /sitemap-index.xml, and robots.txt for sitemap directives. Nested sitemap-indexes are followed.
If no sitemap exists, we fall back to crawling the homepage and any internal links found.
We cap at the top 100 URLs, prioritised by:
- Pages with shorter URLs (closer to root)
- Pages with higher sitemap
priorityif specified - Marketing pages (
/features/,/pricing/,/about/) before blog content
2. Page scrape
For each discovered URL we extract:
<title>tag<meta name="description">- H1
- All H2 + H3 headings
- Cleaned body text (up to 20K characters)
- Word count
- Page type classification (home / about / product / features / blog / pricing / docs / other)
All of this is stored in the brand_pages table — it becomes the source of internal-link suggestions, seed keywords, and competitor reference excerpts later.
3. Brand profile via Claude
Once enough pages are scraped, we run a two-stage Claude pipeline:
- Haiku condense — squeezes the scraped pages into a compact summary
- Sonnet synthesize — turns that summary into a structured profile
The profile includes:
- Niche — what specific market the brand serves
- Tone — direct / professional / friendly / playful
- Audience — who the buyers are
- Product summary — what the product actually does
- Visual style — how the site looks (used for image generation)
- Value propositions — 4-6 specific claims the brand makes
- Target keywords — 15 hand-curated seed terms
- Competitors — named brand competitors
4. Domain rank check
We fetch the domain’s OpenPageRank score to calibrate keyword difficulty filters. Low-DR brands (under 30) get the strictest filter (KD ≤ 30); higher-DR brands can go after slightly more competitive terms.
What you can edit
After setup, every profile field is editable in the brand settings:
- Niche, tone, audience, product summary, visual style — rewrite anything that’s off
- Forbidden phrases — words/phrases to never include in articles
- Target keywords — add or remove seeds
- Competitors — add real competitor domains
Changes take effect on the next keyword refresh and the next article generation.
What if my site is thin?
If you only have 1-3 pages (typical for a brand-new site):
- We use whatever we can scrape
- The profile may be less detailed
- Keyword discovery falls back to Claude-supplemented seeds (still high quality)
- You should publish a few pages first, then re-run the scrape from settings
Limits
- Maximum 100 pages scraped per brand
- 10-second timeout per page
- Pages requiring JavaScript to render the main content won’t extract well (we don’t run a headless browser; see Firecrawl fallback)
- Pages returning 4xx/5xx are logged and skipped