{"id":427,"date":"2020-01-13T10:57:46","date_gmt":"2020-01-13T09:57:46","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=427"},"modified":"2025-06-03T11:11:33","modified_gmt":"2025-06-03T09:11:33","slug":"como-hacer-redireccion-301-rapido","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/como-hacer-redireccion-301-rapido\/","title":{"rendered":"C\u00f3mo hacer una redirecci\u00f3n 301 con WordPress r\u00e1pido y con un solo click"},"content":{"rendered":"<p>Ejecutar redirecciones 301 es una tarea fundamental en el SEO. Y de eso te vamos a hablar aqu\u00ed.<\/p>\n<p>Aprende <strong>c\u00f3mo hacer una redirecci\u00f3n 301 r\u00e1pido<\/strong> y por qu\u00e9 debes dominar su ejecuci\u00f3n en tu d\u00eda a d\u00eda para que no perjudique al SEO de tu web.<\/p>\n<p>\u00bfNos acompa\u00f1as? Empecemos por lo b\u00e1sico.<\/p>\n<h2>\u00bfQu\u00e9 es una redirecci\u00f3n 301?<\/h2>\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;\">Una redirecci\u00f3n 301 es una forma de\u00a0redirigir de forma permanente una URL A a otra URL B.<\/div><\/div>\n<p>Si una p\u00e1gina web ha cambiado y se est\u00e1 mudando a un nuevo sitio web, puede ser dif\u00edcil avisar de ello a todos los usuarios sobre el cambio y a\u00fan m\u00e1s dif\u00edcil hacer que lo recuerden.<\/p>\n<p>Un redireccionamiento 301 resuelve el problema al desviar todo el tr\u00e1fico de la URL antigua a la nueva de forma autom\u00e1tica. Por lo tanto,\u00a0<strong>los usuarios que accedan al sitio antiguo llegar\u00e1n al nuevo<\/strong>, aunque las URLs sean diferentes, gracias a esta redirecci\u00f3n de tipo permanente.<\/p>\n<p>Puedes agregar redirecciones 301 para p\u00e1ginas individuales o dominios completos. Incluso puedes utilizarlo en im\u00e1genes, por ejemplo, redirigiendo una imagen al art\u00edculo donde est\u00e1 incrustada.<\/p>\n<blockquote><p>Dato de inter\u00e9s: <a href=\"https:\/\/dinorank.com\/blog\/encuentra-y-resuelve-errores-404\/\">C\u00f3mo solucionar errores 404<\/a>.<\/p><\/blockquote>\n<p>El siguiente c\u00f3digo para redirecciones es el 302 pero solo se usa en el caso de que est\u00e9s haciendo una redirecci\u00f3n temporal, por lo que el mensaje que le mandas a Google es distinto.<\/p>\n<p>Al redirigir una URL con el c\u00f3digo 302 le est\u00e1s diciendo a Google que la redirecci\u00f3n es puntual y que en alg\u00fan momento, la URL volver\u00e1 a ser la de siempre, cosa que no ocurre con la redirecci\u00f3n 301.<\/p>\n<h2>\u00bfPor qu\u00e9 podr\u00edas necesitar hacer redirecciones 301?<\/h2>\n<p>Hay muchas <strong>situaciones en las que se tiene que realizar un redireccionamiento 301<\/strong>. Estos son algunos de los motivos m\u00e1s comunes:<\/p>\n<ol>\n<li>Est\u00e1s cambiando todo tu dominio a uno nuevo.<\/li>\n<li>Deseas reorganizar las p\u00e1ginas, cambiando o eliminando un directorio.<\/li>\n<li>Han enlazado una p\u00e1gina del sitio web y han escrito mal la URL, generando un error 404 que hay que eliminar.<\/li>\n<li>Dos <strong>p\u00e1ginas est\u00e1n rankeando por una misma keyword,<\/strong> pero una de ellas est\u00e1 mejor optimizada y tiene m\u00e1s tr\u00e1fico.<\/li>\n<\/ol>\n<p>Pondremos un ejemplo para que veas c\u00f3mo funcionan las redirecciones 301.<\/p>\n<p>Supongamos que tu p\u00e1gina web tiene la estructura de enlaces permanentes as\u00ed:<\/p>\n<div class=\"su-table su-table-alternate\">\n<table>\n<tbody>\n<tr>\n<td><em>mipaginaweb.com\/a\u00f1o\/mes\/dia\/nombre-del-post<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Es la estructura que WordPress permit\u00eda y consideraba como la m\u00e1s \u00abbonita\u00bb hasta hace unos a\u00f1os.<\/p>\n<p>Blogs como WWWhatsNew tienen este tipo de estructura, pero es complicada de recordar y al final es demasiado larga; por eso se buscan direcciones URL m\u00e1s cortas y amigables, del tipo:<\/p>\n<div class=\"su-table su-table-alternate\">\n<table>\n<tbody>\n<tr>\n<td><em>mip\u00e1ginaweb.com\/categoria\/nombre-del-post<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Si cambias la estructura de enlaces permanentes cuando ya tienes p\u00e1ginas publicadas, <strong>todos esos contenidos antiguos pasar\u00e1n a convertirse en enlaces rotos; <\/strong>\u00e9stos a su vez generar\u00e1n un error 404 cada vez que un usuario intente ingresar en uno de ellos (puedes detectar estos errores en Google Search Console)<\/p>\n<p>En consecuencia, estar\u00e1s dando una mala usabilidad de tu sitio web, el cual tambi\u00e9n podr\u00e1 ser penalizado por Google.<\/p>\n<p><strong>\u00bfC\u00f3mo lo solucionas?<\/strong> No es pr\u00e1ctico avisar a todos los suscriptores. Estas cosas a nadie le interesan, ni las recuerda. Por no hablar de la carga de trabajo que supone hacerlo as\u00ed.<\/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;\">Se soluciona con una redirecci\u00f3n 301: cualquiera que ingrese a la estructura de URL antigua ser\u00e1 redirigido inmediatamente al art\u00edculo que busca, con la estructura de URL nueva y sin que tenga que hacer nada.<\/div><\/div>\n<p>Adem\u00e1s, as\u00ed tambi\u00e9n avisas a los buscadores de que tu sitio web tiene una nueva estructura de enlaces permanentes, y de este modo,\u00a0<strong>\u201ctransfieren\u201d el SEO logrado a la URL nueva<\/strong>.<\/p>\n<p>Otro ejemplo destacado de redireccionamiento 301 son las webs que tienen su blog en un directorio tipo <em>www.mipagina.com\/blog<\/em> y desean moverlo al dominio principal.<\/p>\n<p>Como ves, son muchas las situaciones que conllevan el tener que realizar redirecciones 301, desde las que solo conllevan una URL a las que implican redireccionar el dominio entero.<\/p>\n<h2>\u00bfPor qu\u00e9 son importantes las redirecciones 301?<\/h2>\n<p>Una duda muy extendida es si las redirecciones 301 afectan al SEO y, en consecuencia,\u00a0<strong>si restan o no tr\u00e1fico org\u00e1nico a las p\u00e1ginas redirigidas<\/strong>.<\/p>\n<p>La respuesta m\u00e1s sencilla es que si lo haces bien, no tiene por qu\u00e9 pasar. Pero en el SEO no hay nada sencillo, como tampoco hay respuestas <em>tajantes<\/em>.<\/p>\n<p>Hasta 2013, Google dec\u00eda que una redirecci\u00f3n 301 perd\u00eda el 15 % del SEO logrado en la URL anterior; el mismo porcentaje que cuando se enlazaba de una p\u00e1gina a otra.<\/p>\n<p>Pero <strong>las redirecciones no pierden nada de SEO<\/strong> desde que Google dijo que premiar\u00eda a las p\u00e1ginas web que implementaran un certificado SSL.<\/p>\n<p>De hecho, hoy d\u00eda, tener el certificado SSI instalado puede ser un obst\u00e1culo bastante grande a la hora de posicionar.<\/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;\">Fue Gary Illyes quien dijo que a Google ya no le importaba desde d\u00f3nde o c\u00f3mo se llegase a un sitio web, pues ellos transmitir\u00edan todo el PageRank de una p\u00e1gina a otra.<\/div><\/div>\n<p>Ojo aqu\u00ed, porque Google no miente, pero tampoco dice toda la verdad y nos explicamos.<\/p>\n<h3>C\u00f3mo evitar que las redirecciones 301 afecten al SEO<\/h3>\n<p>S\u00ed, Google no miente: una redirecci\u00f3n 301 no afecta al SEO. Pero debes saber que esto es solo uno de los cientos de factores que Google tiene en cuenta para posicionar una p\u00e1gina.<\/p>\n<p>Los problemas que puede haber al hacer este tipo de redirecciones son otros y esos s\u00ed afectan al SEO. Y es que el hecho de cambiar la estructura de tu p\u00e1gina web puede generar\u00a0<strong>errores 404, redirecciones en bucle<\/strong>, etc.<\/p>\n<p><a href=\"https:\/\/www.wired.com\/2016\/05\/wired-first-big-https-rollout-snag\/\" target=\"_blank\" rel=\"noopener\">Esto le pas\u00f3 a Wired<\/a>, una de las publicaciones online m\u00e1s importantes del mundo. Cambi\u00f3 sus URL para implementar un SSL (de http a https) y perdi\u00f3 tr\u00e1fico de un d\u00eda para otro.<\/p>\n<blockquote><p>Ojo, no es lo mismo que una redirecci\u00f3n 310: <a href=\"https:\/\/dinorank.com\/blog\/que-es-codigo-310-para-que-sirve\/\">aprende aqu\u00ed sobre la diferencia<\/a>.<\/p><\/blockquote>\n<p>Es posible solucionar problemas de redireccionamiento, pero la ca\u00edda de tr\u00e1fico que suponen puede condicionar las ventas de una tienda online en esos d\u00edas, por ejemplo, y traer p\u00e9rdidas.<\/p>\n<p>En este caso concreto podr\u00edas utilizar plugins de WordPress como Really Simple SSL.<\/p>\n<p>Por eso aqu\u00ed te dejamos algunos consejos para evitar que te afecten en tu posicionamiento:<\/p>\n<ol>\n<li>Aseg\u00farate de que la redirecci\u00f3n 301 vaya donde debe ir.<\/li>\n<li>Elimina las p\u00e1ginas redirigidas de tus sitemaps.<\/li>\n<li><strong>Elimina cadenas de redireccionamiento<\/strong>\u00a0(P\u00e1gina 1 a P\u00e1gina 2 a P\u00e1gina 3) y redirige directamente a la URL final.<\/li>\n<li>Detecta y soluciona redirecciones a enlaces rotos (P\u00e1gina 1 (301) &gt; P\u00e1gina 2 (404)).<\/li>\n<li>Redirige las p\u00e1ginas con error 404.<\/li>\n<li>Busca p\u00e1ginas con redirecci\u00f3n 301 que reciban tr\u00e1fico org\u00e1nico y revisa si hay alg\u00fan error. <strong>Los errores no deben aparecer en los resultados de Google<\/strong>.<\/li>\n<li>Busca errores de escritura que hagan que las redirecciones 301 funcionen mal.<\/li>\n<\/ol>\n<p>Si haces todo esto, no tendr\u00e1s ning\u00fan problema.<\/p>\n<p>Si usas WordPress, hay\u00a0<strong>plugins que realizan todo esto de forma autom\u00e1tica<\/strong>. Es cuesti\u00f3n de buscar uno que te funcione y corregir de forma peri\u00f3dica los errores que vayan surgiendo.<\/p>\n<p><span data-sheets-root=\"1\"><div id=\"brxe-5c527e\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-d69b57\" class=\"brxe-text-basic h3\">Descubre 6 t\u00e9cnicas sencillas (pero eficaces) para que las visitas de tu web crezcan m\u00e1s r\u00e1pido que la espuma de una cerveza mal tirada.\n<\/div><div id=\"brxe-445cc8\" class=\"brxe-text-basic\"><strong>Aunque no seas un experto en SEO<\/strong> ni puedas dedicarte mucho tiempo a esto.<\/div><div id=\"brxe-lbvkeh\" data-script-id=\"lbvkeh\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=source-sans-pro:400,700);<\/style>\n<style>\n#_form_331_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_331_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_331_._form-top{top:0}#_form_331_._form-bottom{bottom:0}#_form_331_._form-left{left:0}#_form_331_._form-right{right:0}#_form_331_ input[type=\"text\"],#_form_331_ input[type=\"tel\"],#_form_331_ input[type=\"date\"],#_form_331_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_331_ textarea{resize:none}#_form_331_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}#_form_331_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_331_ ._submit.processing{position:relative}#_form_331_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#00C4A7, #00C4A7), conic-gradient(#00C4A7, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_331_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_331_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_331_ ._close-icon:before{position:relative}#_form_331_ ._form-body{margin-bottom:30px}#_form_331_ ._form-image-left{width:150px;float:left}#_form_331_ ._form-content-right{margin-left:164px}#_form_331_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_331_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_331_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_331_ ._form-label,#_form_331_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_331_._dark ._form-branding{color:#333}#_form_331_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_331_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_331_ ._form_element *{font-size:14px}#_form_331_ ._form_element._clear{clear:both;width:100%;float:none}#_form_331_ ._form_element._clear:after{clear:left}#_form_331_ ._form_element input[type=\"text\"],#_form_331_ ._form_element input[type=\"date\"],#_form_331_ ._form_element select,#_form_331_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_331_ ._field-wrapper{position:relative}#_form_331_ ._inline-style{float:left}#_form_331_ ._inline-style input[type=\"text\"]{width:150px}#_form_331_ ._inline-style:not(._clear){margin-right:20px}#_form_331_ ._form_element img._form-image{max-width:100%}#_form_331_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_331_ ._clear-element{clear:left}#_form_331_ ._full_width{width:100%}#_form_331_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_331_ input[type=\"text\"]._has_error,#_form_331_ textarea._has_error{border:#F37C7B 1px solid}#_form_331_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_331_ ._show_be_error{float:left}#_form_331_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_331_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_331_ ._error._below{padding-top:8px;top:100%;right:0}#_form_331_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_331_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_331_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_331_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_331_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_331_ ._button-wrapper ._error-inner._form_error{position:static}#_form_331_ ._error-inner._no_arrow{margin-bottom:10px}#_form_331_ ._error-arrow{position:absolute;width:0;height:0}#_form_331_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_331_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_331_ select.datetime_time{width:29%;display:inline;height:32px}#_form_331_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_331_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_331_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_331_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_331_ ._form-content{margin:0;width:100%}#_form_331_ ._form-inner{display:block;min-width:100%}#_form_331_ ._form-title,#_form_331_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_331_ ._form-title{font-size:1.2em}#_form_331_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_331_ ._form-element,#_form_331_ ._inline-style,#_form_331_ input[type=\"text\"],#_form_331_ label,#_form_331_ p,#_form_331_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_331_ ._row._checkbox-radio label{display:inline}#_form_331_ ._row,#_form_331_ p,#_form_331_ label{margin-bottom:0.7em;width:100%}#_form_331_ ._row input[type=\"checkbox\"],#_form_331_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_331_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_331_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_331_ ._form-image{max-width:100%;height:auto !important}#_form_331_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_331_ input[type=\"radio\"],#_form_331_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_331_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_331_ ._inline-style{margin:20px 0 0 !important}#_form_331_ ._inline-style input[type=\"text\"]{width:100%}}#_form_331_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_331_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_331_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_331_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_331_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_331_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_331_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_331_ .field-required{color:#FF0000}#_form_331_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0) !important;border-top:0px solid #737373 !important;border-right:0px solid #737373 !important;border-bottom:0px solid #737373 !important;border-left:0px solid #737373 !important;max-width:800px;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#000000}#_form_331_ ._show_be_error{min-width:100%}#_form_331_._inline-form,#_form_331_._inline-form ._form-content{font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._row span,#_form_331_._inline-form ._row label{font-family:Source Sans Pro;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_331__inlineform input[type=\"text\"],#_form_331__inlineform input[type=\"date\"],#_form_331__inlineform input[type=\"tel\"],#_form_331__inlineform select,#_form_331__inlineform textarea:not(.g-recaptcha-response){font-family:Source Sans Pro;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_331_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_331_._inline-form .sms_consent_message,#_form_331_._inline-form ._form-thank-you{font-family:Source Sans Pro;font-size:14px;font-weight:400;color:#888 !important}#_form_331_._inline-form ._form-label,#_form_331_._inline-form ._form-emailidentifier,#_form_331_._inline-form ._form-checkbox-option-label{font-family:Source Sans Pro;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_331_._inline-form ._submit{margin-top:12px;font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._html-code h1,#_form_331_._inline-form ._html-code h2,#_form_331_._inline-form ._html-code h3,#_form_331_._inline-form ._html-code h4,#_form_331_._inline-form ._html-code h5,#_form_331_._inline-form ._html-code h6,#_form_331_._inline-form ._form-title{font-family:Source Sans Pro;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_331_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_331_:before,#_form_331_:after{content:\" \";display:table}#_form_331_:after{clear:both}#_form_331_._inline-style{width:auto;display:inline-block}#_form_331_._inline-style input[type=\"text\"],#_form_331_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_331_._inline-style button._inline-style{position:relative;top:27px}#_form_331_._inline-style p{margin:0}#_form_331_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_331_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_331_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_331_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_331_ .iti{width:100%}#_form_331_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_331_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_331_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_331_ .iti__country-list--dropup{margin-bottom:4px}#_form_331_ .phone-error-hidden{display:none}#_form_331_ .phone-error{color:#E40E49}#_form_331_ .phone-input-error{border:1px solid #E40E49 !important}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_331_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_331_ ._submit:hover{background-color:#04937E !important}#_form_331_ input#email{padding:3px 12px;background-color:#ffffff;border-radius:2px}#_form_331_._form{margin-top:-5px}#_form_331_ ._error._below{position:relative !important}#_form_331_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_331_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_331_\" class=\"_form _form_331 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"789ef8b4693eba56cf9cd6622eca7a0e\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x74577619 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu email...\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x87696446 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[15][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[15][]\" name=\"field[15][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\" type=\"checkbox\" name=\"field[15][]\"\n          value=\"He le\u00eddo y acepto la pol\u00edtica de privacidad\"                                                                                 required                                >\n          <span>\n            <label for=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\">\n              He le\u00eddo y acepto la pol\u00edtica de privacidad<span class=\"field-required\">\n              *\n            <\/span>\n          <\/label>\n        <\/span>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n  <div class=\"_form_element _x09639014 _full_width \" >\n    <input type=\"hidden\" name=\"field[121]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x64811239 _full_width \" >\n    <input type=\"hidden\" name=\"field[122]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x58860354 _full_width \" >\n    <input type=\"hidden\" name=\"field[123]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x23331849 _full_width \" >\n    <input type=\"hidden\" name=\"field[125]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x72046679 _full_width \" >\n    <input type=\"hidden\" name=\"field[126]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x41336277 _full_width \" >\n    <input type=\"hidden\" name=\"field[127]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_button-wrapper _full_width\">\n    <button id=\"_form_331_submit\" class=\"_submit\" type=\"submit\">\n      Ap\u00fantate aqu\u00ed\n    <\/button>\n  <\/div>\n  <div class=\"_clear-element\">\n  <\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"15\":\"poltica_privacidad\",\"121\":\"utm_campaign\",\"122\":\"utm_source\",\"123\":\"utm_medium\",\"125\":\"utm_content\",\"126\":\"utm_adset\",\"127\":\"utm_ad\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Administrar preferencias<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_331_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_331_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_331_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Es necesario verificar %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Este campo es obligatorio.\");\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.\");\n            }\n        }\n        if (no_error && (elem.id == 'phone')) {\n            if (elem.value.trim() && typeof iti != 'undefined' && !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Ingresa un n\u00famero de tel\u00e9fono v\u00e1lido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una fecha v\u00e1lida.\");\n            }\n        }\n\n        if (no_error && elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required && !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Marca esta casilla para continuar\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') && el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') && typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_331_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_331_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n                });\n            } else {\n                _load_script('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script><style>\/* Texto junto al checkbox: blanco y en l\u00ednea *\/\n._form_299 ._checkbox-radio label {\n  display: inline !important;\n  margin-left: 8px !important;\n}\n\n\/* Color blanco del texto \"Verifica que eres un humano\" *\/\n._form_299 label[for=\"ls\"],\n._form_299 ._form_element label._form-label {\n  color: #ffffff !important;\n  display: inline-block;\n  font-weight: 400 !important;\n  margin-left: 8px;\n}\n\n\/* Placeholder del campo de email *\/\n#_form_299_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_299_ #email {\n  padding: 8px 12px !important;\n  height: 40px !important;\n  font-size: 14px !important;\n  line-height: 1.2 !important;\n  margin-bottom: 16px !important;\n}\n\nlabel {\n    display: inline;\n}<\/style><\/div><\/div><\/span><\/p>\n<h2>\u00bfC\u00f3mo hacer redirecciones 301 con WordPress?<\/h2>\n<p>El objetivo de esta gu\u00eda es explicar c\u00f3mo crear de forma f\u00e1cil y r\u00e1pida una redirecci\u00f3n 301, pero hab\u00eda que entender primero qu\u00e9 es una redirecci\u00f3n 301, c\u00f3mo puede afectar en tu sitio web y cu\u00e1ndo utilizarla.<\/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;\">La forma tradicional de crear redirecciones 301 es\u00a0a trav\u00e9s del archivo .htaccess, que est\u00e1 en el directorio principal de tu p\u00e1gina web y a\u00f1adir un c\u00f3digo para cada redirecci\u00f3n<\/div><\/div>\n<p>Es muy tedioso si tienes que hacer muchas redirecciones y requiere de conocimientos t\u00e9cnicos que no todo el mundo posee.<\/p>\n<p>Si utilizas WordPress lo tienes f\u00e1cil, pues como dijimos, existen plugins que lo hacen con un solo clic.<\/p>\n<p>Veamos cu\u00e1les son los mejores y c\u00f3mo funcionan.<\/p>\n<h3>#1 SEO by Yoast Premium: <a href=\"https:\/\/dinorank.com\/blog\/configurar-yoast-seo\/\">Leer tutorial de la herramienta<\/a><\/h3>\n<p>SEO by Yoast es, quiz\u00e1s, el plugin de SEO m\u00e1s utilizado por WordPress desde hace a\u00f1os. Y algo que sus usuarios reprochan es que el\u00a0<strong>m\u00f3dulo de redirecciones se haya pasado a la versi\u00f3n premium<\/strong>\u00a0del plugin.<\/p>\n<p>Este m\u00f3dulo es genial, porque detecta cualquier cambio en tu sitio web que requiera un redireccionamiento y te lo notifica preguntando qu\u00e9 deseas hacer: una redirecci\u00f3n 301 o una redirecci\u00f3n 410 (esta le dice a Google que el contenido ha sido eliminado).<\/p>\n<p>Tiene un precio de 99 \u20ac al a\u00f1o por sitio web, aunque tiene opci\u00f3n gratuita.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-21576\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-redireccion-301.png\" alt=\"yoast seo redireccion 301\" width=\"1200\" height=\"630\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-redireccion-301.png 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-redireccion-301-300x158.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-redireccion-301-1024x538.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/yoast-seo-redireccion-301-768x403.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>La forma de utilizar la opci\u00f3n de redirecciones de Yoast SEO es muy sencilla, aunque recuerda que solo dispondr\u00e1s de ella si tienes la versi\u00f3n premium del plugin.<\/p>\n<p>Solo tienes que seguir los pasos que ves en la imagen:<\/p>\n<ol>\n<li><strong>Selecciona el tipo de redirecci\u00f3n<\/strong>. En esta ocasi\u00f3n hablamos de la redirecciones 301 pero si abres el desplegable ver\u00e1s que este plugin te permite hacer muchos otros tipos.<\/li>\n<li><strong>Escribe la URL antigua<\/strong>, es decir, en la que el usuario har\u00e1 el click.<\/li>\n<li><strong>Escribe la URL nueva<\/strong>, es decir, hacia la que va a ser llevado el usuario.<\/li>\n<\/ol>\n<p>Como puedes ver, gracias a Yoast solo tardar\u00e1s un minuto en hacer tu redirecci\u00f3n 301 y evitar los problemas de los que hemos hablado m\u00e1s arriba.<\/p>\n<h3>#2 Rank SEO Math: <a href=\"https:\/\/dinorank.com\/blog\/rank-math-seo\/\">Leer tutorial de la herramienta<\/a><\/h3>\n<p>Este plugin es nuevo, pero ha llegado con mucha fuerza al mercado. El m\u00f3dulo de redirecciones es casi el mismo que el de Yoast, pero con vitaminas y esteroides. Es un \u00abmonstruo\u00bb.<\/p>\n<p>Con \u00e9l puedes:<\/p>\n<ol>\n<li>Detectar cu\u00e1ndo necesitas redirigir.<\/li>\n<li>Tiene\u00a0<strong>consola para redirigir con un clic<\/strong>.<\/li>\n<li>Redirigir p\u00e1ginas que contengan una o m\u00e1s palabras o prefijos.<\/li>\n<li><strong>Exportar o importar redirecciones<\/strong>.<\/li>\n<\/ol>\n<p>Es gratuito y de los mejores plugins SEO de WordPress. Para m\u00e1s opciones, cuentas con planes de pago desde $4.92 al mes.<\/p>\n<p>Para usar esta opci\u00f3n, lo primero que debes hacer es ir al panel principal de Rank Math seleccionando<em> Rank Math SEO -&gt; Escritorio<\/em> en el men\u00fa de la izquierda y, despu\u00e9s, activar el m\u00f3dulo de las redirecciones.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-21580\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/activar-redirecciones-rank-math-seo.png\" alt=\"activar redirecciones rank math seo\" width=\"1200\" height=\"630\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/activar-redirecciones-rank-math-seo.png 1200w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/activar-redirecciones-rank-math-seo-300x158.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/activar-redirecciones-rank-math-seo-1024x538.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/activar-redirecciones-rank-math-seo-768x403.png 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Ahora, ver\u00e1s que en el men\u00fa de la izquierda, dentro del apartado de Rank Math SEO, ya te sale la opci\u00f3n <em>Redirecciones<\/em>. Haz click ah\u00ed y, en la nueva p\u00e1gina, haz click en <em>A\u00f1adir nuevo<\/em>.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-21581\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-con-rank-math-1.png\" alt=\"redirecciones con rank math 1\" width=\"948\" height=\"92\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-con-rank-math-1.png 948w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-con-rank-math-1-300x29.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-con-rank-math-1-768x75.png 768w\" sizes=\"(max-width: 948px) 100vw, 948px\" \/><\/p>\n<p>Ahora te saldr\u00e1 una pantalla como la siguiente. Es posible que te abrumes al ver tantas opciones y apartados pero te lo explicaremos punto por punto para que puedas completarlo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21583\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-rank-math-paso-a-paso.png\" alt=\"redirecciones rank math paso a paso\" width=\"675\" height=\"850\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-rank-math-paso-a-paso.png 675w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirecciones-rank-math-paso-a-paso-238x300.png 238w\" sizes=\"(max-width: 675px) 100vw, 675px\" \/><\/p>\n<ol>\n<li><strong>URL de origen<\/strong>. Aqu\u00ed es donde tienes que poner el link que pulsar\u00e1 el usuario.<\/li>\n<li><strong>URL de destino.<\/strong> En este recuadro tienes que colocar la URL de la p\u00e1gina a la que quieres que llegue el usuario.<\/li>\n<li><strong>Elige el tipo de redirecci\u00f3n.<\/strong><\/li>\n<li><strong>Elige el c\u00f3digo de mantenimiento.<\/strong> Eso es opcional. Si marcas el 410 le dir\u00e1s a Google que ese contenido ha sido eliminado para siempre (el de la URL antigua), por lo que ya no lo rastrear\u00e1 ni lo tendr\u00e1 en cuenta. El 451 advierte de contenido retirado por motivos legales.<\/li>\n<li><strong>Coloca la redirecci\u00f3n en una categor\u00eda.<\/strong> Es opcional pero puede ser \u00fatil si tienes que hacer demasiadas redirecciones y resulta inc\u00f3modo gestionarlas una a una.<\/li>\n<li><strong>Activar o desactivar.<\/strong><\/li>\n<li><strong>Programar<\/strong>. Combinando estos dos \u00faltimos apartados puedes decidir cu\u00e1nto se activa o se desactiva una redirecci\u00f3n, lo que te evita estar pendiente. Por ejemplo, si vas a activar una nueva promoci\u00f3n aprovechando el link de una oferta antigua puedes programar en qu\u00e9 momento quieres que empiece. Si lo que vas a hacer es una oferta limitada, podr\u00e1s programar su desactivaci\u00f3n el d\u00eda y la hora que termine.<\/li>\n<\/ol>\n<p>Aunque veas muchas m\u00e1s opciones que en Yoast SEO, en realidad los pasos m\u00e1s importantes son los mismos, es decir, los 3 primeros, as\u00ed que solo te llevar\u00e1 un minuto crear tu redirecci\u00f3n 301.<\/p>\n<h3>#3 Redirection<\/h3>\n<p>Es\u00a0<strong>uno de los mejores plugins para crear redirecciones 301 en WordPress<\/strong>. Es muy sencillo de utilizar. Tiene una consola para crear redireccionamientos y te muestra sus estad\u00edsticas.<\/p>\n<p>Pero hace m\u00e1s que eso,\u00a0<strong>monitoriza todos los errores 404<\/strong>\u00a0para que hagas un redireccionamiento a otra p\u00e1gina y solucionarlo. Tambi\u00e9n te permite crear una redirecci\u00f3n 301 condicional a ciertos factores.<\/p>\n<p>Puedes controlar todas tus redirecciones, exportarlas y hacer todo lo que desees.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21587\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection.png\" alt=\"redireccion 301 con plugin redirection\" width=\"1680\" height=\"290\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection.png 1680w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection-300x52.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection-1024x177.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection-768x133.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redireccion-301-con-plugin-redirection-1536x265.png 1536w\" sizes=\"(max-width: 1680px) 100vw, 1680px\" \/><\/p>\n<p>Aunque este plugin tiene opciones avanzadas como crear grupo de redirecciones, exportar el listado, rastrear errores 404 y otros detalles mucho m\u00e1s t\u00e9cnicos, aqu\u00ed te mostramos la parte que te interesa que es la de a\u00f1adir una nueva redirecci\u00f3n.<\/p>\n<p>Como ves, solo tienes que indicar la URL de origen y la de destino para llevar al usuario hacia la p\u00e1gina que quieres.<\/p>\n<h3>#4 Simple 301 Redirects<\/h3>\n<p>Muchos comienzan a hacer blogs en\u00a0<strong>plataformas de blogs de terceros, como Blogger<\/strong>. Pasado un tiempo, quieren dar el salto y profesionalizarse, para lo cual necesitan migrar a una plataforma auto-hospedada.<\/p>\n<p>En ese caso, encontrar\u00e1s que este complemento es muy \u00fatil, porque podr\u00e1s resolver el problema estructural de las URLs y establecer un redireccionamiento 301 permanente, de forma natural y sencilla.<\/p>\n<p>Para utilizar este plugin tienes que hacer click en <em>Add a New Redirect Rule<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21589\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirection-301.png\" alt=\"redirection 301\" width=\"1148\" height=\"159\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirection-301.png 1148w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirection-301-300x42.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirection-301-1024x142.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/redirection-301-768x106.png 768w\" sizes=\"(max-width: 1148px) 100vw, 1148px\" \/><\/p>\n<p>Al hacerlo, se despliegan las opciones que ves arriba. Las dos primeras casillas son opciones y sirven para que le pongas un nombre a la direcci\u00f3n y a qu\u00e9 parte de la web afecta. Esto es \u00fatil, como dec\u00edamos antes, si tienes muchas y te resulta dif\u00edcil gestionarlas.<\/p>\n<p>A continuaci\u00f3n solo tienes que poner el URL antigua en <em>Old URL<\/em> y la nueva en <em>New URL<\/em> y, despu\u00e9s, hacer click en <em>Save All Redirect Rules<\/em>.<\/p>\n<h3>#5 WP 404 Auto Redirect to Similar Post<\/h3>\n<p>Este plugin de redireccionamiento de WordPress funciona con el problema 404 com\u00fan, pero tiene una caracter\u00edstica que lo hace notable.<\/p>\n<p>Creo que ya tienes una idea de este complemento leyendo su nombre. Est\u00e1 desarrollado para\u00a0<strong>detectar las p\u00e1ginas de error 404 del sitio web, y redirigirlas a las publicaciones o p\u00e1ginas m\u00e1s similares<\/strong>.<\/p>\n<p>Todas estas acciones son creadas por el plugin de manera natural. Ya no tienes que usar tu tiempo para rastrear y redirigir de forma manual los enlaces rotos de tu sitio web.<\/p>\n<p>Tienes que decirle al complemento qu\u00e9 tipo de redirecci\u00f3n (301 o 302) deseas. Despu\u00e9s de eso, el plugin se har\u00e1 cargo del resto.<\/p>\n<p>Otra cosa importante es que, si el plugin no encuentra ninguna publicaci\u00f3n o p\u00e1gina similar para redirigir un enlace roto, establecer\u00e1 una redirecci\u00f3n 301 a la p\u00e1gina de inicio para esa p\u00e1gina 404.<\/p>\n<p>La parte buena es que solo tienes que instalar y activar el plugin, a menos que necesites especificaciones m\u00e1s concretas como que excluya determinados tipos de contenidos, categor\u00edas, etiquetas, etc\u00e9tera.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21591\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301.png\" alt=\"404 - 301\" width=\"1667\" height=\"771\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301.png 1667w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301-300x139.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301-1024x474.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301-768x355.png 768w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2020\/01\/404-301-1536x710.png 1536w\" sizes=\"(max-width: 1667px) 100vw, 1667px\" \/><\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p><strong>Las redirecciones 301 son elementos clave que debes saber manejar para mantener una buena salud de tu sitio web<\/strong>. Si tu sitio es grande y con cierta antig\u00fcedad, lo necesitar\u00e1s a\u00fan m\u00e1s y deber\u00e1s ir con m\u00e1s cuidado.<\/p>\n<p>No hemos mencionado\u00a0<strong>ni una sola l\u00ednea de c\u00f3digo<\/strong>\u00a0porque no es necesario. Los plugins hacen el trabajo de forma autom\u00e1tica y t\u00fa solo te encargas de revisar que la estructura y su funcionamiento sean correctos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejecutar redirecciones 301 es una tarea fundamental en el SEO. Y de eso te vamos a hablar aqu\u00ed. Aprende c\u00f3mo hacer una redirecci\u00f3n 301 r\u00e1pido y por qu\u00e9 debes dominar su ejecuci\u00f3n en tu d\u00eda a d\u00eda para que no perjudique al SEO de tu web. \u00bfNos acompa\u00f1as? Empecemos por lo b\u00e1sico. \u00bfQu\u00e9 es una [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":21483,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-427","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\/427","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=427"}],"version-history":[{"count":8,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/427\/revisions"}],"predecessor-version":[{"id":29584,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/427\/revisions\/29584"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/21483"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}