{"id":411,"date":"2020-01-04T19:52:02","date_gmt":"2020-01-04T18:52:02","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=411"},"modified":"2026-04-15T10:48:20","modified_gmt":"2026-04-15T08:48:20","slug":"mejores-plugins-sitemap-wordpress-gratuitos","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/mejores-plugins-sitemap-wordpress-gratuitos\/","title":{"rendered":"Los mejores plugins de sitemap para WordPress gratuitos"},"content":{"rendered":"<p>Optimizar el tr\u00e1fico org\u00e1nico de b\u00fasqueda org\u00e1nica es una tarea vital para cualquiera que administre un sitio web. Por ello, cualquier cosa que est\u00e9 en tus manos para facilitar que los motores de b\u00fasqueda encuentren tu contenido debe ser una prioridad.<\/p>\n<p>Mantener los <strong>sitemaps para WordPress<\/strong> bien organizados es una de las formas m\u00e1s sencillas de garantizar que tanto el contenido nuevo como el antiguo se pueda encontrar con facilidad.<\/p>\n<p>Aqu\u00ed te explicamos c\u00f3mo hacerlo.<\/p>\n<p>En este art\u00edculo veremos c\u00f3mo <strong>crear un sitemap a trav\u00e9s de una selecci\u00f3n de los mejores plugins de sitemap para WordPress <\/strong>sin necesidad de tener conocimientos t\u00e9cnicos<strong>.<\/strong><\/p>\n<p>Pero antes, vamos a aclarar algunos aspectos b\u00e1sicos.<\/p>\n<h2>\u00bfQu\u00e9 es un plugin de sitemap para WordPress?<\/h2>\n<p>Si est\u00e1s abordando el tema de los mapas de sitio o sitemaps por primera vez puede que no sepas para qu\u00e9 son \u00fatiles y por qu\u00e9 son recomendable utilizarlos.<\/p>\n<p>El sitemap fue introducido en 2005 por Google con el respaldo de Microsoft y Yahoo poco despu\u00e9s.<\/p>\n<p>Los mapas de sitio juegan un papel muy importante para ayudar a los motores de b\u00fasqueda a <strong>rastrear un sitio web en su totalidad<\/strong> y, por lo tanto, indexar mejor el contenido.<\/p>\n<p>Y eso, como supondr\u00e1s, tiene una importancia vital en el posicionamiento web SEO, tanto si tienes una tienda online o cualquier otro tipo de sitio web.<\/p>\n<p>La idea b\u00e1sica es simple.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#acc1b5;border-radius:4px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#DFF4E8;color:#000000;border-top-left-radius:2px;border-top-right-radius:2px\">\u00bfQu\u00e9 es un sitemap?<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:2px;border-bottom-right-radius:2px\">Un sitemap <strong>debe contener todas las URLs de tu web que realmente consideras importantes y quieres indexar<\/strong>\u00a0 junto con los datos asociados, como la fecha en la que se modific\u00f3 el contenido por \u00faltima vez, la frecuencia con la que cambia el contenido y si se debe dar prioridad a una URL en particular sobre otra.<\/div><\/div>\n<p>Puedes <strong>generar un sitemap para cada tipo de contenido disponible<\/strong> en una web: posts, p\u00e1ginas, categor\u00edas, im\u00e1genes, v\u00eddeos, etc.<\/p>\n<blockquote><p>Google es suficientemente inteligente como para comprender tu contenido por s\u00ed solo, pero mantener los sitemaps bien organizados hace que sea mucho m\u00e1s f\u00e1cil y r\u00e1pido para los motores de b\u00fasqueda analizar e indexar todo tu contenido.<\/p><\/blockquote>\n<p>Adem\u00e1s, sirven para <strong>notificar a los buscadores cuando tu contenido sufr<\/strong><strong>e alg\u00fan cambio<\/strong>. Por eso es importante tener un sitemap de WordPress actualizado y ordenado.<\/p>\n<p>El mapa del sitio m\u00e1s simple posible es un documento XML que enumera todas las URLs a rastrear.<\/p>\n<p>Por supuesto, podr\u00edas crear esto a mano, pero es mejor dejar este trabajo en manos de herramientas automatizadas si no tienes un m\u00ednimo de conocimientos t\u00e9cnicos.<\/p>\n<p>\ud83d\udc49 Si deseas profundizar un poco m\u00e1s en los aspectos t\u00e9cnicos de los mapas de sitio <a href=\"https:\/\/support.google.com\/webmasters\/answer\/156184?hl=es\" target=\"_blank\" rel=\"noopener\">consulta las p\u00e1ginas oficiales de sitemap de Google<\/a>.<\/p>\n<p>Como puedes imaginar, un plugin para generar sitemaps es un bloque de c\u00f3digo que facilita la creaci\u00f3n de estos mapas, agilizando as\u00ed el proceso de su creaci\u00f3n.<\/p>\n<h2>6 plugins para crear un sitemap en WordPress<\/h2>\n<p>Dada la importancia de los sitemaps en la indexaci\u00f3n de un sitio web por los motores de b\u00fasqueda no es sorprendente que los<a href=\"https:\/\/dinorank.com\/blog\/mejor-plugin-seo-para-wordpress\/\"> plugins de SEO m\u00e1s populares para WordPress<\/a> tiendan a incluir la opci\u00f3n de generarlos de modo autom\u00e1tico.<\/p>\n<p>Pero tambi\u00e9n <strong>hay plugins espec\u00edficos que solo hacen eso<\/strong> y para muchos SEOs son los m\u00e1s recomendables, aunque no deja de ser una cuesti\u00f3n de gustos.<\/p>\n<p>Aqu\u00ed tienes los mejores plugins para generar sitemaps.<\/p>\n<h3>#1 SEO by YOAST<\/h3>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-21354\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo.png\" alt=\"yoast seo\" width=\"1500\" height=\"751\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo.png 1300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-300x150.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-1024x513.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-768x385.png 768w\" sizes=\"(max-width: 1500px) 100vw, 1500px\" \/><\/p>\n<p>Con <strong>m\u00e1s de un mill\u00f3n de instalaciones activas<\/strong> y una valoraci\u00f3n de 4.5 estrellas, <a href=\"https:\/\/dinorank.com\/blog\/configurar-yoast-seo\/\">Yoast SEO<\/a> sigue siendo uno de los plugins de SEO m\u00e1s populares en internet.<\/p>\n<p>Se trata de un plugin de SEO que lleva varios a\u00f1os en el repositorio de WordPress y que cre\u00f3 Joost de Valk.<\/p>\n<p>Crear mapas de sitio XML con Yoast no podr\u00eda ser m\u00e1s sencillo. Tan solo es cuesti\u00f3n de marcar una casilla.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">El plugin puede notificar tanto a Google Search Console como a las Herramientas para webmasters de Bing sobre los cambios del mapa del sitio para que te encuentren con facilidad (deber\u00e1s registrarte en estos servicios para habilitar esta opci\u00f3n)<\/div><\/div>\n<p>Tambi\u00e9n puede incluir im\u00e1genes de tus publicaciones y p\u00e1ginas en el sitemap, lo que ayuda a que el contenido visual tambi\u00e9n tenga su dosis de importancia en los motores de b\u00fasqueda.<\/p>\n<p>Adem\u00e1s, tiene opciones para <strong>controlar c\u00f3mo se manejan las categor\u00edas, etiquetas y otras taxonom\u00edas<\/strong>.<\/p>\n<p>En general, es dif\u00edcil criticar a Yoast SEO, ya sea por sus opciones generales de SEO o por sus caracter\u00edsticas de sitemap. El \u00fanico problema es que puede ser un poco abrumador para los usuarios menos t\u00e9cnicos.<\/p>\n<h3>#2 All in One SEO<\/h3>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-21355\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/all-in-one-seo.png\" alt=\"all in one seo\" width=\"1493\" height=\"863\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/all-in-one-seo.png 1493w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/all-in-one-seo-300x173.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/all-in-one-seo-1024x592.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/all-in-one-seo-768x444.png 768w\" sizes=\"(max-width: 1493px) 100vw, 1493px\" \/><\/p>\n<p>Otra opci\u00f3n muy popular en acciones generales de SEO. El paquete de <a href=\"https:\/\/dinorank.com\/blog\/como-configurar-all-in-one-seo\/\">All in One SEO<\/a> tambi\u00e9n tiene m\u00e1s de un mill\u00f3n de instalaciones con una calificaci\u00f3n general de 4.4 estrellas.<\/p>\n<p>Aunque es algo <strong>m\u00e1s simple en su implementaci\u00f3n<\/strong> y un poco menos completo, este plugin es un s\u00f3lido competidor de Yoast SEO.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Con este plugin se crea un mapa del sitio XML de manera autom\u00e1tica e invisible para el usuario. Tambi\u00e9n env\u00eda notificaciones a Google y Bing.<\/div><\/div>\n<p>Cabe destacar que este plugin cuenta con una serie de casillas de verificaci\u00f3n en la p\u00e1gina de configuraci\u00f3n principal que permiten incluir o excluir no solo los tipos de publicaciones y taxonom\u00edas, sino tambi\u00e9n las categor\u00edas, los archivos de fechas y las p\u00e1ginas de autores.<\/p>\n<p>El plugin tambi\u00e9n permite <strong>establecer la prioridad y la frecuencia de actualizaci\u00f3n de las publicaciones<\/strong>, taxonom\u00edas y la p\u00e1gina principal del sitio web.<\/p>\n<p>Y otra curiosidad con la que cuenta All in One SEO es que puede incluir p\u00e1ginas que no sean de WordPress en el mapa del sitio. Dichas direcciones URL ser\u00e1n agregadas a la lista desde el final.<\/p>\n<h3>#3 Google XML Sitemaps<\/h3>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-21356\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Google-XML-Sitemaps.png\" alt=\"Google XML Sitemaps\" width=\"1510\" height=\"685\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Google-XML-Sitemaps.png 1510w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Google-XML-Sitemaps-300x136.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Google-XML-Sitemaps-1024x465.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Google-XML-Sitemaps-768x348.png 768w\" sizes=\"(max-width: 1510px) 100vw, 1510px\" \/><\/p>\n<p>Se trata de una opci\u00f3n ligera pero poderosa para generar de manera autom\u00e1tica sitemaps y notificar a los motores de b\u00fasqueda cu\u00e1ndo se actualizan.<\/p>\n<p>Dispone de opciones de configuraci\u00f3n simples para incluir o excluir archivos de fecha (para a\u00f1os y meses espec\u00edficos), autores, categor\u00edas y etiquetas en el mapa del sitio generado. Las <strong>p\u00e1ginas espec\u00edficas tambi\u00e9n pueden ser excluidas por ID<\/strong>.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Este plugin es uno de los pocos que proporcionan sitemaps en cach\u00e9 (en la carpeta wp-content\/sitemaps) y utiliza una regla de reescritura para dirigir los motores de b\u00fasqueda.<\/div><\/div>\n<p>Donde este plugin se diferencia del resto es en el uso de datos reales del sitio web para asignar la frecuencia de las actualizaciones y el peso de las URL.<\/p>\n<p>Adem\u00e1s, el complemento determina la cantidad de p\u00e1ginas de blog, categor\u00eda y etiqueta en tu sitio, para que el mapa del sitio funcione bien con cadenas de consulta personalizadas u otros plugins que tambi\u00e9n utilizan esa informaci\u00f3n.<\/p>\n<h3>#4 Simple WP Sitemap<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21357\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Simple-WP-Sitemap.png\" alt=\"Simple WP Sitemap\" width=\"1334\" height=\"608\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Simple-WP-Sitemap.png 1300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Simple-WP-Sitemap-300x137.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Simple-WP-Sitemap-1024x467.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Simple-WP-Sitemap-768x350.png 768w\" sizes=\"(max-width: 1334px) 100vw, 1334px\" \/><\/p>\n<p>Simple Wp Sitemap es un plugin de sitemaps que genera un <strong>mapa en formato XML y HTML<\/strong>.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Ambos mapas del sitio se actualizan cada vez que publicas un art\u00edculo o una p\u00e1gina, lo que significa que siempre est\u00e1n al d\u00eda y que solo tienes que instalar y activar el plugin una vez.<\/div><\/div>\n<p>Simple WP Sitemap tambi\u00e9n tiene la opci\u00f3n de agregar p\u00e1ginas a los mapas de sitio que no forman parte de su sitio original de WordPress.<\/p>\n<p>Por ejemplo, si creas un peque\u00f1o archivo HTML, lo cargas en su servidor y deseas que se incluya en ellos, se hace con facilidad.<\/p>\n<p>Tambi\u00e9n puede <strong>bloquear p\u00e1ginas que no desees que se incluyan<\/strong>.<\/p>\n<h3>#5 Jetpack<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21358\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Jetpack.png\" alt=\"Jetpack\" width=\"1500\" height=\"773\" \/><\/p>\n<p>Si ya tienes el plugin activado y en ejecuci\u00f3n, solo aseg\u00farate de estar usando la \u00faltima versi\u00f3n de Jetpack.<\/p>\n<p>En las \u00faltimas actualizaciones el equipo de Automattic a\u00f1adi\u00f3 la funci\u00f3n de crear un sitemap en este plugin.<\/p>\n<p>Para activarlo ve a <em>Jetpack -&gt; Configuraci\u00f3n -&gt; Compromiso<\/em> y busca el m\u00f3dulo Sitemaps y act\u00edvalo.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">A diferencia de otros plugins de sitemaps para WordPress, aqu\u00ed no es necesario configurar nada; tan solo tendr\u00e1s que enviar el sitemap a los motores de b\u00fasqueda.<\/div><\/div>\n<p>La parte negativa es que se trata de un <strong>plugin <\/strong><strong>\u201ctodo en uno<\/strong><strong>\u201d que ocupa <\/strong><strong>y pesa much\u00edsimo<\/strong> y puede ralentizar tu web. As\u00ed que, si solo vas a utilizarlo para crear el sitemap, nosotros en tu lugar no lo instalar\u00edamos.<\/p>\n<h3>#6 Rank Math SEO<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21389\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/rank-math-seo.png\" alt=\"rank math seo\" width=\"1454\" height=\"800\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/rank-math-seo.png 1300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/rank-math-seo-300x165.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/rank-math-seo-1024x563.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/rank-math-seo-768x423.png 768w\" sizes=\"(max-width: 1454px) 100vw, 1454px\" \/><\/p>\n<p><a href=\"https:\/\/dinorank.com\/blog\/rank-math-seo\/\">Rank Math SEO<\/a> se ha ganado una excelente reputaci\u00f3n en la comunidad de desarrollo web por su facilidad de uso, su amplia gama de funcionalidades SEO y su capacidad para mejorar la visibilidad en l\u00ednea de un sitio web.<\/p>\n<p>La generaci\u00f3n de sitemaps con Rank Math SEO es un proceso sencillo. <strong>El plugin autom\u00e1ticamente crea y actualiza el sitemap a medida que se a\u00f1aden o modifican contenidos en el sitio web,<\/strong> asegurando que la informaci\u00f3n m\u00e1s reciente siempre est\u00e9 disponible para los motores de b\u00fasqueda.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Adem\u00e1s, te permite personalizar ciertos aspectos del sitemap, como excluir p\u00e1ginas espec\u00edficas o incluir tipos de contenido personalizado, lo que ofrece un control m\u00e1s granular sobre c\u00f3mo se presenta el sitio web a los motores de b\u00fasqueda.<\/div><\/div>\n<p>Rank Math SEO no solo simplifica la optimizaci\u00f3n SEO general de un sitio web con WordPress, sino que tambi\u00e9n juega un papel importante en la mejora de la indexaci\u00f3n y visibilidad del sitio a trav\u00e9s de su eficaz sistema de creaci\u00f3n de sitemaps.<\/p>\n<p><span data-sheets-root=\"1\"><div id=\"brxe-d62272\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-1141e3\" class=\"brxe-text-basic h3\">\u00bfOtra newsletter de SEO? Quiz\u00e1s\u2026<\/div><div id=\"brxe-071f14\" class=\"brxe-text-basic\">Esto es lo que podemos ofrecerte:\n<\/div><ul id=\"brxe-eosgrh\" class=\"brxe-list\"><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Un email semanal con las novedades importantes del sector. <\/span><span class=\"separator\"><\/span><\/div><\/li><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Aprende SEO que podr\u00e1s aplicar en tu web o en las de tus clientes.<\/span><span class=\"separator\"><\/span><\/div><\/li><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Accede a webinars y a los eventos SEO totalmente gratuitos que organizamos.<\/span><span class=\"separator\"><\/span><\/div><\/li><\/ul><div id=\"brxe-ajplje\" class=\"brxe-text-basic\"><strong>Sin ruido, sin humo. Gratis.<\/strong> Solo necesito tu email y un poquito de tu atenci\u00f3n, nosotros hacemos el resto.\n\nT\u00fa decides.\n<\/div><div id=\"brxe-c60d60\" data-script-id=\"c60d60\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=ibm-plex-sans:400,700);<\/style>\n<style>\n#_form_301_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_301_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_301_._form-top{top:0}#_form_301_._form-bottom{bottom:0}#_form_301_._form-left{left:0}#_form_301_._form-right{right:0}#_form_301_ input[type=\"text\"],#_form_301_ input[type=\"tel\"],#_form_301_ input[type=\"date\"],#_form_301_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_301_ textarea{resize:none}#_form_301_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#00C4A7 !important;border:0 !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important;border-radius:5px !important;color:#FFFFFF !important;padding:13px !important}#_form_301_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_301_ ._submit.processing{position:relative}#_form_301_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#00C4A7, #00C4A7), conic-gradient(#00C4A7, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_301_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important;border-radius:5px !important;color:#FFFFFF !important;padding:13px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_301_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_301_ ._close-icon:before{position:relative}#_form_301_ ._form-body{margin-bottom:30px}#_form_301_ ._form-image-left{width:150px;float:left}#_form_301_ ._form-content-right{margin-left:164px}#_form_301_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_301_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_301_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_301_ ._form-label,#_form_301_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_301_._dark ._form-branding{color:#333}#_form_301_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_301_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_301_ ._form_element *{font-size:14px}#_form_301_ ._form_element._clear{clear:both;width:100%;float:none}#_form_301_ ._form_element._clear:after{clear:left}#_form_301_ ._form_element input[type=\"text\"],#_form_301_ ._form_element input[type=\"date\"],#_form_301_ ._form_element select,#_form_301_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_301_ ._field-wrapper{position:relative}#_form_301_ ._inline-style{float:left}#_form_301_ ._inline-style input[type=\"text\"]{width:150px}#_form_301_ ._inline-style:not(._clear){margin-right:20px}#_form_301_ ._form_element img._form-image{max-width:100%}#_form_301_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_301_ ._clear-element{clear:left}#_form_301_ ._full_width{width:100%}#_form_301_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_301_ input[type=\"text\"]._has_error,#_form_301_ textarea._has_error{border:#F37C7B 1px solid}#_form_301_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_301_ ._show_be_error{float:left}#_form_301_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_301_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_301_ ._error._below{padding-top:8px;top:100%;right:0}#_form_301_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_301_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_301_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_301_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_301_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_301_ ._button-wrapper ._error-inner._form_error{position:static}#_form_301_ ._error-inner._no_arrow{margin-bottom:10px}#_form_301_ ._error-arrow{position:absolute;width:0;height:0}#_form_301_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_301_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_301_ select.datetime_time{width:29%;display:inline;height:32px}#_form_301_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_301_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_301_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_301_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_301_ ._form-content{margin:0;width:100%}#_form_301_ ._form-inner{display:block;min-width:100%}#_form_301_ ._form-title,#_form_301_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_301_ ._form-title{font-size:1.2em}#_form_301_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_301_ ._form-element,#_form_301_ ._inline-style,#_form_301_ input[type=\"text\"],#_form_301_ label,#_form_301_ p,#_form_301_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_301_ ._row._checkbox-radio label{display:inline}#_form_301_ ._row,#_form_301_ p,#_form_301_ label{margin-bottom:0.7em;width:100%}#_form_301_ ._row input[type=\"checkbox\"],#_form_301_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_301_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_301_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_301_ ._form-image{max-width:100%;height:auto !important}#_form_301_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_301_ input[type=\"radio\"],#_form_301_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_301_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_301_ ._inline-style{margin:20px 0 0 !important}#_form_301_ ._inline-style input[type=\"text\"]{width:100%}}#_form_301_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_301_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_301_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_301_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_301_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_301_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_301_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_301_ .field-required{color:#FF0000}#_form_301_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0) !important;border-top:0px solid #737373 !important;border-right:0px solid #737373 !important;border-bottom:0px solid #737373 !important;border-left:0px solid #737373 !important;max-width:800px;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#000000}#_form_301_ ._show_be_error{min-width:100%}#_form_301_._inline-form,#_form_301_._inline-form ._form-content{font-family:IBM Plex Sans;font-size:14px;font-weight:400}#_form_301_._inline-form ._row span,#_form_301_._inline-form ._row label{font-family:IBM Plex Sans;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_301__inlineform input[type=\"text\"],#_form_301__inlineform input[type=\"date\"],#_form_301__inlineform input[type=\"tel\"],#_form_301__inlineform select,#_form_301__inlineform textarea:not(.g-recaptcha-response){font-family:IBM Plex Sans;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_301_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_301_._inline-form .sms_consent_message,#_form_301_._inline-form ._form-thank-you{font-family:IBM Plex Sans;font-size:14px;font-weight:400;color:#888 !important}#_form_301_._inline-form ._form-label,#_form_301_._inline-form ._form-emailidentifier,#_form_301_._inline-form ._form-checkbox-option-label{font-family:IBM Plex Sans;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_301_._inline-form ._submit{margin-top:12px;font-family:IBM Plex Sans;font-size:14px;font-weight:400}#_form_301_._inline-form ._html-code h1,#_form_301_._inline-form ._html-code h2,#_form_301_._inline-form ._html-code h3,#_form_301_._inline-form ._html-code h4,#_form_301_._inline-form ._html-code h5,#_form_301_._inline-form ._html-code h6,#_form_301_._inline-form ._form-title{font-family:IBM Plex Sans;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_301_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_301_:before,#_form_301_:after{content:\" \";display:table}#_form_301_:after{clear:both}#_form_301_._inline-style{width:auto;display:inline-block}#_form_301_._inline-style input[type=\"text\"],#_form_301_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_301_._inline-style button._inline-style{position:relative;top:27px}#_form_301_._inline-style p{margin:0}#_form_301_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_301_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_301_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_301_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_301_ .iti{width:100%}#_form_301_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_301_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_301_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_301_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_301_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_301_ .iti__country-list--dropup{margin-bottom:4px}#_form_301_ .phone-error-hidden{display:none}#_form_301_ .phone-error{color:#E40E49}#_form_301_ .phone-input-error{border:1px solid #E40E49 !important}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_301_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_301_ ._submit:hover{background-color:#04937E !important}#_form_301_ input#email{padding:3px 12px;background-color:#ffffff}#_form_301_ ._row{margin-top:-5px}#_form_301_._form{margin-top:-5px}#_form_301_ ._error._below{position:relative !important}#_form_301_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_301_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_301_\" class=\"_form _form_301 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"301\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"301\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"9828494011f2fd6968fee0a8a9419a1e\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x74577619 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu email...\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x87696446 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[15][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[15][]\" name=\"field[15][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\" type=\"checkbox\" name=\"field[15][]\"\n          value=\"He le\u00eddo y acepto la pol\u00edtica de privacidad\"                                                                                 required                                >\n          <span>\n            <label for=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\">\n              He le\u00eddo y acepto la pol\u00edtica de privacidad<span class=\"field-required\">\n              *\n            <\/span>\n          <\/label>\n        <\/span>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n  <div class=\"_form_element _x09639014 _full_width \" >\n    <input type=\"hidden\" name=\"field[121]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x64811239 _full_width \" >\n    <input type=\"hidden\" name=\"field[122]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x58860354 _full_width \" >\n    <input type=\"hidden\" name=\"field[123]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x23331849 _full_width \" >\n    <input type=\"hidden\" name=\"field[125]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x72046679 _full_width \" >\n    <input type=\"hidden\" name=\"field[126]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x41336277 _full_width \" >\n    <input type=\"hidden\" name=\"field[127]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_button-wrapper _full_width\">\n    <button id=\"_form_301_submit\" class=\"_submit\" type=\"submit\">\n      \u00a1Me apunto!\n    <\/button>\n  <\/div>\n  <div class=\"_clear-element\">\n  <\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"15\":\"poltica_privacidad\",\"121\":\"utm_campaign\",\"122\":\"utm_source\",\"123\":\"utm_medium\",\"125\":\"utm_content\",\"126\":\"utm_adset\",\"127\":\"utm_ad\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Administrar preferencias<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_301_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_301_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_301_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Es necesario verificar %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Este campo es obligatorio.\");\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.\");\n            }\n        }\n        if (no_error && (elem.id == 'phone')) {\n            if (elem.value.trim() && typeof iti != 'undefined' && !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Ingresa un n\u00famero de tel\u00e9fono v\u00e1lido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una fecha v\u00e1lida.\");\n            }\n        }\n\n        if (no_error && elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required && !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Marca esta casilla para continuar\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') && el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') && typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_301_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_301_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n                });\n            } else {\n                _load_script('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script><style>\/* Texto junto al checkbox: blanco y en l\u00ednea *\/\n._form_301 ._checkbox-radio label {\n  display: inline !important;\n  margin-left: 8px !important;\n}\n\n\/* Color blanco del texto \"Verifica que eres un humano\" *\/\n._form_301 label[for=\"ls\"],\n._form_301 ._form_element label._form-label {\n  color: #ffffff !important;\n  display: inline-block;\n  font-weight: 400 !important;\n  margin-left: 8px;\n}\n\n\/* Placeholder del campo de email *\/\n#_form_301_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_301_ #email {\n  padding: 8px 12px !important;\n  height: 40px !important;\n  font-size: 14px !important;\n  line-height: 1.2 !important;\n  margin-bottom: 16px !important;\n}\n<\/style><\/div><\/div><\/span><\/p>\n<h2>\u00bfCu\u00e1l deber\u00edas utilizar?<\/h2>\n<p>Los sitemaps son un ejemplo cl\u00e1sico de la cantidad de <strong>tiempo y esfuerzo que los plugins nos ahorran<\/strong> a todos los que utilizamos WordPress.<\/p>\n<p>Tanto en t\u00e9rminos de configuraci\u00f3n inicial del mapa del sitio como de la actualizaci\u00f3n continua es fundamental contar con un plugin que haga esto por nosotros.<\/p>\n<p>Cualquier opci\u00f3n que ayude a los motores de b\u00fasqueda a indexar tus sitios web de manera m\u00e1s efectiva es digna de consideraci\u00f3n e implementaci\u00f3n, m\u00e1xime si puedes automatizar el proceso.<\/p>\n<p>Por supuesto, cada sitio web es diferente y es muy dif\u00edcil que aqu\u00ed podamos decirte cu\u00e1l es el mejor plugin de sitemaps para WordPress ya que tambi\u00e9n depende de tu estrategia de marketing online.<\/p>\n<div class=\"su-note border=#ffffff\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">B\u00e1sicamente, la elecci\u00f3n depender\u00e1 del tipo de contenidos, de tus recursos y de tus preferencias.<\/div><\/div>\n<p>A muchos usuarios no les gusta los sitemaps que genera Yoast, por ejemplo, e instalan alg\u00fan plugin que se centre solo en crear mapas del sitio, aunque eso suponga instalar dos plugins.<\/p>\n<p>En definitiva, <strong>prueba y experimenta hasta encontrar el que m\u00e1s te guste<\/strong>.<\/p>\n<p>Al final los plugins no son otra cosa que herramientas que Worpdress pone a nuestra disposici\u00f3n, en este caso, para ayudar con el posicionamiento de nuestra p\u00e1gina.<\/p>\n<p>Si quieres seguir ampliando informaci\u00f3n para aprender a mejorar tus rankings para finalizar te dejo un <a href=\"https:\/\/dinorank.com\/blog\/herramientas-seo\/\" target=\"_blank\" rel=\"noopener\">listado con las mejores herramientas SEO para posicionar<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Optimizar el tr\u00e1fico org\u00e1nico de b\u00fasqueda org\u00e1nica es una tarea vital para cualquiera que administre un sitio web. Por ello, cualquier cosa que est\u00e9 en tus manos para facilitar que los motores de b\u00fasqueda encuentren tu contenido debe ser una prioridad. Mantener los sitemaps para WordPress bien organizados es una de las formas m\u00e1s sencillas [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":21381,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-411","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprender-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":9,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"predecessor-version":[{"id":33081,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/411\/revisions\/33081"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/21381"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}