Comment mapper 404 URL à l'échelle avec des phrases incorporées

Un moyen sûr d'aider les clients à obtenir plus de trafic de référencement est de rediriger les URLs précieuses qui se retrouvent en 404 vers des adresses équivalentes.

Généralement, ces URL génèrent toujours du trafic, des liens externes intéressants ou les deux.

Une approche paresseuse et inefficace pour mapper des URL 404 consiste à les rediriger toutes vers la page d'accueil ou vers un résultat de recherche dynamique. 🤦

Par exemple, Smarthome 302 redirige des pages non existantes vers sa page d'accueil. Ce type de redirection est généralement signalé comme une erreur logicielle 404 dans la console de recherche Google.

La bonne approche consiste à mapper chaque page individuellement vers une page équivalente, si une telle page existe.

Cependant, ce processus peut être très fastidieux, long et coûteux si vous devez le faire manuellement.

Souvent, vous devez utiliser le moteur de recherche interne par défaut du site, qui est rarement utile.

Dans cette colonne, nous allons apprendre à automatiser cette technique précieuse en utilisant une approche de mise en correspondance neuronale.

Voici notre plan d'action:

Nous allons collecter deux listes d’URL à mapper: l’une avec les 404 URL et l’autre avec les URL canoniques du site. Nous allons convertir les URL en phrases pour les préparer à notre processus de correspondance neurale.Nous allons utiliser une approche de codage universel Je vais expliquer certains des concepts avancés qui rendent cela possible. Je partagerai également des projets et des ressources communautaires pour en apprendre davantage.

Télécharger des ensembles d'URL

Il existe de nombreuses façons d’obtenir 404 URL. Vous pouvez exécuter une analyse du site Web, télécharger des fichiers 404 à partir de Google ou de consoles de recherche Bing, etc.

L’un de mes endroits préférés pour obtenir 404 URL est l’outil Ahrefs Broken Backlinks, car il filtre les 404 en pages contenant des liens externes.

La console de recherche Google aura probablement plus de 404 cartes à cartographier. Si vous préférez cartographier tous les 404 et en avoir plus d'un millier à télécharger, vous pouvez envisager d'utiliser notre application Cloudflare, qui n'a pas de telles limites.

Vous pouvez exporter jusqu'à 100 000 URL ou autant que vous avez lorsque vous vous connectez à Google Drive.

Ensuite, vous avez besoin d'un ensemble de toutes les URL de site Web valides, de préférence des URL canoniques.

Un moyen simple d'obtenir une telle liste consiste à télécharger les URL de sitemap XML.

Si votre client ne dispose pas de sitemaps XML, vous pouvez effectuer une analyse SEO classique pour obtenir les URL.

Si vous préférez le code, vous en trouverez certains que vous pouvez adapter à partir de mon article sur les sitemaps XML.

Téléchargement des ensembles d'URL sur Google Drive

Il existe différentes manières d'accéder aux fichiers de Google Colaboratory, notamment de les télécharger directement à partir de votre disque dur. Dernièrement, mon option préférée consiste à les télécharger sur Google Drive et à y accéder à partir de Colab.

Si vous obtenez un lien partageable à partir de Google Drive, vous pouvez utiliser le code ci-dessous pour télécharger les fichiers dans votre environnement Google Colab.

Si vos fichiers doivent rester confidentiels, le code suivant peut être une meilleure option.

Conversion des chemins d'URL en phrases

Nous pourrions essayer de faire correspondre les pages en utilisant leur contenu, mais 404 pages ne contiennent pas de contenu que vous pourriez utiliser à des fins de correspondance.

Patrick Stox a partagé une approche intelligente en utilisant la machine Wayback. En pratique, sa technique fonctionne pour les sites qui ont une bonne couverture, ce qui est le cas s'ils sont populaires. Cependant, pour de nombreux sites avec lesquels nous travaillons, cela n’a pas été aussi efficace que nous le souhaiterions.

Une idée clé qui a bien fonctionné pour nous est de faire correspondre 404 pages aux pages pertinentes du site en exploitant les informations riches présentes dans la plupart des URL.

Cette approche est très simple et fonctionne vraiment bien dans la pratique. L'exception notable est lorsque les sites choisissent des URL terribles, déclarent qu'ils n'incluent que des chiffres.

Nous suivons deux étapes simples:

Obtenez uniquement le chemin des URL. Convertissez les barres obliques, les traits de soulignement et les tirets en espaces pour extraire le texte des URL.

Voici le code pour cela:

Voici à quoi ressemble la transformation.

Le codeur de phrases universel

Nous allons maintenant passer à la partie amusante! Nous allons exploiter l'apprentissage en profondeur pour un autre cas d'utilisation puissant: la similarité textuelle sémantique (STS). Nous allons tirer parti de STS pour faire correspondre les URL aux expressions incluses.

N'hésitez pas à vous référer à mes précédents articles d’apprentissage en profondeur pour vous familiariser avec les concepts que nous reviendrons ici.

Pour notre tâche de correspondance, nous allons tirer parti du codeur universel de Google.

De leur description:

