7 exemples de projets pour démarrer avec Python pour le référencement


Après avoir commencé à apprendre Python à la fin de l’année dernière, je me suis retrouvé à mettre en pratique ce que j’apprenais de plus en plus pour mes tâches quotidiennes en tant que professionnel du référencement.

Cela va de tâches assez simples telles que la comparaison de la façon dont des éléments tels que le nombre de mots ou les codes d’état ont changé au fil du temps, à des éléments d’analyse, y compris la liaison interne et l’analyse des fichiers journaux.

De plus, Python a été vraiment utile:

  • Pour travailler avec de grands ensembles de données.
  • Pour les fichiers qui plantent généralement Excel et nécessitent une analyse complexe pour extraire des informations significatives.

Comment Python peut aider avec le référencement technique

Python habilite les professionnels du référencement de plusieurs manières en raison de sa capacité à automatiser des tâches répétitives de bas niveau qui prennent généralement beaucoup de temps à accomplir.

Cela signifie que nous avons plus de temps (et d’énergie) à consacrer à des travaux stratégiques importants et à des efforts d’optimisation qui ne peuvent pas être automatisés.

Cela nous permet également de travailler plus efficacement avec de grandes quantités de données afin de prendre des décisions davantage axées sur les données, ce qui peut à son tour fournir des retours précieux sur notre travail et celui de nos clients.

Publicité

Continuer la lecture ci-dessous

En fait, une étude du McKinsey Global Institute a révélé que les organisations basées sur les données étaient 23 fois plus susceptibles d’acquérir des clients et six fois plus susceptibles de les fidéliser.

C’est également très utile pour sauvegarder vos idées ou stratégies, car vous pouvez les quantifier avec les données dont vous disposez et prendre des décisions en fonction de cela, tout en ayant plus de pouvoir de levier lorsque vous essayez de mettre en œuvre les choses.

Ajouter Python à votre flux de travail SEO

La meilleure façon d’ajouter Python à votre flux de travail est de:

  • Pensez à ce qui peut être automatisé, en particulier lors de l’exécution de tâches fastidieuses.
  • Identifiez les lacunes dans le travail d’analyse que vous effectuez ou avez terminé.

J’ai trouvé qu’un autre moyen utile de commencer à apprendre est d’utiliser les données auxquelles vous avez déjà accès et d’en extraire des informations précieuses à l’aide de Python.

C’est ainsi que j’ai appris la plupart des choses que je partagerai dans cet article.

Publicité

Continuer la lecture ci-dessous

Apprendre Python n’est pas nécessaire pour devenir un bon pro du référencement, mais si vous souhaitez en savoir plus sur la façon dont il peut vous aider à vous préparer à vous lancer.

Ce dont vous avez besoin pour commencer

Afin d’obtenir les meilleurs résultats de cet article, vous aurez besoin de quelques éléments:

  • Certaines données d’un site Web (par exemple, une exploration de votre site Web, Google Analytics ou les données de Google Search Console).
  • Un IDE (Integrated Development Environment) sur lequel exécuter du code, pour commencer, je recommanderais Google Colab ou Jupyter Notebook.
  • Un esprit ouvert. C’est peut-être la chose la plus importante, n’ayez pas peur de casser quelque chose ou de faire des erreurs, trouver la cause d’un problème et les moyens de le résoudre est une grande partie de ce que nous faisons en tant que professionnels du référencement, donc appliquer cette même mentalité à l’apprentissage. Python est utile pour soulager toute pression.

1. Essayer les bibliothèques

Un bon endroit pour commencer est d’essayer certaines des nombreuses bibliothèques disponibles pour une utilisation en Python.

Il y a beaucoup de bibliothèques à explorer, mais trois que je trouve les plus utiles pour les tâches liées au référencement sont Pandas, Requests et Beautiful Soup.

Pandas

Pandas est une bibliothèque Python utilisée pour travailler avec des données de table, elle permet une manipulation de données de haut niveau où la structure de données clé est un DataFrame.

Les DataFrames sont essentiellement la version de Pandas d’une feuille de calcul Excel, cependant, il n’est pas limité aux limites de lignes et d’octets d’Excel et aussi beaucoup plus rapide et donc efficace par rapport à Excel.

