Data SEO Academy
Python Seo SEO Técnico

Breadcrumbs para SEO: Mejora la estructura de enlaces con Python

Breadcrumbs para SEO: Mejora

Breadcrumbs para SEO: Mejora la estructura de enlaces con Python

Breadcrumbs para SEO: Mejora la estructura de enlaces y la experiencia del usuario con Python

¿Por qué son importantes los breadcrumbs para SEO?

Los breadcrumbs, esas pequeñas migas de pan que guían al usuario en tu website, son mucho más importantes de lo que crees. No solo mejoran la experiencia del usuario (UX), sino que también le dan a Google una comprensión más clara de la estructura de tu sitio. Y, seamos honestos, un sitio bien estructurado es un sitio que Google ama. ¿Pero cómo podemos automatizar yoptimizar este proceso?

Formación Python SEO

Beneficios de los breadcrumbs para SEO

Implementar breadcrumbs en tu sitio web es como dejar un rastro de migas de pan para que tanto tus usuarios como los motores de búsqueda puedan seguir fácilmente. Pero, ¿cuáles son los beneficios concretos? Veamos:

  • Mejora de la Experiencia del Usuario (UX): Facilita la navegación y reduce la tasa de rebote.
  • Optimización de la Estructura de Enlaces Internos: Distribuye el “link juice” de manera más eficiente.
  • Aumento del CTR: Las breadcrumbs en los rich snippets de Google hacen que tu página sea más atractiva.

Tipos de breadcrumbs y su implementación

Existen varios tipos de breadcrumbs, cada uno con sus propias características y casos de uso. Conocerlos te ayudará a elegir el más adecuado para tu sitio. Pero lo más increíble de todo, es que con Python, podemos automatizar su análisis e implementación. Como lo haría un verdadero analista de datos SEO

Estructura jerárquica de breadcrumbs

La estructura más común son aquellos que muestran de la ruta desde la página de inicio hasta la página actual. Un ejemplo claro de la implementación de breadcrumbs es esta (Seguro la has visto miles de veces)

: Inicio > Categoría > Subcategoría > Página de producto o servicio

En e-commerce, a menudo omiten el elemento de la página de inicio.

Se forman dinámicamente según la ruta que ha seguido el usuario. Pueden mostrar la ubicación dentro de la estructura del sitio o los atributos del producto. Imagina que un usuario llega a un producto desde la categoría “running” o desde la marca “Nike”; en este caso el breadcrumb se adaptará.

Análisis de breadcrumbs con Python

Para analizar la estructura de breadcrumbs de un sitio web, podemos usar programación junto con librerías de Python como requests y Beautiful Soup para hacer la extracción. Aquí te dejo un ejemplo sencillo:

import requests
from bs4 import BeautifulSoup
url = "https://www.ejemplo.com/producto"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
breadcrumbs = soup.find_all("span", class_="breadcrumb")
for crumb in breadcrumbs:
    print(crumb.text)

Este script te permite extraer el texto de los breadcrumbs y analizar su estructura (Puedes usar Google Colab u otro IDE) . Pero podemos ir más allá aún…

Optimización de breadcrumbs con herramientas de análisis

Para optimizar las breadcrumbs, es crucial analizar su impacto en la experiencia del usuario y en el SEO. Herramientas como Google Analytics y Google Search Console te pueden dar información valiosa, pero, ¿cómo podemos automatizar este análisis con Python?

Automatización del análisis de datos con Python

Podemos usar la API de Google Analytics con Python para extraer datos sobre el comportamiento del usuario en páginas con breadcrumbs. Por ejemplo:

from googleapiclient.discovery import build
from google.oauth2 import service_account
KEY_FILE_LOCATION = 'ruta/a/tu/service_account.json'
VIEW_ID = 'tu_view_id'
credentials = service_account.Credentials.from_service_account_file(
    KEY_FILE_LOCATION, scopes=['https://www.googleapis.com/auth/analytics.readonly'])
