Bots SWPanel

SWPanelBot-Code

Détermine si le CMS, les plugins et les thèmes du site sont à jour, pour l'analyse et l'audit de code.

User-Agent Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)

Fonction: Analyse de code Opérateur: DeepThink Software SLU Contact: [email protected] Version: 1.1 Révisé le: 17 octobre 2026

Fiche technique

Tout ce que fait SWPanelBot-Code

Extrait du code du module. Si le bot change ce qu'il fait, cette fiche et sa version changent.

Identité

Nom
SWPanelBot-Code. C'est aussi son nom pour robots.txt.
Famille
SWPanelBot : le nom commun de tous les bots de SWPanel.
Version
1.1, celle qui figure dans l'User-Agent. Les changements de chaque version sont plus bas.
Type
Direct : il est exécuté et contrôlé par SWPanel, toujours à la demande du propriétaire du service.
Catégorie
Autres
Opérateur
DeepThink Software SLU, titulaire de SWPanel. Informations légales.
Contact
[email protected]
Anciens noms
SWPanel-CodeAnalyzer/2026 SWPanel/SEOAnalyzer/1.0; headless

Quand et combien

Quand il passe
Lors d'une demande d'analyse ou d'audit de code, et lors des analyses du SOC.
Fréquence
Une fois par analyse.
Par analyse
Une requête aux API par composant (CMS, plugin ou thème) et, dans l'analyse en direct, jusqu'à 20 pages du site.
En parallèle
Jamais. Une page à la fois.

Comment il demande

Le code
Il est lu sur le serveur lui-même, avec l'agent SWPanel. Il ne passe pas par le web.
Versions
Interroge api.wordpress.org, api.github.com et endoflife.date. Attend 10 secondes pour se connecter et 25 pour la réponse.
Analyse en direct
Ouvre jusqu'à 20 pages : la page d'accueil, les plus visitées d'après les logs du serveur et celles du sitemap.
Le navigateur
Un Chromium sans fenêtre (Playwright), avec un écran de 1920 × 1080. Il exécute JavaScript et charge tout ce que demande la page : images, styles, scripts et services tiers.
Nom du navigateur
Conforme Il se présente comme SWPanelBot-Code.
Avis de cookies
Conforme Il n'y touche pas : il ne l'accepte ni ne le refuse, donc il ne charge pas l'analytique du site ni ne laisse un consentement que personne n'a donné.
Attentes
Jusqu'à 25 secondes par page, le temps que le réseau se calme. Si un script propre échoue, il le redemande, avec 8 secondes d'attente, pour lire l'extrait de l'erreur.
Origine
En préparation Depuis les serveurs de SWPanel. Nous réservons des IP de sortie uniquement pour les bots ; quand elles seront prêtes, nous les publierons ici dans un fichier JSON.
DNS inverse
En préparation Chaque IP aura un nom sous bots.swpanel.com qui renvoie vers la même IP.

Normes qu'il applique

robots.txt
Exempté, avec motif Il ne le consulte pas. L'analyse en direct est demandée par le propriétaire, comme les « fetchers déclenchés par l'utilisateur » de Google, et les API n'ont pas de robots.txt à appliquer.
Quels sites il visite
Conforme Il ne visite que des sites de services SWPanel actifs et cesse dès que le service est résilié : il le vérifie avant chaque requête.
Si le site demande de ralentir
En attente Le navigateur de l'analyse en direct ne ralentit pas encore avec 429 et 503. Il compense en allant doucement : une page à la fois et 20 au maximum.
Cache HTTP
Non applicable Chaque analyse doit voir la page telle que la voit aujourd'hui un visiteur.
Signature
En attente Le navigateur de l'analyse en direct ne signe pas encore. Les requêtes de versions vont vers des API publiques, pas vers votre site.
Contact dans la requête
En attente Le navigateur de l'analyse en direct ne porte pas encore From: [email protected].

Ce qu'il fait des données

Ce qu'il lit
Les versions du CMS, des plugins et des thèmes et, en direct, les erreurs JavaScript, les requêtes qui échouent et une capture de la page.
Ce qu'il conserve
Les versions trouvées et les erreurs, avec l'extrait du code propre où chacune échoue.
Combien de temps
Avec le rapport de l'analyse, dans le SWPanel du propriétaire.
Pour quoi faire
Pour l'analyse et l'audit de code du propriétaire du service.
Confidentialité
Politique générale de confidentialité de SWPanel.

