Toda estrategia de posicionamiento comienza con una investigación de palabras clave y aunque existen numerosas herramientas todas tienen una grave desventaja: son costosas.
Por suerte podemos utilizar el poder de los nuevos modelos de lenguaje para hacer una investigación exitosa y gratuita.
¿Qué son los modelos de lenguaje?
Un modelo de lenguaje es un sistema que tiene la capacidad de predecir el lenguaje humano mediante el procesamiento de enormes cantidades de texto.
Realmente los modelos de lenguaje no comprenden lo que les decimos, pero gracias al análisis de millones de documentos pueden generar respuestas que parecen ser adecuadas.
Cuando digo que las respuestas generadas «parecen ser adecuadas» me refiero a que los modelos de lenguaje no comprueban lo que dicen, solo generan respuestas que pueden sufrir de «alucinaciones».
Generando una lista de palabras clave de la competencia
Uno de los primeros consejos al hacer una investigación de palabras clave para SEO es mirar lo que esta haciendo la competencia.
Al analizar a nuestros competidores podemos saber que segmentos del mercado nos falta abarcar y nos ayuda a tener un sitio más completo.
Descargando el código HTML
El primer paso es obtener el contenido del sitio web utilizando la librería requests y ultimate-sitemap-parser.
import requests
from bs4 import BeautifulSoup
from usp.tree import sitemap_tree_for_homepage
dominio = "https://amigurumis.com.mx/"
for page in sitemap_tree_for_homepage(dominio).all_pages():
response = requests.get(page.url)
El script anterior carga el sitemap del sitio que vamos a analizar y nos devuelve la URL de todas las páginas que contiene.
Después utiliza el método requests.get para descargar el código HTML de cada página.
Usando BeautifulSoup para aislar el texto
Ahora que tenemos el código HTML vamos a utilizar BeautifulSoup para obtener solo el texto que consideramos parte importante de nuestra investigación.
¿Y que contenido es importante? Sin revisar la estructura de la página es una pregunta difícil de responder pero podemos utilizar solo los encabezados (H1, H2, H3 ,H4 ,H5 ,H6) y los párrafos (P) para comenzar a generar la lista de palabras clave.
import requests
from bs4 import BeautifulSoup
from usp.tree import sitemap_tree_for_homepage
dominio = "https://amigurumis.com.mx/"
for page in sitemap_tree_for_homepage(dominio).all_pages():
response = requests.get(page.url)
soup = BeautifulSoup(response.content, 'html.parser')
contenido = map(lambda t: t.text.strip().lower(), soup.select("h1, h2, h3, h4, h5, h6, p"))
El metodo soup.select nos devuelve una lista con los elementos HTML que BeautifulSoup pudo encontrar en el documento, después utilizamos la función map para obtener una lista con cadenas de texto en minúsculas y sin espacios en los extremos.
Generando las palabras clave SEO con Gemini 1.5 Flash
El último paso consiste en utilizar el paquete oficial google.generativeai para utilizar el modelo Gemini 1.5 Flash.
Para poder utilizarlo vas a necesitar una llave, pero no es un problema, puedes generarla desde el sitio de Google AI Studio de manera gratuita.
La versión final del script se ve así:
import requests, json, time
import google.generativeai as genai
from bs4 import BeautifulSoup
from usp.tree import sitemap_tree_for_homepage
dominio = "https://amigurumis.com.mx/"
prompt = "Actua como un experto en SEO y utiliza este contenido para crear una lista de palabras clave (intenta usar palabras longtail), despues almacenalas en un arreglo que se llame 'palabras': "
genai.configure(api_key="TU_LLAVE")
model = genai.GenerativeModel('gemini-1.5-flash', generation_config={"response_mime_type": "application/json"})
for page in sitemap_tree_for_homepage(dominio).all_pages():
response = requests.get(page.url)
soup = BeautifulSoup(response.content, 'html.parser')
c = map(lambda t: t.text.strip().lower(), soup.select("h1, h2, h3, p"))
response = json.loads(model.generate_content(prompt + "\n".join(c)).text)
for keyword in response["palabras"]:
print(keyword)
time.sleep(5)
Una vez que ejecutes el script vas a obtener un enorme listado de palabras clave generadas por Gemini Flash 1.5 a partir del contenido del sitio.
Comprobando el volumen de búsqueda
Después de generar una pequeña lista de palabras utilizando el contenido de amigurumis.com.mx voy a comprobar el volumen de busquedas utilizando Keyword Planner.
Estos son algunos ejemplos de los resultados que obtuve.
Palabra clave | Volumen de búsqueda |
---|---|
Amigurumis Personalizados | 100 a 1 K |
Cajas de Regalo originales | 100 a 1 K |
cajas de regalo creativas | 100 a 1 K |
amigurumis animales | 100 a 1 K |
tejidos a dos agujas | 100 a 1 K |
patrones gratuitos de amigurumis | 100 a 1 K |
amigurumis faciles para principiantes | 10 a 100 |
amigurumis para regalar | 10 a 100 |
amigurumis kawai | 10 a 100 |
amigurumis personajes | 10 a 100 |
No es necesario utilizar Keyword Planner, pero a diferencia de otras herramientas importar el conjunto de palabras es completamente gratuito.
Algunas mejoras
El script es funcional, pero tambien seria interesante implementar estas funciones:
- Consultor automaticamente el volumen de busqueda
- Exportar a CSV
- Comprobar si la palabra ya se uso en el sitio
- Calificar la calidad del contenido
¿Tienes problemas con el SEO de tu sitio?
Me encuentro disponible para trabajar en tu sitio web y llevarlo a los primeros resultados de Google. Si ya estas trabajando con una Agencia podría interesarte mi servicio de SEO en 1 hora para evaluar los resultados de tu equipo actual.