← Retour
Journal geek

Les orphelins du wiki

Cédrix · 08/01/2023

On traque les pages orphelines du site.

Une page orpheline est une page Web qui n'est pas reliée à d'autres pages du site Web. Cela signifie que personne ne peut accéder à la page en suivant un lien depuis une autre page du site. Les pages orphelines sont généralement le résultat de liens cassés ou d'un mauvais renommage de pages. Elles peuvent être un problème pour le site Web car elles peuvent rendre difficile pour les visiteurs de trouver le contenu du site et peuvent également affecter négativement le référencement du site dans les moteurs de recherche. Au moment de la rédaction de cet article, il y a 536 pages orphelines. C'est énorme et il faut corriger cela.

Comment ai-je identifier les 536 pages ?

Il y a un moment, j'ai modifié le nom de la page d'accueil des espace de noms (namespace). J'ai changé la la valeur de start à la valeur index. Malheureusement, toutes les pages déjà créées n'ont pas été renommées automatiquement. J'ai corrigé cela en exécutant les commande suivantes. Dans un premier temps, après mettre rendu dans le dossier de travail, j'ai généré un fichier run.sh. La génération du fichier s'appuie sur la commande find.

Le commande find parcourt récursivement les fichiers et répertoire à partir du répertoire courant (indiqué par .). La option -name spécifie un modèle de nom de fichier à rechercher, dans ce cas il s'agit de start.txt. L'option -exec exécute une commande pour chaque fichier trouvé.

La commande exécutée par -exec est sh -c 'echo mv -v "$1" "${1/start/index}" >> run.sh' _ {} \;. Cette commande utilise la commande echo pour afficher la sortie à l'écran, et >> pour rediriger cette sortie vers le fichier run.sh. La commande mv déplace ou renomme un fichier. La option -v permet d'afficher le nom des fichiers avant et après le déplacement/renommage.

La commande mv prend deux arguments : le nom du fichier à déplacer/renommer et le nouveau nom du fichier. Le nouveau nom du fichier est obtenu en utilisant l'expression ${1/start/index}, qui remplace la chaîne "start" par "index" dans la première variable d'argument ($1).

En résumé, cette commande cherche tous les fichiers nommés start.txt dans le répertoire courant et sous-répertoires, et génère une commande mv pour renommer chaque fichier trouvé en remplaçant "start" par "index" dans le nom du fichier. Ces commandes mv sont affichées à l'écran et enregistrées dans le fichier run.sh.

cd /var/www
find . -name 'start.txt' -exec sh -c 'echo mv -v "$1" "${1/start/index}" >> run.sh' _ {} \;

Une fois que j'ai vérifié le contenu de run.sh, je l'exécute en utilisant la commande :

bash run.sh

Crédit image : Midjourney

Commentaires

Aucun commentaire pour l'instant. Soyez le premier !

Laisser un commentaire
Un code de vérification sera envoyé à votre adresse email.