Comment ça marche

Un passage, pas à pas

  1. Lit le code

    L'agent SWPanel lit sur le serveur quel CMS, quels plugins et thèmes sont présents, et dans quelle version.

  2. Interroge les versions

    Demande aux API publiques quelle est la dernière version de chacun et s'il est toujours pris en charge.

  3. Choisit des pages

    La page d'accueil, les plus visitées d'après les logs et celles du sitemap, jusqu'à 20.

  4. Les ouvre

    Une à la fois, dans un navigateur sans fenêtre, et attend la fin du chargement. Il ne touche pas à l'avis de cookies.

  5. Recueille les erreurs

    Erreurs JavaScript, exceptions et requêtes en échec, et sépare celles du site de celles des tiers.

  6. Laisse le rapport

    Avec ce qu'il faut mettre à jour et chaque erreur avec son extrait de code.

Dans vos logs

Voici à quoi ressemble SWPanelBot-Code

Un exemple au format combiné d'Apache et Nginx. L'IP et le domaine sont ceux de la documentation : les vôtres seront différents.

203.0.113.40 - - [17/Oct/2026:12:30:10 +0200] "GET / HTTP/1.1" 200 48211 "-" "Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)" 203.0.113.40 - - [17/Oct/2026:12:30:10 +0200] "GET /wp-content/themes/tema/style.css HTTP/1.1" 200 18320 "https://example.com/" "Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)" 203.0.113.40 - - [17/Oct/2026:12:30:11 +0200] "GET /wp-content/themes/tema/js/app.js HTTP/1.1" 200 9120 "https://example.com/" "Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)" 203.0.113.40 - - [17/Oct/2026:12:30:12 +0200] "GET /wp-content/uploads/2026/10/portada.webp HTTP/1.1" 200 88450 "https://example.com/" "Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)" 203.0.113.40 - - [17/Oct/2026:12:30:36 +0200] "GET /tienda/ HTTP/1.1" 200 30554 "-" "Mozilla/5.0 (compatible; SWPanelBot-Code/1.1; +https://www.swpanel.com/bots/code)"

L'analyse en direct charge chaque page avec tout ce qu'elle contient, comme un navigateur. Les requêtes de versions vont vers les API et n'apparaissent pas dans vos logs.

Vérifier

Est-ce vraiment SWPanelBot-Code ?

Un User-Agent peut être copié. C'est pourquoi il faut l'examiner avec le reste. Les exemples utilisent une IP de documentation.

DNS inverse En préparation

$ host 203.0.113.10 10.113.0.203.in-addr.arpa domain name pointer crawl-203-0-113-10.bots.swpanel.com. $ host crawl-203-0-113-10.bots.swpanel.com crawl-203-0-113-10.bots.swpanel.com has address 203.0.113.10

L'IP doit se résoudre en un nom de bots.swpanel.com, et ce nom vers la même IP. Si seule la première partie est vérifiée, ce n'est pas le nôtre.

Liste d'IP En préparation

$ curl -s https://www.swpanel.com/bots/ips.asp {"formatVersion": "1.0", "creationTime": "…", "prefixes": [{"ipv4Prefix": "203.0.113.0/28", "service": "SWPanelBot"}]}

Un fichier JSON au format JAFAR proposé par l'IETF, lié depuis cette page.

Signature de la requête En attente

Signature-Agent: "https://www.swpanel.com" Signature-Input: sig1=("@authority" "signature-agent"); created=1792224000;expires=1792224300; keyid="…";alg="ed25519";tag="web-bot-auth" Signature: sig1=:…:

En-têtes Web Bot Auth. La clé publique se trouve à /.well-known/http-message-signatures-directory sur www.swpanel.com : avec elle, tout pare-feu qui comprend Web Bot Auth vérifie que la requête est la nôtre.

Ce qu'il demande Disponible

Comparez ce que vous voyez avec la fiche : les chemins, la fréquence et le volume. Un bot qui s'appelle SWPanelBot-Code et fait autre chose n'est pas le nôtre.

Si vous avez un doute sur une visite, écrivez-nous à [email protected] avec le domaine, l'heure avec son fuseau horaire, l'IP et la ligne du log, et nous vérifierons.

L'arrêter

C'est le propriétaire qui le demande. C'est lui qui l'éteint.

Nos bots ne visitent que les sites de services SWPanel actifs, uniquement pour les fonctions que leur propriétaire a activées, et cessent de passer dès que le service est résilié.