«Le codeur universel de phrases (USE) code le texte en vecteurs de grande dimension pouvant être utilisé pour la classification du texte, la similarité sémantique, le regroupement et d'autres tâches en langage naturel.

Le modèle est conçu et optimisé pour un texte d'une longueur supérieure à la longueur d'un mot, tel que des phrases, des expressions ou des paragraphes courts. Il est formé à diverses sources de données et à diverses tâches dans le but de prendre en charge de manière dynamique une grande variété de tâches de compréhension du langage naturel. L'entrée est un texte anglais de longueur variable et la sortie est un vecteur à 512 dimensions. Nous appliquons ce modèle à la référence STS pour la similarité sémantique, et les résultats sont visibles dans l'exemple de cahier mis à disposition. Le modèle de codeur universel de phrases est conçu avec un codeur DAN (deep moyending network). ”

Nous utilisons cette approche car elle est plus puissante que la correspondance textuelle naïve. USE permet de faire correspondre des pages / phrases avec une signification équivalente, même si elles ne sont pas écrites exactement de la même manière. Vous pouvez même faire correspondre des phrases lorsqu'elles sont écrites dans différentes langues.

Voici un exemple d'extrait de code montrant ce à quoi il ressemble en action:

Fondamentalement, USE nous permet d’encoder des phrases complètes dans un espace virtuel (rappelez-vous l’analogie GPS que j’ai couverte dans mon premier article d’apprentissage approfondi?), De sorte que des expressions similaires soient proches et complètement différentes les unes des autres.

Vous pouvez utiliser USE pour résoudre divers problèmes de langage naturel. Pour notre problème spécifique, la tâche la plus appropriée est la similarité textuelle sémantique.

Lorsque nous utilisons la similarité sémantique, nous voulons faire correspondre les phrases qui signifient exactement la même chose mais qui pourraient être formulées différemment.

Commençons.

Veuillez vous rendre sur la page USE et cliquer sur pour ouvrir l'exemple de bloc-notes Google Colab.

Utilisez le menu Fichier pour enregistrer une copie dans votre Google Drive. Changez le type d'exécution en GPU.

Cliquez ensuite sur le menu d'exécution pour exécuter toutes les cellules.

Lorsque vous faites défiler le cahier, vous pouvez trouver cette visualisation intéressante presque à la fin.

Il s'agit d'une matrice de cartes thermiques affichant les phrases les plus similaires en rouge vif.

Vous pouvez voir comment les phrases sur les téléphones, la météo, la santé et l'âge sont regroupées. C'est un outil très puissant!

Préparer notre corpus de phrases

Nous allons maintenant ajouter du code personnalisé au bloc-notes pour tirer parti de cette technique avec les phrases que nous avons générées à partir des URL que nous avons téléchargées auparavant.

Ces simples modifications de code nous aident à regrouper nos propres URL / phrases. Voici à quoi ressemble notre propre visualisation.

Les produits de notre exemple d'URL sont très similaires. Par conséquent, il y a beaucoup plus de carrés rouges que de jaunes.

Lorsque les résultats sont si proches, nous générons une liste des 5 meilleurs pour chaque match et les donnons à l'un des membres de notre équipe pour qu'ils le passent en revue manuellement et sélectionnent le meilleur match. Cette approche réduit encore beaucoup de temps manuel.

Calcul des suggestions de similarité

La carte thermique ci-dessus, bien qu’elle soit un excellent visuel, ne nous aidera pas à obtenir de véritables suggestions pour chaque URL 404. Nous allons créer une fonction personnalisée à cet effet.

Nous avons ici un peu de code TensorFlow dans lequel nous passons une phrase codée au modèle USE et obtenons les intégrations des correspondances les plus proches. Cela nécessite quelques explications.

Ce code transmet la phrase codée à USE et récupère toutes les modifications correspondantes.

to_find_embeddings = session.run (similarity_message_encodings, feed_dict = {similarity_input_placeholder: (phrase)})

Comme les imbrications sont simplement des vecteurs, il est possible de trouver les plus proches en calculant le produit scalaire.

result = np.inner (message_embeddings, to_find_embeddings)

Le produit scalaire est l’une des techniques que vous pouvez utiliser pour mesurer la distance entre deux vecteurs.

Vous voudrez peut-être consulter cet article Wikipedia pour en savoir plus sur son fonctionnement.

Le reste du code limite les correspondances au top 5.

Projets et ressources communautaires pour en savoir plus

Le mois dernier, j’ai été époustouflé par les projets partagés par la communauté.

Tout d’abord, permettez-moi de remercier chaleureusement Kristin Tynski, qui a amélioré mon travail de classification des intentions en proposant une technique plus rapide, meilleure et moins chère.

Dan Leibson de LocalSEOGuide a partagé un script qui automatise la catégorisation des mots clés construite à l'aide de BigQuery, Python et Posgres.

Hülya Çoban a mis au point un incroyable modèle d'apprentissage automatique pour prédire les scores de vitesse d'une page.

Davantage de ressources:

Crédits d'image

Similarité sémantique Image: TensorFlow Hub
Toutes les captures d'écran prises par l'auteur, Décembre 2019