For webmasters & site operators
SeoSwiftBot — our website crawler
SeoSwiftBot is the crawler operated by SeoSwift. If you see it in your server logs, it's there because a SeoSwift customer added your website to SeoSwift for SEO auditing and change monitoring. We crawl gently, we identify ourselves honestly on every request, and we don't evade blocks. This page tells you exactly who we are and how to allowlist, slow down, or stop the crawler.
At a glance
- Crawler name
- SeoSwiftBot
- User-agent
Mozilla/5.0 (compatible; SeoSwiftBot/1.0; +https://seoswift.io/bot)- Crawl rate
- Page fetches are serial — about one request per second per site — with automatic exponential backoff on
429responses. - Purpose
- First-party SEO auditing & change monitoring of sites our customers are authorized to audit. Not a search engine — we don't build a public index.
- Contact
- hello@seoswift.io
Why is SeoSwiftBot crawling my site?
A SeoSwift customer — often the site's owner, or an SEO agency working on the site's behalf — added your website to SeoSwift to track SEO changes: titles, meta tags, canonicals, status codes, structured data, and similar. When customers add a site, they must confirm they are authorized to audit it before any crawling starts.
If you believe your site is being crawled without authorization, email us at hello@seoswift.io and we'll investigate and, where appropriate, stop crawling it.
How we crawl
- We identify ourselves on every request with the user-agent above, which links back to this page. We never disguise the crawler as a regular browser.
- We obey robots.txt. Before every crawl we fetch your
robots.txtand honor its rules for theSeoSwiftBottoken (falling back to the*group). Disallowed URLs are not fetched. Two honest caveats: the site's front page is always fetched once as the crawl's entry probe, and a missing or unreachablerobots.txtis treated as allowing the crawl. We don't readCrawl-delay— our fixed ~1 request/second pacing with automatic backoff is already gentler than mostCrawl-delayvalues; if you need us slower still, email us. - We crawl gently. HTML pages are fetched one at a time (~1 request/second per site), and we slow down automatically — with exponential backoff — when your server answers
429 Too Many Requests. Two things can briefly look different in your logs: after the page crawl we verify linked files (PDFs, images, documents) with lightweightHEADrequests in small batches of up to 3, and on sites that opt into JavaScript rendering our headless browser loads a page's own resources the way a normal browser does. All of it sends the SeoSwiftBot user-agent. - We back off when blocked, we don't push harder. When a site answers SeoSwiftBot with
403responses, the crawler stops the crawl — the answer to a block is this page and a conversation, never evasion.
How to allowlist SeoSwiftBot
If a firewall, WAF, or bot-management rule is blocking or rate-limiting us (you'll typically see 403 or 429 responses for SeoSwiftBot in the customer's SeoSwift crawl report), allowlist the SeoSwiftBot user-agent. Match it as a substring — don't pin the full user-agent string exactly; it can change as the crawler version evolves.
Cloudflare — WAF custom rule with action Skip:
(http.user_agent contains "SeoSwiftBot")Some Cloudflare managed / Super Bot Fight Mode checks run before custom rules — if we're still blocked after allowlisting, contact us and we'll coordinate.
Nginx — if you gate by user-agent, add an exception:
if ($http_user_agent ~* "SeoSwiftBot") { set $allow_bot 1; }Apache — allow by user-agent:
SetEnvIfNoCase User-Agent "SeoSwiftBot" allow_bot
<RequireAny>
Require env allow_bot
</RequireAny>How to slow down or stop SeoSwiftBot
Email us. The fastest and surest path: write to hello@seoswift.io with your domain and we'll slow down or stop crawling it promptly.
Use robots.txt. The crawler honors Disallow rules for the SeoSwiftBot token on every crawl, so path-level rules keep us out of the parts of the site you choose, and User-agent: SeoSwiftBot + Disallow: / stops page crawling entirely (the front page is still probed once per scheduled crawl — email us for a full stop).
Answer the user-agent with 403. Because we send the SeoSwiftBot user-agent on every request and never disguise it, a server or WAF rule that returns 403 Forbidden to that user-agent makes the crawler stop the crawl rather than retry around it. Prefer an explicit 403 over silently dropping connections — a clear status code is the signal the crawler acts on.
Verify a request really came from us
Every genuine SeoSwiftBot request comes from one of these static IP addresses — also machine-readable at /bot/ips.json. Each has forward-confirmed reverse DNS under crawl.seoswift.io, so you can verify without trusting this page. Anything claiming to be SeoSwiftBot from another IP is not us.
| IP address | Reverse DNS |
|---|---|
95.217.2.125 | c0.crawl.seoswift.io |
65.109.255.230 | c1.crawl.seoswift.io |
65.109.252.241 | c2.crawl.seoswift.io |
2a01:4f9:c014:f3e::1 | c0v6.crawl.seoswift.io |
Two-step verification for a log line's IP:
dig +short -x <ip> # → cN.crawl.seoswift.io
dig +short <that name> # → the same <ip> againBoth directions must agree (forward-confirmed rDNS). You can also allowlist these IPs directly in your firewall/WAF instead of (or in addition to) the user-agent rule above.
FAQ
Is SeoSwiftBot a search engine?
No. We don't build a public index or affect your Google/Bing rankings. We crawl a specific site because a SeoSwift customer is monitoring it for SEO changes.
Does SeoSwiftBot execute JavaScript?
For sites that need it, we can render pages with a headless browser; most crawling is lightweight HTML fetching. Either way we send the SeoSwiftBot user-agent.
Will blocking SeoSwiftBot hurt my SEO?
No — we're not a ranking crawler. Blocking us only stops the SeoSwift customer monitoring that site from seeing changes.
Someone is crawling and claiming to be SeoSwiftBot — is that you?
Anyone can copy a user-agent string, so don't judge by the UA alone. Check the request's IP against our published list above (or /bot/ips.json) and its reverse DNS — genuine traffic always matches. Still unsure? Email hello@seoswift.io with a few log lines (IP, timestamp, requests) and we'll confirm quickly.
I see SeoKestrel/1.0 in my logs and it links here — is that you?
Yes. SeoKestrel is our other SEO product, currently being merged into SeoSwift, and one part of it fetches individual pages on demand when a customer runs a content analysis. It is read-only and not a crawl: no logins, no forms, no link-following. Its user-agent points here because this is our crawler-identity page and the contact address below reaches us for both products.
Two honest caveats while it is still running. It runs from a different server than the crawl IPs listed above, so the reverse-DNS check on this page does not apply to it — send us log lines and we will confirm a request instead. It also does not read robots.txt, so a Disallow rule will not stop it; answering its user-agent with 403 will, and so will one email. When the merge completes, this work runs as part of SeoSwift from the published addresses above and obeys robots.txt like everything else we send.
Questions about the crawler?
We read every email and act on crawler reports promptly.
hello@seoswift.ioThere's also a plain-language guide to the crawler in our Knowledge Base.