| Bulk domain analysis |
- Up to 100 domains per batch, 8 data sources in one table
- WHOIS (registrar, created / expires), DNS, CMS, Wayback archive
- Majestic TF/CF, Ahrefs DR/UR/backlinks/ref. domains, Moz DA + spam score, traffic
- Async jobs with status polling, sortable results, CSV and XLSX export
- Per-plan quotas and a check history inside every project
|
| Search Console |
- OAuth-connected properties, each user on their own credentials
- 16-month backfill plus daily snapshots into our own database — history keeps growing after Google’s window has rolled away
- Handles Google’s ~3-day data lag and catches up missed dates (up to 30 per run)
- Striking distance: queries knocking on the top-10 with an estimate of the clicks left on the table
- Opportunities: queries whose real CTR is under half of what the position should give (positional CTR baselines from the Advanced Web Ranking 2024 study)
- Content gap: queries at positions 21–100 with 100+ impressions — Google already shows you for the topic, but there is no page for it
- Cannibalization: where several pages fight over the same query
- AI spec engine: any report row becomes a ready technical spec for the copywriter or the SEO, with the live page metadata pulled in
- For cannibalization the prompt carries a 6-scenario playbook (merge, split the intent, de-optimize the secondaries, canonical, internal links, strengthen the main page) — the model lays the options out, the copywriter or the SEO picks
- Head- and secondary-keyword guards — a spec never hands over a keyword another page already ranks for
- Query intent classification, drop alerts, an email digest and report export
|
| GEO — LLM visibility |
- Checks how often a brand is mentioned by OpenAI, Gemini and Google AI Overview
- AI prompt generator: keywords in — the natural questions real people ask an assistant out
- Branded and unbranded prompt sets, up to 5 variants per keyword, preview before saving
- Deduplication against existing prompts, up to 50 prompts per project
- Two-pass detection that cuts false positives
- Share of voice against up to 20 competitors per project
- AI Overview detail view and a cited-domains report
- Automatic re-runs by cron
|
| Rank tracker |
- Keyword positions per project
- Keywords in folders with drag-and-drop ordering — something SE Ranking does not even offer
- Position history and per-folder aggregates
- Refresh on demand or on a cron schedule
|
| Indexing |
- Submissions through the Google Indexing API and external indexing services
- Queue plus a scheduler for submissions
- Indexed / not-indexed status checks
- Submission history with deletion, visible to the whole team
|
| Competitors & keyword gap |
- Competitor registry per project
- Keyword gap: what they rank for and you do not
- Regex filters and query clustering
- Select → export → spec in one pass
|
| Sitemap scanner |
- Recurring crawl of competitor sitemaps
- Diffs: which URLs appeared since the last run
- New URLs pushed to Slack in chunks
- Run history per site
|
| Keyword research |
- Ideas, suggestions and trends via DataForSEO / SE Ranking
- Minimum-volume filter, up to 200 ideas per query
- 7-day local cache so API quota is not burned twice
- Export of the selected keywords
|
| Links control |
- Monitoring of purchased placements: link present, anchor, dofollow / nofollow
- Daily re-checks (at most one per link per day) through a proxy pool
- Records the exact date a link disappeared
- Dispute / “insurance” workflow with the vendor
|
| PBN management |
- Registry for hundreds of network domains (WordPress / Next.js)
- WHOIS/RDAP expiry watch — warning at 30 days, alarm at 7
- Per-domain traffic dashboards fed by an own hit-ingest endpoint
- One-click WordPress login
- Availability checks per domain
|
| Sitemap health |
- Crawls up to 10,000 sitemap URLs per run
- Status codes, redirect chains (up to 5 hops), head metadata
- Polite concurrency and a wall-clock budget — a partial report instead of a failed run
- Weekly enqueue of all sites plus a Slack digest
|
| Schema checker |
- Extracts and validates schema.org markup on a page
- Splits findings into errors and warnings per entity type
- Tells you what exactly to fix
- Result export
|
| Log audit |
- Upload of server logs (CSV/TSV/XLSX/ZIP, up to 10 files / 50 MB)
- Who crawls the site and how: bots, status codes, top-20 pages
- Crawl freshness in buckets: 0–1, 1–3, 3–7, 7–14, 14–31, 30+ days — surfaces pages Google has not seen for months
- Crawl-budget waste broken down: re-fetched static, redirect chains, 404s, junk endpoints (wc-ajax, admin-ajax, add-to-cart, xmlrpc)
- And, most importantly, what to do about it — the report ends with prioritized P0/P1/P2 findings, not just numbers: set cache headers, disallow service endpoints in robots.txt, clean up 404s, deal with the bot eating half the budget
- Every finding carries an expected effect (“frees up ~N hits of crawl budget”) plus a closing “expected effect” summary for the P0–P1 block
- Configurable rules and thresholds, with a WordPress/WooCommerce ruleset out of the box: re-fetched-static %, 404 hits per URL, top-bot share, bot error rate, redirect hits
- Findings are stored as keys, not sentences — the report reads in whatever language the reader picked
|
| Text checker |
- AI-origin and originality check for any text
- Script and encoding check (mixed Cyrillic / Latin and friends)
- Check history with the cost of every run
- Runs on the user's own API key
|
| Uptime monitor |
- HTTP checks over projects and network domains
- Intervals of 1, 3, 6, 12 or 24 hours
- 5 attempts with back-off — no false “it is down”
- Alerting and incident history
|
| Teams & access |
- NextAuth v5: email with verification, Turnstile against bots
- Roles and project sharing inside a team
- Per-user API keys
- AI model selectable in settings, admin panel with user management
|
| Web analytics — our own counter |
- Our own tracker in place of Google Analytics: views, sessions, entry and exit pages, channels and UTM, country / region / city, browser, OS and device, outbound clicks, downloads and custom events — 15 breakdowns
- Two install modes: a tiny script tag for our own products, or a WordPress plugin that serves the tracker from the site’s own domain — nothing on the page points back to the platform
- Engagement time and scroll depth are measured separately; a bounce means one view and under 10 seconds engaged, so a visitor who read the whole article is not counted as a bounce
- Click any row to narrow the whole report; the filter lives in the URL and can be saved. Comparison with the previous period, a metric and granularity switch, and visitors over the last 5 minutes
- Goals and funnels: up to 20 goals and funnels of up to 8 steps, all computed in Postgres rather than in Node
- Session replay: real visits played back with the cursor, clicks and scroll. Off by default, records 20% of sessions, keeps recordings for 30 days, and form fields are always masked
- Clean data: automated browsers are filtered out in the browser, Global Privacy Control is respected, sites can block countries, IPs and hostnames, and tokens and passwords are stripped from URLs before anything is stored
- Shareable read-only report links that last from 7 days to a year (or until revoked), plus embeddable widgets: a world map, top countries and live visitors
- A single toggle narrows the site list to Google organic traffic, covering every national Google domain and the Android app
|
| AI agent — the layer everything is heading towards |
- A chat on top of your own project data, not generic advice — the model reaches for the platform’s own tools mid-answer
- Today it can already: list projects, pull a rank overview and per-folder aggregates, read the GEO picture (visibility, competitor visibility, cited domains), open the competitor registry and the keyword gap
- Every answer shows which tools it called, so the numbers are traceable rather than hallucinated
- Conversations are stored with full history and run on the user’s own API key
- Where it is going: from reading to doing — the agent should run almost the whole project on its own
- Planned: launch checks and crawls, add domains, keywords and GEO prompts, write the technical spec for a page and hand it over, push URLs for indexing, open a dispute over a lost link, assemble a client report — all from a single conversation
- The end state: you describe the goal, the agent decides which module to use and does the work; you review the result
|