{"id":6974,"date":"2021-12-13T11:39:34","date_gmt":"2021-12-13T10:39:34","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=6974"},"modified":"2025-06-05T08:30:40","modified_gmt":"2025-06-05T06:30:40","slug":"dinorank-versus-kiwosan","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/kiwosan-versus-dinorank\/","title":{"rendered":"DinoRANK versus Kiwosan"},"content":{"rendered":"<p>Retomamos nuestros duelos SEO con un combate que va a estar de lo m\u00e1s re\u00f1ido.<\/p>\n<p>Ponemos frente a frente a DinoRANK con Kiwosan, dos herramientas SEO con ra\u00edces espa\u00f1olas que aportan al mercado nuevas opciones para trabajar el posicionamiento de una web al margen de las herramientas ultraconocidas como SEMRush o Ahrefs.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-6994\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-vs-wikosan.png\" alt=\"dinorank vs wikosan\" width=\"581\" height=\"317\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-vs-wikosan.png 1100w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-vs-wikosan-300x164.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-vs-wikosan-1024x559.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-vs-wikosan-768x419.png 768w\" sizes=\"(max-width: 581px) 100vw, 581px\" \/><\/p>\n<p>Ambas tienen algunas cosas en com\u00fan como interfaces muy sencillas y precios asequibles pero tambi\u00e9n diferencias que pueden hacer m\u00e1s dif\u00edcil la elecci\u00f3n&#8230; o no.<\/p>\n<p>Sigue leyendo para ver nuestro an\u00e1lisis comparativo y vislumbrar cu\u00e1l es mejor para ti.<\/p>\n<h2>Kiwosan, suite SEO made in Murcia<\/h2>\n<p>Kiwosan es un compendio de herramientas que tienen tres objetivos principales:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Palabras clave<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> An\u00e1lisis de la competencia<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Optimizaci\u00f3n de contenidos<\/li>\n<\/ul>\n<\/div>\n<p>Y para ello cuentan con una serie de <strong>m\u00f3dulos con una interfaz muy sencilla<\/strong> que se complementa con tutoriales de cada herramienta y un blog en el que desarrollan temas SEO a distintos niveles. De esta forma, tanto novatos como gente con experiencia pueden servirse de ellos.<\/p>\n<blockquote><p>Aqu\u00ed hay un empate general aunque con un ligero avance de DinoRANK: no solo tiene tutoriales y el blog sino tambi\u00e9n un <a href=\"https:\/\/dinorank.com\/blog\/diccionario-seo\/\">diccionario SEO<\/a> con t\u00e9rminos \u00fatiles.<\/p><\/blockquote>\n<p>Vamos a ver cada uno de los m\u00f3dulos de Kiwosan para comprobar qu\u00e9 es lo que ofrecen, c\u00f3mo funcionan y qu\u00e9 resultado obtienen al subirse al ring frente a DinoRANK.<\/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>Investigaci\u00f3n de palabras clave<\/h2>\n<p>Kiwosan tiene dos m\u00f3dulos enfocados a las palabras clave. El primero de ellos es <strong>Keyword Suggest<\/strong> y es el que nos servir\u00e1 para hacer el keyword research inicial de cualquier proyecto SEO.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-6975\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest.png\" alt=\"kiwosan keyword suggest\" width=\"1598\" height=\"803\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest.png 1598w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest-300x151.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest-1024x515.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest-768x386.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-suggest-1536x772.png 1536w\" sizes=\"(max-width: 1598px) 100vw, 1598px\" \/><\/p>\n<p>De cada keyword te dice el vol\u00famen de b\u00fasquedas, el CPC y la competencia y, adem\u00e1s, inserta el gr\u00e1fico de Google Trends para que sepas si esa palabra clave tiene estacionalidad o no.<\/p>\n<p>Pero, adem\u00e1s, Kiwosan cuenta con el m\u00f3dulo <strong>Keyword Brainstorming<\/strong> en el que nos ofrecer\u00e1 un listado de palabras clave long tail derivadas.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-6976\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming.png\" alt=\"kiwosan keyword brainstorming\" width=\"1557\" height=\"798\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming.png 1557w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming-300x154.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming-1024x525.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming-768x394.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-keyword-brainstorming-1536x787.png 1536w\" sizes=\"(max-width: 1557px) 100vw, 1557px\" \/><\/p>\n<p>Ambas herramientas te permiten descargar los datos en un archivo CSV y buscar no solo en Google sino tambi\u00e9n en YouTube (<em>Ouch, ese golpe le doli\u00f3 a DinoRANK<\/em>).<\/p>\n<p>Si est\u00e1s pensando que a DinoRANK le falta un m\u00f3dulo como el de Brainstorming te diremos que en realidad, a\u00fana los dos m\u00f3dulos de Kiwosan en uno solo por lo que ambos software cuentan con funciones pr\u00e1cticamente iguales en este sentido.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6988\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-keyword-research.png\" alt=\"dinorank keyword research\" width=\"1483\" height=\"797\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-keyword-research.png 1483w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-keyword-research-300x161.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-keyword-research-1024x550.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-keyword-research-768x413.png 768w\" sizes=\"(max-width: 1483px) 100vw, 1483px\" \/><\/p>\n<h2>An\u00e1lisis de la competencia<\/h2>\n<p>El primer m\u00f3dulo dedicado a la competencia es un an\u00e1lisis de las SERPs. Su funcionamiento no puede ser m\u00e1s sencillo: solo tienes que escribir la keyword de tu inter\u00e9s y esperar a que haga el rastreo.<\/p>\n<p>Lo que vas a obtener es un <strong>an\u00e1lisis detallado de los dominios que aparecen en los resultados de b\u00fasqueda<\/strong>.<\/p>\n<p>De cada uno de ellos Kiwosan te dir\u00e1 m\u00e9tricas como el DA y PA de Moz, el TF y CF de Majestic, los backlinks, la velocidad de la web, las Web Core Vitals y la fecha de registro de dominio.<\/p>\n<p>Todos estos datos te ayudar\u00e1n a aproximarte bastante al estado de salud SEO en el que se encuentran tus competidores y por d\u00f3nde podr\u00edas atacar para superarlos en las SERPs.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6979\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps.png\" alt=\"kiwosan analisis de serps\" width=\"1562\" height=\"731\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps.png 1562w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps-300x140.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps-1024x479.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps-768x359.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-de-serps-1536x719.png 1536w\" sizes=\"(max-width: 1562px) 100vw, 1562px\" \/><\/p>\n<p>Y este detallado an\u00e1lisis de tu competencia en las SERPs se complementa con un an\u00e1lisis del dominio que quieras.<\/p>\n<p>Este an\u00e1lisis tiene toda la informaci\u00f3n que puedas necesitar acerca de un competidor:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Meta datos. Title, meta description, sitemap, robots.txt&#8230;<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Contenidos. Encabezados, datos estructurados&#8230;<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> SEO. M\u00e9tricas de Moz y Majestic, datos de Page Speed, backlinks, keywords posicionadas<\/li>\n<\/ul>\n<\/div>\n<p>Y esto se remata con un listado final de mejoras y errores. Si eres consultor SEO y est\u00e1s analizando la web de tu cliente tendr\u00e1s buena parte del trabajo hecho y si est\u00e1s analizando un competidor, sabr\u00e1s d\u00f3nde est\u00e1 fallando.<\/p>\n<p>DinoRANK tambi\u00e9n te proporciona herramientas para analizar a tu competencia, entre ellas el <strong>m\u00f3dulo Visibilidad y Competencia.<\/strong><\/p>\n<p>Gracias a \u00e9l sabr\u00e1s qu\u00e9 tr\u00e1fico estimado tienen tus competidores, cu\u00e1les son las keywords que posicionan y qu\u00e9 URLs est\u00e1n rankeando por esas keywords.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7149 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank.png\" alt=\"modulo competencia dinorank\" width=\"1879\" height=\"869\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank.png 1879w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank-300x139.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank-1024x474.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank-768x355.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/modulo-competencia-dinorank-1536x710.png 1536w\" sizes=\"(max-width: 1879px) 100vw, 1879px\" \/><\/p>\n<p>\u00bfTe parece poco en comparaci\u00f3n con todo lo que ofrece Kiwosan? As\u00ed es pero es que el secreto de DinoRANK est\u00e1 en la combinaci\u00f3n de sus m\u00f3dulos para conseguir m\u00e1s informaci\u00f3n.<\/p>\n<p>Puedes monitorizar a tu competencia con estos m\u00f3dulos:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Auditor\u00eda <a href=\"https:\/\/dinorank.com\/blog\/seo-on-page\/\">SEO On Page<\/a><\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Enlazado interno<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Pagerank interno<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> Visibilidad y competencia<\/li>\n<\/ul>\n<\/div>\n<h2>Optimizaci\u00f3n de contenidos<\/h2>\n<p>El an\u00e1lisis de contenidos de Kiwosan te pide una keyword y, de forma opcional, una URL con la que hacer una comparaci\u00f3n.<\/p>\n<p>Una vez acabado el rastreo, te proporcionar\u00e1 la lista de los<strong> t\u00e9rminos relacionados con la keyword que est\u00e1n usando los que ocupan el top 10 de Google<\/strong> y la frecuencia con que lo hacen para que puedas incluirlos en tus contenidos.<\/p>\n<p>Si incluyes una URL concreta, Kiwosan te dir\u00e1 qu\u00e9 t\u00e9rminos agregar, quitar, reducir o ampliar para optimizar el post en relaci\u00f3n a los contenidos que ya est\u00e1n posicionados.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6981\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-contenidos-url.png\" alt=\"kiwosan analisis contenidos url\" width=\"1323\" height=\"816\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-contenidos-url.png 1323w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-contenidos-url-300x185.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-contenidos-url-1024x632.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-contenidos-url-768x474.png 768w\" sizes=\"(max-width: 1323px) 100vw, 1323px\" \/><\/p>\n<p>\u00bfTe resulta familiar? \ud83e\udd14<\/p>\n<p>A nosotros s\u00ed ya que es exactamente lo mismo que hace DinoRANK en su m\u00f3dulo WDF*DF y Prominencia Sem\u00e1ntica.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7150 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-wdf-prominencia-semantica.png\" alt=\"dinorank wdf prominencia semantica\" width=\"1490\" height=\"603\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-wdf-prominencia-semantica.png 1490w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-wdf-prominencia-semantica-300x121.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-wdf-prominencia-semantica-1024x414.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/dinorank-wdf-prominencia-semantica-768x311.png 768w\" sizes=\"(max-width: 1490px) 100vw, 1490px\" \/><\/p>\n<p>Kiwosan, adem\u00e1s, tambi\u00e9n tiene el <strong>an\u00e1lisis de entidades<\/strong>. Para acceder a esta funci\u00f3n tendr\u00e1s que registrarte de forma gratuita en Dandelion (no te pedir\u00e1n tarjeta de cr\u00e9dito pero s\u00ed tienes que usar un email real porque tendr\u00e1s que activar la cuenta).<\/p>\n<p>Una vez activada tu cuenta en Dandelion, ve a Dashboard y copia la API que encontrar\u00e1s all\u00ed en el apartado de Configuraci\u00f3n de Kiwosan.<\/p>\n<p>Ahora, ve a an\u00e1lisis de entidades e introduce la keyword que quieras ver. Acceder\u00e1s a un gr\u00e1fico con un resumen de las entidades con las que se relaciona esa palabra clave desde un punto sem\u00e1ntico seg\u00fan los competidores que hay en las SERPs.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-6982\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-entidades.png\" alt=\"kiwosan analisis entidades\" width=\"1387\" height=\"810\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-entidades.png 1387w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-entidades-300x175.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-entidades-1024x598.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2021\/11\/kiwosan-analisis-entidades-768x449.png 768w\" sizes=\"(max-width: 1387px) 100vw, 1387px\" \/><\/p>\n<p>Las entidades pueden ser lugares, personas, eventos, ubicaciones, fechas, precios, direcciones, productos&#8230;<\/p>\n<p>En el ejemplo de la imagen, Kiwosan nos dice que nuestra keyword est\u00e1 relacionada con Google, el posicionamiento, los backlinks, los blog&#8230; Es decir, nos ofrece el contexto sem\u00e1ntico en el que se mueve la keyword en las SERPs para que concretemos m\u00e1s nuestro contenido.<\/p>\n<h2>M\u00e1s an\u00e1lisis: Arquitectura web, link building, problemas de contenido&#8230;<\/h2>\n<p>Hasta aqu\u00ed el combate ha estado bastante igualado en cuanto a las funciones de keyword research, an\u00e1lisis de la competencia (aqu\u00ed concedemos ventaja a Kiwosan) y an\u00e1lisis sem\u00e1ntico.<\/p>\n<p>Sin embargo&#8230;<\/p>\n<p>&#8230; DinoRANK tiene a\u00fan m\u00e1s que ofrecer.<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> <strong>Enlazado interno y pagerank interno<\/strong>. Para analizar la arquitectura web y controlar la transmisi\u00f3n de link juice por las URLs de la p\u00e1gina.<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> <strong>Gesti\u00f3n de enlazado externo<\/strong>. Estad\u00edsticas acerca de anchor text, URLs m\u00e1s enlazadas&#8230;<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> <strong>Tracking de posiciones<\/strong>. Controla d\u00eda a d\u00eda c\u00f3mo se mueven tus keywords m\u00e1s relevantes en las SERPs<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> <strong>Thin content y canibalizaciones<\/strong>. Detecta problemas con tu contenido para que no afecten al posicionamiento.<\/li>\n<li><i class=\"sui sui-minus\" style=\"color:#00937D\"><\/i> <strong>Tr\u00e1fico org\u00e1nico<\/strong>. Averigua por qu\u00e9 keywords est\u00e1s posicionando y d\u00f3nde tienes buenas oportunidades para rankear.<\/li>\n<\/ul>\n<\/div>\n<h2>Precio y condiciones<\/h2>\n<p>Kiwosan tiene dos modalidades:<strong> pago mensual de 30\u20ac o pago anual de 300\u20ac<\/strong>. No tienen compromiso de permanencia ni tampoco matr\u00edcula.<\/p>\n<p>DinoRANK coincide en esto \u00faltimo con Kiwosan aunque var\u00eda en los precios porque ofrece tres planes distintos que se adaptan a las necesidades del usuario: <strong>Starter (25\u20ac\/mes), Pro (42\u20ac\/mes) y Business (69\u20ac\/mes)<\/strong>.<\/p>\n<p>En el momento de registrarte en Kiwosan cuentas con 15 d\u00edas gratis de prueba, es decir, no se te cobran los 30\u20ac o 300\u20ac hasta quince d\u00edas despu\u00e9s por lo que tienes ese tiempo para cancelar tu suscripci\u00f3n si la herramienta no te convence.<\/p>\n<p>Adem\u00e1s, puedes usar de forma gratuita sus herramientas Keyword Combinator y, tras una peque\u00f1a gamificaci\u00f3n a trav\u00e9s de Twitter, Keyword Clustering y Keyword Generator.<\/p>\n<h2>Resultado del duelo SEO DinoRANK versus Kiwosan<\/h2>\n<p>Tu elecci\u00f3n, como en cualquier duelo entre herramientas SEO, siempre va a <strong>depender del uso que vayas a hacer, de tus necesidades y de tus recursos.<\/strong><\/p>\n<p>No es lo mismo un bloguero que quiere controlar el SEO de su blog, que un freelance que est\u00e1 empezando, que una agencia que muchos clientes.<\/p>\n<p>Por eso, nuestra opci\u00f3n es DinoRANK ya que permite cierta escalabilidad al poder ir subiendo de plan conforme necesites m\u00e1s recursos.<\/p>\n<p><strong>DinoRANK crece contigo<\/strong> \ud83d\ude00<\/p>\n<p>Sin embargo, Kiwosan tambi\u00e9n es un buen recurso en especial si te est\u00e1s iniciando en el SEO y, por el momento, no necesitas profundizar demasiado en algunas cuestiones.<\/p>\n<p>Ahora solo te queda decidir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Retomamos nuestros duelos SEO con un combate que va a estar de lo m\u00e1s re\u00f1ido. Ponemos frente a frente a DinoRANK con Kiwosan, dos herramientas SEO con ra\u00edces espa\u00f1olas que aportan al mercado nuevas opciones para trabajar el posicionamiento de una web al margen de las herramientas ultraconocidas como SEMRush o Ahrefs. Ambas tienen algunas [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":6994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-6974","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-duelo-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/6974","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=6974"}],"version-history":[{"count":1,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/6974\/revisions"}],"predecessor-version":[{"id":29685,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/6974\/revisions\/29685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/6994"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=6974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=6974"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=6974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}