Python-for-SEO-Learn-5-easy-and-engaging-projects-250px

Python pour le SEO : Apprendre 5 projets faciles et engageants

13 juin 2023 - 11  min de lecture - par Majid Jorkesh
Accueil > SEO Technique > Python pour le SEO : Apprendre 5 projets

Êtes-vous un SEO qui souhaite apprendre Python et l’utiliser pour vos différents projets ? Que vous soyez débutant ou que vous ayez une certaine expérience en programmation, cet article est fait pour vous. Nous y présenterons cinq projets simples et tout à fait adaptés aux SEO qui cherchent à affiner leurs compétences.

Ces cinq exercices constituent une excellente introduction à Python, tout en vous permettant d’acquérir une expérience pratique. À la fin de cet article, vous aurez une compréhension approfondie de ces projets et serez doté de toutes les connaissances nécessaires pour améliorer vos compétences en Python. C’est parti !

1. Le vérificateur des titres et des descriptions

Ce script Python vous permet de vérifier si une page web dispose, ou non, des méta titres et des méta descriptions. Tout ce que vous avez à faire est d’entrer l’URL de la page que vous voulez vérifier et ce script opérera sa magie.

Pourquoi ce projet est-il utile ?

Les balises méta – les balises HTML invisibles sur la page – servent à caractériser votre contenu, à indiquer aux moteurs de recherche le contenu de votre page et à fournir la source du texte affiché dans les SERPs. Elles sont donc essentielles pour le SEO on-page.

Si vous n’utilisez pas de méta titres et de méta descriptions pour donner aux utilisateurs un aperçu précis de votre page et les inciter à cliquer, les moteurs de recherche risquent d’afficher des titres et des descriptions génériques ou non pertinents.

En élaborant stratégiquement des titres et des descriptions qui détaillent explicitement les activités de votre entreprise, vous fournissez aux moteurs de recherche les informations dont ils ont besoin pour représenter correctement votre entreprise en ligne et, par conséquent, pour diriger le bon trafic vers votre site.

Imaginez que vous soyez propriétaire d’un site web proposant des bijoux faits à la main. Le site pourrait envisager les titres et les descriptions suivants :

  • Titre : Bijoux faits à la main pour toutes les occasions
  • Description : Découvrez notre collection de bijoux uniques et élégants, faits à la main, pour trouver la pièce qui vous convient.

Avec le code ci-dessous, les utilisateurs peuvent rapidement déterminer si une page donnée comprend déjà ces composants et faire les ajustements nécessaires pour stimuler les performances SEO sur cette page particulière.

import requests
from bs4 import BeautifulSoup
url = input("Enter the URL of the web page: ")
# Make a request to the URL
response = requests.get(url)
# Parse the HTML content of the page using BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')
# Find the meta title tag and get its content
meta_title = soup.find('meta', {'name': 'title'})
if meta_title:
print('Meta title found: ' + meta_title['content'])
else:
print('No meta title found')
# Find the meta description tag and get its content
meta_description = soup.find('meta', {'name': 'description'})
if meta_description:
print('Meta description found: ' + meta_description['content'])
else:
print('No meta description found')

Comment cela marche-t-il ?

  1. Le script invite l’utilisateur à saisir l’URL d’une page web qu’il souhaite analyser.
  2. Le script envoie une requête HTTP en utilisant la bibliothèque des requêtes et stocke la réponse dans une variable.
  3. BeautifulSoup analyse et interprète ensuite le contenu HTML.
  4. Le script recherche les méta balises « title » et « description » dans le contenu HTML.
  5. Si ces balises sont trouvées, leur contenu est imprimé.
  6. Inversement, si aucune n’est présente, un message indiquant leur absence sera affiché à la place.

2. Le vérificateur de balisage Schéma

Ce projet permet aux utilisateurs d’entrer l’URL d’une page web et il récupère automatiquement ses informations de schéma en utilisant les requêtes et les bibliothèques beautifulsoup4 en Python. 

Pourquoi ce projet est-il utile ?

Le balisage schéma, ou les données structurées, donne aux moteurs de recherche des détails supplémentaires sur le contenu d’une page, ce qui permet d’améliorer sa visibilité dans les SERPs et d’offrir des expériences plus riches, car ces informations sont utilisées pour piloter les rich snippets. 

Supposons, par exemple, que vous possédiez une page web pour un restaurant local. En utilisant les balises de schéma, vous pouvez fournir aux moteurs de recherche des informations supplémentaires telles que l’adresse, le numéro de téléphone, les plats du menu et les heures d’ouverture. Ces données peuvent alors apparaître en bonne place dans les SERPs sous la forme de rich snippets.

