¡Tengo una nueva pasión! Se llama Google Colab y creo después de esta guía rápida para agilizar y facilitar tus tareas SEO, tu también la tendrás 🙂
Puede que estés pensando, ya Ana claro, pero yo no sé programar. Te cuento algo: ¡Yo tampoco! Basta con usar sentido común, ChatGPT y Google Colab.
A continuación te muestro cómo encontrar oportunidades de enlazado interno para SEO con Google Colab de forma fácil.
¿Qué es Google Colab?
Contenido
Google Colab es una herramienta que permite ejecutar rápidamente Python directamente en la plataforma sin apenas instalación. Colab es el equivalente de Jupyter Notebook desarrollado por Google.
En caso de que tengas pocas experiencia con código, Colab es una herramienta online gratuita que puedes utilizar para editar y ejecutar código, realizar y visualizar análisis de datos. Además es un cuaderno digital que puedes compartir fácilmente con tu equipo.
Antes de enseñarte el script para optimizar el enlazado interno, hay que hacer unos pequeños pasos antes. ¡Allá vamos!
Paso 1. Extraer con Screaming Frog el copy
Primero debemos empezar extrayendo el copy de las páginas a analizar para que el script entienda el contenido de cada página y nos ayude a enlazarlas en base a similaridad. Para ello yo he usado Screaming Frog con la función custom extraction.
Lo ideal es buscar una página que nos sirva de patrón que tenga un bloque de texto. Revisar las categorías, blog o el tipo de página de la web que quieras analizar y con el mismo xpath podrás extraer el contenido de todas ellas.
Una vez elegida nuestra página, clicamos botón derecho > Inspeccionar > Copy > Copy XPath.
Abrimos Screaming Frog y en custom Extraction pegamos nuestro código.


Una vez tenemos el crawl listo, descargamos el csv y renombramos el archivo como custom_extraction_full_text.csv.
Es importante renombrar el csv ya que el script está configurado para que se llame así, sino no funcionará. Obviamente puedes editar este script y adaptarlo a tus necesidades, pero si quieres que funcione sin hacer cambios, recuerda renombrarlo.
Además, es importante que abras el csv y borres todas las líneas en blanco. También tendrás que renombrar la columna donde esté el texto con «content». La estructura final que te tiene que quedar de columnas es : address, status code, status, content.

Paso 2. Crear el script de Python y subir el csv a Drive
Una vez descargado el csv de Screaming Frog, renombrado, eliminado las lineas en blanco, lo que haremos será subir este archivo a nuestro Google Drive.
Y ahora sí, toca abrir Google Colab y abrir un nuevo notebook. File > New Notebook in Drive > Pegar el código a continuación.
# Mount Google Drive
from google.colab import drive
drive.mount('/content/drive')
# Import necessary libraries
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# Load the CSV file from Google Drive
# Make sure that this file exists and is in the correct location
file_path = '/content/drive/My Drive/custom_extraction_full_text.csv'
df = pd.read_csv(file_path)
# Display the first few rows of the DataFrame
df.head()
# Function to find internal link opportunities
def find_internal_link_opportunities(df):
contents = df['content'].tolist()
vectorizer = TfidfVectorizer().fit_transform(contents)
vectors = vectorizer.toarray()
csim = cosine_similarity(vectors)
return csim
# Assuming the 'Content' column contains the text content of the pages
csim = find_internal_link_opportunities(df)
# Function to display internal link opportunities
def display_link_opportunities(df, csim, threshold=0.5):
for idx, row in df.iterrows():
similar_indices = [i for i, score in enumerate(csim[idx]) if score > threshold and i != idx]
if similar_indices:
print(f"Page: {row['Address']}")
print("Potential internal links:")
for i in similar_indices:
print(f" - {df.iloc[i]['Address']} (Similarity: {csim[idx][i]:.2f})")
print()
# Display internal link opportunities with a threshold for similarity
display_link_opportunities(df, csim, threshold=0.5)
¡Ahora sí! Ya podemos ejecutar el script tras concender los accesos a Google Drive. Deberás aceptarlos para que Colab pueda leer el archivo .csv que has subido y que hará funcionar este código.

Para ejecutar el script, tenemos que clicar el botón circular de play y el resultado que obtendremos es el enlazado interno propuesto.

El resultado que se muestra es la página y sus links potenciales. En cada uno de ellos indica la similaridad con la página. Cuanto mayor el número, mayor similaridad.
¿Quieres descargarte la propuesta de enlazado interno?
Si quieres descargarte la propuesta de enlazado interno únicamente tendrás que añadir un pequeño código al final del script. De esta forma es mucho más cómodo trabajar con grandes cantidades de datos.
# Save the DataFrame to a CSV file
df.to_csv('/content/internal_link_opportunities.csv', index=False)
# Download the CSV file
from google.colab import files
files.download('/content/internal_link_opportunities.csv')
Tendrás que volver a ejecutar el script para descargarte el csv.
¿Cuál es la lógica detrás de este script de Python?
La función find_internal_link_opportunities extrae el contenido de las páginas de la columna Content del DataFrame.
El TfidfVectorizer convierte este contenido en vectores numéricos basados en el modelo TF-IDF.
Estos vectores se utilizan para calcular la similitud coseno entre todas las páginas (cómo de similar es su contenido).
El resultado es una matriz de similitud (csim), donde cada valor indica la similitud entre dos páginas.
Esta función, display_link_opportunities, itera sobre cada página (cada fila del DataFrame).
Para cada página, busca otras páginas que tengan una puntuación de similitud del coseno por encima del umbral (0,5 en este caso), excluyendo la página actual.
Si encuentra páginas similares, imprime la URL de la página (de la columna «Dirección») y las URL de los posibles enlaces internos, junto con sus puntuaciones de similitud.
Como vemos en la imagen superior nos indica la similaridad basada entre 0.5 y 1. La similaridad de 0.5 la podemos subir modificando el script. Yo he usado ChatGPT para ir preguntándole cosas, solucionar errores, aprender…
Agilizar nuestros procesos en SEO con la IA
¿Es perfecto? No. Pero nos ayuda mucho a ver con mayor claridad a qué páginas entrelazar y a agilizar nuestros procesos en SEO.
Si te ha gustado este post, agradezco si lo compartes en redes sociales. ¿Tienes algún comentario que dejarme? Escríbeme por X (Twitter). ¡Gracias por leerme!