{"id":139231,"date":"2024-04-04T14:40:13","date_gmt":"2024-04-04T12:40:13","guid":{"rendered":"https:\/\/www.dealersleague.com\/check-for-broken-links\/"},"modified":"2024-04-04T14:40:13","modified_gmt":"2024-04-04T12:40:13","slug":"verificar-enlaces-rotos","status":"publish","type":"post","link":"https:\/\/dealersleague.com\/es\/verificar-enlaces-rotos\/","title":{"rendered":"C\u00f3mo Verificar Enlaces Rotos en Tu Sitio Web Usando Python: Una Gu\u00eda para Principiantes"},"content":{"rendered":"\n<p>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, \u00a1no te preocupes! En esta gu\u00eda, te mostraremos c\u00f3mo automatizar el proceso usando Python, un lenguaje de programaci\u00f3n popular, y Beautiful Soup, una poderosa herramienta para analizar archivos HTML y XML.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"0-lo-que-necesitar%C3%A1s\">Lo Que Necesitar\u00e1s<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Una Mac o PC<\/strong>: Esta gu\u00eda funciona para ambos.<\/li>\n\n\n\n<li><strong>Python Instalado<\/strong>: La mayor\u00eda de las computadoras vienen con Python ya instalado, pero verificaremos para asegurarnos.<\/li>\n\n\n\n<li><strong>Una Conexi\u00f3n a Internet<\/strong>: Para instalar las herramientas necesarias y acceder a los mapas de sitio de tu web.<\/li>\n\n\n\n<li><strong>Un Editor de Texto<\/strong>: Cualquier cosa desde el Bloc de notas (Windows), TextEdit (Mac), hasta editores m\u00e1s avanzados como VSCode o Sublime Text.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"1-paso-1-verifica-si-python-est%C3%A1-instalado\">Paso 1: Verifica Si Python Est\u00e1 Instalado<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Abre Terminal (Mac)<\/strong> o <strong>S\u00edmbolo del Sistema (Windows)<\/strong>.<\/li>\n\n\n\n<li>Escribe <code>python3 --version<\/code> y presiona Enter.\n<ul class=\"wp-block-list\">\n<li>Si ves un n\u00famero de versi\u00f3n, \u00a1todo est\u00e1 listo!<\/li>\n\n\n\n<li>Si no, descarga e instala Python desde <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noopener\">python.org<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"2-paso-2-instala-beautiful-soup\">Paso 2: Instala Beautiful Soup<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>En tu Terminal o S\u00edmbolo del Sistema, escribe <code>pip3 install beautifulsoup4<\/code> y presiona Enter.<\/li>\n\n\n\n<li>Espera a que la instalaci\u00f3n termine.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"3-paso-3-encuentra-los-mapas-de-sitio-de-tu-web\">Paso 3: Encuentra los Mapas de Sitio de Tu Web<\/h2>\n\n\n\n<p>El mapa de sitio de tu web es una hoja de ruta de todas las p\u00e1ginas y contenidos en tu sitio. T\u00edpicamente lo encontrar\u00e1s en <code>tusitio.com\/sitemap.xml<\/code>. Si tienes m\u00faltiples mapas de sitio, anota sus URLs.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"4-paso-4-crea-tu-script-de-python\">Paso 4: Crea Tu Script de Python<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Abre tu editor de texto y crea un nuevo archivo llamado <code>check_broken_links.py<\/code>.<\/li>\n\n\n\n<li>Copia el siguiente script en tu archivo:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">pythonCopy code<code>import requests\nfrom bs4 import BeautifulSoup\n\ndef fetch_urls_from_sitemap(sitemap_url):\n    response = requests.get(sitemap_url)\n    soup = BeautifulSoup(response.content, 'xml')\n    urls = [loc.text for loc in soup.find_all('loc')]\n    return urls\n\ndef check_link_for_404(url):\n    try:\n        response = requests.head(url, allow_redirects=True)\n        if response.status_code == 404:\n            print(f\"404 ENCONTRADO: {url}\")\n            return True\n    except requests.RequestException as e:\n        print(f\"Error al verificar {url}: {e}\")\n    return False\n\ndef main(sitemap_urls):\n    for sitemap_url in sitemap_urls:\n        print(f\"Procesando {sitemap_url}\")\n        urls = fetch_urls_from_sitemap(sitemap_url)\n        found_broken = False\n        for url in urls:\n            if check_link_for_404(url):\n                found_broken = True\n        if not found_broken:\n            print(f\"No se encontraron enlaces rotos en {sitemap_url}.\")\n\n# Lista de tus URLs de mapas de sitio\nsitemap_urls = [\n    'https:\/\/www.dealersleague.com\/post-sitemap1.xml',\n    'https:\/\/www.dealersleague.com\/post-sitemap2.xml',\n    'https:\/\/www.dealersleague.com\/page-sitemap.xml',\n    'https:\/\/www.dealersleague.com\/helpie_faq-sitemap.xml',\n    'https:\/\/www.dealersleague.com\/portfolio-sitemap.xml',\n    'https:\/\/www.dealersleague.com\/category-sitemap.xml',\n    # Agrega cualquier URL adicional de mapa de sitio aqu\u00ed.\n]\n\nmain(sitemap_urls)\n<\/code><\/pre>\n\n\n\n<ol class=\"wp-block-list\" start=\"3\">\n<li>Reemplaza <code>'tusitio.com\/sitemap1.xml'<\/code> con tus reales URLs de mapas de sitio.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-paso-5-ejecuta-tu-script\">Paso 5: Ejecuta Tu Script<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Guarda tu archivo <code>check_broken_links.py<\/code>.<\/li>\n\n\n\n<li>Abre Terminal o S\u00edmbolo del Sistema y navega a la carpeta donde est\u00e1 guardado tu archivo.\n<ul class=\"wp-block-list\">\n<li>Usa el comando <code>cd<\/code> para cambiar de directorios, por ejemplo, <code>cd Descargas<\/code>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Escribe <code>python3 check_broken_links.py<\/code> y presiona Enter.<\/li>\n\n\n\n<li>El script se ejecutar\u00e1 e imprimir\u00e1 cualquier enlace roto que encuentre.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"6-%C2%A1felicidades\">\u00a1Felicidades!<\/h2>\n\n\n\n<p>\u00a1Acabas de automatizar la verificaci\u00f3n de enlaces rotos en tu sitio web! Este script es un punto de partida b\u00e1sico. A medida que te sientas m\u00e1s c\u00f3modo, puedes expandirlo para satisfacer tus necesidades espec\u00edficas.<\/p>\n\n\n\n<p>Recuerda, siempre usa la automatizaci\u00f3n y el raspado web responsablemente y con respeto a los sitios web que est\u00e1s accediendo.<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>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&hellip;<\/p>\n","protected":false},"author":14,"featured_media":139249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1109,1054],"tags":[1119,1096],"class_list":["post-139231","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diseno-web","category-seo-es","tag-search-engine-optimization-es","tag-seo-2"],"_links":{"self":[{"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/posts\/139231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/comments?post=139231"}],"version-history":[{"count":0,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/posts\/139231\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/media\/139249"}],"wp:attachment":[{"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/media?parent=139231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/categories?post=139231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dealersleague.com\/es\/wp-json\/wp\/v2\/tags?post=139231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}