Si vous êtes le propriétaire

Désactivez l'analyse de code du service dans votre SWPanel.

Si vous ne l'êtes pas

Si le domaine n'est plus dans SWPanel, vous ne devriez recevoir aucune visite programmée. Si c'est le cas, écrivez-nous à [email protected] et nous l'arrêterons.

Dans le pare-feu

Pour le laisser passer, utilisez le nom avec l'IP ou la signature, pas seulement le nom. Attention aux règles génériques : un motif comme « bot » atteint aussi SWPanelBot.

Si vous le bloquez

L'analyse en direct ne trouvera pas les erreurs JavaScript.

robots.txt ne l'arrête pas : nous l'expliquons dans Normes. C'est son propriétaire qui l'arrête, depuis SWPanel.

Normes

Ce que demandent les standards, et où en est SWPanelBot-Code

Notre situation sur chaque point, sans fard.

Ce que demandent les standards, et où en est SWPanelBot-Code
Un nom propre dans l'User-Agent, avec l'adresse de sa page RFC 9110, 10.1.5, et brouillon IETF « Crawler best practices », 2.2 Conforme
Un nom valide pour robots.txt : lettres, traits d'union et tiret bas RFC 9309, 2.2.1 Conforme
Ne visiter que les sites de services SWPanel actifs, et cesser dès que le service est résilié Engagement propre de SWPanel Conforme
Que le navigateur sans fenêtre se présente sous son nom et n'accepte pas les cookies Mêmes normes : identité honnête et ne pas agir au nom d'un visiteur Conforme
Lire et respecter robots.txt RFC 9309 et « Crawler best practices », 2.1. Le brouillon permet l'exemption documentée des robots qui travaillent à la demande. Le propriétaire le demande et c'est une vérification ponctuelle. Exempté, avec motif
Ne pas gêner le site : une requête à la fois, limites de pages et de temps, et attentes courtes « Crawler best practices », 2.3 Conforme
Ralentir si le site répond 429 ou 503 « Crawler best practices », 2.3, et RFC 9110, 15.6. Le navigateur de l'analyse en direct, pas encore. En attente
Respecter le cache HTTP « Crawler best practices », 2.4, et RFC 9111. Il a besoin de la réponse actuelle. Non applicable
Un contact dans la requête : en-tête From RFC 9110, 10.1.2 En attente
Publier les IP de sortie en JSON, liées depuis cette page « Crawler best practices », 2.5, avec le format JAFAR En préparation
DNS inverse que l'on peut confirmer Pratique de Google, Bing et Cloudflare pour vérifier les bots En préparation
Signer les requêtes (Web Bot Auth) Brouillon IETF « HTTP Message Signatures for Bots », septembre 2026. Aujourd'hui, il signe les requêtes aux API ; le navigateur de l'analyse en direct, pas encore. En attente
Page publique indiquant ce qu'il fait, ce qu'il conserve, le contact, comment l'arrêter et les exemptions « Crawler best practices », 2.6 Conforme

En partie : conforme avec une réserve, expliquée dans la ligne. En préparation : dépend du réseau, comme les IP propres et leur DNS inverse. En attente : pas encore de date.

Versions

Ce qui a changé

La version figure dans l'User-Agent. Quand le bot change ce qu'il fait, la version et cette fiche changent.

Ce qui a changé
1.0 12-10-2026 Nouveau nom, SWPanelBot-Code, dans les requêtes de versions. Remplace SWPanel-CodeAnalyzer.
1.1 17-10-2026 Renvoie vers cette fiche. Le navigateur de l'analyse en direct se présente comme SWPanelBot-Code et n'accepte plus l'avis de cookies. Il ne visite que les services actifs.
Prochaine Sans date Le navigateur de l'analyse en direct se mettra à signer, à ralentir avec 429 et 503 et à porter l'en-tête From.

Questions fréquentes

Questions sur SWPanelBot-Code

Non. Le code est lu sur le serveur lui-même, avec l'agent SWPanel. Via le site, il n'ouvre que des pages publiques pour détecter des erreurs JavaScript.

L'analyse en direct peut compter, car il s'agit d'un navigateur qui exécute JavaScript. Cela représente 20 pages au maximum par analyse.

Non. Jusqu'au 17-10-2026, il cliquait sur « Accepter » pour voir la page comme un visiteur ; désormais il ne touche pas à l'avis, donc il ne charge pas les statistiques du site et ne laisse pas un consentement que personne n'a donné.