Skip to content

Check your URLs exported from Search Console or any other platform for free and easily.

Notifications You must be signed in to change notification settings

laradev43/urlChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

URL Redirection Checker

Un outil en ligne de commande pour vérifier et analyser les redirections d'URLs à des fins d'optimisation SEO.

Description

Ce script Bash analyse automatiquement une liste d'URLs et détecte les problèmes potentiels de redirection qui peuvent impacter le référencement naturel (SEO) de votre site web. Il vérifie chaque URL, suit la chaîne complète des redirections et génère un rapport détaillé au format CSV.

Fonctionnalités

  • Analyse complète des redirections : Suit automatiquement jusqu'à 10 redirections par URL
  • Détection des problèmes SEO :
    • Boucles infinies de redirection
    • Redirections 302 temporaires (à remplacer par des 301)
    • Chaînes de redirections trop longues (5+)
    • Erreurs 404 et 5xx
    • Timeouts et erreurs de connexion
  • Rapport détaillé : Export CSV avec toutes les métriques importantes
  • Suivi en temps réel : Affichage coloré de la progression dans le terminal
  • Statistiques automatiques : Résumé des problèmes détectés en fin d'analyse
  • Respect des serveurs : Délai configurable entre les requêtes pour éviter la surcharge

Prérequis

  • Système d'exploitation : Linux, macOS ou Windows avec WSL
  • Bash : Version 4.0 ou supérieure
  • curl : Pour effectuer les requêtes HTTP
  • bc : Pour les calculs de temps (généralement préinstallé)

Installation des dépendances

Ubuntu/Debian

sudo apt-get update
sudo apt-get install curl bc

macOS

brew install curl bc

Fedora/RHEL

sudo dnf install curl bc

Installation

  1. Clonez ou téléchargez le script :
git clone https://github.com/votre-username/url_redirection_checker.git
cd url_redirection_checker
  1. Rendez le script exécutable :
chmod +x check_redirects.sh

Utilisation

Syntaxe de base

./check_redirects.sh <fichier_entree.csv> <fichier_sortie.csv>

Exemple

./check_redirects.sh urls_a_verifier.csv resultats_analyse.csv

Format des fichiers

Fichier d'entrée (CSV)

Le fichier d'entrée doit contenir une URL par ligne. La première colonne sera utilisée si le fichier contient plusieurs colonnes.

Exemple : urls_a_verifier.csv

URL
https://example.com/page1
https://example.com/page2
https://example.com/page3

Ou simplement :

https://example.com/page1
https://example.com/page2
https://example.com/page3

Fichier de sortie (CSV)

Le fichier de sortie contient 10 colonnes :

Colonne Description
URL_Source L'URL d'origine testée
URL_Destination L'URL finale après redirections
Code_HTTP Code de statut HTTP (301, 302, 200, etc.)
Type_Redirection Type de redirection détecté
Nombre_Redirections Nombre total de redirections suivies
Chaine_Redirections Séquence complète des URLs intermédiaires
Probleme_Detecte Type de problème identifié (si applicable)
Temps_Reponse_ms Temps de réponse en millisecondes
Taille_Bytes Taille du contenu en octets
Statut Statut visuel du résultat

Codes de statut et problèmes détectés

Codes HTTP

  • 200 : Page accessible directement (pas de redirection)
  • 301 : Redirection permanente (bon pour le SEO)
  • 302 : Redirection temporaire (à éviter pour le SEO)
  • 307 : Redirection temporaire (préserve la méthode HTTP)
  • 308 : Redirection permanente (préserve la méthode HTTP)
  • 404 : Page non trouvée
  • 410 : Ressource définitivement supprimée
  • 5xx : Erreur serveur

Problèmes détectés

  • BOUCLE_INFINIE / BOUCLE_DETECTEE : L'URL redirige vers elle-même ou crée une boucle
  • CHAINE_TROP_LONGUE : Plus de 5 redirections successives
  • ERREUR_404 : Page introuvable
  • ERREUR_410 : Contenu supprimé définitivement
  • ERREUR_5XX : Erreur côté serveur
  • ERREUR_CONNEXION : Timeout ou problème réseau
  • CODE_INHABITUEL : Code HTTP non standard
  • AUCUN : Aucun problème détecté

Configuration

Vous pouvez modifier les paramètres suivants dans le script :

# Délai entre les requêtes (en secondes)
DELAY=2

# Dans curl : --max-time (timeout en secondes)
--max-time 30