Python Pandas DataFrame

La meilleure façon de démarrer avec Pandas est de prendre un simple CSV de données, par exemple, une exploration de votre site Web, et de l’enregistrer dans Python en tant que DataFrame.

Une fois que vous avez ce magasin, vous pourrez effectuer un certain nombre de tâches d’analyse différentes, y compris l’agrégation, le pivotement et le nettoyage des données.

Publicité

Continuer la lecture ci-dessous

import pandas as pd
df = pd.read_csv("/file_name/and_path")
df.head

Demandes

La bibliothèque suivante s’appelle Requests, qui est utilisée pour effectuer des requêtes HTTP en Python.

Il utilise différentes méthodes de requête telles que GET et POST pour effectuer une requête, les résultats étant stockés en Python.

Un exemple de cela en action est une simple requête GET d’URL, qui imprimera le code d’état d’une page, qui pourra ensuite être utilisée pour créer une fonction de prise de décision simple.

import requests

#Print HTTP response from page 
response = requests.get('https://www.deepcrawl.com')
print(response)

#Create decision making function 
if response.status_code == 200:
    print('Success!')
elif response.status_code == 404:
    print('Not Found.')

Vous pouvez également utiliser différentes demandes, telles que des en-têtes, qui affichent des informations utiles sur la page, telles que le type de contenu et une limite de temps pour mettre en cache la réponse.

#Print page header response
headers = response.headers
print(headers)

#Extract item from header response
response.headers['Content-Type']

Contenu de la demande

Il est également possible de simuler un agent utilisateur spécifique, tel que Googlebot, afin d’extraire la réponse que ce bot spécifique verra lors de l’exploration de la page.

Publicité

Continuer la lecture ci-dessous

headers = {'User-Agent': 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)'}
ua_response = requests.get('https://www.deepcrawl.com/', headers=headers)
print(ua_response)

Belle soupe

La bibliothèque finale s’appelle Beautiful Soup, qui est utilisée pour extraire des données à partir de fichiers HTML et XML.

Il est le plus souvent utilisé pour le scraping Web car il peut transformer un document HTML en différents objets Python.

Par exemple, vous pouvez prendre une URL et en utilisant Beautiful Soup, avec la bibliothèque Requests, extraire le titre de la page.

#Beautiful Soup 
from bs4 import BeautifulSoup 
import requests 

#Request URL to extract elements from
url="https://www.deepcrawl.com/knowledge/technical-seo-library/"
req = requests.get(url)
soup = BeautifulSoup(req.text, "html.parser")

#Print title from webpage 
title = soup.title
print(title)

De plus, Beautiful Soup vous permet d’extraire d’autres éléments d’une page tels que tous les liens href qui se trouvent sur la page.

for link in soup.find_all('a'):
    print(link.get('href'))

Beaux liens de soupe

2. Segmentation des pages

La première tâche consiste à segmenter les pages d’un site Web, qui regroupe essentiellement les pages dans des catégories dépendant de leur structure d’URL ou du titre de la page.

Publicité

Continuer la lecture ci-dessous

Commencez par utiliser une simple expression régulière pour diviser le site en différents segments en fonction de leur URL:

segment_definitions = [
    [(r'/blog/'), 'Blog'],
    [(r'/technical-seo-library/'), 'Technical SEO Library'],
    [(r'/hangout-library/'), 'Hangout Library'],
    [(r'/guides/'), 'Guides'],
    ]

Ensuite, nous ajoutons une petite fonction qui parcourra la liste des URL et attribuera à chaque URL une catégorie, avant d’ajouter ces segments à une nouvelle colonne dans le DataFrame qui contient la liste d’URL d’origine.

use_segment_definitions = True

def segment(url):
    
    if use_segment_definitions == True:
        for segment_definition in segment_definitions:
            if re.findall(segment_definition[0], url):
                return segment_definition[1]
        return 'Other'

df['segment'] = df['url'].apply(lambda x: get_segment(x))

Segmentation

Il existe également un moyen de segmenter des pages sans avoir à créer manuellement les segments, en utilisant la structure URL. Cela récupérera le dossier contenu après le domaine principal afin de catégoriser chaque URL.

