{"id":7246,"date":"2025-04-08T09:43:14","date_gmt":"2025-04-08T00:43:14","guid":{"rendered":"https:\/\/cooss.net\/301-redirect-shortcode-es\/"},"modified":"2025-04-08T09:43:14","modified_gmt":"2025-04-08T00:43:14","slug":"301-redirect-shortcode-es","status":"publish","type":"post","link":"https:\/\/cooss.net\/es\/301-redirect-shortcode-es\/","title":{"rendered":"301 Redirect shortcode"},"content":{"rendered":"\n<p>\u00bfHas o\u00eddo hablar de 301 redirect? Si est\u00e1s gestionando un sitio de WordPress, puedes implementarlo como un shortcode, y voy a resumir c\u00f3mo hacerlo utilizando el 301 redirect shortcode.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es el 301 Redirect Shortcode?<\/h2>\n\n\n\n<p>Al operar un sitio web, a veces puede suceder que un usuario intente abrir una p\u00e1gina espec\u00edfica, pero esa p\u00e1gina ya no existe. Desde la perspectiva de los motores de b\u00fasqueda, si esto ocurre con frecuencia, puede disminuir la confianza en tu sitio.<\/p>\n\n\n\n<p>En este caso, al utilizar una 301 redirecci\u00f3n, puedes guiar autom\u00e1ticamente a los visitantes a otra p\u00e1gina. La 301 redirecci\u00f3n significa que informas a los visitantes (motores de b\u00fasqueda) que el contenido de la URL que intentan visitar ha sido movido a otra URL, y los conectas a la p\u00e1gina de la URL cambiada. Esto puede mejorar la experiencia del usuario y tambi\u00e9n ayudar en la optimizaci\u00f3n para motores de b\u00fasqueda (SEO).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPor qu\u00e9 es necesario el 301 Redirect Shortcode?<\/h2>\n\n\n\n<p>\u00bfProfundicemos en la necesidad del 301 redirect shortcode? Los administradores de sitios web configuran redirecciones por las siguientes razones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Eliminaci\u00f3n de p\u00e1ginas:<\/strong> Cuando se elimina una p\u00e1gina que ya no se utiliza, puedes guiar a los usuarios a la p\u00e1gina de inicio o a otra p\u00e1gina \u00fatil.<\/li>\n\n\n\n<li><strong>Cambio de URL:<\/strong> Cuando cambias la estructura del sitio web o la URL, permite que los usuarios que acceden a la URL anterior sean redirigidos autom\u00e1ticamente a la nueva URL.<\/li>\n\n\n\n<li><strong>SEO optimizaci\u00f3n:<\/strong> Previene el error 404 que puede ocurrir cuando los usuarios buscan una p\u00e1gina que ya no existe, aumentando la confianza en el sitio y mejorando la puntuaci\u00f3n SEO.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo escribir un 301 Redirect Shortcode<\/h2>\n\n\n\n<p>Ahora, \u00bfqu\u00e9 tal si escribimos un shortcode que implemente la 301 redirecci\u00f3n? El siguiente c\u00f3digo es un ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nadd_action( 'template_redirect', function () {\n    $request_uri = parse_url( $_SERVER&#091;'REQUEST_URI'], PHP_URL_PATH );\n    $request_uri = trim( $request_uri, '\/' );\n\n    $blocked_paths = &#091;\n        'login',\n        'sample-page',\n    ];\n\n    if ( in_array( $request_uri, $blocked_paths, true ) ) {\n        wp_redirect( home_url( '\/' ), 301 );\n        exit;\n    }\n} );\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Explicaci\u00f3n del c\u00f3digo<\/h3>\n\n\n\n<p>Este c\u00f3digo es muy simple. Verifica el URI solicitado por el usuario y, si ese URI es uno de los caminos bloqueados (registrados en $blocked_path), redirige al usuario a la p\u00e1gina de inicio con una 301 redirecci\u00f3n. Es recomendable agregar comentarios a las rutas a\u00f1adidas a la variable &#8216;blocked_paths&#8217; para gestionarlas m\u00e1s f\u00e1cilmente m\u00e1s tarde.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">template_redirect<\/h4>\n\n\n\n<p>La funci\u00f3n comienza con add_action( &#8216;<strong>template_redirect<\/strong>&#8216;, function () {..}.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code><strong>template_redirect<\/strong><\/code> es un <strong>hook de acci\u00f3n<\/strong> que se ejecuta justo antes de que WordPress cargue el archivo de plantilla. Los &#8216;hooks de acci\u00f3n&#8217; est\u00e1n ocultos en el c\u00f3digo fuente de WordPress para su extensibilidad, y los desarrolladores de sitios web pueden utilizarlos para a\u00f1adir funcionalidades necesarias.<\/li>\n\n\n\n<li>Es decir, cuando un usuario accede a una URL, WordPress determina la plantilla adecuada (<code>single.php<\/code>, <code>page.php<\/code>, <code>archive.php<\/code>, <code>404.php<\/code>, etc.) y ocurre justo <strong>antes de cargar ese archivo<\/strong>.<\/li>\n\n\n\n<li>En este punto, la funci\u00f3n escrita en function() { &#8230; } se ejecuta.<\/li>\n\n\n\n<li>El momento en que se ejecuta el hook template_redirect en la lista de funciones que WordPress realiza internamente para abrir una p\u00e1gina se puede mostrar de la siguiente manera.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>index.php\n  -&gt; wp-blog-header.php\n    -&gt; wp-load.php\n      -&gt; wp-config.php\n        ...\n          -&gt; wp()\n            -&gt; $wp-&gt;main()\n              -&gt; parse_request()\n              -&gt; query_posts()\n              -&gt; handle_404()\n              -&gt; template_redirect() \/\/<strong>\u2190 justo aqu\u00ed!<\/strong>\n              -&gt; load_template()\n<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n puedes separar la funci\u00f3n de callback que usas en add_action() y escribir el c\u00f3digo de la siguiente manera.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>function my_custom_redirect_logic() {\n    \/\/ L\u00f3gica de redirecci\u00f3n\n}\nadd_action( 'template_redirect', 'my_custom_redirect_logic' );<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Detalles de la funci\u00f3n<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Obtiene la ruta solicitada desde <code>$_SERVER['REQUEST_URI']<\/code>, elimina la barra (<code>\/<\/code>) y la verifica.<\/li>\n\n\n\n<li>Si intentas acceder a una p\u00e1gina llamada &#8216;login&#8217; o &#8216;sample-page&#8217;, este shortcode redirige autom\u00e1ticamente al usuario a la p\u00e1gina de inicio. Esto proporciona una mejor experiencia al usuario y aumenta la utilidad del sitio web.<\/li>\n\n\n\n<li>El hook <code>template_redirect<\/code> es adecuado para interceptar el procesamiento de la p\u00e1gina porque se activa justo antes de cargar la plantilla del tema.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">C\u00f3mo utilizarlo<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agrega el c\u00f3digo anterior directamente en el functions.php de la carpeta del tema que est\u00e1s utilizando actualmente.<\/li>\n\n\n\n<li>Cambia o a\u00f1ade las partes &#8216;login&#8217;, &#8216;sample-page&#8217; a las URL que realmente necesitas.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Notas<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si deseas tratar las URLs sin distinguir entre may\u00fasculas y min\u00fasculas, puedes utilizar <code>strtolower()<\/code>.<\/li>\n\n\n\n<li>Ignora la cadena de consulta y solo reconoce la ruta (por ejemplo: <code>\/login?redirect=true<\/code> \u2192 <code>\/<\/code>).<\/li>\n\n\n\n<li>Tambi\u00e9n puedes usar <code>wp_safe_redirect()<\/code>, pero tiene la restricci\u00f3n de que solo puede redirigir al mismo dominio, por lo que <code>wp_redirect()<\/code> es m\u00e1s adecuado aqu\u00ed.<\/li>\n\n\n\n<li><code>wp_redirect()<\/code> es la funci\u00f3n b\u00e1sica proporcionada por WordPress para realizar redirecciones.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Casos de uso reales<\/h3>\n\n\n\n<p>Hay diversas situaciones en las que se puede utilizar este 301 redirect shortcode. Por ejemplo, a veces se renueva un sitio web o se interrumpe un servicio espec\u00edfico, lo que hace que las p\u00e1ginas que se usaban anteriormente ya no est\u00e9n disponibles. En este caso, si configuras una 301 redirecci\u00f3n, los usuarios no se perder\u00e1n al hacer clic en una p\u00e1gina incorrecta y podr\u00e1n obtener otra informaci\u00f3n \u00fatil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>El 301 redirect shortcode juega un papel importante en la mejora de la experiencia del usuario y tiene un impacto positivo en el SEO. Los administradores de sitios web pueden gestionar las p\u00e1ginas de manera m\u00e1s sistem\u00e1tica a trav\u00e9s de estos shortcodes y evitar errores 404 innecesarios, por lo que definitivamente recomiendo que lo utilicen.<\/p>\n\n\n\n<p>Si est\u00e1s utilizando un plugin de SEO como Rank Math, tambi\u00e9n puedes aprovecharlo. (Voy a resumir la informaci\u00f3n relacionada por separado)<\/p>\n\n\n\n<div style=\"margin-top: 10px;margin-bottom: 30px;border-top: 1px solid #ccc\">&nbsp;<\/div>\n\n\n\n<p><br><b>[SEO] :<\/b> Optimizaci\u00f3n para motores de b\u00fasqueda, el proceso de aumentar la visibilidad de un sitio web en los motores de b\u00fasqueda.<br><b>[wp_redirect] :<\/b> Funci\u00f3n de WordPress que gu\u00eda a los usuarios a una URL espec\u00edfica, manejando la redirecci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfHas o\u00eddo hablar de 301 redirect? Si est\u00e1s gestionando un sitio de WordPress, puedes implementarlo como un shortcode, y voy a resumir c\u00f3mo hacerlo utilizando el 301 redirect shortcode. \u00bfQu\u00e9 es el 301 Redirect Shortcode? Al operar un sitio web, a veces puede suceder que un usuario intente abrir una p\u00e1gina espec\u00edfica, pero esa p\u00e1gina [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[184],"tags":[],"class_list":["post-7246","post","type-post","status-publish","format-standard","hentry","category-shortcode-es"],"_links":{"self":[{"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/posts\/7246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/comments?post=7246"}],"version-history":[{"count":0,"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/posts\/7246\/revisions"}],"wp:attachment":[{"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/media?parent=7246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/categories?post=7246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cooss.net\/es\/wp-json\/wp\/v2\/tags?post=7246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}