Grâce à ce script, les SEOs peuvent rapidement récupérer et examiner les données de schéma de n’importe quelle page, contrairement à la recherche et à l’analyse manuelle de chaque page web individuelle. Cela permet aux utilisateurs d’économiser du temps et de l’énergie.

import requests
from bs4 import BeautifulSoup
# Get the URL input from the user
url = input("Enter the URL of the page to retrieve schema information: ")
# Send a request to the URL and retrieve the HTML content
response = requests.get(url)
html_content = response.text
# Use beautifulsoup4 to parse the HTML content and find the schema information
soup = BeautifulSoup(html_content, 'html.parser')
schema_tags = soup.find_all('script', attrs={'type': 'application/ld+json'})
# Print the schema information for each tag found
for schema_tag in schema_tags:
schema_data = schema_tag.string.strip()
print(schema_data)

Comment cela marche-t-il ?

  1. L’utilisateur est invité à saisir l’URL d’une page pour laquelle il souhaite récupérer des informations de schéma à l’aide de la fonction input().
  2. La bibliothèque de requêtes envoie alors une requête GET à l’URL spécifiée afin d’obtenir son contenu HTML.
  3. BeautifulSoup analyse alors le contenu HTML et génère un objet BeautifulSoup.
  4. ElegantSoup recherche ensuite toutes les instances d’un élément dans cette plage.
  5. Si de telles balises sont trouvées, leur contenu (qui devrait être des données JSON-LD valides) est extrait à l’aide de l’attribut string.
  6. Les données JSON-LD extraites sont ensuite imprimées sur la console à l’aide de la fonction print().

3. Le vérificateur de la vitesse des pages

Ce programme offre une interface Python simple pour évaluer rapidement la vitesse de n’importe quelle page d’un site web.

Pourquoi ce projet est-il utile ?

La vitesse des pages fait partie intégrante de l’expérience utilisateur et du SEO ; à l’aide de ce script, les SEOs et les développeurs peuvent facilement mesurer les temps de chargement des pages web afin d’identifier tout problème de performance susceptible d’avoir un impact soit sur leur expérience utilisateur, soit sur les positionnements dans les moteurs de recherche.

Comme vous le savez probablement, Google a fait de la vitesse de chargement des pages un facteur de positionnements en 2010, ce qui lui accorde une certaine importance

Si vous travaillez dans le secteur de l’e-commerce et que votre activité dépend d’un taux de conversion élevé de votre site, il est absolument indispensable de veiller à ce que vos pages se chargent aussi rapidement que possible. 

import requests
import time
def check_page_speed():
# Prompt user to enter the URL to check
url = input("Enter the URL to check page speed: ")
# Send a GET request to the given URL and record the start time
start_time = time.time()
response = requests.get(url)
# Record the end time and calculate the page load time
end_time = time.time()
page_load_time = end_time - start_time
# Print the page load time in seconds
print(f"Page load time: {page_load_time:.2f} seconds")
# Example usage:
check_page_speed()

Comment cela marche-t-il ? 

Le programme invite l’utilisateur à saisir l’URL de la page qu’il souhaite vérifier.

  1. Le programme envoie une requête GET à l’URL à l’aide de la bibliothèque de requêtes, et récupère son contenu HTML sur le serveur.
  2. Il enregistre l’heure de début de cette requête GET à l’aide de la bibliothèque « time ».
  3. Le programme reçoit une réponse du serveur qui contient le contenu HTML de la page demandée.
  4. Il enregistre l’heure de fin de cette requête GET à l’aide de sa bibliothèque temporelle et calcule le temps de chargement de la page en soustrayant l’heure de début de l’heure de fin.
  5. En quelques secondes, le programme imprime le temps de chargement de la page sur la console.

4. Le vérificateur du HTTPS

Cet extrait de code Python prend une URL comme donnée d’entrée et vérifie si elle dispose d’un certificat SSL sécurisé ou non.

[Étude de cas] Augmenter son trafic et ses conversions grâce à une stratégie SEO orientée business

Grâce à une stratégie SEO gagnante axée sur la gestion du contenu dupliqué, l'amélioration de la structure du site et l'analyse du comportement de Googlebot, carwow a amélioré ses performances commerciales. Découvrez comment montrer les résultats réels d'une stratégie SEO basée sur le ROI de l'entreprise.

Pourquoi ce projet est-il utile ?

Un certificat valide permet de s’assurer que la transmission des données entre les navigateurs et les sites web reste encryptée et sécurisée. Cet extrait de code permet aux SEOs d’évaluer rapidement si un vérificateur d’état SSL existe pour les sites web sur lesquels ils travaillent.