Publicité

Continuer la lecture ci-dessous

Encore une fois, cela ajoutera une nouvelle colonne à notre DataFrame avec le segment qui a été généré.

def get_segment(url):
  
        slug = re.search(r'https?://.*?//?([^/]*)/', url)
        if slug:
            return slug.group(1)
        else:
            return 'None'

# Add a segment column, and make into a category
df['segment'] = df['url'].apply(lambda x: get_segment(x))

Segments

3. Rediriger la pertinence

Cette tâche est quelque chose que je n’aurais jamais pensé faire si je n’avais pas conscience de ce qui était possible avec Python.

Suite à une migration, lorsque des redirections ont été mises en place, nous voulions savoir si le mappage des redirections était exact en vérifiant si la catégorie et la profondeur de chaque page avaient changé ou étaient restées les mêmes.

Publicité

Continuer la lecture ci-dessous

Cela impliquait d’analyser le site avant et après la migration et de segmenter chaque page en fonction de leur structure d’URL, comme mentionné ci-dessus.

Suite à cela, j’ai utilisé des opérateurs de comparaison simples, intégrés à Python, pour déterminer si la catégorie et la profondeur de chaque URL avaient changé.

df['category_match'] = df['old_category'] == (df['redirected_category'])
df['segment_match'] = df['old_segment'] == (df['redirected_segment'])
df['depth_match'] = df['old_count'] == (df['redirected_count'])
df['depth_difference'] = df['old_count'] - (df['redirected_count'])

Comme il s’agit essentiellement d’un script automatisé, il s’exécutera sur chaque URL pour déterminer si la catégorie ou la profondeur a changé et affichera les résultats sous la forme d’un nouveau DataFrame.

Le nouveau DataFrame comprendra des colonnes supplémentaires affichant True si elles correspondent ou False si elles ne correspondent pas.

Rediriger la pertinence

Et tout comme dans Excel, la bibliothèque Pandas vous permet de faire pivoter des données en fonction d’un index du DataFrame d’origine.

Publicité

Continuer la lecture ci-dessous

Par exemple, pour obtenir un compte du nombre d’URL contenant des catégories correspondantes après la migration.

Pandas Pivot

Cette analyse vous permettra d’examiner les règles de redirection qui ont été définies et d’identifier s’il existe des catégories présentant une grande différence avant et après la migration et qui pourraient nécessiter une enquête plus approfondie.

Exemples de pertinence

4. Analyse des liens internes

L’analyse des liens internes est importante pour identifier les sections du site les plus liées, ainsi que pour découvrir les opportunités d’améliorer les liens internes sur un site.

Publicité

Continuer la lecture ci-dessous

Pour effectuer cette analyse, nous n’avons besoin que de certaines colonnes de données d’une exploration Web, par exemple, toute métrique affichant des liens entrants et sortants entre les pages.

Encore une fois, nous souhaitons segmenter ces données afin de déterminer les différentes catégories d’un site Web et d’analyser les liens entre elles.

internal_linking_pivot['followed_links_in_count'] = (internal_linking_pivot['followed_links_in_count']).apply('{:.1f}'.format)
internal_linking_pivot['links_in_count'] = (internal_linking_pivot2['links_in_count']).apply('{:.1f}'.format)
internal_linking_pivot['links_out_count'] = (internal_linking_pivot['links_out_count']).apply('{:.1f}'.format)
internal_linking_pivot

Analyse des liens internes

Les tableaux croisés dynamiques sont vraiment utiles pour cette analyse, car nous pouvons pivoter sur la catégorie afin de calculer le nombre total de liens internes pour chacun.

Publicité

Continuer la lecture ci-dessous

Python nous permet également d’exécuter des fonctions mathématiques afin d’obtenir un nombre, une somme ou une moyenne de toutes les données numériques dont nous disposons.

5. Analyse du fichier journal

Un autre élément d’analyse important concerne les fichiers journaux, et les données que nous pouvons collecter pour ces derniers dans un certain nombre d’outils différents.

Certaines informations utiles que vous pouvez extraire incluent l’identification des zones d’un site les plus explorées par Googlebot et la surveillance de toute modification du nombre de demandes au fil du temps.

