SWPanel bots
SWPanelBot-SEO
Crawls the website as a search engine would for the SEO report and tracking: titles, descriptions, headings, links, response codes, canonical, hreflang and structured data.
Mozilla/5.0 (compatible; SWPanelBot-SEO/1.1; +https://www.swpanel.com/bots/seo)
Feature: SEO reports and tracking Operator: DeepThink Software SLU Contact: [email protected] Version: 1.1 Reviewed on: October 17, 2026
Technical sheet
Everything SWPanelBot-SEO does
Taken from the module's code. If the bot changes what it does, this sheet and its version change.
Identity
- Name
-
SWPanelBot-SEO. It is also its name for robots.txt. - Family
-
SWPanelBot: the common name of all SWPanel bots. - Version
- 1.1, the one in the User-Agent. The changes in each version are below.
- Type
- Direct: run and controlled by SWPanel, always on behalf of the service owner.
- Category
- SEO
- Operator
- DeepThink Software SLU, owner of SWPanel. Legal information.
- Contact
- [email protected]
- Previous names
-
SWPanel/SEOAnalyzer/1.0SWPanelSEO/1.0SWPanel/SEOAnalyzer/1.0; headless
When and how much
- When it visits
- Scheduled, on websites with the SEO module active, and every time the owner requests a report. A SWPanel user can also manually request the report of a website that isn't in SWPanel: then it visits just once.
- Frequency
- One pass every 30 days on the Basic plan and every 7 days on Professional and Premium, plus reports requested manually.
- Opening hours
- Scheduled passes come from SWPanel's nightly process. Manual reports, when the owner requests them.
- Per pass
- Up to 10, 100 or 200 pages depending on the plan, at most 5 clicks from the home page, plus robots.txt and the sitemap. The pass is cut off at 15 minutes even if pages remain.
- Per month
- At most about 12, 440 or 870 requests depending on the plan, not counting manually requested reports.
- In parallel
- Never. One request at a time per website.
How it requests
- What it requests
-
The home page,
/robots.txt, the sitemap declared by robots.txt (or/sitemap.xml) and HTML pages on the same domain found by following links. For the report, additionally, a screenshot of the home page with a windowless browser, which today arrives under the name SWPanelBot-Code. - Methods
- GET only.
- Redirects
- It follows them, to know where each link leads.
- Certificate
- It doesn't cut the visit short because of a certificate problem.
- Cookies
- It neither stores nor sends cookies.
- JavaScript
- It doesn't run it: it reads the HTML as the server serves it. The report's screenshot does use a browser.
- Waits
- Up to 12 seconds to connect and 20 for the response on each page; on robots.txt, 10 and 15.
- Retries
- None. If a page fails, it notes it and moves on to the next.
- Origin
- In preparation From SWPanel's servers. We're reserving some outgoing IPs just for the bots; once they exist, we'll publish them here in a JSON file.
- Reverse DNS
-
In preparation
Each IP will have a name under
bots.swpanel.comthat resolves back to the same IP.
Standards it applies
- Which websites it visits
- Compliant It only visits websites of active SWPanel services and stops as soon as the service is cancelled: it checks before every request. The only exception is the report a user requests manually, which may be for a website that isn't in SWPanel. Even then it respects robots.txt.
- robots.txt
-
Compliant
It requests it under its name and stores it for 24 hours at most. It first looks for the
SWPanelBot-SEOgroup and, if there isn't one, theSWPanelBotgroup, and if not, the*group, as RFC 9309 dictates. If robots.txt returns 404, it understands it can crawl everything; if it returns a 5xx error or doesn't answer, it doesn't crawl. - Crawl-delay
-
Compliant
It respects the
Crawl-delayof theSWPanelBot-SEOgroup or, if there isn't one, of theSWPanelBotgroup: it waits as long as requested between two pages of the same website. If it asks for more than 60 seconds, it looks at one page and leaves the website until the next pass; if the waits in one pass add up to more than 2 minutes, it does too. - If the website asks to slow down
-
Compliant
On 429 or 503 it waits as long as
Retry-Aftersays if it's 60 seconds or less (10 if it doesn't say). If it asks for more, it leaves the website until the next pass. After 3 consecutive 5xx errors, it also leaves it. - HTTP cache
-
Compliant
It requests with
If-None-MatchandIf-Modified-Since. If the page hasn't changed (304), it doesn't download it again and uses the copy it already has. - Signature
-
Compliant
It signs every request with Web Bot Auth (RFC 9421, Ed25519):
Signature,Signature-InputandSignature-Agentheaders. The public key is athttps://www.swpanel.com/.well-known/http-message-signatures-directory. - Contact in the request
-
Compliant
It carries
From: [email protected], as RFC 9110 asks of automated clients.
What it does with the data
- What it reads
- Titles, descriptions, headings, links, response codes, canonical, hreflang, structured data, word count and weight of each page.
- What it stores
- The metrics of each page and the list of problems, in the owner's SWPanel.
- How long
- Problems, about 30 days. Metrics have no deletion date: they serve to see the evolution.
- What for
- Only for the SEO report and tracking of the service owner. Some reports use AI to write the conclusions from this data. It is not used to train AI models, nor sold or shared.
- Privacy
- SWPanel's general privacy policy.
The report also requests data from third-party services, which visit the website under their own name: Google's PageSpeed Insights measures the home page on the Premium plan and the W3C validator checks the HTML. Those visits are not SWPanelBot.
How it works
One pass, step by step
-
Chooses the websites
Every night, the SEO process takes the websites of active services due for a pass according to their plan: higher plans first and, within each, those that have gone longest without review.
-
Reads robots.txt
Requests
/robots.txtto analyze it, find the sitemap and know what it may crawl. Before each page it checks that robots.txt allows it and that the service is still active. -
Builds the list
It starts with the home page and the pages with the most impressions in Google Search Console, if the owner has connected it, and adds those from the sitemap.
-
Crawls the website
Requests one page at a time and follows internal links up to 5 clicks from the home page, without leaving the domain. If the website answers 429 or 503, it slows down.
-
Stops in time
On reaching its plan's page cap or 15 minutes, whichever comes first. What it doesn't have time to see, it sees on the next pass.
-
Leaves the report
Calculates the problems, such as missing or duplicate titles, pages without H1, thin content or 4xx and 5xx errors, and leaves them in the owner's SWPanel.
In your logs
This is how SWPanelBot-SEO looks
An example in Apache and Nginx combined format. The IP and domain are for documentation: yours will be different.
A single IP, pages of the same domain, one after another. The 304 response is the HTTP cache: the page hadn't changed.
Verify
Is it really SWPanelBot-SEO?
A User-Agent can be copied. That's why it must be checked together with everything else. The examples use a documentation IP.
Reverse DNS In preparation
The IP must resolve to a bots.swpanel.com name, and that name to the same IP. If only the first part holds, it isn't ours.
IP list In preparation
A JSON file in the JAFAR format proposed by the IETF, linked from this page.
Request signature Available
Web Bot Auth headers. The public key is at /.well-known/http-message-signatures-directory on www.swpanel.com: with it, any firewall that understands Web Bot Auth verifies the request is ours.
What it requests Available
Compare what you see with the sheet: the paths, the frequency and the volume. A bot called SWPanelBot-SEO that does something else isn't ours.
If you doubt a visit, write to us at [email protected] with the domain, the time with its time zone, the IP and the log line, and we'll check it.
Stopping it
The owner requests it. The owner turns it off.
Our bots only visit websites of active SWPanel services, only for the functions their owner has active, and stop visiting as soon as the service is cancelled.
If you are the owner
Disable the service's SEO module in your SWPanel: tracking and reports stop.
If you are not
If the domain is no longer in SWPanel you shouldn't receive any scheduled visit. If you do, write to us at [email protected] and we'll stop it.
In the firewall
To let it through, use the name together with the IP or the signature, not just the name. Watch out for generic rules: a pattern like “bot” also matches SWPanelBot.
If you block it
The SEO report and tracking will come out empty.
With robots.txt Compliant
Changes take effect on the next pass: it caches robots.txt for 24 hours at most.
Standards
What the standards ask for, and how SWPanelBot-SEO is doing
Our situation on each point, without embellishment.
| What they ask for | Status |
|---|---|
| A proper name in the User-Agent, with the address of its page RFC 9110, 10.1.5, and IETF draft “Crawler best practices”, 2.2 | Compliant |
| A valid name for robots.txt: letters, hyphens and underscore RFC 9309, 2.2.1 | Compliant |
| Visit only websites of active SWPanel services, and stop as soon as the service is cancelled SWPanel's own commitment. Except for the report a user requests manually. | Compliant |
| Read and respect robots.txt RFC 9309 and “Crawler best practices”, 2.1. The draft allows documented exemption for crawlers that work on commission. | Compliant |
| Respect Crawl-delay Outside RFC 9309, but Bing applies it and Cloudflare asks verified bots for it | Compliant |
| Don't hinder the website: one request at a time, page and time limits, and short waits “Crawler best practices”, 2.3 | Compliant |
| Slow down if the website answers 429 or 503 “Crawler best practices”, 2.3, and RFC 9110, 15.6 | Compliant |
| Respect the HTTP cache “Crawler best practices”, 2.4, and RFC 9111 | Compliant |
| A contact in the request: From header RFC 9110, 10.1.2 | Compliant |
| Publish the outgoing IPs in JSON, linked from this page “Crawler best practices”, 2.5, with the JAFAR format | In preparation |
| Reverse DNS that can be confirmed Practice of Google, Bing and Cloudflare for verifying bots | In preparation |
| Sign requests (Web Bot Auth) IETF draft “HTTP Message Signatures for Bots”, September 2026 | Compliant |
| Public page with what it does, what it stores, contact, how to stop it and the exemptions “Crawler best practices”, 2.6 | Compliant |
Partially: compliant with a caveat, explained in the row. In preparation: depends on the network, such as dedicated IPs and their reverse DNS. Pending: no date yet.
Versions
What has changed
The version goes in the User-Agent. When the bot changes what it does, the version and this sheet change.
| Version | Date | Change |
|---|---|---|
| 1.0 | 12-10-2026 | New name, SWPanelBot-SEO, with the link to the bots page. Replaces SWPanel/SEOAnalyzer and SWPanelSEO. |
| 1.1 | 17-10-2026 | Links to this sheet. Applies robots.txt and Crawl-delay, slows down on 429 and 503, uses the HTTP cache, signs requests, carries the From header and only visits active services. |
| Next | No date | The * group of robots.txt. |
Frequently asked questions
Questions about SWPanelBot-SEO
The other bots
Each one, with its own sheet
-
Availability monitoring
SWPanelBot-UptimeChecks about four times a day that the website responds and alerts if it goes down or runs slow.
See the technical sheet -
Security 360
SWPanelBot-SecurityReviews from outside the certificate, the headers and files that should never be public.
See the technical sheet -
Code analysis
SWPanelBot-CodeChecks whether the CMS, plugins and themes are up to date and looks for live JavaScript errors.
See the technical sheet -
AI websites and stores
SWPanelBot-WebGathers the photos, icons and logo for the website or store the owner creates with AI.
See the technical sheet