{"id":709,"date":"2023-08-07T09:24:35","date_gmt":"2023-08-07T07:24:35","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=709"},"modified":"2026-03-16T10:52:19","modified_gmt":"2026-03-16T09:52:19","slug":"textos-optimizados-para-seo","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/textos-optimizados-para-seo\/","title":{"rendered":"Textos optimizados para SEO"},"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>Hace ya unos a\u00f1os abr\u00ed mi primer blog con la idea de escribir art\u00edculos que pudieran ser interesantes a quienes quisieran aprender de m\u00fasica.<\/p>\n<p>No obstante, si de algo me di cuenta en poco tiempo es que <span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;esos art\u00edculos no ten\u00edan ninguna visibilidad en Google&nbsp;<\/span>.<\/p>\n<p>\u00bfPor qu\u00e9? Por una sencilla raz\u00f3n: <b>no es lo mismo escribir un texto plano que escribir un texto SEO dise\u00f1ado para el posicionamiento en buscadores.<\/b><\/p>\n<p><a href=\"https:\/\/dinorank.com\/seccion-dinoBrain\/\" target=\"_blank\" rel=\"noopener\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-24924 size-large\" title=\"Descubre DinoBRAIN, la IA de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png\" alt=\"Descubre DinoBRAIN, la IA de DinoRANK\" width=\"1024\" height=\"427\" \/><\/a><\/p>\n<p>Es por ello que a d\u00eda de hoy podemos encontrar art\u00edculos realmente interesantes en p\u00e1ginas 2 y 3 de Google, mientras que otros no tan interesantes para el lector se encuentran en la primera p\u00e1gina, o m\u00e1s a\u00fan, en las primeras posiciones.<\/p>\n<p>Para evitar que esto le ocurra a tus contenidos, en este art\u00edculo te voy a explicar <b>todos los aspectos que debes tener en cuenta para que puedas escribir un texto SEO<\/b> y de esta forma puedas mejorar su posici\u00f3n en las SERPS mediante estrategias de marketing de contenidos.<\/p>\n<h2>Redacci\u00f3n de textos con la IA<\/h2>\n<p>Aunque voy a empezar haciendo menci\u00f3n primero a la Inteligencia Artificial, porque es innegable que cada vez est\u00e1 m\u00e1s presente en nuestro d\u00eda a d\u00eda y es, precisamente, la redacci\u00f3n de contenidos uno de los usos m\u00e1s habituales de la IA dentro del sector SEO.<\/p>\n<p>Cuando empieces a leer el contenido del post y todo lo que te voy a explicar, quiz\u00e1s empieces a pensar que el contenido SEO es bastante laborioso de crear.<\/p>\n<p><b>Y lo cierto es que es as\u00ed.<\/b><\/p>\n<p>Por suerte, vivimos en una \u00e9poca en la que <span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;la inteligencia artificial cada vez tiene m\u00e1s fuerza&nbsp;<\/span>, siendo capaz de facilitarnos la vida en muchos aspectos.<\/p>\n<p>Uno de ellos, el de c\u00f3mo hacer un texto optimizado para el SEO.<\/p>\n<p>A d\u00eda de hoy existen herramientas, como Chat GPT de Open AI, que nos pueden ser de gran ayuda para obtener <b>ideas de temas a tratar, obtener algunas keywords relevantes o incluso redactar alguna secci\u00f3n<\/b>.<\/p>\n<p>Eso s\u00ed, me gustar\u00eda recalcar el hecho de <strong>solo redactar una parte del contenido,<\/strong> porque lo cierto es que esta herramienta no est\u00e1 optimizada para redactar textos SEO.<\/p>\n<p>Por suerte, hay <a href=\"https:\/\/dinorank.com\/blog\/herramientas-seo-para-optimizacion-de-contenidos\/\">herramientas de creaci\u00f3n y optimizaci\u00f3n de contenidos<\/a> mejores para eso.<\/p>\n<p>Como por ejemplo DinoRANK, que tiene una funcionalidad para redactar textos optimizados para SEO con IA que han llamado <strong><a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\/\" target=\"_blank\" rel=\"noopener\">DinoBRAIN<\/a><\/strong>.<\/p>\n<p><iframe title=\"No uses ChatGPT en 2026 para CREAR contenido y MEJORAR tu posicionamiento con la IA\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/rE73TT14b2Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>DinoBRAIN, a diferencia del resto de <a href=\"https:\/\/dinorank.com\/blog\/herramientas-inteligencia-artificial-para-escribir-textos\/\">IAs de redacci\u00f3n<\/a>, est\u00e1 dise\u00f1ada para ser capaz de <strong>crear textos 100% optimizados para posicionar en Google<\/strong>. Y adem\u00e1s su funcionamiento es super sencillo.<\/p>\n<p>T\u00fa solo tienes que a\u00f1adirle una keyword que te interese posicionar, hacer clic en el bot\u00f3n \u201cCrear texto\u201d y en 1-2 minutos DinoRANK habr\u00e1 creado un art\u00edculo largo, original y totalmente optimizado para SEO. Listo para publicar en tu web.<\/p>\n<p>Muy pocas herramientas SEO del mercado incluyen esto.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-21112 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/optimizar-textos-con-dinobrain.png\" alt=\"optimizar textos con dinobrain\" width=\"1000\" height=\"340\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/optimizar-textos-con-dinobrain.png 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/optimizar-textos-con-dinobrain-300x102.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/optimizar-textos-con-dinobrain-768x261.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Te explico, esta tool ha sido desarrollada para generar textos que posicionen en los motores de b\u00fasqueda. Para ello cuenta con 2 aspectos clave.<\/p>\n<p><b>El primero es su conexi\u00f3n a internet,<\/b> lo cual le permite estar actualizada en todo momento.<\/p>\n<p><strong>El segundo es que ha sido desarrollada en base a la funci\u00f3n TF*IDF de DinoRANK.<\/strong> Esto tiene grandes beneficios de cara a la optimizaci\u00f3n SEO, ya que cumple la mayor\u00eda de los factores clave que te voy ha mencionar en este art\u00edculo a la hora de redactar contenido optimizado para SEO.<\/p>\n<p>De entrada, me gustar\u00eda destacar que lo primero que hace este m\u00f3dulo es <strong>analizar a la competencia.<\/strong> Un aspecto que, como vamos a ver, es indispensable para posicionar cualquier texto en Google.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">De esta forma, consigue entender no s\u00f3lo la intenci\u00f3n de b\u00fasqueda, sino tambi\u00e9n otros aspectos clave, como son la estructura de encabezados y la longitud que deber\u00eda tener el texto.<\/div><\/div>\n<p>Pero el punto fuerte viene ahora porque el TF *IDF, adem\u00e1s de todo lo anterior, tiene como misi\u00f3n principal la de <b>obtener todas las palabras clave y relacionadas que deber\u00edan aparecer en tu texto<\/b> para posicionar en Google.<\/p>\n<p>Esto permite, como te digo, <a href=\"https:\/\/dinorank.com\/blog\/como-escribir-textos-con-ia-para-posicionar\/\">generar contenidos con IA optimizados para SEO<\/a> y que realmente posicionen en Google.<\/p>\n<p>Pero hay m\u00e1s.<\/p>\n<p>Y es que, a todo lo que te he comentado debemos a\u00f1adir que est\u00e1 herramienta tambi\u00e9n te ofrece una<b> imagen generada con IA y la posici\u00f3n de subirlo todo a WordPress con un solo clic.<\/b><\/p>\n<p>\u00bfHab\u00edas venido a este art\u00edculo con la idea de aprender c\u00f3mo hacer textos SEO y redactar un buen post?<\/p>\n<p>DinoRANK y su m\u00f3dulo de IA, <a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\" target=\"_blank\" rel=\"noopener\">DinoBRAIN, es la respuesta m\u00e1s r\u00e1pida.<\/a><\/p>\n<p><a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"wp-image-24837 size-full aligncenter\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png\" alt=\"dinobrain\" width=\"1071\" height=\"447\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png 1071w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-300x125.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-1024x427.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-768x321.png 768w\" sizes=\"(max-width: 1071px) 100vw, 1071px\" \/><\/a><\/p>\n<h2>C\u00f3mo escribir un texto SEO t\u00fa mismo<\/h2>\n<p><em>\u00bfY si en vez de usar la IA prefiero escribir los textos yo mismo?<\/em><\/p>\n<p>Escribir textos optimizados para SEO no tiene una gran complejidad, s\u00f3lo tienes que tener en cuenta una serie de factores.<\/p>\n<p>Vamos a ello.<\/p>\n<p>Si bien es cierto que el algoritmo de Google tiene en cuenta muchos aspectos, est\u00e1 m\u00e1s que demostrado que para triunfar con tus art\u00edculos debes tener en consideraci\u00f3n, por lo menos, <b>los siguientes puntos en tu SEO de contenidos<\/b>:<\/p>\n<ul>\n<li>Comprender la intenci\u00f3n de b\u00fasqueda<\/li>\n<li>Estructura del contenido SEO<\/li>\n<li>Las palabras clave<\/li>\n<li>La competencia<\/li>\n<li>Los t\u00edtulos y encabezados<\/li>\n<li>Las Metas<\/li>\n<li>Las URLs<\/li>\n<\/ul>\n<p>No importa si son post de blog o SEO para landing pages.<\/p>\n<p>Vamos a ver cada factor de posicionamiento para escribir un post en m\u00e1s detalle.<\/p>\n<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>\n<h3>Comprender la intenci\u00f3n de b\u00fasqueda<\/h3>\n<p>Cuando un usuario accede a cualquier buscador, por ejemplo a Google, tiene la intenci\u00f3n de realizar una acci\u00f3n, ya sea informarse, comprar un producto, contratar un servicio, etc.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">A esta acci\u00f3n se la llama intenci\u00f3n de b\u00fasqueda y comprenderla es fundamental para escribir un buen art\u00edculo.<\/div><\/div>\n<p>Es por ello que si tu quieres redactar un texto con la idea de posicionar la keyword <b>\u201cim\u00e1genes de Bola de Drag\u00f3n\u201d<\/b> no lo vas a conseguir ya que la persona que escribe en Google \u201cim\u00e1genes de Bola de Drag\u00f3n\u201d quiere ver im\u00e1genes de Bola de Drag\u00f3n. Es decir, la intenci\u00f3n del usuario no es leer un post.<\/p>\n<p>Esto Google lo sabe y en consecuencia muestra en los primeros resultados de las SERPS otros formatos y p\u00e1ginas como ShutterStock o Pixabay y redes sociales como Pinterest.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18201 size-large\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO-1024x800.png\" alt=\"comprender intenci\u00f3n de b\u00fasqueda para escribir textos SEO\" width=\"770\" height=\"602\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO-1024x800.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO-300x234.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO-768x600.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO-87x67.png 87w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/comprender-intencion-de-busqueda-para-escribir-texto-SEO.png 1065w\" sizes=\"(max-width: 770px) 100vw, 770px\" \/><\/p>\n<p>Y de igual forma, t\u00fa tambi\u00e9n deber\u00edas comprender este aspecto y, por lo tanto, solo &#8220;atacar&#8221; intenciones de b\u00fasqueda que puedas resolver seg\u00fan lo que quiere el p\u00fablico objetivo, es decir, contenido que tiende a posicionar mucho mejor.<\/p>\n<p>En resumen, si quieres conseguir que tu texto posicione, <b>lo primero que debes tener en mente es saber si ser\u00e1s capaz de resolver la intenci\u00f3n de b\u00fasqueda del lector<\/b>. Y para ello, basta con ir a Google y ver qu\u00e9 muestra en los 10 primeros resultados.<\/p>\n<p>Es el principio b\u00e1sico de la redacci\u00f3n SEO para comenzar.<\/p>\n<h3>Estructura del contenido SEO<\/h3>\n<p>En relaci\u00f3n con el punto anterior est\u00e1 la estructura del contenido optimizado para SEO, lo cual no es m\u00e1s que la forma con la que ordenamos las diferentes ideas dentro de nuestro art\u00edculo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-18202 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Como-escribir-un-texto-SEO.png\" alt=\"C\u00f3mo escribir un texto SEO\" width=\"906\" height=\"455\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Como-escribir-un-texto-SEO.png 906w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Como-escribir-un-texto-SEO-300x151.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/Como-escribir-un-texto-SEO-768x386.png 768w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/p>\n<p>De nuevo, y una vez m\u00e1s, Google es la respuesta ya que basta con buscar la palabra que quieres posicionar en las SERPs y ver los primeros resultados.<\/p>\n<p>La forma en la que los competidores organicen sus contenidos SEO te marcar\u00e1 el camino ya que es el mejor contenido que hay actualmente.<\/p>\n<p><b>Si Google devuelve listados en los resultados de b\u00fasqueda, tendr\u00e1s que crear un art\u00edculo con listados<\/b>. Y si Google devuelve p\u00e1ginas web con textos de 3.000 palabras y perfectamente estructurados, tendr\u00e1s que replicarlo. Da igual si es SEO normal o SEO local.<\/p>\n<p><b>En este aspecto, yo suelo usar la <a href=\"https:\/\/dinorank.com\/blog\/mejorar-intencion-de-busqueda\/\" target=\"_blank\" rel=\"noopener\">funci\u00f3n del TF*IDF de DinoRANK<\/a><\/b> ya que me indica la longitud del contenido y c\u00f3mo se jerarquiza a nivel de encabezados. Analiza dichos encabezados y crea una buena estructura de contenido en base a ellos (tranquilo, que lo veremos en m\u00e1s detalle en unos minutos).<\/p>\n<h3>Longitud del texto<\/h3>\n<p>Llega uno de los momentos m\u00e1s controvertidos del SEO para contenidos. Hasta hace poco tiempo se insist\u00eda mucho en que si se quiere posicionar en lo m\u00e1s alto de las SERPS, <b>la redacci\u00f3n de textos deb\u00eda ser extensa e incluir el mayor n\u00famero de palabras posibles<\/b> para hacerlo muy largo.<\/p>\n<p>No obstante, esto no es as\u00ed (o al menos ya no lo es).<\/p>\n<p>Por ello, y como te hab\u00eda comentado justo en el punto anterior, <span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;debes analizar a tu competencia y ver la longitud de sus art\u00edculos&nbsp;<\/span>. No hay que redactar contenidos de m\u00e1s ni meter paja, sino escribir de forma natural.<\/p>\n<h3>Palabras clave o Keywords<\/h3>\n<p>Este punto es cr\u00edtico y si no lo he incluido como primero en este listado de creaci\u00f3n de contenido es para mantener una secuencia l\u00f3gica de cara a la redacci\u00f3n de art\u00edculos en base al marketing de contenidos.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#acc1b5;border-radius:4px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#DFF4E8;color:#000000;border-top-left-radius:2px;border-top-right-radius:2px\">\u00bfQu\u00e9 son las palabras clave?<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:2px;border-bottom-right-radius:2px\">Las palabras clave o keywords son palabras o conjuntos de palabras que se usan para describir el contenido de un art\u00edculo y que tienen una cantidad de b\u00fasquedas mensuales que pueden traernos tr\u00e1fico a nuestra web.<\/p>\n<p>Con herramientas como <a id=\"CTA-3\" href=\"https:\/\/dinorank.com\/seccion-keyword-research\/\" target=\"_blank\" rel=\"noopener\">DinoRANK podr\u00e1s encontrar estas palabras clave<\/a> que necesitas para crear nuevo contenido.<\/div><\/div>\n<p>As\u00ed pues, dichas keyword son fundamentales en cualquier estrategia de SEO para contenidos.<\/p>\n<p>Tanto es as\u00ed, que antes de ponerte a escribir, debes realizar un estudio de keywords, keyword research o <b>investigaci\u00f3n de palabras clave para ver cu\u00e1les deber\u00edan aparecer en tu art\u00edculo SEO<\/b>.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Para ello tienes que tener en cuenta tanto las propias derivadas de la palabra clave principal como aquellas LSI (Latent Semantic Indexing) que deben aparecer por la propia naturaleza del texto.<\/div><\/div>\n<p>Te pongo en situaci\u00f3n: imag\u00ednate que escribir sobre una receta de patatas fritas en freidora de aire, <b>deber\u00e1s tener en cuenta las palabras clave para su posicionamiento SEO<\/b> (como por ejemplo \u201cc\u00f3mo hacer patatas fritas en freidora de aire caliente\u201d).<\/p>\n<p>No obstante, adem\u00e1s de ello, tambi\u00e9n deber\u00e1s realizar una b\u00fasqueda de palabras sin\u00f3nimas y relacionadas con la receta como, por ejemplo, freidora sin aceite, air fryer, papas fritas, pelador, cuchillo, ketchup, etc.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Para conseguir las palabras clave derivadas de la principal puedes usar la funcionalidad de Keyword Explorer de DinoRANK, mientras que para conseguir esas palabras relacionadas que la competencia ya ha incluido puedes usar de nuevo la funci\u00f3n del TF*IDF.<\/div><\/div>\n<p>Ambas herramientas las veremos en m\u00e1s detalle en un par de minutos.<\/p>\n<p>Realizar estas acciones te otorgar\u00e1 una<b> amplio abanico de palabras clave que te ayuden a posicionar tu texto SEO.\u00a0<\/b><\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:4px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937d;color:#ffffff;border-top-left-radius:2px;border-top-right-radius:2px\">Curso gratuito SEO<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:2px;border-bottom-right-radius:2px\">Si quieres aprender a hacer un buen keyword research y a crear contenido para esas keywords que posicione en Google, <a href=\"https:\/\/dinosauriomecanizado.com\/curso-seo\/\" target=\"_blank\" rel=\"noopener\">en este curso gratuito aprender\u00e1s a hacerlo paso a paso.<\/a><\/p>\n<p>Aunque no seas un experto en SEO ni puedas dedicarte mucho tiempo a esto.<\/div><\/div>\n<h3>La competencia<\/h3>\n<p>Analizar a la competencia es tan importante en cualquier estrategia SEO que sin haber llegado a este punto ya la he nombrado varias veces.<\/p>\n<p>As\u00ed pues, y para no repetirme demasiado, simplemente te recordar\u00e9 que <b>debes entender c\u00f3mo estructura el contenido la competencia y qu\u00e9 palabras clave est\u00e1n utilizando tus competidores<\/b>.<\/p>\n<p>De esta forma conseguir\u00e1s una visi\u00f3n completa sobre c\u00f3mo debes generar tu propio contenido.<\/p>\n<p>\u00a1Cuidado! <strong>Aqu\u00ed la idea no es copiar y pegar<\/strong>, sino aprender, comprender y ver c\u00f3mo podemos darle al usuario una respuesta mejor con nuestra p\u00e1gina web o nicho.<\/p>\n<h3>Encabezados<\/h3>\n<p>Una vez tenemos ya redactado nuestro <b>texto SEO debemos darle un t\u00edtulo<\/b>, lo cual es cr\u00edtico.<\/p>\n<p>Piensa que el t\u00edtulo SEO o H1 de tu contenido es el primer punto de contacto entre Google y tu art\u00edculo. Raz\u00f3n por la cual \u00e9ste debe ser atractivo (aqu\u00ed te ayudar\u00e1 el SEO copywriting), claro y, por supuesto, debe contener la palabra clave principal.<\/p>\n<p>As\u00ed mismo, <b>debes a\u00f1adir otros encabezados <\/b>para marcar las diferentes secciones de tu contenido. Esto te permitir\u00e1 jerarquizar tu art\u00edculo, mediante los niveles H2, H3, H4, etc.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21095\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/ejemplo-encabezado-h1.webp\" alt=\"ejemplo encabezado h1\" width=\"1000\" height=\"340\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/ejemplo-encabezado-h1.webp 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/ejemplo-encabezado-h1-300x102.webp 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/ejemplo-encabezado-h1-768x261.webp 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<h3>Enlazado interno o interlinking<\/h3>\n<p>Otro aspecto fundamental a la hora de optimizar textos SEO son los enlaces internos. Esto es fundamental por varias razones.<\/p>\n<p>La primera es que cuando enlazamos un art\u00edculo, <b>el texto ancla indica a los motores de b\u00fasqueda sobre qu\u00e9 tratar\u00e1 dicha p\u00e1gina o entrada<\/b>, lo cual ayuda a reforzar su sem\u00e1ntica.<\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">As\u00ed mismo, el hecho de enlazar varias veces un art\u00edculo aumenta su Page Rank o lo que es lo mismo, la importancia que tiene dentro de tu p\u00e1gina web.<\/div><\/div>\n<p>Por otro lado, no debemos dejar de lado al usuario ya que<b> el interlinking debe de dise\u00f1arse con la idea de que el usuario pueda navegar de un art\u00edculo a otro dentro de tu web.<\/b><\/p>\n<p>As\u00ed pues, si en un art\u00edculo introducimos un concepto sobre el cual crees que el usuario pueda querer saber m\u00e1s o informarse sobre ello, podemos crear un enlace hacia dicho art\u00edculo para que pueda acceder a \u00e9l.<\/p>\n<span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;Tambi\u00e9n puedes crear enlaces externos hacia p\u00e1ginas de autoridad relacionadas y que amplien o sustenten lo que t\u00fa cuentas en el post&nbsp;<\/span>.<\/p>\n<p>Si quieres aprender m\u00e1s sobre enlazado interno, <a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/enlazado-interno-seo\/\" target=\"_blank\" rel=\"noopener\">\u00e9chale un vistazo a este post.<\/a><\/p>\n<h3>Otros aspectos del pasado<\/h3>\n<p>Adem\u00e1s de lo mencionado anteriormente, me gustar\u00eda nombrar 2 aspectos que, si bien, antes ten\u00edan su importancia de cara al posicionamiento de un contenido SEO, ya no la tienen.<\/p>\n<p>El primero de ellos es <b>la URL, la cual ha ido perdiendo importancia a lo largo del tiempo. <\/b>Por buenas pr\u00e1cticas, yo te recomiendo que contenga la palabra clave, no tenga una extensi\u00f3n demasiado grande y sea amigable.<\/p>\n<p>No obstante, como te digo,<b> este factor ya no es clave.<\/b><\/p>\n<p>As\u00ed mismo, las metas tampoco tienen un car\u00e1cter cr\u00edtico en el posicionamiento de tu texto SEO. En cualquier caso, yo te aconsejo optimizarlas pero con la idea de mejorar el CTR (Click Through Rate o porcentaje de clics), es decir, <strong>mejorar las opciones de que el lector haga clic en tu art\u00edculo<\/strong> en lugar de uno de la competencia.<\/p>\n<p><a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"wp-image-24837 size-full aligncenter\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png\" alt=\"dinobrain\" width=\"1071\" height=\"447\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png 1071w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-300x125.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-1024x427.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN-768x321.png 768w\" sizes=\"(max-width: 1071px) 100vw, 1071px\" \/><\/a><\/p>\n<h2>Herramientas de SEO para encontrar las palabras clave<\/h2>\n<p>Como te he comentado anteriormente, las palabras clave juegan un rol important\u00edsimo en el posicionamiento SEO. Es por ello que <b>debes encontrar todas aquellas relacionadas con el art\u00edculo que debas redactar <\/b>e incluirlas en la medida de su importancia.<\/p>\n<p>Con esto \u00faltimo, quiero decirte que <span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;deber\u00e1n aparecer con una frecuencia directamente proporcional a su volumen&nbsp;<\/span>.<\/p>\n<p>Para encontrar dichas keywords, existen diversas herramientas SEO, tanto gratuitas como de pago.<\/p>\n<p>Herramientas gratuitas ampliamente usadas son <b>Answer The Public, Keyword Surfer o el Keyword Planner de Google<\/b>. Todas estas herramientas est\u00e1n muy bien ya que te permiten obtener una amplia variedad de keywords, tanto de short tail, como middle tail y long tail.<\/p>\n<p>No obstante, estas tools no te permiten saber con precisi\u00f3n los vol\u00famenes de cada una de las palabras, su CPC o la tendencia a lo largo del tiempo.<\/p>\n<p>Es por ello que <b>si realmente quieres crear textos optimizados para SEO debes recurrir a herramientas profesionales.<\/b> Algunas de las m\u00e1s usadas a d\u00eda de hoy son Ahrefs, Semrush o <a id=\"CTA-3\" href=\"https:\/\/dinorank.com\/\" target=\"_blank\" rel=\"noopener\"><strong>DinoRANK<\/strong><\/a>, la cual es de lejos la m\u00e1s econ\u00f3mica de las 3 y que ofrece todo lo necesario para trabajar a fondo el SEO de una web.<\/p>\n<p><a href=\"https:\/\/dinorank.com\/seccion-keyword-research\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" 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<p>Para obtener tus palabras clave con DinoRANK tienes 3 opciones, como te comentaba anteriormente:<\/p>\n<ul>\n<li>Usar el Keyword Explorer<\/li>\n<li>Usar su funci\u00f3n de TF IDF<\/li>\n<li>Uas el m\u00f3dulo de visibilidad<\/li>\n<\/ul>\n<p>Vamos a profundizar en cada una de ellas.<\/p>\n<h3>Keyword Explorer<\/h3>\n<p>El keyword explorer es una <b>funcionalidad que te permite obtener una amplia lista de palabras clave a partir de una principal,<\/b> que llamamos seed keyword o palabra clave semilla.<\/p>\n<p>Solo tienes que plantar dicha semilla en el Keyword Explorer, seleccionar el pa\u00eds y el mismo idioma en el que quieras posicionar y darle a buscar. En este momento te aparecen un amplio listado de variantes que deber\u00edan tener en cuenta en base a su volumen y CPC.<\/p>\n<p><img loading=\"lazy\" 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>Eso s\u00ed, en este punto me gustar\u00eda decirte que debes tener cuidado con introducir demasiadas derivadas de una palabra principal ya que <b>puede acabar generando un texto saturado de dicha keyword<\/b> (o <a href=\"https:\/\/dinorank.com\/blog\/keyword-stuffing\/\">keyword stuffing<\/a>).<\/p>\n<p>Y este aspecto no solo influye de cara a optimizar un texto SEO a ojos de Google. <strong>Ponte en la piel del usuario<\/strong> e imag\u00ednate que empiezas a leer un art\u00edculo y ya en el primer p\u00e1rrafo lees la misma palabra 3 veces. \u00bfNo crees que te acabar\u00edas yendo a los 5 minutos?<\/p>\n<p>Esto lo solucionamos con el m\u00f3dulo del TF*IDF.<\/p>\n<h3>TF*IDF<\/h3>\n<p>Para evitar el problema de nuestro post del apartado anterior te aconsejo usar la funcionalidad del TF IDF.<\/p>\n<p>\u00c9sta es una herramienta que analiza a los 10 primeros competidores y saca las palabras clave que usa para posicionar sus textos SEO en los resultados de Google.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21110 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/tf-idf.png\" alt=\"tf idf\" width=\"1000\" height=\"340\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/tf-idf.png 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/tf-idf-300x102.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/tf-idf-768x261.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p><b>Usar este m\u00f3dulo te aportar\u00e1 una amplia nube de palabras o entidades relacionadas con la tem\u00e1tica de tu art\u00edculo.<\/b><\/p>\n<p>\u00bfRecuerdas el ejemplo que te coment\u00e9 de patatas fritas en freidora de aire? Pues eso, no es lo mismo encontrar en un mismo art\u00edculo 10 veces la keyword &#8220;freidora de aire&#8221; que leer &#8220;air fryer&#8221;, &#8220;airfryer&#8221; o &#8220;freidora sin aceite&#8221;.<\/p>\n<p>Todas ellas variantes de la primera y que ayudan a <strong>dotar a tu contenido de una riqueza sem\u00e1ntica que solo un art\u00edculo natural puede tener.<\/strong><\/p>\n<div class=\"su-note border=#000000\"  style=\"border-color:#c5dace;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#DFF4E8;border-color:#ffffff;color:#000000;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\">Antes te he mencionado que <a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\" target=\"_blank\" rel=\"noopener\">DinoBRAIN, la IA de DinoRANK para generar textos optimizados para SEO,<\/a> <strong>se basaba en la funci\u00f3n de TF*IDF para hacer bien su trabajo.<\/strong> Ahora entiendes por qu\u00e9 es importante.<\/div><\/div>\n<h3>Visibilidad<\/h3>\n<p>Adem\u00e1s de las 2 opciones antes comentadas, existe una tercera que me gustar\u00eda comentar: el m\u00f3dulo de Gr\u00e1fica de Visibilidad.<\/p>\n<p><b>Esta herramienta es perfecta para analizar a los competidores de manera individual.<\/b> Te explico, si quieres ver las palabras que tiene un competidor rankeando en las mejores posiciones solo debes introducir su nombre de dominio en la caja de la izquierda y darle a buscar.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21111 size-full\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/visibilidad-y-competencia.png\" alt=\"visibilidad y competencia\" width=\"1000\" height=\"340\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/visibilidad-y-competencia.png 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/visibilidad-y-competencia-300x102.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2023\/08\/visibilidad-y-competencia-768x261.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>En este momento te va a ofrecer una <b>tabla con las principales keywords que posiciona,<\/b> adem\u00e1s de su volumen, la posici\u00f3n que ocupa en las SERPS y, por supuesto, el tr\u00e1fico que consiguen.<\/p>\n<p>Pues bien,<b> \u00bfc\u00f3mo podemos adaptar esta funcionalidad a nuestro objetivo de redactar textos SEO?<\/b><\/p>\n<p>Muy f\u00e1cil, solo tienes que pasar la URL de los competidores que a ti te interesen, seleccionar la opci\u00f3n de URL y listo, ya tendr\u00e1s todas las palabras para ese art\u00edculo en concreto.<\/p>\n<h2>Optimizar textos para aparecer en las respuestas de la IA<\/h2>\n<p>Si antes hemos comentado c\u00f3mo usar la IA para crear tus textos, ahora vamos a ver c\u00f3mo hacer que tus textos aparezcan en la IA.<\/p>\n<p>Y es que <strong>muchas b\u00fasquedas ya no terminan en un clic, sino en una respuesta generada por IA<\/strong>.<\/p>\n<p>Por eso, adem\u00e1s de posicionar en Google, en el momento actual tambi\u00e9n interesa que tu contenido sea lo bastante claro y s\u00f3lido como para que un modelo de inteligencia artificial (o LLM) lo tenga en cuenta al construir sus respuestas.<\/p>\n<p>As\u00ed que, si creas textos con IA y quieres que tengan opciones de ser citados o mencionados por un LLM, revisa estos puntos:<\/p>\n<ul>\n<li>Ofrece una <strong>respuesta directa y clara<\/strong>, define conceptos sin rodeos y evita frases ambiguas.<\/li>\n<li>Incluye <strong>datos concretos<\/strong>, ejemplos propios y, cuando sea posible, referencias a fuentes reconocibles.<\/li>\n<li>Usa <strong>encabezados coherentes<\/strong> y sigue un orden l\u00f3gico, para que los modelos puedan extraer m\u00e1s f\u00e1cilmente las partes \u00fatiles.<\/li>\n<li>No te quedes en la superficie. Da una <strong>cobertura tem\u00e1tica completa<\/strong> y responde tambi\u00e9n a dudas relacionadas que un usuario podr\u00eda tener sobre el mismo tema.<\/li>\n<li>Evita texto artificial o de relleno y <strong>usa un lenguaje natural<\/strong>, lo m\u00e1s humano posible.<\/li>\n<\/ul>\n<p>En el fondo, <strong><a href=\"https:\/\/dinorank.com\/blog\/seo-para-llms-como-trabajar-en-la-actualidad\/\">optimizar para LLMs<\/a> no es hacer cosas nuevas<\/strong>, sino escribir contenido claro, estructurado y \u00fatil. La diferencia es que ahora no solo te lee una persona, sino tambi\u00e9n una IA que prefiere que le pongas las cosas f\u00e1ciles.<\/p>\n<h2>Toque humano<\/h2>\n<p>Si bien este art\u00edculo podr\u00eda terminar perfectamente en la secci\u00f3n anterior, veo necesario incluir una parte adicional.<\/p>\n<p>La raz\u00f3n de ello es que veo que cada vez m\u00e1s, todos (incluido yo) usamos las herramientas de IA para generar contenido y tal cual es generado lo publicamos.<\/p>\n<p>\u00bfY qu\u00e9 pasa?<\/p>\n<p><b>Que podemos caer en el riesgo de perder el toque humano.<\/b><\/p>\n<p>Por ello, yo desde hace un tiempo, <span class=\"su-highlight\" style=\"background:#DFF4E8;color:#000000\">&nbsp;tengo por costumbre leer el contenido generado y darle un toque humano&nbsp;<\/span>.<\/p>\n<p>Ll\u00e1malo copywriting, storytelling o como quieras.<\/p>\n<p>Pero al fin y al cabo, t\u00fa ahora est\u00e1s leyendo un texto que en parte ha sido generado con ayuda de <a id=\"CTA-3\" href=\"https:\/\/dinobrain.ai\" target=\"_blank\" rel=\"noopener\">DinoBRAIN<\/a> pero que yo te cuento en primera persona, aportando mi experiencia y toque personal, haciendo que sea m\u00e1s f\u00e1cil de leer.<\/p>\n<p><a href=\"https:\/\/dinorank.com\/seccion-dinoBrain\/\" target=\"_blank\" rel=\"noopener\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-24924 size-large\" title=\"Descubre DinoBRAIN, la IA de DinoRANK\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2024\/08\/Crea-textos-que-posicionen-en-Google-con-IA-DinoBRAIN.png\" alt=\"Descubre DinoBRAIN, la IA de DinoRANK\" width=\"1024\" height=\"427\" \/><\/a><\/p>\n<p>De hecho, <b>igual no hubieras pensado que este contenido se ha generado gracias a la IA si no te lo estuviera diciendo ahora.<\/b><\/p>\n<p>Es por ello, que darle a nuestro contenido una \u00faltima capa es recomendable dependiendo del sector para el que est\u00e9s redactando tus textos.<\/p>\n<h2>Consejos<\/h2>\n<p>S\u00ed has llegado hasta aqu\u00ed te mereces un premio, el cual te lo voy a entregar en forma de consejos que yo sigo cuando redacto textos optimizados para SEO.<\/p>\n<ul>\n<li><b>No te vuelvas loco con las palabras:<\/b> no por escribir m\u00e1s vas a posicionar mejor. Debes de analizar cuantas palabras clave debe tener un art\u00edculo en base a la competencia y recordar que lo importante es responder a la intenci\u00f3n de b\u00fasqueda usando el sentido com\u00fan.<\/li>\n<li><b>Incluye im\u00e1genes:<\/b> introduce im\u00e1genes relacionadas con el contenido que ayuden al lector a comprender el texto y no te olvides de incluir la etiqueta alt con keywords y t\u00e9rminos sem\u00e1nticos.<\/li>\n<li><b>Evita p\u00e1rrafos largos:<\/b> No escribas p\u00e1rrafos de m\u00e1s de 4 l\u00edneas porque resultar\u00e1n demasiado pesados de leer.<\/li>\n<li><b>Hazlo f\u00e1cil:<\/b> si est\u00e1s escribiendo sobre un aspecto del cual alguien se quiere informar un usuario no uses un lenguaje demasiado elaborado o te compliques con tecnicismos. Obviamente tienes que introducir aquellas palabras que sean necesarias, pues son palabras clave a incluir. Pero la idea es no sonar demasiado sofisticado, usa una forma sencilla de expresarte.<\/li>\n<li><b>Pasados unos d\u00edas vuelve a leer el texto:<\/b> esta es una pr\u00e1ctica que recomiendo ya que siempre descubro puntos de mejora.<\/li>\n<li><b>Herramientas de correcci\u00f3n:<\/b> existen muchas herramientas de correcci\u00f3n gramatical, como LanguageTool, que pueden ayudarte a evitar escribir con faltas de ortograf\u00eda.<\/li>\n<\/ul>\n<p>Con esto ya terminamos este art\u00edculo sobre redacci\u00f3n de contenidos. Espero que ahora tengas una idea m\u00e1s clara y no te quede ninguna duda de c\u00f3mo escribir un texto para SEO.<\/p>\n<p>Y si quieres profundizar m\u00e1s sobre c\u00f3mo encontrar ideas para crear contenidos para tu web y posicionarlos, <a id=\"CTA-2\" href=\"https:\/\/dinosauriomecanizado.com\/curso-seo\/\" target=\"_blank\" rel=\"noopener\">aqu\u00ed te dejo este curso gratuito para que aprendas a hacerlo.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace ya unos a\u00f1os abr\u00ed mi primer blog con la idea de escribir art\u00edculos que pudieran ser interesantes a quienes quisieran aprender de m\u00fasica. No obstante, si de algo me di cuenta en poco tiempo es que . \u00bfPor qu\u00e9? Por una sencilla raz\u00f3n: no es lo mismo escribir un texto plano que escribir un [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":27512,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-709","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\/709","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=709"}],"version-history":[{"count":29,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/709\/revisions"}],"predecessor-version":[{"id":32794,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/709\/revisions\/32794"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/27512"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=709"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=709"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}