# Dans curl : --max-redirs (nombre maximum de redirections)
--max-redirs 10

Exemple de sortie

Dans le terminal

==================================================
  Vérification des redirections SEO
==================================================
Fichier source: urls_a_verifier.csv
Fichier résultat: resultats_analyse.csv
Délai entre requêtes: 2s
Total d'URLs à traiter: 10
==================================================

[1/10] Vérification de: https://example.com/old-page
  ✓ Code: 301 | Type: 301 - Permanente | Redirections: 1 | Temps: 245ms | Taille: 1024 bytes
  → Destination: https://example.com/new-page

[2/10] Vérification de: https://example.com/temp
  ⚠ Code: 302 | Type: 302 - Temporaire | Redirections: 1 | Temps: 189ms | Taille: 512 bytes
  ⚠ Problème détecté: TEMPORAIRE

Statistiques finales

==================================================
  Vérification terminée !
==================================================
URLs traitées: 10
Résultats sauvegardés dans: resultats_analyse.csv
==================================================

Statistiques:
  Redirections 301 (permanentes): 5
  Redirections 302 (temporaires): 2
  Pages directes (200): 2
  Erreurs 404: 1
  Erreurs de connexion: 0
  Boucles de redirection détectées: 0
  Chaînes trop longues (5+ redirections): 0

Bonnes pratiques SEO

Redirections recommandées

  1. Utilisez des 301 pour les redirections permanentes

    • Migration de contenu
    • Changement de structure d'URLs
    • Consolidation de pages
  2. Évitez les 302 sauf pour :

    • Tests A/B temporaires
    • Maintenance temporaire
    • Redirections géographiques

Problèmes à corriger en priorité

  1. Boucles de redirection : Urgent - empêchent l'accès au contenu
  2. Chaînes longues : Important - ralentissent le chargement et diluent le PageRank
  3. 302 au lieu de 301 : Moyen - peuvent affecter le transfert de PageRank
  4. 404 sur des pages importantes : Urgent - perte de trafic et de rankings

Analyse des résultats avec Excel/LibreOffice

  1. Ouvrez le fichier CSV de sortie
  2. Utilisez les filtres automatiques pour identifier :
    • Toutes les redirections 302 : Filtrer Type_Redirection = "302 - Temporaire"
    • Les chaînes longues : Filtrer Nombre_Redirections > 3
    • Les erreurs : Filtrer Statut contenant "❌"
  3. Triez par Temps_Reponse_ms pour identifier les URLs lentes
  4. Vérifiez la colonne Chaine_Redirections pour les optimisations possibles

Dépannage

Erreur : "curl: command not found"

Installez curl :

sudo apt-get install curl  # Ubuntu/Debian
brew install curl          # macOS

Erreur : "Permission denied"

Rendez le script exécutable :

chmod +x check_redirects.sh

Timeouts fréquents

Augmentez le timeout dans le script (ligne 72) :

--max-time 60  # Au lieu de 30

Le serveur bloque les requêtes

Augmentez le délai entre les requêtes (ligne 23) :

DELAY=5  # Au lieu de 2

Limitations

  • Limite de redirections : 10 redirections maximum par URL (paramétrable)
  • Timeout : 30 secondes par défaut pour chaque requête
  • User-Agent : Simule Chrome pour éviter les blocages
  • JavaScript : Ne peut pas analyser les redirections JavaScript côté client
  • Meta refresh : Ne détecte pas les redirections via balises HTML meta

Améliorations futures possibles

  • Support des redirections JavaScript
  • Mode parallèle pour traiter plusieurs URLs simultanément
  • Export en format JSON
  • Interface graphique web
  • Intégration avec Google Search Console API
  • Détection des redirections meta refresh
  • Support des certificats SSL personnalisés
  • Mode verbeux avec logs détaillés

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à :

  1. Fork le projet
  2. Créer une branche pour votre fonctionnalité (git checkout -b feature/AmazingFeature)
  3. Commit vos changements (git commit -m 'Add some AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrir une Pull Request

Auteur

Créé pour Charles Durand - Laradev https://laradev.fr/

Ressources SEO

Support

Pour signaler un bug ou demander une fonctionnalité, ouvrez une issue sur le dépôt GitHub.


Note : Utilisez cet outil de manière responsable et respectez les politiques de rate-limiting des sites web que vous analysez.

About

Check your URLs exported from Search Console or any other platform for free and easily.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages