301→302301→302
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
A temporary redirect where a permanent one belongs.
Found by Redirect checker →
redirect loopredirect loop
The URL redirects back to itself and never settles.
Found by Redirect checker →
The URL redirects back to itself and never settles.
Found by Redirect checker →
Interfaces
SEO desktop app for macOS, Windows and Linux
A native PyQt5 application over the same core. It opens the same local projects and retained scans as the CLI and the MCP server.
How it works
Three steps, one saved scan
Open a local project
Point the app at a project folder. It opens the same local projects and retained scans as the CLI.
Crawl or open a saved scan
Run a crawl from the app or open a scan you already have, then read the results in one window.
Work through the issues
Each finding comes from the audit registry. Filter the URL table, open a URL and see its details.
What it checks
Checks in this feature
| Check | What it means | Severity | Evidence |
|---|---|---|---|
REDIRECT_LOOP | The redirect chain returns to a URL it already visited | Critical | Redirect path |
TITLE_MISSING | The page has no title element | Critical | Page URL |
REDIRECT_CHAIN | More than one redirect hop before the final URL | Important | Every hop with status |
CANONICAL_MISSING | An indexable page has no canonical URL | Important | Page URL |
ORPHAN_PAGE | A page has no internal links pointing to it | Important | Page URL |
HREFLANG_MISSING_RETURN_LINK | Another page's hreflang points here, but this page does not point back | Important | Page URL and hreflang set |
How to run it
One command
bash
seohead-desktop --project ./shopInstall first: installation guide. Every command also runs as an MCP tool for AI agents.
Interfaces
More in this group
FAQ

