{"id":103,"date":"2019-07-17T09:37:37","date_gmt":"2019-07-17T07:37:37","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=103"},"modified":"2025-06-04T11:59:44","modified_gmt":"2025-06-04T09:59:44","slug":"tutorial-safecont","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/tutorial-safecont\/","title":{"rendered":"Tutorial de Safecont: Aprende a optimizar tu web"},"content":{"rendered":"<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;\">Safecont dej\u00f3 de prestar servicio en 2021 a consecuencia del coronavirus. Por suerte, cuentas con <a href=\"https:\/\/dinorank.com\/blog\/tracking-de-keywords-seo\/\" target=\"_blank\" rel=\"noopener\">DinoRANK<\/a>, que realiza las mismas funciones y m\u00e1s que Safecont por un precio igual de econ\u00f3mico y tambi\u00e9n con ra\u00edces espa\u00f1olas.<\/div><\/div>\n<p>Safecont no es una herramienta SEO m\u00e1s: con su <strong>tecnolog\u00eda Machine Learning<\/strong>, analiza el contenido y la arquitectura de tu web para dar con los errores que le impiden aparecer en las primeras posiciones de las <em>SERPs<\/em>, adem\u00e1s de evitar posibles penalizaciones.<\/p>\n<p>Esta herramienta <strong>eval\u00faa la calidad del contenido y la arquitectura del sitio<\/strong>, dividi\u00e9ndolo en zonas de m\u00e1s o menos peligrosidad, mostrando m\u00e9tricas espec\u00edficas para cada segmento. A esas zonas Safecont las denomina Clusters, que son urls con las mismas posibilidades, en base a una serie de factores, de ser penalizadas por Google.<\/p>\n<p>Identificar estas cuestiones en sitios peque\u00f1os es sencillo. Lo complicado viene cuando necesitas analizar el contenido de sites con muchas urls.<\/p>\n<p>Con Safecont puedes analizar si tu web tiene contenidos de poca calidad y otra serie de inconvenientes que pueden derivar en <strong>posibles penalizaciones<\/strong>. De esta manera, podremos hacer las correcciones pertinentes para que eso no ocurra y poder posicionarnos mejor.<\/p>\n<p>Veamos todo lo que puedes hacer con esta potente <a href=\"https:\/\/dinorank.com\">herramienta de SEO<\/a>.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-108\" title=\"tutorial de safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont-1024x598.png\" alt=\"tutorial de safecont\" width=\"500\" height=\"292\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont-1024x598.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont-300x175.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont-768x449.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont-370x216.png 370w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/tutorial-de-safecont.png 1080w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/p>\n<h2>\u00bfQu\u00e9 puedes hacer con Safecont?<\/h2>\n<p>Safecont te permite detectar las p\u00e1ginas de menor calidad en tu sitio web, como acabamos de decir. Adem\u00e1s, te permite identificar cu\u00e1les son las urls con mayor valor transaccional para que puedas optimizar su contenido.<\/p>\n<p>De esta manera, podr\u00e1s <strong>recrear la arquitectura de la web<\/strong> creando un nuevo enlazado de acuerdo a la nueva segmentaci\u00f3n, el tr\u00e1fico y una nueva categorizaci\u00f3n de todos tus contenidos.<\/p>\n<h2>\u00bfC\u00f3mo analiza Safecont\u00a0 la calidad de una web?<\/h2>\n<p>Safecont dispone de una base de datos para analizar la estructura, contenido y otras caracter\u00edsticas de las p\u00e1ginas. Compara la p\u00e1gina analizada con su base de datos, da una puntuaci\u00f3n y muestra las probabilidades de que rankee bien o acabe penalizada y desaparecida en las SERPs.<\/p>\n<p>Una mala puntuaci\u00f3n de Safecont coincide, generalmente, con una escasa visibilidad en Google, y sirve para detectar qu\u00e9 p\u00e1gina conviene modificar o eliminar de tu <em>website<\/em>, para que la <strong>valoraci\u00f3n global del sitio aumente<\/strong> y no acabe penalizado por los filtros de calidad de Google.<\/p>\n<p><span data-sheets-root=\"1\"><div id=\"brxe-5c527e\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-d69b57\" class=\"brxe-text-basic h3\">Descubre 6 t\u00e9cnicas sencillas (pero eficaces) para que las visitas de tu web crezcan m\u00e1s r\u00e1pido que la espuma de una cerveza mal tirada.\n<\/div><div id=\"brxe-445cc8\" class=\"brxe-text-basic\"><strong>Aunque no seas un experto en SEO<\/strong> ni puedas dedicarte mucho tiempo a esto.<\/div><div id=\"brxe-lbvkeh\" data-script-id=\"lbvkeh\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=source-sans-pro:400,700);<\/style>\n<style>\n#_form_331_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_331_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_331_._form-top{top:0}#_form_331_._form-bottom{bottom:0}#_form_331_._form-left{left:0}#_form_331_._form-right{right:0}#_form_331_ input[type=\"text\"],#_form_331_ input[type=\"tel\"],#_form_331_ input[type=\"date\"],#_form_331_ 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_331_ textarea{resize:none}#_form_331_ ._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:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}#_form_331_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_331_ ._submit.processing{position:relative}#_form_331_ ._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_331_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_331_ ._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_331_ ._close-icon:before{position:relative}#_form_331_ ._form-body{margin-bottom:30px}#_form_331_ ._form-image-left{width:150px;float:left}#_form_331_ ._form-content-right{margin-left:164px}#_form_331_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_331_ ._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_331_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_331_ ._form-label,#_form_331_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_331_._dark ._form-branding{color:#333}#_form_331_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_331_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_331_ ._form_element *{font-size:14px}#_form_331_ ._form_element._clear{clear:both;width:100%;float:none}#_form_331_ ._form_element._clear:after{clear:left}#_form_331_ ._form_element input[type=\"text\"],#_form_331_ ._form_element input[type=\"date\"],#_form_331_ ._form_element select,#_form_331_ ._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_331_ ._field-wrapper{position:relative}#_form_331_ ._inline-style{float:left}#_form_331_ ._inline-style input[type=\"text\"]{width:150px}#_form_331_ ._inline-style:not(._clear){margin-right:20px}#_form_331_ ._form_element img._form-image{max-width:100%}#_form_331_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_331_ ._clear-element{clear:left}#_form_331_ ._full_width{width:100%}#_form_331_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_331_ input[type=\"text\"]._has_error,#_form_331_ textarea._has_error{border:#F37C7B 1px solid}#_form_331_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_331_ ._show_be_error{float:left}#_form_331_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_331_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_331_ ._error._below{padding-top:8px;top:100%;right:0}#_form_331_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_331_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_331_ ._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_331_ ._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_331_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_331_ ._button-wrapper ._error-inner._form_error{position:static}#_form_331_ ._error-inner._no_arrow{margin-bottom:10px}#_form_331_ ._error-arrow{position:absolute;width:0;height:0}#_form_331_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_331_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_331_ select.datetime_time{width:29%;display:inline;height:32px}#_form_331_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_331_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_331_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_331_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_331_ ._form-content{margin:0;width:100%}#_form_331_ ._form-inner{display:block;min-width:100%}#_form_331_ ._form-title,#_form_331_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_331_ ._form-title{font-size:1.2em}#_form_331_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_331_ ._form-element,#_form_331_ ._inline-style,#_form_331_ input[type=\"text\"],#_form_331_ label,#_form_331_ p,#_form_331_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_331_ ._row._checkbox-radio label{display:inline}#_form_331_ ._row,#_form_331_ p,#_form_331_ label{margin-bottom:0.7em;width:100%}#_form_331_ ._row input[type=\"checkbox\"],#_form_331_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_331_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_331_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_331_ ._form-image{max-width:100%;height:auto !important}#_form_331_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_331_ input[type=\"radio\"],#_form_331_ 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_331_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_331_ ._inline-style{margin:20px 0 0 !important}#_form_331_ ._inline-style input[type=\"text\"]{width:100%}}#_form_331_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_331_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_331_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_331_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_331_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_331_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_331_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_331_ .field-required{color:#FF0000}#_form_331_{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_331_ ._show_be_error{min-width:100%}#_form_331_._inline-form,#_form_331_._inline-form ._form-content{font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._row span,#_form_331_._inline-form ._row label{font-family:Source Sans Pro;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_331__inlineform input[type=\"text\"],#_form_331__inlineform input[type=\"date\"],#_form_331__inlineform input[type=\"tel\"],#_form_331__inlineform select,#_form_331__inlineform textarea:not(.g-recaptcha-response){font-family:Source Sans Pro;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_331_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_331_._inline-form .sms_consent_message,#_form_331_._inline-form ._form-thank-you{font-family:Source Sans Pro;font-size:14px;font-weight:400;color:#888 !important}#_form_331_._inline-form ._form-label,#_form_331_._inline-form ._form-emailidentifier,#_form_331_._inline-form ._form-checkbox-option-label{font-family:Source Sans Pro;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_331_._inline-form ._submit{margin-top:12px;font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._html-code h1,#_form_331_._inline-form ._html-code h2,#_form_331_._inline-form ._html-code h3,#_form_331_._inline-form ._html-code h4,#_form_331_._inline-form ._html-code h5,#_form_331_._inline-form ._html-code h6,#_form_331_._inline-form ._form-title{font-family:Source Sans Pro;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_331_._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_331_:before,#_form_331_:after{content:\" \";display:table}#_form_331_:after{clear:both}#_form_331_._inline-style{width:auto;display:inline-block}#_form_331_._inline-style input[type=\"text\"],#_form_331_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_331_._inline-style button._inline-style{position:relative;top:27px}#_form_331_._inline-style p{margin:0}#_form_331_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_331_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_331_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_331_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_331_ .iti{width:100%}#_form_331_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_331_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_331_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_331_ .iti__country-list--dropup{margin-bottom:4px}#_form_331_ .phone-error-hidden{display:none}#_form_331_ .phone-error{color:#E40E49}#_form_331_ .phone-input-error{border:1px solid #E40E49 !important}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_331_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_331_ ._submit:hover{background-color:#04937E !important}#_form_331_ input#email{padding:3px 12px;background-color:#ffffff;border-radius:2px}#_form_331_._form{margin-top:-5px}#_form_331_ ._error._below{position:relative !important}#_form_331_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_331_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_331_\" class=\"_form _form_331 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"331\" \/>\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=\"789ef8b4693eba56cf9cd6622eca7a0e\" \/>\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_331_submit\" class=\"_submit\" type=\"submit\">\n      Ap\u00fantate aqu\u00ed\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_331_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_331_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(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"331\", \"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_331_');\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_331_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_331_')).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(\"331\", \"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_299 ._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_299 label[for=\"ls\"],\n._form_299 ._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_299_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_299_ #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\nlabel {\n    display: inline;\n}<\/style><\/div><\/div><\/span><\/p>\n<h2>Una auditor\u00eda SEO con Safecont<\/h2>\n<p>El punto de partida de una auditor\u00eda SEO con esta herramienta comienza eligiendo el dominio que quieres analizar y seleccionando entre <strong>un an\u00e1lisis total o uno parcial<\/strong> del sitio web.<\/p>\n<p>Aqu\u00ed tambi\u00e9n est\u00e1 en tus manos decidir si detectar el contenido duplicado externo o no.<\/p>\n<h3>Dashboard o panel de control<\/h3>\n<p>El <em>dashboard<\/em> se muestra de manera autom\u00e1tica una vez ha terminado el rastreo de las url de tu sitio. En \u00e9l es posible visualizar:<\/p>\n<ul>\n<li>La puntuaci\u00f3n global del dominio, llamado <strong>\u201cPandaRisk\u201d<\/strong> por Safecont. Se trata del riesgo que tiene el dominio de que acabe penalizado de manera algor\u00edtmica por Google. A mayor puntuaci\u00f3n (va de 0 a 100), mayor riesgo existe de penalizaci\u00f3n.<\/li>\n<li>Los resultados del rastreo.<\/li>\n<li>Un listado de clusters y p\u00e1ginas ordenadas de mayor a menor por la alta probabilidad de caer penalizadas por Google.<\/li>\n<li>La puntuaci\u00f3n del sitio respecto a los 3 problemas principales (similaridad, duplicados externos y thin content).<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-111 size-full\" title=\"PandaRisk Safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/PandaRisk-Safecont.png\" alt=\"PandaRisk Safecont\" width=\"706\" height=\"290\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/PandaRisk-Safecont.png 706w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/PandaRisk-Safecont-300x123.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/PandaRisk-Safecont-370x152.png 370w\" sizes=\"(max-width: 706px) 100vw, 706px\" \/><\/p>\n<h3>Risks<\/h3>\n<p>Esta pesta\u00f1a nos informa con mayor detalle acerca de los problemas que est\u00e1n afectando al sitio y en qu\u00e9 proporci\u00f3n.<\/p>\n<p>Cada uno de los 3 problemas principales (similaridad, thin content y duplicados externos) tiene una puntuaci\u00f3n global y una estad\u00edstica concreta para cada p\u00e1gina.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-115 size-full\" title=\"funcionalidad Risk herramienta safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont.png\" alt=\"funcionalidad Risk herramienta safecont\" width=\"1010\" height=\"678\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont.png 1010w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont-270x180.png 270w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont-300x201.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont-768x516.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/funcionalidad-Risk-herramienta-safecont-370x248.png 370w\" sizes=\"(max-width: 1010px) 100vw, 1010px\" \/><\/p>\n<h3>Cl\u00fasters<\/h3>\n<p>Estos 3 problemas funcionan como criterios para <strong>segmentar tu sitio en 10 <em>clusters<\/em> o percentiles de mayor a menor peligro<\/strong>, con el fin de hacerte m\u00e1s f\u00e1cil establecer prioridades a la hora de optimizar tus contenidos.<\/p>\n<p>Para que te hagas una idea: los <em>cluster <\/em>que est\u00e9n por encima del 65-70% son los de m\u00e1s alta prioridad y sobre los que primero tendremos que trabajar para corregir sus problemas.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-117 size-full\" title=\"modulo Clusters herramienta safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont.png\" alt=\"modulo Clusters herramienta safecont\" width=\"888\" height=\"684\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont.png 888w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont-370x285.png 370w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont-260x200.png 260w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont-87x67.png 87w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont-300x231.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/modulo-Clusters-herramienta-safecont-768x592.png 768w\" sizes=\"(max-width: 888px) 100vw, 888px\" \/><\/p>\n<h3>Similarity (Duplicado interno)<\/h3>\n<p>Aqu\u00ed se incluyen <strong>p\u00e1ginas muy similares las unas con las otras<\/strong> dentro de nuestro dominio. Tener contenido similar o duplicado entre las p\u00e1ginas de tu web puede suceder por:<\/p>\n<ul>\n<li>El propio CMS te genera urls duplicadas.<\/li>\n<li>Una deficiente creaci\u00f3n de contenido \u00fanico por cada url.<\/li>\n<\/ul>\n<p>Cuando esto sucede en un gran n\u00famero de urls, Google detectar\u00e1 el alto porcentaje de duplicidad y de contenido de poca calidad, que acabar\u00e1 afectando al posicionamiento de tu sitio y <strong>muy probablemente acabe penalizado<\/strong>.<\/p>\n<p>Adem\u00e1s de los <em>clusters,<\/em> el informe de Safecont <em>\u2018Similar pages with this\u2019<\/em> te ofrece una agrupaci\u00f3n de urls, relacionadas por duplicaci\u00f3n, as\u00ed como un listado de p\u00e1ginas seg\u00fan su porcentaje de duplicidad.<\/p>\n<h3>Thin Content<\/h3>\n<p>La interpretaci\u00f3n m\u00e1s habitual de lo que es el <em>thin content<\/em>, es que se trata de un contenido que se halla por <strong>debajo del promedio de calidad del resto del sitio<\/strong>, siguiendo estos criterios:<\/p>\n<ul>\n<li>Cuenta con pocas palabras en el texto.<\/li>\n<li>Es redundante.<\/li>\n<li>Tiene una p\u00e9sima gram\u00e1tica y estilo.<\/li>\n<li>Es insustancial.<\/li>\n<li>No soluciona preguntas ni necesidades.<\/li>\n<li>Est\u00e1 obsoleto.<\/li>\n<li>No concuerda con el del sitio web.<\/li>\n<\/ul>\n<p>Hay que se\u00f1alar que Safecont no tiene en cuenta ni las canonicals ni el noindex cuando ejecuta el an\u00e1lisis, con lo cual te puede marcar una url como thin content pero podr\u00eda suceder que esa url est\u00e9 bien en noindex o tenga una etiqueta can\u00f3nica hacia otra url.<\/p>\n<h3>Sem\u00e1ntica<\/h3>\n<p>Es una de las funcionalidades m\u00e1s complejas introducidas por Safecont, y consiste en una caja tridimensional, en la que <strong>est\u00e1n representados los temas de la web por puntos de color<\/strong> e informaci\u00f3n acerca de las urls.<\/p>\n<p>Cuanto m\u00e1s distante est\u00e1 un punto de otro, m\u00e1s alejadas est\u00e1n sus tem\u00e1ticas, mostrando as\u00ed lo parecidos o diferentes que son los temas tratados en un tu web.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-113 size-full\" title=\"Pesta\u00f1a semantica Safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/Pesta\u00f1a-semantica-Safecont.png\" alt=\"Pesta\u00f1a semantica Safecont\" width=\"910\" height=\"857\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/Pesta\u00f1a-semantica-Safecont.png 910w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/Pesta\u00f1a-semantica-Safecont-300x283.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/Pesta\u00f1a-semantica-Safecont-768x723.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/Pesta\u00f1a-semantica-Safecont-370x348.png 370w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/p>\n<h3>Architecture<\/h3>\n<p>Con esta funci\u00f3n podr\u00e1s <strong>visualizar el enlazado interno de tu web<\/strong>, mostr\u00e1ndote los niveles de profundidad que hay en ella. Cuantos menos niveles, mejor.<\/p>\n<p>Una buena arquitectura favorece la tracci\u00f3n de tr\u00e1fico del dominio en global. Por contra,\u00a0 la duplicaci\u00f3n, la mala calidad y un enlazado interno inadecuado perjudican al SEO, debilitando los resultados de los buscadores.<\/p>\n<p>Con esta funci\u00f3n ver\u00e1s:<\/p>\n<ul>\n<li>Las urls con su nivel de profundidad y l<strong>a fuerza o el link juice acumulado por cada nivel<\/strong> (LevelStrength).<\/li>\n<li>Un gr\u00e1fico con la arquitectura de la web.<\/li>\n<li>Una lista de p\u00e1ginas ordenadas por PageRank interno.<\/li>\n<li>Una vista con los anchor text m\u00e1s habituales usados en la web y los anchor de mayor fuerza.<\/li>\n<li>Una lista de las <strong>Hubs<\/strong> del portal, que ser\u00edan las urls que enlazan a otras.<\/li>\n<li>Otra lista con las p\u00e1ginas <strong>Authorities<\/strong>, que son aquellas enlazadas y que se corresponder\u00edan con aquellas que son m\u00e1s importantes para nosotros.<\/li>\n<\/ul>\n<p>Una p\u00e1gina puede ser al mismo tiempo Hub y Authority; la Home es el mejor ejemplo de ello.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-118 size-full\" title=\"pesta\u00f1a architecture en safecont\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/pesta\u00f1a-architecture-en-safecont.png\" alt=\"pesta\u00f1a architecture en safecont\" width=\"1008\" height=\"464\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/pesta\u00f1a-architecture-en-safecont.png 1008w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/pesta\u00f1a-architecture-en-safecont-300x138.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/pesta\u00f1a-architecture-en-safecont-768x354.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/06\/pesta\u00f1a-architecture-en-safecont-370x170.png 370w\" sizes=\"(max-width: 1008px) 100vw, 1008px\" \/><\/p>\n<h3>Pages<\/h3>\n<p>Aparecen <strong>listadas todas las urls del dominio<\/strong> organizadas de mayor a menor PageRisk.<\/p>\n<p>Este factor no se basa \u00fanicamente en la similaridad, thin content o el duplicado externo, sino que su algoritmo tiene en cuenta muchos otros factores.<\/p>\n<p>Pinchando en cualquiera de esas urls accederemos a otro panel donde podremos ver una ficha de esa url, un an\u00e1lisis TF-IDF y un informe de Null TF-IDF.<\/p>\n<h4>Vista de las URL<\/h4>\n<p>Haciendo click sobre cualquiera de las urls identificadas como de alto riesgo, ver\u00e1s:<\/p>\n<ul>\n<li>La puntuaci\u00f3n correspondiente de dicha url, denominada <strong>Pagerisk<\/strong> y sus 3 problemas principales (Similarity, Thin Content y External Duplicate).<\/li>\n<li>Un enlace de acceso a las otras p\u00e1ginas con m\u00e1s caracter\u00edsticas en com\u00fan de tu sitio.<\/li>\n<li>Un an\u00e1lisis TF-IDF<\/li>\n<li>Un informe de tr\u00e1fico org\u00e1nico particularizado, si tu cuenta Safecont est\u00e1 asociada con Google Analytics.<\/li>\n<\/ul>\n<h4>An\u00e1lisis TF-IDF<\/h4>\n<p>Es un m\u00e9todo empleado con el objetivo de determinar la probabilidad de aparici\u00f3n de una palabra en una p\u00e1gina, en base a lo que dicha palabra aparezca dentro de un conjunto de datos m\u00e1s grande, que en el caso de Google ser\u00edan todas las p\u00e1ginas que tiene indexadas.<\/p>\n<p>Cuando en una url aparece una palabra con mayor frecuencia, puede hacer que Google considere tu contenido un texto relevante respecto a ese t\u00e9rmino, aunque si aparece demasiadas veces podr\u00eda tener el resultado contrario.<\/p>\n<h4>Null TF-IDF<\/h4>\n<p>Esta funci\u00f3n te permite ver las <strong>palabras que aparecen en todas las p\u00e1ginas de tu sitio<\/strong>. Si esta palabra se encuentra en todas las urls de tu dominio, su TF-IDF tendr\u00e1 el valor de 0, por lo que ser\u00e1 muy complicado que posiciones para esa palabra en cuesti\u00f3n.<\/p>\n<h3>Duplicados externos<\/h3>\n<p>La herramienta <em>External duplicate <\/em>detecta la reproducci\u00f3n de contenido de una fuente ajena a nuestro sitio web. Se trata de una <strong>herramienta antiplagio<\/strong>.<\/p>\n<p>La utilizaci\u00f3n de esta pesta\u00f1a tiene un coste extra por url.<\/p>\n<h3>Crawl Stats<\/h3>\n<p>Lo primero que se ve es un gr\u00e1fico y un n\u00famero que indica la salud de tu web en funci\u00f3n del crawleo.<\/p>\n<p>Si bien no es el punto fuerte de Safecont, estos datos son \u00fatiles para saber el tiempo que tardan en responder tus p\u00e1ginas, disponer informaci\u00f3n sobre la indexaci\u00f3n y el rastreo de tu portal.<\/p>\n<p>Links Optimizer<\/p>\n<p>Lo que hace esta funci\u00f3n es <strong>sugerirte nuevos enlaces para a\u00f1adir en distintas urls de tu web<\/strong>. El objetivo es decirte, de manera autom\u00e1tica, c\u00f3mo tienes que optimizar el enlazado interno de tu web para mejorar la arquitectura y sacar el m\u00e1ximo provecho al link juice.<\/p>\n<p>Dado que lo calcula de forma autom\u00e1tica, a\u00fan tiene mucho margen de mejora. Para que os hag\u00e1is una idea, a m\u00ed me suger\u00eda sacar enlaces desde la p\u00e1gina &#8220;quienes somos&#8221; hacia otras urls.<\/p>\n<p>Pero a\u00fan as\u00ed, podemos sacarle provecho si lo usamos con cabeza. Conseguiremos <strong>mejorar el interlinking, mejorar el consumo de crawl budget y tambi\u00e9n distribuir mejor el Pagerank<\/strong> o fuerza por todo nuestro dominio de aquellos enlaces externos que apunten a nuestra web.<\/p>\n<p>Te sacar\u00e1 una gr\u00e1fica donde podr\u00e1s ver el estado del dominio antes y despu\u00e9s de aplicar esas mejoras de enlazado que te propone (media de la fuerza del dominio, niveles de profundidad y mejora promedio de tus p\u00e1ginas).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-132 size-full\" title=\"modulo links optimizer para mejorar el enlazado interno\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno.png\" alt=\"modulo links optimizer para mejorar el enlazado interno\" width=\"1088\" height=\"417\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno.png 1088w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno-300x115.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno-768x294.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno-1024x392.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2019\/07\/modulo-links-optimizer-para-mejorar-el-enlazado-interno-370x142.png 370w\" sizes=\"(max-width: 1088px) 100vw, 1088px\" \/><\/p>\n<p>Como has podido comprobar en este tutorial sobre Safecont, se trata de una herramienta s\u00faper potente que te permitir\u00e1 ver y analizar todos esos errores que tienes en tu web y que podr\u00edan derivar en una penalizaci\u00f3n por parte de Google.<\/p>\n<p>Y t\u00fa, \u00bfla has probado? Te esperamos en los comentarios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Safecont no es una herramienta SEO m\u00e1s: con su tecnolog\u00eda Machine Learning, analiza el contenido y la arquitectura de tu web para dar con los errores que le impiden aparecer en las primeras posiciones de las SERPs, adem\u00e1s de evitar posibles penalizaciones. Esta herramienta eval\u00faa la calidad del contenido y la arquitectura del sitio, dividi\u00e9ndolo [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":849,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriales-herramientas-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/103","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=103"}],"version-history":[{"count":4,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"predecessor-version":[{"id":29639,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/103\/revisions\/29639"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/849"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}