En outre, ils peuvent également être utilisés pour voir combien de pages non indexables ou endommagées reçoivent encore des hits de bot afin de résoudre tout problème potentiel lié au budget d’exploration.

Demandes de fichier journal de code d'état

Encore une fois, le moyen le plus simple d’effectuer cette analyse est de segmenter les URL en fonction de la catégorie dans laquelle elles se trouvent et d’utiliser des tableaux croisés dynamiques pour générer un nombre, ou une moyenne, pour chaque segment.

Publicité

Continuer la lecture ci-dessous

Si vous êtes en mesure d’accéder aux données du fichier journal historique, il est également possible de surveiller l’évolution des visites de Google sur votre site Web au fil du temps.

Demandes de fichiers journaux par segment

Il existe également d’excellentes bibliothèques de visualisation disponibles dans Python, telles que Matplotlib et Seaborn, qui vous permettent de créer des graphiques à barres ou des graphiques linéaires pour tracer les données brutes dans des graphiques faciles à suivre affichant des comparaisons ou des tendances au fil du temps.

Graphique linéaire des demandes de fichier journal

6. Fusion de données

Avec la bibliothèque Pandas, il est également possible de combiner des DataFrames en fonction d’une colonne partagée, par exemple une URL.

Publicité

Continuer la lecture ci-dessous

Certains exemples de fusions utiles à des fins de référencement incluent la combinaison de données provenant d’une exploration Web avec des données de conversion collectées dans Google Analytics.

Cela prendra chaque URL pour correspondre et afficher les données des deux sources dans une table.

Fusion de pandas python

La fusion des données de cette manière permet de fournir plus d’informations sur les pages les plus performantes, tout en identifiant les pages qui ne fonctionnent pas aussi bien que prévu.

Publicité

Continuer la lecture ci-dessous

Fusionner les types

Il existe plusieurs façons de fusionner des données en Python, la valeur par défaut est une fusion interne où la fusion se produira sur des valeurs qui existent à la fois dans les DataFrames gauche et droite.

Fusion de pandas

Cependant, vous pouvez également effectuer une fusion externe qui renverra toutes les lignes du DataFrame gauche et toutes les lignes du DataFrame droit et les fera correspondre si possible.

Publicité

Continuer la lecture ci-dessous

Ainsi qu’une fusion à droite ou à gauche qui fusionnera toutes les lignes correspondantes et conservera celles qui ne correspondent pas si elles sont présentes respectivement dans la fusion droite ou gauche.

7. Google Trends

Il existe également une excellente bibliothèque appelée PyTrends, qui vous permet essentiellement de collecter des données Google Trends à grande échelle avec Python.

Il existe plusieurs méthodes API disponibles pour extraire différents types de données.

Un exemple est de suivre l’intérêt de recherche au fil du temps pour jusqu’à 5 mots clés à la fois.

Exemple Pytrends

Une autre méthode utile consiste à renvoyer des requêtes associées pour un certain sujet, cela affichera un score Google Trends compris entre 0 et 100, ainsi qu’un pourcentage indiquant combien d’intérêt le mot-clé a augmenté au fil du temps.

Publicité

Continuer la lecture ci-dessous

Ces données peuvent être facilement ajoutées à un document Google Sheet afin de s’afficher dans un tableau de bord Google Data Studio.

Pytrends Visualisation

En conclusion

Ces projets m’ont aidé à gagner beaucoup de temps sur le travail d’analyse manuelle, tout en me permettant de découvrir encore plus d’informations à partir de toutes les données auxquelles j’ai accès.

J’espère que cela vous a inspiré des projets de référencement avec lesquels vous pouvez démarrer pour démarrer votre apprentissage Python.

Publicité

Continuer la lecture ci-dessous

J’aimerais savoir comment vous vous en sortez si vous décidez d’essayer l’un de ceux-ci et j’ai inclus tous les projets ci-dessus dans ce référentiel Github.

Plus de ressources:


Crédits d’image

Toutes les captures d’écran prises par l’auteur, décembre 2020



Partager:

Partager sur facebook
Partager sur twitter
Partager sur telegram
Partager sur reddit
Partager sur linkedin
Partager sur pinterest

Articles Similaires