service = build('analyticsreporting', 'v4', credentials=credentials)
request = service.reports().batchGet(
    body={
        'reportRequests': [
        {
            'viewId': VIEW_ID,
            'dateRanges': [{'startDate': '30daysAgo', 'endDate': 'today'}],
            'metrics': [{'expression': 'ga:pageviews'}],
            'dimensions': [{'name': 'ga:pagePath'}]
        }]
    }
)
response = request.execute()
for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])
    for row in report.get('data', {}).get('rows', []):
        dimensions = row.get('dimensions', [])
        metrics = row.get('metrics', [])
        print(dimensions[0], metrics[0].get('values', [])[0])

Este script te permite obtener las páginas más visitadas y su número de visitas. Puedes adaptarlo para analizar específicamente las páginas con breadcrumbs y cómo influyen en la navegación.

Uso de schema markup para breadcrumbs

El schema markup es un vocabulario semántico que ayuda a Google a comprender el contenido de tu página. Para los breadcrumbs, es esencial usar el schema BreadcrumbList. Aquí te dejo un ejemplo de cómo generarlo con Python:

import json
def generate_breadcrumb_schema(url, names):
    """Genera el schema markup para breadcrumbs en formato JSON-LD."""
    breadcrumb_list = {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": []
    }
    for i, name in enumerate(names):
        item = {
            "@type": "ListItem",
            "position": i + 1,
            "name": name,
            "item": url[i]
        }
        breadcrumb_list["itemListElement"].append(item)
    return json.dumps(breadcrumb_list, indent=4)
# Ejemplo de uso
url = ["https://www.ejemplo.com", "https://www.ejemplo.com/categoria", "https://www.ejemplo.com/producto"]
names = ["Inicio", "Categoría", "Producto"]
schema = generate_breadcrumb_schema(url, names)
print(schema)

Mejores prácticas para la implementación de breadcrumbs en sitios web

Implementar breadcrumbs no es solo añadir un plugin o un código. Hay que seguir ciertas prácticas para asegurar que sean realmente útiles:

  • No enlazar la página actual: Es redundante y confuso.
  • Colocarlas en la parte superior de la página: Es donde los usuarios esperan encontrarlas (Arriba ojalá también en el HTML para una rápida lectura de los enlaces por parte del bot de Google..
  • Usar un diseño claro y legible: Deben ser fáciles de identificar y entender.

Integración de breadcrumps wordpress y Joomla

La mayoría de los CMS populares ofrecen plugins o módulos para implementar breadcrumbs de manera sencilla. Veamos algunos ejemplos:

Implementación de Breadcrumbs con Plugin o Código Personalizado

En WordPress, puedes usar plugins como Breadcrumb NavXT, Yoast SEO, o Rank Math. También puedes escribir tu propio código. Aquí te dejo un ejemplo de cómo hacerlo:

function custom_breadcrumbs() {
    global $post;
    $sep = ' > '; // Separador entre los elementos de la miga de pan
    if ( !is_front_page() ) { // Verifica si no estás en la página principal
        // Inicia el contenedor para la breadcrumb
        echo '';
        echo 'Inicio' . $sep; // Enlace a la página principal
        // Si estás en una categoría o en una publicación individual
        if ( is_category() || is_single() ) {
            the_category( ' ' . $sep ); // Muestra las categorías y separador
            if ( is_single() ) { // Si estás en una publicación individual
                echo $sep; 
                the_title(); // Muestra el título de la publicación
            }
        } 
        // Si estás en una página estática
        elseif ( is_page() ) {
            echo the_title(); // Muestra el título de la página estática
        }
        // Cierra el contenedor de la breadcrumb
        echo '';
    }
}

Este código crea una función que muestra las breadcrumbs en tu sitio de WordPress. Puedes personalizarlo para que se adapte a tus necesidades.

Las breadcrumbs son una herramienta poderosa para mejorar la UX y el SEO de tu sitio web. Con Python, puedes automatizar su análisis, optimización e implementación. ¡Así que no esperes más y empieza a usarlas en tu proyecto web.