Les internautes ont pris l’habitude de se fier à la certification SSL (Secure Sockets Layer), qui leur indique que leurs données personnelles et leurs activités en ligne sont à l’abri des pirates informatiques et d’autres attaques. SSL établit un lien encrypté entre un serveur et un navigateur, garantissant que toutes les données transmises restent privées et confidentielles.

import requests
def check_ssl(url):
response = requests.get(url)
if response.status_code != 200:
return "Error: Could not access the website"
if response.url.startswith('https://'):
return "The website has a valid SSL certificate"
else:
return "The website does not have a valid SSL certificate"
# Example usage
url = input("Enter the website URL: ")
result = check_ssl(url)
print(result)

Comment cela marche-t-il ? 

  1. La bibliothèque de requêtes est utilisée pour envoyer une requête GET à une URL et pour recevoir sa réponse.
  2. Si le code d’état de la réponse n’est pas 200, cela signifie que l’accès au site web a été refusé ; un message d’erreur sera renvoyé à la place.
  3. Si l’URL de la réponse commence par https://, cela signifie que le site web dispose d’un certificat SSL valide et qu’un message de succès sera renvoyé.
  4. Inversement, si l’URL ne commence pas par https://, cela signifie qu’il y a un problème et un message d’erreur sera affiché.
  5. La fonction check_ssl prend une URL comme donnée d’entrée, effectue les étapes nécessaires et renvoie un message indiquant si le site web dispose d’un certificat SSL actif ou non.

5. Le vérificateur de l’attribut alt des images

Voici un exemple de code Python utilisant la bibliothèque BeautifulSoup pour analyser le contenu HTML d’une URL et déterminer si les images de cette page ont un attribut « alt » ou non.

Pourquoi ce projet est-il utile ?

Google, Bing et d’autres moteurs de recherche utilisent l’attribut alt des images pour comprendre leur contexte dans les pages et leur pertinence par rapport au contenu global. La recherche multimodale étant de plus en plus répandue, il est essentiel de veiller à ce que vos images puissent également être trouvées et indexées.

En intégrant un texte descriptif et pertinent pour les images, vous pouvez améliorer l’accessibilité pour les visiteurs malvoyants tout en aidant les moteurs de recherche à mieux les comprendre.

import requests
from bs4 import BeautifulSoup
# Function to check if an image has an "alt" attribute
def has_alt_attribute(img):
return "alt" in img.attrs
# Get the URL from the user
url = input("Enter the URL of the page to check: ")
# Make a request to the URL and get the HTML content
response = requests.get(url)
html_content = response.content
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
# Find all the image tags on the page
images = soup.find_all('img')
# Check if each image has an "alt" attribute or not
for image in images:
if has_alt_attribute(image):
print(f"The image with source '{image['src']}' has an 'alt' attribute.")
else:
print(f"The image with source '{image['src']}' does not have an 'alt' attribute.")

Comment cela marche-t-il ?

  1. Ce code définit une fonction appelée “has_alt_attribute” qui prend comme entrée une balise d’image et renvoie TRUE si la balise contient un attribut « alt », sinon FALSE.
  2. Nous demandons ensuite à l’utilisateur d’entrer l’URL de la page qu’il souhaite vérifier et de faire une requête à cette URL pour son contenu HTML. 
  3. Nous utilisons BeautifulSoup pour analyser ce contenu HTML et localiser toutes les balises d’image présentes sur cette page.
  4. Nous parcourons ensuite chaque balise image et utilisons la fonction has_alt_attribute pour vérifier si elle possède ou non un attribut « alt ». 
  5. Enfin, nous imprimons un message pour chaque balise indiquant si elle possède ou non un attribut « alt ».

Conclusion

Le développement de compétences en Python peut s’avérer très utile pour les spécialistes du SEO qui cherchent à améliorer leur capacité d’analyse et d’optimisation des sites web.

Python a un certain nombre d’utilisations SEO, y compris l’automatisation des tâches répétitives, le scraping des données web, et le développement d’outils pour aider les tâches de travail quotidiennes.

Travailler sur de tels projets et comprendre leur code fondamental permet aux SEOs d’acquérir des connaissances et de gagner du temps qui, au final, contribueront à augmenter leur productivité. J’espère que ces scripts vous seront utiles. Dites-nous ce que vous en pensez dans la section des commentaires ci-dessous.

Majid Jorkesh Voir tous ses articles
Majid Jorkesh est un spécialiste SEO accompli et un membre de l'équipe de Digid.ca. Avec six ans d'expérience dans le domaine du SEO, Majid a aidé un certain nombre d'entreprises en ligne à améliorer leurs positionnements dans les moteurs de recherche et à augmenter leur visibilité en ligne.
Sujets en lien :