{"id":2876,"date":"2020-11-23T17:16:29","date_gmt":"2020-11-23T16:16:29","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=2876"},"modified":"2026-04-15T10:43:17","modified_gmt":"2026-04-15T08:43:17","slug":"que-son-las-migas-de-pan-en-seo","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/que-son-las-migas-de-pan-en-seo\/","title":{"rendered":"Qu\u00e9 son las migas de pan en SEO"},"content":{"rendered":"<p>Dentro de los factores de posicionamiento que se observan en el SEO se encuentra la comodidad de navegaci\u00f3n para el usuario, es decir, que \u00e9ste no se pierda y se sienta confuso mientras se est\u00e1 moviendo por tu web en busca de la informaci\u00f3n que requiere.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-2948 size-large\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/Como-afectan-las-migas-del-pan-al-SEO-1024x559.jpg\" alt=\"que son las migas de pan seo\" width=\"770\" height=\"420\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/Como-afectan-las-migas-del-pan-al-SEO-1024x559.jpg 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/Como-afectan-las-migas-del-pan-al-SEO-300x164.jpg 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/Como-afectan-las-migas-del-pan-al-SEO-768x419.jpg 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/Como-afectan-las-migas-del-pan-al-SEO.jpg 1100w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>Por ello en este post vamos a hablar de las <strong>migas de pan o breadcrumbs<\/strong>, uno de esos elementos pensados para que la navegaci\u00f3n del usuario por una p\u00e1gina web sea m\u00e1s sencilla y mediante el que puedes llevarle casi de la mano hacia los apartados del dominio que te interesen. Adem\u00e1s, te vamos a ense\u00f1ar a <strong>aplicar las migas de pan con Yoast SEO\u00a0<\/strong>para que las puedas gestionar desde este plugin. \u00a1Empezamos!<\/p>\n<h2>Qu\u00e9 son y cu\u00e1ndo usar las migas de pan<\/h2>\n<p>Las migas de pan sirven para marcar el camino de regreso, igual que hac\u00edan Hansel y Gretel, los ni\u00f1os abandonados en el bosque por sus padres en el cl\u00e1sico cuento infantil. Es decir, <strong>las migas de pan muestran de forma sencilla la estructura de la p\u00e1gina marcando el camino desde la p\u00e1gina en la que est\u00e1s hasta la home<\/strong>.<\/p>\n<p>De esta forma, es como si implementaras <strong>un mapa de tu p\u00e1gina web a disposici\u00f3n del usuario<\/strong> no solo para que se mueva con m\u00e1s fluidez sino para que comprenda la jerarqu\u00eda de tus URL y comprenda la estructura de tu dominio. Por esto, es muy importante que, previamente, hayas dise\u00f1ado una adecuada arquitectura web.<\/p>\n<blockquote><p>Las migas de pan no son lo mismo que el men\u00fa<\/p><\/blockquote>\n<p>Sin embargo, a pesar de la utilidad que tienen las migas de pan, no siempre son necesarias. Como hemos visto en otras ocasiones, no todas las acciones SEO deben ser implementadas en todas las p\u00e1ginas web y las migas de pan o breadcrumbs es una de ellas.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2883\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/como-poner-migas-de-pan.png\" alt=\"como-poner-migas-de-pan\" width=\"679\" height=\"220\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/como-poner-migas-de-pan.png 679w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/como-poner-migas-de-pan-300x97.png 300w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/p>\n<p>Las migas de pan son \u00fatiles en los<strong> dominios que tienen al menos tres niveles de jerarqu\u00eda<\/strong> ya que es a partir de ah\u00ed cuando la navegaci\u00f3n podr\u00eda hacerse m\u00e1s confusa para el usuario. De esta forma, cuando quiera dirigirse a una URL concreta de tu web, no tiene que regresar constantemente al men\u00fa principal para empezar el camino desde cero sino que puede usar los links de las migas de pan.<\/p>\n<p>Existen dos tipos de migas de pan.<\/p>\n<ul>\n<li><strong>Basadas en la jerarqu\u00eda<\/strong>. Son las m\u00e1s habituales y marcan, como dec\u00edamos, el camino desde la ubicaci\u00f3n actual del usuario hasta la home.<\/li>\n<li><strong>Basadas en el historial<\/strong>. Estas migas de pan se van formando en base a las p\u00e1ginas que el usuario va visitando para que pueda retroceder y avanzar sin usar los botones del navegador.<\/li>\n<\/ul>\n<h3>Ejemplo de datos estructurados con migas de pan<\/h3>\n<p>Para que entiendas bien qu\u00e9 son las migas de pan y c\u00f3mo se utilizan, vamos a dejarte algunos ejemplos sencillos que te ayuden a comprender el concepto y, sobre todo, a diferenciarlo del men\u00fa habitual.<\/p>\n<p><strong>La jerarqu\u00eda en las migas de pan recomendada en e-commerce\u00a0<\/strong>es aquella que va de lo general a lo espec\u00edfico para que el usuario pueda usar la l\u00f3gica a la hora de buscar lo que quiere. Vamos a ver un ejemplo de una tienda de ropa:<\/p>\n<p style=\"text-align: center;\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-2879\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/ejemplo-migas-de-pan.png\" alt=\"ejemplo-migas-de-pan\" width=\"548\" height=\"69\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/ejemplo-migas-de-pan.png 548w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/ejemplo-migas-de-pan-300x38.png 300w\" sizes=\"(max-width: 548px) 100vw, 548px\" \/><\/p>\n<p>De esta forma, si el usuario est\u00e1 viendo abrigos pero quiere ver otro tipo de prendas, puede hacer click directamente en el link &#8220;Ropa&#8221; e iniciar otro recorrido distinto sin tener que estar retrocediendo con los botones del navegador, volviendo a la home o recurriendo al men\u00fa.<\/p>\n<p>Seguir el rastro de las migas de pan tambi\u00e9n sirve para <strong>mejorar la experiencia y navegaci\u00f3n del usuario<\/strong> en p\u00e1ginas web que no son e-commerce. Cualquier dominio con una jerarqu\u00eda estructurada en tres niveles o m\u00e1s se puede beneficiar de este elemento. Vamos a ver el ejemplo de una web de \u00e1rboles.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2878\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/breadcrumbs.png\" alt=\"breadcrumbs\" width=\"536\" height=\"89\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/breadcrumbs.png 536w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/breadcrumbs-300x50.png 300w\" sizes=\"(max-width: 536px) 100vw, 536px\" \/><\/p>\n<p>Como ves, el secreto est\u00e1 en crear una estructura de p\u00e1ginas bien organizada y que tenga sentido para el usuario y para Google. En este caso han dividido los \u00e1rboles por g\u00e9neros y luego, por especies.<\/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>Qu\u00e9 beneficios aportan al SEO las migas de pan<\/h2>\n<p>Las migas de pan ofrecen beneficios al posicionamiento de tu web adem\u00e1s de facilitar la navegaci\u00f3n del usuario en el dominio.<\/p>\n<ul>\n<li>\u00a0<strong>Ayuda a Google a conocer la jerarqu\u00eda de tu p\u00e1gina web<\/strong>, por lo que la indexaci\u00f3n ser\u00e1 m\u00e1s r\u00e1pida y el posicionamiento m\u00e1s sencillo. Ojo, no queremos decir que tan solo con implementar las migas de pan vayas a subir posiciones en los resultados de b\u00fasqueda.<\/li>\n<li><strong>Mejora la visibilidad<\/strong> ya que las migas de pan influyen de forma positiva al <strong>utilizar datos estructurados que a Google le ayudan.<\/strong><\/li>\n<li><strong>Facilita la navegaci\u00f3n del usuario<\/strong>, en especial en p\u00e1ginas con varios niveles, ayud\u00e1ndole a moverse entre categor\u00edas.<\/li>\n<li><strong>No consume recursos ni espacio en la pantalla <\/strong>por lo que es un elemento que no te va a causar problemas.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2884\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/migas-de-pan-ecommerce.png\" alt=\"migas-de-pan-ecommerce\" width=\"999\" height=\"482\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/migas-de-pan-ecommerce.png 999w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/migas-de-pan-ecommerce-300x145.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/migas-de-pan-ecommerce-768x371.png 768w\" sizes=\"(max-width: 999px) 100vw, 999px\" \/><\/p>\n<h2>Las migas de pan con Yoast SEO; tutorial de implementaci\u00f3n<\/h2>\n<p>Una forma muy sencilla de implementar las migas de pan en tu p\u00e1gina web es utilizando el <a href=\"https:\/\/dinorank.com\/blog\/configurar-yoast-seo\/\">plugin Yoast SEO.<\/a> A continuaci\u00f3n te explicamos c\u00f3mo hacerlo.<\/p>\n<ol>\n<li>Tras instalar el plugin, haz click en SEO en la columna de la izquierda, <strong>ve a Panel de Control, a Caracter\u00edsticas y activa &#8220;P\u00e1ginas de ajustes avanzados&#8221;<\/strong> para tener la opci\u00f3n de Migas de Pan.<\/li>\n<li>Haz click de nuevo en SEO en la columna de la izquierda y selecciona <strong>Apariencia en el buscador<\/strong><\/li>\n<li>Haz click en la pesta\u00f1a <strong>&#8220;Migas de pan&#8221; y marca Activo<\/strong>.<\/li>\n<li>Ahora puedes configurar <strong>otros aspectos de las migas de pan<\/strong> como, por ejemplo, el separador que quieres utilizar entre una categor\u00eda y otra o el anchor text de la p\u00e1gina de inicio, que por lo general se suele corresponder con el nombre de la p\u00e1gina.<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2880\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/seo-yoast-migas-de-pan.png\" alt=\"seo-yoast-migas-de-pan\" width=\"1000\" height=\"844\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/seo-yoast-migas-de-pan.png 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/seo-yoast-migas-de-pan-300x253.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/11\/seo-yoast-migas-de-pan-768x648.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Sin embargo, una vez que has realizado estas configuraciones, te das cuenta de que en tu p\u00e1gina siguen sin aparecer las migas de pan. \u00bfHas hecho algo mal? Nada de eso, tan solo tienes que agregarlas a tu plantilla de forma manual mediante esta l\u00ednea de c\u00f3digo:<\/p>\n<blockquote><p><span class=\"pl-ent\">&lt;?php<\/span> <span class=\"pl-k\">if<\/span> (<span class=\"pl-en\">function_exists<\/span> (<span class=\"pl-s\">&#8216;yoast_breadcrumb&#8217;<\/span>)) <span class=\"pl-en\">yoast_breadcrumb<\/span> (<span class=\"pl-s\">&#8216;&lt;p id=&#8221;breadcrumbs&#8221;&gt;&#8217;<\/span>,<span class=\"pl-s\">&#8216;&lt;\/p&gt;&#8217;<\/span>); <span class=\"pl-ent\">?&gt;<\/span><\/p><\/blockquote>\n<p>Este c\u00f3digo se coloca en los archivos <i>single.php<\/i> y\u00a0<i>page.php\u00a0<\/i>de tu plantilla, justo antes de la etiqueta H1. En el caso de que no encuentre esta etiqueta en los archivos indicados, prueba en <i>content.php<\/i> y <i>content-page.php<\/i>. Como sabr\u00e1s, los themes de WordPress no est\u00e1n demasiado estandarizados as\u00ed que puede haber archivos que est\u00e9n en unos s\u00ed o en otros no.<\/p>\n<p>Antes de realizar estas acciones recuerda que debes hacer una copia de seguridad de los archivos por si tuvieras que recuperarlos.<\/p>\n<p>Ya sabes qu\u00e9 son las migas de pan y c\u00f3mo implementarlas; ahora solo debes considerar el ponerlas en tu p\u00e1gina web y comprobar los resultados. Por supuesto, te esperamos en los comentarios para saber tus impresiones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dentro de los factores de posicionamiento que se observan en el SEO se encuentra la comodidad de navegaci\u00f3n para el usuario, es decir, que \u00e9ste no se pierda y se sienta confuso mientras se est\u00e1 moviendo por tu web en busca de la informaci\u00f3n que requiere. Por ello en este post vamos a hablar de [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2948,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-2876","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\/2876","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=2876"}],"version-history":[{"count":2,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/2876\/revisions"}],"predecessor-version":[{"id":33077,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/2876\/revisions\/33077"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/2948"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=2876"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=2876"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=2876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}