Mantener tu sitio web libre de enlaces rotos es crucial para asegurar una buena experiencia de usuario y mantener la salud SEO de tu sitio. Si la idea de revisar cada enlace manualmente suena desalentadora, ¡no te preocupes! En esta guía, te mostraremos cómo automatizar el proceso usando Python, un lenguaje de programación popular, y Beautiful Soup, una poderosa herramienta para analizar archivos HTML y XML.
Lo Que Necesitarás
- Una Mac o PC: Esta guía funciona para ambos.
- Python Instalado: La mayoría de las computadoras vienen con Python ya instalado, pero verificaremos para asegurarnos.
- Una Conexión a Internet: Para instalar las herramientas necesarias y acceder a los mapas de sitio de tu web.
- Un Editor de Texto: Cualquier cosa desde el Bloc de notas (Windows), TextEdit (Mac), hasta editores más avanzados como VSCode o Sublime Text.
Paso 1: Verifica Si Python Está Instalado
- Abre Terminal (Mac) o Símbolo del Sistema (Windows).
- Escribe
python3 --version
y presiona Enter.- Si ves un número de versión, ¡todo está listo!
- Si no, descarga e instala Python desde python.org.
Paso 2: Instala Beautiful Soup
- En tu Terminal o Símbolo del Sistema, escribe
pip3 install beautifulsoup4
y presiona Enter. - Espera a que la instalación termine.
Paso 3: Encuentra los Mapas de Sitio de Tu Web
El mapa de sitio de tu web es una hoja de ruta de todas las páginas y contenidos en tu sitio. Típicamente lo encontrarás en tusitio.com/sitemap.xml
. Si tienes múltiples mapas de sitio, anota sus URLs.
Paso 4: Crea Tu Script de Python
- Abre tu editor de texto y crea un nuevo archivo llamado
check_broken_links.py
. - Copia el siguiente script en tu archivo:
pythonCopy codeimport requests
from bs4 import BeautifulSoup
def fetch_urls_from_sitemap(sitemap_url):
response = requests.get(sitemap_url)
soup = BeautifulSoup(response.content, 'xml')
urls = [loc.text for loc in soup.find_all('loc')]
return urls
def check_link_for_404(url):
try:
response = requests.head(url, allow_redirects=True)
if response.status_code == 404:
print(f"404 ENCONTRADO: {url}")
return True
except requests.RequestException as e:
print(f"Error al verificar {url}: {e}")
return False
def main(sitemap_urls):
for sitemap_url in sitemap_urls:
print(f"Procesando {sitemap_url}")
urls = fetch_urls_from_sitemap(sitemap_url)
found_broken = False
for url in urls:
if check_link_for_404(url):
found_broken = True
if not found_broken:
print(f"No se encontraron enlaces rotos en {sitemap_url}.")
# Lista de tus URLs de mapas de sitio
sitemap_urls = [
'https://www.dealersleague.com/post-sitemap1.xml',
'https://www.dealersleague.com/post-sitemap2.xml',
'https://www.dealersleague.com/page-sitemap.xml',
'https://www.dealersleague.com/helpie_faq-sitemap.xml',
'https://www.dealersleague.com/portfolio-sitemap.xml',
'https://www.dealersleague.com/category-sitemap.xml',
# Agrega cualquier URL adicional de mapa de sitio aquí.
]
main(sitemap_urls)
- Reemplaza
'tusitio.com/sitemap1.xml'
con tus reales URLs de mapas de sitio.
Paso 5: Ejecuta Tu Script
- Guarda tu archivo
check_broken_links.py
. - Abre Terminal o Símbolo del Sistema y navega a la carpeta donde está guardado tu archivo.
- Usa el comando
cd
para cambiar de directorios, por ejemplo,cd Descargas
.
- Usa el comando
- Escribe
python3 check_broken_links.py
y presiona Enter. - El script se ejecutará e imprimirá cualquier enlace roto que encuentre.
¡Felicidades!
¡Acabas de automatizar la verificación de enlaces rotos en tu sitio web! Este script es un punto de partida básico. A medida que te sientas más cómodo, puedes expandirlo para satisfacer tus necesidades específicas.
Recuerda, siempre usa la automatización y el raspado web responsablemente y con respeto a los sitios web que estás accediendo.
Sobre el autor: Michael Masa
¿Por qué debería escucharme? Con una rica formación en marketing y pasión por compartir conocimientos, he dedicado los últimos 9 años de mi vida a este campo. He trabajado como director de marketing y he contribuido decisivamente a dar forma a la estrategia de marketing de una de las principales aseguradoras europeas, BAVARIA AG.
Antes de mi puesto actual, pasé 12 años como Director de Ventas, gestionando un equipo de 12 personas dinámicas y aplicando las últimas técnicas de ventas para impulsar el éxito. Esta experiencia me permitió perfeccionar mis dotes de liderazgo y adquirir un profundo conocimiento del sector de las ventas.
Ahora estoy al frente de Dealers League, una agencia de marketing que no solo crea y gestiona sitios web para empresas, sino que también se centra en la importancia de las estrategias de marketing eficaces. Reconociendo la necesidad de un aprendizaje continuo en este sector tan acelerado, ofrecemos cursos sobre las últimas técnicas de marketing.
Mi variada experiencia en ventas y marketing me da una visión única de cómo se entrecruzan estas dos áreas cruciales. Espero poder compartir mis conocimientos y puntos de vista con usted a través de este blog.