SEO Cartograph — Desktop app guide
The SEO crawler that runs on your machine: audit a site end to end — technical, content, semantic linking — then export deliverables ready to present.
This guide covers everything: from installation to your first audit, every tab in detail, exports and reports, all the way to tips for crawling stubborn sites. Keep it handy — the table of contents on the left takes you straight to wherever you want to go.
Install & activation
Run SEO Cartograph Setup.exe and follow the wizard. Installation is standard — the wizard displays in French or English depending on your Windows language. No key is required at install time.
The activation screen
On first launch, the app asks for an activation key. It’s tied to this computer (one device per key).
- You have a key (format
XXXX-XXXX-XXXX-XXXX): paste it, click Activate. It’s instant. - You don’t have one: click ✨ Sign up and get my free key. Signing up is free and gives you a key.
Choosing the language
The app detects the Windows language on first launch. To switch manually: gear ⚙ (top) → Appearance section → Langue / Language → Français or English. The interface, the next exports, and the next reports follow the chosen language.
Your first crawl
- Enter the site’s URL in the field at the top (e.g.
https://example.com). - Click ▶ Start. The crawl starts immediately and fills up live — pages appear as they’re found.
- When it’s done, all the tabs are ready: issues, technical, mapping, and so on. The crawl is saved automatically (see the Projects tab).
Deliver into a folder
The 📁 Delivery button chooses the delivery folder for the next crawl. When that crawl finishes, the app automatically drops the analyses, the full PDF, the Excel, and the sitemap into it. Each crawl has its own folder — handy for filing by client.
Crawl settings
Click the gear ⚙ Crawl settings (next to the URL field) to adjust the behavior. These settings apply to the next crawl; 💾 Default saves them for all the following ones.
| Setting | What it’s for |
|---|---|
| Speed (req/s) | Number of requests per second. Lower it if the server throttles you (see 429/503). |
| Workers | Parallel requests. More = faster, but more aggressive on the target server. |
| Max pages | Cap on the number of pages to explore. 0 = unlimited (within your plan’s limit). |
| Max depth | Number of clicks from the home page. -1 = unlimited. |
| User-Agent | The crawler’s identity: Chrome (recommended), Honest bot, Googlebot, or custom. |
| URL filters | Exclude patterns (e.g. ?utm, /tag/, page=) or include only one path (e.g. /blog/). One-click suggestions of common traps are provided. |
| JS rendering | Runs the page’s JavaScript (Wix, React, sites that only render in JS). Slower — enable it if few pages are found. |
| Image weight | Measures the weight of each image (1 request/image, slower). |
| Check external links | Tests the status of outbound links (broken links) in a post-crawl phase. |
| Custom extraction | Pulls a specific piece of data from each page via a CSS / XPath / Regex selector → becomes a column in the export. |
The 8 tabs
Once the crawl is done, everything is read in these tabs. Some analyses (mapping, links) run on demand — the 🚀 Analyze everything button (in Overview) chains them all at once.
Overview
The crawl’s dashboard: Priority action plan (fixes ranked by severity × volume, clickable), key figures (indexable, redirects, errors, average time), HTTP status distribution, depth, and “Site intel” (detected CMS).
URLs
The table of every page. Filter by status, search, and choose the column set (All / SEO / Essential / Technical). Click a row to open a page’s detailed sheet (metas, titles, hreflang, links, images, structured data, inbound sources).
Issues
More than 50 types of issues, sorted by severity (critical / important / minor) and by group (Response, Content, Indexation, Linking, Technical…). Each issue has a “What it is / How to fix” sheet. Click one to see the affected pages.
Technical
The site’s audit: HTTPS, http→https redirect, mixed content, robots.txt, sitemap.xml, structured data, trailing slash, AI bots (allowed?), llms.txt. 🔄 Re-analyze the site refreshes the live probes.
Mapping
Internal linking by AI. Sub-tabs: 🧩 Silos (thematic grouping), 🕸️ Orphans (pages with no inbound link), ◌ Outside silo, 🔗 Links/page, 🕸 Web (interactive map). Click 🧩 Analyze to derive it.
Keywords
The lexical field: the dominant terms in your content and their frequency. ⚠️ Density is not a Google ranking factor — write naturally. It’s there to check the vocabulary, not to hit a %.
Consistency
Do the title, the URL, the H1, and the content talk about the same topic? 100% local, no target keyword: we measure the internal consistency of each page and show the missing terms.
Resources & links
Checks the existence of all your links — pages, images, PDFs, documents, external — and lists the broken ones, sorted by the page to fix. Click 🔍 Analyze links. Functional links (cart, login) are filed separately.
site-footer, nav): one click, Apply, and the map recomputes without re-crawling.Projects & comparison
Switch to Projects (top): every finished crawl is archived here, grouped by site. Open a project to reload an old audit, or pick a specific run from the dropdown.
Compare two crawls (before / after)
The ⇄ Compare button pits two crawls of the same site against each other: pages added / lost, changed statuses, issues resolved vs appeared. Ideal for showing a client the work done between two passes (monitoring / retainer).
Exports
The Export ▾ menu (inside a crawl) offers several formats. Everything is also dropped into the project folder — no system dialog needed.
| Format | Content | For… |
|---|---|---|
| CSV | Every page + an “issues” column. | Raw spreadsheet, quick sorting. |
| Excel | Pages tab + 1 tab per issue type + broken links + linking + keywords. | Delegating: one sheet = one task. |
| Text (JSONL) | Full text of each page. | Feeding an AI / NLP. |
| Sitemap.xml | Only the clean indexable pages. | Submitting to Google Search Console. |
The full Deck
📦 Full deck runs all the analyses then generates everything at once: full audit PDF + preview (first contact) + semantic mapping + resources & links + full Excel. Named, distinguishable files, ready to send.
PDF reports
The Report button opens the choice of PDF report type:
- First contact — 1 page: score + key figures + what stands out + call to action. Ideal for prospecting.
- Full audit — action plan + all the issues + linking + resources.
- Technical hygiene (before / after) — the progress in numbers between two crawls. Perfect for client monitoring.
- Semantic — the map of silos + the internal links to create.
- Resources & links — the broken links by category.
Send up to the dashboard
From a crawl, Export ▾ → ☁ Send up to the dashboard sends the complete audit of that crawl (all the pages, all the fields, text included) to your online space. That’s where the work continues: AI-assisted fixes, applying to the site (WordPress plugin, API), tracking.
The plans
The crawl and all the analyses run on your machine. Here’s what each plan unlocks:
| Free | Pro | Agency | |
|---|---|---|---|
| Crawl | 500 URLs | Unlimited | Unlimited |
| Analysis features | All | All | All |
| Ads in the app | Yes | Ad-free | Ad-free |
| White label | — | ✓ | ✓ |
| Online space (AI, WordPress application, API) | — | ✓ | ✓ |
| Multi-project & team seats | 1 | 1 seat | Several |
The free plan requires signing up (free key). Up-to-date pricing and details on tnedjar.com.
Tips & troubleshooting
“Block detected — X pages refused”
The site is blocking bots (Cloudflare / firewall). Click “How to allow the crawl”: the app gives you your IP and the User-Agent to allow on the site’s side. Two options — allow your IP, or the crawler’s User-Agent. This isn’t an error with the pages themselves.
“Throttled by the server (429 / 503)”
The target server has rate-limited you (too many requests). This is not a broken link or a broken page. Lower the Speed and the Workers in ⚙, then start again more gently.
Few pages found
The site is probably rendered in JavaScript (Wix, React…). Enable JS rendering in ⚙ and start again. It’s slower, but the app then sees the real content.
“Crawl trap detected”
The same URL pattern repeated abnormally (endless pagination/filters). The app pauses the crawl and offers a one-click exclusion rule — apply it and resume, or ignore it if those pages are legitimate.
I’m being asked for the key again
The key is entered once, when the app opens. If it’s rejected, check the format (XXXX-XXXX-XXXX-XXXX) and that you’re connected to the internet (activation happens online). To switch PCs: 🔑 Sign in → Deactivate this device.
