{"id":24655,"date":"2024-07-30T10:30:52","date_gmt":"2024-07-30T08:30:52","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=24655"},"modified":"2026-03-12T12:54:18","modified_gmt":"2026-03-12T11:54:18","slug":"optimizacion-seo","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/optimizacion-seo\/","title":{"rendered":"Gu\u00eda esencial de optimizaci\u00f3n SEO. Aprende a posicionar tu web de una vez por todas"},"content":{"rendered":"<div class=\"su-note border=#000000\"  style=\"border-color:#007963;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:#00937D;border-color:#ccffff;color:#ffffff;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Este art\u00edculo ha sido actualizado en el mes de marzo de 2026 y se revisa peri\u00f3dicamente cada 2 meses para a\u00f1adir informaci\u00f3n relevante en funci\u00f3n de las novedades de cada momento.<\/div><\/div>\n<p>Aunque pueda parecer injusto, lo cierto es que no siempre la mejor web es la que tiene m\u00e1s \u00e9xito.<\/p>\n<p>Conozco muchas p\u00e1ginas en las que sus creadores han puesto un especial cari\u00f1o, con est\u00e9ticas muy bonitas y contenido de calidad que, sin embargo, apenas reciben visitas.<\/p>\n<p>El motivo es simple: se han olvidado de <strong>prestar atenci\u00f3n al SEO<\/strong>.<\/p>\n<p><a href=\"https:\/\/dinorank.com\/blog\/descubre-dinorank\/\" target=\"_blank\" rel=\"noopener\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-24924 size-large\" title=\"Aumenta tus visitas desde Google con DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-1024x427.png\" alt=\"Aumenta tus visitas desde Google con DinoRANK\" width=\"1024\" height=\"427\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-1024x427.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-300x125.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-768x321.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank.png 1071w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><br \/>\nEn el competido mundo de Internet, si no sigues las reglas del juego tienes pocas posibilidades de triunfar.<\/p>\n<p>Y estas reglas las fijan en buena medida los buscadores web m\u00e1s importantes, que son quienes van a decidir si tu sitio es apropiado para aparecer entre sus resultados o no.<\/p>\n<p>En este art\u00edculo vamos a ver <strong>qu\u00e9 puedes hacer para optimizar tu web desde el punto de vista SEO<\/strong> y conseguir as\u00ed que tu p\u00e1gina no s\u00f3lo sea atractiva para los usuarios, sino tambi\u00e9n para los motores de b\u00fasqueda.<\/p>\n<p>Iremos directos al grano, sin rodeos ni explicaciones tediosas. El objetivo es que tengas una <strong>gu\u00eda r\u00e1pida de referencia con las acciones que mejor funcionan<\/strong> hoy en d\u00eda y con las que obtendr\u00e1s resultados con toda seguridad.<\/p>\n<h2>\u00bfQu\u00e9 es optimizaci\u00f3n SEO?<\/h2>\n<p>La optimizaci\u00f3n SEO es el conjunto de t\u00e9cnicas y estrategias utilizadas para <strong>mejorar la visibilidad y el posicionamiento de un sitio web en los resultados org\u00e1nicos de los buscadores<\/strong>, como Google o Bing. El objetivo principal es atraer tr\u00e1fico cualificado hacia dicho sitio web, aumentando as\u00ed las oportunidades de conversi\u00f3n.<\/p>\n<p>Ahora bien, el SEO no es algo est\u00e1tico sino que es una disciplina que <strong>se encuentra en constante evoluci\u00f3n<\/strong> para adaptarse a los continuos cambios de los algoritmos de los buscadores.<\/p>\n<p>Por eso, en esta gu\u00eda no ver\u00e1s t\u00e9cnicas SEO del pasado, que ya no son efectivas en la actualidad. Todas las pr\u00e1cticas de optimizaci\u00f3n web que comentaremos a continuaci\u00f3n son aplicadas hoy en d\u00eda por los SEOs a nivel profesional y sus resultados est\u00e1n totalmente comprobados.<\/p>\n<h2>Optimizaci\u00f3n SEO del contenido<\/h2>\n<p>Dentro del SEO hay multitud de t\u00e9cnicas y acciones que podemos aplicar, pero nunca debemos olvidar algo: si queremos que los usuarios entren en nuestra web a trav\u00e9s de los buscadores, debemos ajustar nuestros contenidos a lo que est\u00e1n buscando.<\/p>\n<p>Por eso, la investigaci\u00f3n de palabras clave (o keyword research) es uno de los procesos m\u00e1s importantes del SEO. Gracias a este an\u00e1lisis descubrir\u00e1s <strong>qu\u00e9 consultas hace la gente en Google<\/strong> y qu\u00e9 t\u00e9rminos se utilizan con m\u00e1s frecuencia.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-30808 size-full\" title=\"M\u00f3dulo de keyword research de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/10\/keyword-research-dinorank-listado.png\" alt=\"M\u00f3dulo de keyword research de DinoRANK\" width=\"1024\" height=\"567\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/10\/keyword-research-dinorank-listado.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/10\/keyword-research-dinorank-listado-300x166.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/10\/keyword-research-dinorank-listado-768x425.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>De este modo, podr\u00e1s dise\u00f1ar una estrategia de contenidos capaz de <strong>dar respuesta a las necesidades de los usuarios<\/strong> y eso se traducir\u00e1 en un mayor volumen de tr\u00e1fico org\u00e1nico hacia tu p\u00e1gina web.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones de SEO en contenidos<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Decide los contenidos que vas a crear en tu web mediante un <a href=\"https:\/\/dinorank.com\/blog\/como-hacer-keyword-research\/\" target=\"_blank\" rel=\"noopener\">proceso de keyword research<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <a href=\"https:\/\/dinorank.com\/blog\/claves-optimizacion-de-contenidos-en-seo\/\" target=\"_blank\" rel=\"noopener\">Optimiza los contenidos<\/a> ya creados, as\u00ed como los nuevos, tanto desde el punto de vista sem\u00e1ntico como en lo que se refiere a su estructura.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Agrupa tus contenidos en cl\u00fasteres, para fortalecer tu <a href=\"https:\/\/dinorank.com\/blog\/autoridad-topica\/\" target=\"_blank\" rel=\"noopener\">Autoridad Tem\u00e1tica<\/a>.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<p><a href=\"https:\/\/dinorank.com\/seccion-keyword-research\/\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"aligncenter wp-image-30904 size-full\" title=\"Descubre el Keyword Research de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/1.jpg\" alt=\"Descubre el Keyword Research de DinoRANK\" width=\"800\" height=\"800\" \/><\/a><\/p>\n<h2>Optimizaci\u00f3n de SEO enfocada al usuario<\/h2>\n<p>Mediante la creaci\u00f3n de contenidos en base a lo que consultan los usuarios conseguiremos aparecer en m\u00e1s listados de b\u00fasquedas y, por lo tanto, captaremos un mayor n\u00famero de visitas.<\/p>\n<p>Pero, una vez dentro de nuestro sitio web, si el usuario no encuentra una respuesta acorde a sus expectativas, ten por seguro que se marchar\u00e1 en pocos segundos.<\/p>\n<p>Por lo tanto, no basta con crear contenidos ajustados a una serie de palabras clave. <strong>Los contenidos deben ser de calidad, atractivos y \u00fatiles <\/strong>para quien nos visite.<\/p>\n<p><a href=\"https:\/\/dinobrain.ai\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-24698 size-full\" title=\"Creaci\u00f3n de contenidos con DinoBRAIN\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/07\/dinobrain-contenidos-cut.webp\" alt=\"Creaci\u00f3n de contenidos con DinoBRAIN\" width=\"670\" height=\"859\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/07\/dinobrain-contenidos-cut.webp 670w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/07\/dinobrain-contenidos-cut-234x300.webp 234w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/a><\/p>\n<p>Adem\u00e1s, debemos procurar que los usuarios permanezcan en nuestra p\u00e1gina, ofreci\u00e9ndoles una <strong>buena experiencia y facilitando la navegaci\u00f3n<\/strong> hacia otras secciones de la web en la que puedan estar interesados.<\/p>\n<p>De este modo conseguiremos <strong>aumentar la retenci\u00f3n de nuestros usuarios<\/strong>, reduciendo la tasa de rebote y el denominado <a href=\"https:\/\/dinorank.com\/blog\/que-es-pogo-sticking\/\" target=\"_blank\" rel=\"noopener\">Pogo Sticking<\/a>, tan perjudicial para el SEO.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones SEO para mejorar la experiencia de usuario<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Crea textos de calidad que resuelvan la intenci\u00f3n de b\u00fasqueda del usuario.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Maqueta bien tus contenidos y escribe textos atractivos para los usuarios.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Ofrece una navegaci\u00f3n f\u00e1cil e intuitiva a trav\u00e9s de una <a href=\"https:\/\/dinorank.com\/blog\/arquitectura-web-seo\/\" target=\"_blank\" rel=\"noopener\">arquitectura web adecuada<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Reduce los tiempos de carga de tus p\u00e1ginas.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Proporciona una visualizaci\u00f3n correcta de tu sitio web en los dispositivos m\u00f3viles (dise\u00f1o mobile first).<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<p><span data-sheets-root=\"1\"><div id=\"brxe-d62272\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-1141e3\" class=\"brxe-text-basic h3\">\u00bfOtra newsletter de SEO? Quiz\u00e1s\u2026<\/div><div id=\"brxe-071f14\" class=\"brxe-text-basic\">Esto es lo que podemos ofrecerte:\n<\/div><ul id=\"brxe-eosgrh\" class=\"brxe-list\"><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Un email semanal con las novedades importantes del sector. <\/span><span class=\"separator\"><\/span><\/div><\/li><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Aprende SEO que podr\u00e1s aplicar en tu web o en las de tus clientes.<\/span><span class=\"separator\"><\/span><\/div><\/li><li ><div class=\"content\"><span class=\"icon\"><i class=\"ion-ios-checkmark-circle\"><\/i><\/span><span class=\"title\">Accede a webinars y a los eventos SEO totalmente gratuitos que organizamos.<\/span><span class=\"separator\"><\/span><\/div><\/li><\/ul><div id=\"brxe-ajplje\" class=\"brxe-text-basic\"><strong>Sin ruido, sin humo. Gratis.<\/strong> Solo necesito tu email y un poquito de tu atenci\u00f3n, nosotros hacemos el resto.\n\nT\u00fa decides.\n<\/div><div id=\"brxe-c60d60\" data-script-id=\"c60d60\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=ibm-plex-sans:400,700);<\/style>\n<style>\n#_form_301_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_301_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_301_._form-top{top:0}#_form_301_._form-bottom{bottom:0}#_form_301_._form-left{left:0}#_form_301_._form-right{right:0}#_form_301_ input[type=\"text\"],#_form_301_ input[type=\"tel\"],#_form_301_ input[type=\"date\"],#_form_301_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_301_ textarea{resize:none}#_form_301_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#00C4A7 !important;border:0 !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important;border-radius:5px !important;color:#FFFFFF !important;padding:13px !important}#_form_301_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_301_ ._submit.processing{position:relative}#_form_301_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#00C4A7, #00C4A7), conic-gradient(#00C4A7, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_301_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:5px !important;-webkit-border-radius:5px !important;border-radius:5px !important;color:#FFFFFF !important;padding:13px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_301_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_301_ ._close-icon:before{position:relative}#_form_301_ ._form-body{margin-bottom:30px}#_form_301_ ._form-image-left{width:150px;float:left}#_form_301_ ._form-content-right{margin-left:164px}#_form_301_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_301_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_301_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_301_ ._form-label,#_form_301_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_301_._dark ._form-branding{color:#333}#_form_301_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_301_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_301_ ._form_element *{font-size:14px}#_form_301_ ._form_element._clear{clear:both;width:100%;float:none}#_form_301_ ._form_element._clear:after{clear:left}#_form_301_ ._form_element input[type=\"text\"],#_form_301_ ._form_element input[type=\"date\"],#_form_301_ ._form_element select,#_form_301_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_301_ ._field-wrapper{position:relative}#_form_301_ ._inline-style{float:left}#_form_301_ ._inline-style input[type=\"text\"]{width:150px}#_form_301_ ._inline-style:not(._clear){margin-right:20px}#_form_301_ ._form_element img._form-image{max-width:100%}#_form_301_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_301_ ._clear-element{clear:left}#_form_301_ ._full_width{width:100%}#_form_301_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_301_ input[type=\"text\"]._has_error,#_form_301_ textarea._has_error{border:#F37C7B 1px solid}#_form_301_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_301_ ._show_be_error{float:left}#_form_301_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_301_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_301_ ._error._below{padding-top:8px;top:100%;right:0}#_form_301_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_301_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_301_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_301_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_301_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_301_ ._button-wrapper ._error-inner._form_error{position:static}#_form_301_ ._error-inner._no_arrow{margin-bottom:10px}#_form_301_ ._error-arrow{position:absolute;width:0;height:0}#_form_301_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_301_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_301_ select.datetime_time{width:29%;display:inline;height:32px}#_form_301_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_301_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_301_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_301_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_301_ ._form-content{margin:0;width:100%}#_form_301_ ._form-inner{display:block;min-width:100%}#_form_301_ ._form-title,#_form_301_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_301_ ._form-title{font-size:1.2em}#_form_301_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_301_ ._form-element,#_form_301_ ._inline-style,#_form_301_ input[type=\"text\"],#_form_301_ label,#_form_301_ p,#_form_301_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_301_ ._row._checkbox-radio label{display:inline}#_form_301_ ._row,#_form_301_ p,#_form_301_ label{margin-bottom:0.7em;width:100%}#_form_301_ ._row input[type=\"checkbox\"],#_form_301_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_301_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_301_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_301_ ._form-image{max-width:100%;height:auto !important}#_form_301_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_301_ input[type=\"radio\"],#_form_301_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_301_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_301_ ._inline-style{margin:20px 0 0 !important}#_form_301_ ._inline-style input[type=\"text\"]{width:100%}}#_form_301_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_301_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_301_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_301_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_301_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_301_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_301_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_301_ .field-required{color:#FF0000}#_form_301_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0) !important;border-top:0px solid #737373 !important;border-right:0px solid #737373 !important;border-bottom:0px solid #737373 !important;border-left:0px solid #737373 !important;max-width:800px;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#000000}#_form_301_ ._show_be_error{min-width:100%}#_form_301_._inline-form,#_form_301_._inline-form ._form-content{font-family:IBM Plex Sans;font-size:14px;font-weight:400}#_form_301_._inline-form ._row span,#_form_301_._inline-form ._row label{font-family:IBM Plex Sans;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_301__inlineform input[type=\"text\"],#_form_301__inlineform input[type=\"date\"],#_form_301__inlineform input[type=\"tel\"],#_form_301__inlineform select,#_form_301__inlineform textarea:not(.g-recaptcha-response){font-family:IBM Plex Sans;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_301_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_301_._inline-form .sms_consent_message,#_form_301_._inline-form ._form-thank-you{font-family:IBM Plex Sans;font-size:14px;font-weight:400;color:#888 !important}#_form_301_._inline-form ._form-label,#_form_301_._inline-form ._form-emailidentifier,#_form_301_._inline-form ._form-checkbox-option-label{font-family:IBM Plex Sans;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_301_._inline-form ._submit{margin-top:12px;font-family:IBM Plex Sans;font-size:14px;font-weight:400}#_form_301_._inline-form ._html-code h1,#_form_301_._inline-form ._html-code h2,#_form_301_._inline-form ._html-code h3,#_form_301_._inline-form ._html-code h4,#_form_301_._inline-form ._html-code h5,#_form_301_._inline-form ._html-code h6,#_form_301_._inline-form ._form-title{font-family:IBM Plex Sans;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_301_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_301_:before,#_form_301_:after{content:\" \";display:table}#_form_301_:after{clear:both}#_form_301_._inline-style{width:auto;display:inline-block}#_form_301_._inline-style input[type=\"text\"],#_form_301_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_301_._inline-style button._inline-style{position:relative;top:27px}#_form_301_._inline-style p{margin:0}#_form_301_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_301_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_301_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_301_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_301_ .iti{width:100%}#_form_301_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_301_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_301_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_301_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_301_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_301_ .iti__country-list--dropup{margin-bottom:4px}#_form_301_ .phone-error-hidden{display:none}#_form_301_ .phone-error{color:#E40E49}#_form_301_ .phone-input-error{border:1px solid #E40E49 !important}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_301_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_301_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_301_ ._submit:hover{background-color:#04937E !important}#_form_301_ input#email{padding:3px 12px;background-color:#ffffff}#_form_301_ ._row{margin-top:-5px}#_form_301_._form{margin-top:-5px}#_form_301_ ._error._below{position:relative !important}#_form_301_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_301_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_301_\" class=\"_form _form_301 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"301\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"301\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"9828494011f2fd6968fee0a8a9419a1e\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x74577619 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu email...\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x87696446 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[15][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[15][]\" name=\"field[15][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\" type=\"checkbox\" name=\"field[15][]\"\n          value=\"He le\u00eddo y acepto la pol\u00edtica de privacidad\"                                                                                 required                                >\n          <span>\n            <label for=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\">\n              He le\u00eddo y acepto la pol\u00edtica de privacidad<span class=\"field-required\">\n              *\n            <\/span>\n          <\/label>\n        <\/span>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n  <div class=\"_form_element _x09639014 _full_width \" >\n    <input type=\"hidden\" name=\"field[121]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x64811239 _full_width \" >\n    <input type=\"hidden\" name=\"field[122]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x58860354 _full_width \" >\n    <input type=\"hidden\" name=\"field[123]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x23331849 _full_width \" >\n    <input type=\"hidden\" name=\"field[125]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x72046679 _full_width \" >\n    <input type=\"hidden\" name=\"field[126]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x41336277 _full_width \" >\n    <input type=\"hidden\" name=\"field[127]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_button-wrapper _full_width\">\n    <button id=\"_form_301_submit\" class=\"_submit\" type=\"submit\">\n      \u00a1Me apunto!\n    <\/button>\n  <\/div>\n  <div class=\"_clear-element\">\n  <\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"15\":\"poltica_privacidad\",\"121\":\"utm_campaign\",\"122\":\"utm_source\",\"123\":\"utm_medium\",\"125\":\"utm_content\",\"126\":\"utm_adset\",\"127\":\"utm_ad\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Administrar preferencias<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_301_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_301_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_301_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Es necesario verificar %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Este campo es obligatorio.\");\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.\");\n            }\n        }\n        if (no_error && (elem.id == 'phone')) {\n            if (elem.value.trim() && typeof iti != 'undefined' && !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Ingresa un n\u00famero de tel\u00e9fono v\u00e1lido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una fecha v\u00e1lida.\");\n            }\n        }\n\n        if (no_error && elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required && !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Marca esta casilla para continuar\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') && el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') && typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_301_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_301_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"301\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n                });\n            } else {\n                _load_script('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script><style>\/* Texto junto al checkbox: blanco y en l\u00ednea *\/\n._form_301 ._checkbox-radio label {\n  display: inline !important;\n  margin-left: 8px !important;\n}\n\n\/* Color blanco del texto \"Verifica que eres un humano\" *\/\n._form_301 label[for=\"ls\"],\n._form_301 ._form_element label._form-label {\n  color: #ffffff !important;\n  display: inline-block;\n  font-weight: 400 !important;\n  margin-left: 8px;\n}\n\n\/* Placeholder del campo de email *\/\n#_form_301_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_301_ #email {\n  padding: 8px 12px !important;\n  height: 40px !important;\n  font-size: 14px !important;\n  line-height: 1.2 !important;\n  margin-bottom: 16px !important;\n}\n<\/style><\/div><\/div><\/span><\/p>\n<h2>Optimizaci\u00f3n SEO On Page<\/h2>\n<p>Ahora que ya has fijado tu estrategia de contenidos orientada a SEO y que te has preocupado por ofrecer una buena experiencia de usuario en tu sitio web, es el momento de hacer ciertos ajustes que favorecer\u00e1n la <strong>percepci\u00f3n de tu p\u00e1gina a ojos de Google<\/strong>.<\/p>\n<p>Para ello, <strong>una <\/strong><a href=\"https:\/\/dinorank.com\/blog\/auditoria-seo\/\" target=\"_blank\" rel=\"noopener\"><strong>auditor\u00eda SEO<\/strong><\/a><strong> nos indicar\u00e1 todos esos errores t\u00e9cnicos que debemos corregir<\/strong>, as\u00ed como otro tipo de mejoras que beneficiar\u00e1n la comprensi\u00f3n de nuestra web por parte de los motores de b\u00fasqueda.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-23518 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/propuesta-seo-auditoria-previa-dinorank-seo-onpage.png\" alt=\"Auditor\u00eda SEO On Page de DinoRANK para una propuesta SEO\" width=\"1024\" height=\"669\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/propuesta-seo-auditoria-previa-dinorank-seo-onpage.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/propuesta-seo-auditoria-previa-dinorank-seo-onpage-300x196.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/06\/propuesta-seo-auditoria-previa-dinorank-seo-onpage-768x502.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>No obstante, tengo que reconocer que la cantidad de acciones que puedes realizar para<a href=\"https:\/\/dinorank.com\/blog\/seo-on-page\/\" target=\"_blank\" rel=\"noopener\"> optimizar el SEO On Page<\/a> es realmente amplia y puede llegar a ser abrumadora para quien se inicia en esta actividad.<\/p>\n<p>Por eso, aqu\u00ed te dejo una peque\u00f1a checklist con las principales optimizaciones que siempre deber\u00edas revisar dentro de tu proyecto web.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones SEO On Page<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Evita el <a href=\"https:\/\/dinorank.com\/blog\/contenido-duplicado-como-afecta-y-solucion\/\" target=\"_blank\" rel=\"noopener\">contenido duplicado<\/a>, las <a href=\"https:\/\/dinorank.com\/blog\/canibalizacion-seo\/\" target=\"_blank\" rel=\"noopener\">canibalizaciones <\/a>y el <a href=\"https:\/\/dinorank.com\/blog\/que-es-el-thin-content-seo-y-como-detectarlo-con-dinorank\/\" target=\"_blank\" rel=\"noopener\">thin content<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Corrige los <a href=\"https:\/\/dinorank.com\/blog\/encuentra-y-resuelve-errores-404\/\" target=\"_blank\" rel=\"noopener\">errores 404<\/a> y revisa tus <a href=\"https:\/\/dinorank.com\/blog\/como-hacer-redireccion-301-rapido\/\" target=\"_blank\" rel=\"noopener\">redirecciones<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <a href=\"https:\/\/dinorank.com\/blog\/como-saber-si-google-ha-indexado-mi-web\/\" target=\"_blank\" rel=\"noopener\">Comprueba la indexaci\u00f3n de tus p\u00e1ginas<\/a>, as\u00ed como los ficheros robots.txt, Sitemap y el uso de las etiquetas index y follow.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Configura unos t\u00edtulos y meta etiquetas adaptados al SEO.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Utiliza datos estructurados en tus p\u00e1ginas para ayudar a Google a entender tus contenidos.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <a href=\"https:\/\/dinorank.com\/blog\/enlazado-interno-seo\/\" target=\"_blank\" rel=\"noopener\">Optimiza tus enlaces internos<\/a> para transmitir autoridad entre tus p\u00e1ginas y facilitar la navegaci\u00f3n del usuario.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<h2>Optimizaci\u00f3n SEO Off Page<\/h2>\n<p>Cuando hablamos sobre las acciones que se pueden realizar fuera de nuestro sitio web para optimizar el posicionamiento web casi siempre <strong>nos solemos referir a la construcci\u00f3n de enlaces<\/strong>, es decir, al Link Building.<\/p>\n<p>Ahora bien, el<a href=\"https:\/\/dinorank.com\/blog\/seo-off-page-guia\/\" target=\"_blank\" rel=\"noopener\"> SEO Off Page<\/a> es mucho m\u00e1s que crear unos cuantos enlaces. Consiste en lograr que nuestra web sea conocida y, por lo tanto, <strong>que se hable de nuestra marca en Internet<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22759 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-busquedas-marca.png\" alt=\"Estrategias de link building: b\u00fasqueda de marca en Google\" width=\"1024\" height=\"575\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-busquedas-marca.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-busquedas-marca-300x168.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-busquedas-marca-768x431.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>De esta forma, Google considerar\u00e1 que somos relevantes y nos premiar\u00e1 con un mejor posicionamiento entre sus resultados de b\u00fasqueda.<\/p>\n<p>Dentro de este proceso es cierto que los backlinks constituyen una parte esencial, pero no nos puede valer cualquier enlace, ni mucho menos podemos olvidarnos de otros mecanismos con los que impulsar tambi\u00e9n la visibilidad de nuestro proyecto web.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones SEO Off Page<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Aplica <a href=\"https:\/\/dinorank.com\/blog\/estrategias-link-building-para-seo\/\" target=\"_blank\" rel=\"noopener\">estrategias de Link Building<\/a> que funcionen.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Consigue <a href=\"https:\/\/dinorank.com\/blog\/como-conseguir-enlaces-de-calidad\/\" target=\"_blank\" rel=\"noopener\">enlaces externos de calidad<\/a> por tus propios medios.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Si compras backlinks, hazlo en <a href=\"https:\/\/dinorank.com\/blog\/comprar-enlaces-seo\/\" target=\"_blank\" rel=\"noopener\">plataformas de compra-venta de enlaces de confianza<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Potencia tu SEO Off Page a trav\u00e9s de las <a href=\"https:\/\/dinorank.com\/blog\/digital-pr-que-es\/\" target=\"_blank\" rel=\"noopener\">relaciones p\u00fablicas<\/a>.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Orienta siempre tu SEO Off Page a <a href=\"https:\/\/dinorank.com\/blog\/que-es-eeat-y-como-trabajarlo-caso-real-seo\/\" target=\"_blank\" rel=\"noopener\">mejorar tu EEAT<\/a>.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<h2>Optimizaci\u00f3n del SEO\u00a0local<\/h2>\n<p>El <a href=\"https:\/\/dinorank.com\/blog\/guia-seo-local\/\">SEO local<\/a> tiene varias diferencias frente al SEO tradicional.<\/p>\n<blockquote><p>Mientras el SEO cl\u00e1sico intenta posicionar una web para b\u00fasquedas generales, el SEO local se centra\u00a0en <strong>aparecer cuando alguien busca un negocio en una zona\u00a0concreta<\/strong>.<\/p><\/blockquote>\n<p>Es\u00a0decir, no basta con que tu web sea relevante. Tambi\u00e9n importa\u00a0mucho <strong>d\u00f3nde est\u00e1 tu negocio y qu\u00e9 se\u00f1ales geogr\u00e1ficas detecta\u00a0Google<\/strong>.<\/p>\n<p>Pi\u00e9nsalo un momento. No\u00a0es lo mismo posicionar una b\u00fasqueda como &#8220;abogado laboralista&#8221; que &#8220;abogado laboralista en Zaragoza&#8221;. En\u00a0ese segundo\u00a0caso <strong>Google prioriza negocios cercanos al\u00a0usuario<\/strong>, con perfiles bien optimizados y buena reputaci\u00f3n\u00a0local.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-26196 size-large\" title=\"Geogrid de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/11\/Geogrid-de-DinoRANK-1024x546.webp\" alt=\"Geogrid de DinoRANK\" width=\"1024\" height=\"546\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/11\/Geogrid-de-DinoRANK-1024x546.webp 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/11\/Geogrid-de-DinoRANK-300x160.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/11\/Geogrid-de-DinoRANK-768x410.webp 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/11\/Geogrid-de-DinoRANK.webp 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Por eso <a href=\"https:\/\/dinorank.com\/blog\/estrategia-seo-local\/\">el SEO local tiene algunos factores propios<\/a>.<\/p>\n<p>Uno de los m\u00e1s importantes es el <strong>perfil de empresa en Google<\/strong>. Completar bien ese perfil, mantener horarios actualizados y conseguir rese\u00f1as positivas reales es fundamental mejorar la visibilidad en el mapa y en los resultados locales.<\/p>\n<p>Pero <strong>el contenido de la web tambi\u00e9n juega su papel<\/strong>. Incluir p\u00e1ginas o textos que mencionen la ciudad, el barrio o la zona donde trabajas ayuda a que Google relacione tu negocio con su ubicaci\u00f3n.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones SEO local<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Optimizar el perfil de empresa en Google.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Conseguir rese\u00f1as de clientes.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Crear p\u00e1ginas orientadas a la ubicaci\u00f3n.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> <a href=\"https:\/\/dinorank.com\/blog\/keyword-research-local\/\">Usar keywords locales<\/a> en la web.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Aparecer en <a href=\"https:\/\/dinorank.com\/blog\/los-mejores-directorios-para-seo-local\/\">directorios y plataformas locales.<\/a><\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Mantener coherencia en nombre, direcci\u00f3n, web y tel\u00e9fono (<a href=\"https:\/\/dinorank.com\/blog\/napw-seo-negocio-local\/\">NAPW<\/a>).<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<h2>Optimizaci\u00f3n SEO para posicionar en la\u00a0IA<\/h2>\n<p>Hacer SEO hoy en d\u00eda no tiene sentido si no metemos la inteligencia artificial en la ecuaci\u00f3n.<\/p>\n<p>Ahora<strong> muchas preguntas se resuelven directamente en herramientas como <a href=\"https:\/\/dinorank.com\/blog\/seo-para-chatgpt-para-posicionar-marca\/\">ChatGPT<\/a>, Perplexity, Gemini, Claude<\/strong> o incluso sobre el propio buscador de Google cuando nos muestra sus famosas <a href=\"https:\/\/dinorank.com\/blog\/como-posicionar-ai-overviews\/\">AI Overviews<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30056 size-full\" title=\"Ejemplo de Google AI Overviews\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/07\/ai-overviews-ejemplo.png\" alt=\"Ejemplo de Google AI Overviews\" width=\"1024\" height=\"660\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/07\/ai-overviews-ejemplo.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/07\/ai-overviews-ejemplo-300x193.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/07\/ai-overviews-ejemplo-768x495.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>\u00bfLa consecuencia?<\/p>\n<p>El usuario ya no necesita visitar varias p\u00e1ginas para obtener una respuesta. <strong>La inteligencia artificial analiza informaci\u00f3n de distintas webs y construye una respuesta<\/strong> ahorr\u00e1ndonos mucho tiempo y trabajo.<\/p>\n<p>Ahora bien, \u00bfde qu\u00e9 p\u00e1ginas exactamente est\u00e1 sacando la IA toda esa informaci\u00f3n?<\/p>\n<p>Aqu\u00ed es donde entra en juego el <a href=\"https:\/\/dinorank.com\/blog\/seo-para-llms-como-trabajar-en-la-actualidad\/\">SEO para LLMs o LLMO<\/a>.<\/p>\n<blockquote><p>Lo que queremos es optimizar los contenidos para que los modelos de lenguaje de la IA puedan entenderlos bien y utilizarlos como fuente en sus respuestas.<\/p><\/blockquote>\n<p>No es exactamente lo mismo que el SEO tradicional, aunque guarda muchas similitudes con \u00e9ste.<\/p>\n<p>Estas son algunas de las acciones m\u00e1s relevantes para conseguir que la IA cite o mencione nuestra marca:<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Optimizaciones SEO para IA<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Crear contenido claro y bien estructurado.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Utilizar un lenguaje natural.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Responder preguntas de forma directa.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Optimizar para preguntas frecuentes y b\u00fasquedas conversacionales.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Trabajar entidades y contexto sem\u00e1ntico.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Citar fuentes, aportar datos verificables y experimentos propios.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Mantener el contenido actualizado.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Construir autoridad mediante menciones y enlaces.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<h2>\u00bfNecesitas pagar por alguna herramienta SEO para optimizar tu web?<\/h2>\n<p>Una de las primeras cuestiones que suelen plantearme quienes se empiezan a interesar por el mundo del SEO es cu\u00e1nto deben gastar en herramientas.<\/p>\n<p>Mi respuesta siempre es la misma: empieza con cero euros.<\/p>\n<p>Sinceramente creo que puedes realizar una buena optimizaci\u00f3n web de tu sitio para posicionarlo en los buscadores sin necesidad de gastar tu dinero en herramientas, ya que <strong>tienes a tu disposici\u00f3n un mont\u00f3n de <\/strong><a href=\"https:\/\/dinorank.com\/blog\/mejores-herramientas-posicionamiento-web\/\" target=\"_blank\" rel=\"noopener\"><strong>software gratuito para hacer SEO<\/strong><\/a> que puedes utilizar.<\/p>\n<p>As\u00ed, con el planificador de palabras clave (Google Keyword Planner) y Google Trends puedes hacer una investigaci\u00f3n de palabras clave m\u00e1s que decente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16729 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/05\/keyword-research-google-planificador.png\" alt=\"Captura del planificador de palabras clave de Google Ads\" width=\"1024\" height=\"757\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/05\/keyword-research-google-planificador.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/05\/keyword-research-google-planificador-300x222.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/05\/keyword-research-google-planificador-768x568.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Con Google Search Console y Google Analytics tienes de sobra para medir los resultados de tu web en cuanto a su posicionamiento en el buscador y las visitas recibidas.<\/p>\n<p>Con herramientas como Google Page Speed o GTmetrix puedes controlar el rendimiento de tu web.<\/p>\n<p>Incluso existen software profesional, como <a href=\"https:\/\/dinorank.com\/blog\/tutorial-screaming-frog\/\" target=\"_blank\" rel=\"noopener\">Screaming Frog<\/a>, que puedes utilizar sin coste con ciertas limitaciones.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22770 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-screaming-frog.png\" alt=\"Estrategias de link building: uso de screaming frog para encontrar enlaces rotos\" width=\"1024\" height=\"693\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-screaming-frog.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-screaming-frog-300x203.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/05\/estrategias-linkbuilding-screaming-frog-768x520.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3>\u00bfQuiere decir eso que no hay que pagar por herramientas SEO?<\/h3>\n<p>Como te he dicho, no es necesario, pero evidentemente ayuda. <strong>Una soluci\u00f3n de pago te facilita mucho la vida <\/strong>cuando realizas diferentes tareas SEO, ya que te permite tener todas tus herramientas en un \u00fanico lugar y te ofrece utilidades que no sueles encontrar en las opciones gratuitas.<\/p>\n<p>Ahora bien, tampoco hace falta irse a las opciones m\u00e1s caras, como Ahrefs o <a href=\"https:\/\/dinorank.com\/blog\/tutorial-semrush\/\">Semrush<\/a>. Hoy en d\u00eda puedes <strong>optar por un <\/strong><a href=\"https:\/\/dinorank.com\/blog\/software-seo\/\" target=\"_blank\" rel=\"noopener\"><strong>software SEO profesional<\/strong><\/a><strong> y de garant\u00edas, como <a href=\"https:\/\/dinorank.com\/\" target=\"_blank\" rel=\"noopener\">DinoRANK<\/a><\/strong>, que te permite realizar todas las tareas que necesitas para optimizar el SEO de tu web por un precio que est\u00e1 al alcance de todos los bolsillos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-32206 size-full\" title=\"Tabla de tracking de palabras clave de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/09\/dinorank-keyword-tracking-tabla.png\" alt=\"Tabla de tracking de palabras clave de DinoRANK\" width=\"1024\" height=\"557\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/09\/dinorank-keyword-tracking-tabla.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/09\/dinorank-keyword-tracking-tabla-300x163.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/09\/dinorank-keyword-tracking-tabla-768x418.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Como ves, no necesitas realizar una gran inversi\u00f3n para empezar en el SEO.<\/p>\n<p><a href=\"https:\/\/dinorank.com\/blog\/descubre-dinorank\/\" target=\"_blank\" rel=\"noopener\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-24924 size-large\" title=\"Aumenta tus visitas desde Google con DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-1024x427.png\" alt=\"Aumenta tus visitas desde Google con DinoRANK\" width=\"1024\" height=\"427\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-1024x427.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-300x125.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank-768x321.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/banner-dinorank.png 1071w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><br \/>\nLo primordial es <strong>entender los principales conceptos y comenzar a aplicarlos<\/strong> cuanto antes.<\/p>\n<p>S\u00f3lo as\u00ed, gracias a la pr\u00e1ctica, conseguir\u00e1s mejorar tus resultados cada vez m\u00e1s y observar\u00e1s los beneficios que una correcta optimizaci\u00f3n SEO de los motores de b\u00fasqueda tiene sobre tu proyecto web.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aunque pueda parecer injusto, lo cierto es que no siempre la mejor web es la que tiene m\u00e1s \u00e9xito. Conozco muchas p\u00e1ginas en las que sus creadores han puesto un especial cari\u00f1o, con est\u00e9ticas muy bonitas y contenido de calidad que, sin embargo, apenas reciben visitas. El motivo es simple: se han olvidado de prestar [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":24799,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-24655","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprender-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/24655","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=24655"}],"version-history":[{"count":9,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/24655\/revisions"}],"predecessor-version":[{"id":32764,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/24655\/revisions\/32764"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/24799"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=24655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=24655"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=24655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}