Desktop Features - Dashboard and SEO Analysis

Crawl Engine

The desktop app uses a BFS (breadth-first search) crawl engine. It is domain-constrained (same-host only) with configurable concurrency, depth, and delay. Events are processed in real time.

Parameter Range Default
Max Pages 1 – 1,000 20
Max Depth 1 – 50 10
Concurrency 1 – 20 5
Delay (ms) 0 – 5,000 50
Extract Content on / off on
Check Outgoing Links on / off on

Dashboard Cards

The dashboard presents eight interactive cards in a responsive grid. Click any card to expand it into an overlay with full details. Press Escape or click the backdrop to close.

Live Feed

Real-time stream of crawled URLs. Each entry shows an HTTP status badge color-coded by range:

  • 2xx - green
  • 3xx - yellow
  • 4xx / 5xx - red

On hover, each row reveals Copy URL and Open in browser actions. The grid card previews the last 14 entries; the expanded view shows the full feed (up to 500 entries).

SEO Issues

Automated SEO analysis across all successfully crawled HTML pages. Issues are grouped into 23 check categories. The grid card previews the first four categories with issue counts. The expanded view presents an accordion with per-URL details and Export CSV / Export TXT buttons.

Page Status

Pie chart and bar chart visualization of HTTP status code distribution. The grid card shows a donut chart; the expanded view adds a horizontal bar chart and an accordion listing every URL grouped by status code, with copy/open actions on hover.

Settings

Crawl configuration form with the five parameters listed above. All fields are disabled while a crawl is active. Also includes an Appearance section with a Dark Mode toggle that persists across sessions.

Downloads

Export crawl results in multiple formats:

Format Description Extension
JSON Archive Complete crawl data with metadata, links, and response details .json
Sitemap XML Standard sitemap format compatible with search engines .xml
Content Archive Full page content as clean Markdown files (premium) .zip

Download buttons are disabled until at least one page has been crawled. Files are saved through the save dialog.

Content

Split-panel viewer for extracted page content. The left panel lists pages that have markdown content, showing title, URL (with copy/open actions), word count, and byline. The right panel renders the selected page’s markdown with GFM support. Requires the Extract Content setting to be enabled.

SEO Analysis

The SEO analyzer runs against all 2xx HTML pages and flags issues using these thresholds. Duplicate detection uses canonical URLs when available to avoid false positives across canonicalized page groups.

# Category Condition
1 Missing titles title is empty or absent
2 Missing meta descriptions meta_description is empty or absent
3 Titles too long title.length > 60
4 Titles too short title.length < 30
5 Descriptions too long meta_description.length > 160
6 Descriptions too short meta_description.length < 50
7 Missing content word_count is null
8 Short content word_count < 200
9 Long content word_count > 5,000
10 Long URLs url.length > 120
11 Noindex pages meta_robots or X-Robots-Tag contains noindex
12 Nofollow pages meta_robots or X-Robots-Tag contains nofollow
13 Non-self canonicals canonical_url differs from the page URL
14 Paginated pages Page has rel="next" or rel="prev"
15 Duplicate titles Multiple pages share the same title
16 Duplicate descriptions Multiple pages share the same meta description
17 Missing H1 Page has no H1 element
18 Multiple H1 tags Page has more than one H1 element
19 Empty H1 H1 element contains no text
20 Long H1 H1 text > 70 characters
21 Short H1 H1 text < 10 characters
22 Duplicate H1 Multiple pages share the same H1 text
23 Broken links Outgoing links or images return 404/410/5xx or fail to connect

Content Extraction

The desktop app includes a split-pane content viewer for browsing extracted content:

  • Left panel - lists pages with title, URL, word count, and byline
  • Right panel - renders the selected page’s markdown with GFM (GitHub Flavored Markdown) support

Content extraction must be enabled in the Settings card. It converts HTML to clean Markdown by stripping navigation, sidebars, footers, and scripts, keeping only the primary article content.

Broken Link Checking

When Check Outgoing Links is enabled in the Settings card (on by default), the crawler checks every external link and image src on crawled pages. Internal links are already verified by the crawl itself.

  • Sends a HEAD request to each external URL (falls back to GET on 405)
  • Results are cached per URL so duplicate links across pages are only checked once
  • Anchors are flagged on 404, 410, 5xx, or connection failures
  • Images are flagged on any 4xx or 5xx response, or connection failures

Broken links appear in the SEO Issues card (check #23) grouped by broken URL with source pages listed. Disable this setting for faster crawls when link checking is not needed.

UI / UX

  • Dark mode - toggleable via Settings card, persisted across sessions
  • Keyboard shortcuts - Escape closes the expanded card overlay
  • Animated transitions - card expand/collapse with backdrop blur
  • Responsive grid - adaptive layout across different screen sizes