{"id":4863,"date":"2022-01-28T12:34:00","date_gmt":"2022-01-28T11:34:00","guid":{"rendered":"https:\/\/www.loading.es\/blog\/?p=4863"},"modified":"2026-04-28T08:41:01","modified_gmt":"2026-04-28T06:41:01","slug":"como-hacer-una-redireccion-301-desde-htaccess","status":"publish","type":"post","link":"https:\/\/www.loading.es\/blog\/como-hacer-una-redireccion-301-desde-htaccess\/","title":{"rendered":"C\u00f3mo hacer una redirecci\u00f3n 301 desde .htaccess"},"content":{"rendered":"\n<p>Cuando cambias la URL de una p\u00e1gina o mueves tu web a otro dominio, es fundamental evitar que los usuarios acaben en un error 404. Aqu\u00ed es donde entra en juego la <strong>redirecci\u00f3n 301<\/strong>, una herramienta clave para que tanto los visitantes como los buscadores encuentren tu contenido sin problemas.<\/p>\n\n\n\n<p>Si alguna vez has cambiado de direcci\u00f3n en la vida real, sabr\u00e1s lo frustrante que es que las cartas sigan llegando a la casa antigua. Lo mismo ocurre en Internet: Google y tus usuarios deben saber d\u00f3nde encontrarte despu\u00e9s de un cambio.<\/p>\n\n\n\n<p>En esta gu\u00eda se explica qu\u00e9 es una redirecci\u00f3n 301, cu\u00e1ndo usarla y c\u00f3mo configurarla en <strong>.htaccess<\/strong> sin errores.<\/p>\n\n\n\n<p><strong><em>Tabla de Contenidos<\/em><\/strong><\/p>\n\n\n\n<ul>\n<li><a href=\"#301-01\">\u00bfQu\u00e9 es una redirecci\u00f3n 301?<\/a><\/li>\n\n\n\n<li><a href=\"#301-02\">\u00bfCu\u00e1ndo hacer una redirecci\u00f3n 301?<\/a><\/li>\n\n\n\n<li><a href=\"#301-03\">\u00bfC\u00f3mo hacer una redirecci\u00f3n 301 desde el archivo .htaccess?<\/a>\n<ul>\n<li><a href=\"#301-03-01\">Editar archivo .htaccess desde Plesk<\/a><\/li>\n\n\n\n<li><a href=\"#301-03-02\">Editar archivo .htaccess desde un cliente FTP<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"#301-04\">C\u00f3digos de redirecci\u00f3n 301<\/a><br><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.loading.es\/hosting\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" loading=\"lazy\" width=\"1000\" height=\"100\" src=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb.png\" alt=\"oferta para contratar hosting web\" class=\"wp-image-8039\" srcset=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb.png 1000w, https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb-300x30.png 300w, https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb-768x77.png 768w, https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb-850x85.png 850w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 es importante una redirecci\u00f3n 301<\/h2>\n\n\n\n<p>Una <strong>redirecci\u00f3n 301<\/strong> evita que una URL antigua se convierta en una p\u00e1gina perdida.<\/p>\n\n\n\n<p>Si alguien entra desde Google, desde un enlace antiguo o desde favoritos, el servidor lo env\u00eda autom\u00e1ticamente a la nueva direcci\u00f3n.<\/p>\n\n\n\n<p>Si no se configura correctamente una redirecci\u00f3n, pueden aparecer varios problemas:<\/p>\n\n\n\n<ul>\n<li><strong>P\u00e9rdida de tr\u00e1fico<\/strong>:<br>Los usuarios que intenten acceder a la URL antigua encontrar\u00e1n un error 404.<\/li>\n\n\n\n<li><strong>Bajada en SEO<\/strong>:<br>Google no sabr\u00e1 que la URL ha cambiado y dejar\u00e1 de indexarla correctamente.<\/li>\n\n\n\n<li><strong>Mala experiencia de usuario<\/strong>:<br>Nadie quiere entrar en una p\u00e1gina que ya no existe.<\/li>\n<\/ul>\n\n\n\n<p>Para evitarlo, una redirecci\u00f3n 301 le indica al navegador y a los buscadores que <strong>una p\u00e1gina se ha movido de manera permanente<\/strong> a una nueva direcci\u00f3n. As\u00ed, cualquier persona que intente acceder a la URL antigua ser\u00e1 enviada autom\u00e1ticamente a la nueva.<\/p>\n\n\n\n<!-- BLOQUE: por-que-es-importante-una-redireccion-301 -->\n<style>\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');\n\n  #comp-ld-301 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-301, #comp-ld-301 * { box-sizing: border-box; }\n\n  #comp-ld-301 .ld-container {\n    background: linear-gradient(135deg, #f4f4f6 0%, #ffffff 100%);\n    border-radius: 16px;\n    padding: 28px;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-301 .ld-header {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 20px;\n  }\n\n  #comp-ld-301 .ld-icon-wrapper {\n    width: 44px;\n    height: 44px;\n    background: linear-gradient(135deg, #db7424 0%, #e8944f 100%);\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 4px 12px rgba(219, 116, 36, 0.25);\n  }\n\n  #comp-ld-301 .ld-icon-wrapper svg {\n    width: 24px;\n    height: 24px;\n    stroke: #ffffff;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-301 .ld-title {\n    font-size: 1.1rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0;\n  }\n\n  #comp-ld-301 .ld-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n  }\n\n  #comp-ld-301 .ld-item {\n    display: flex;\n    align-items: flex-start;\n    gap: 14px;\n    padding: 16px;\n    background: #ffffff;\n    border-radius: 12px;\n    border: 1px solid rgba(55, 54, 61, 0.06);\n    transition: all 0.25s ease;\n  }\n\n  #comp-ld-301 .ld-item:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 20px rgba(55, 54, 61, 0.08);\n    border-color: rgba(219, 116, 36, 0.15);\n  }\n\n  #comp-ld-301 .ld-check {\n    width: 28px;\n    height: 28px;\n    background: rgba(25, 135, 84, 0.1);\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n\n  #comp-ld-301 .ld-check svg {\n    width: 16px;\n    height: 16px;\n    stroke: #198754;\n    stroke-width: 2.5;\n    fill: none;\n  }\n\n  #comp-ld-301 .ld-text {\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: #37363d;\n    margin: 0;\n  }\n\n  #comp-ld-301 .ld-highlight {\n    font-weight: 600;\n    color: #db7424;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-301 .ld-container { padding: 20px; }\n    #comp-ld-301 .ld-item { padding: 14px; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-301 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-301\">\n  <div class=\"ld-container\">\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-wrapper\">\n        <svg viewBox=\"0 0 24 24\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"\/><\/svg>\n      <\/div>\n      <div class=\"ld-title\">Por qu\u00e9 usar redirecci\u00f3n 301<\/div>\n    <\/div>\n    <ul class=\"ld-list\">\n      <li class=\"ld-item\">\n        <div class=\"ld-check\">\n          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-text\">Evita <span class=\"ld-highlight\">errores 404<\/span> cuando una p\u00e1gina ya no existe<\/p>\n      <\/li>\n      <li class=\"ld-item\">\n        <div class=\"ld-check\">\n          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-text\">Conserva el <span class=\"ld-highlight\">tr\u00e1fico<\/span> de usuarios que llegan desde enlaces antiguos<\/p>\n      <\/li>\n      <li class=\"ld-item\">\n        <div class=\"ld-check\">\n          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-text\">Transfiere la <span class=\"ld-highlight\">autoridad SEO<\/span> de la URL antigua a la nueva<\/p>\n      <\/li>\n      <li class=\"ld-item\">\n        <div class=\"ld-check\">\n          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-text\">Mejora la <span class=\"ld-highlight\">experiencia de usuario<\/span> al evitar p\u00e1ginas rotas<\/p>\n      <\/li>\n    <\/ul>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: por-que-es-importante-una-redireccion-301 -->\n\n\n\n<p>Tambi\u00e9n ayuda a conservar parte del valor SEO de la URL antigua, siempre que la redirecci\u00f3n est\u00e9 bien hecha y apunte a una p\u00e1gina equivalente o muy relacionada.<\/p>\n\n\n\n<p><strong>Importante<\/strong>: Google traspasa casi toda la autoridad de la p\u00e1gina antigua a la nueva si la redirecci\u00f3n 301 est\u00e1 bien hecha.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 es una redirecci\u00f3n 301<\/h2>\n\n\n\n<p>Una <strong>redirecci\u00f3n 301<\/strong> es una instrucci\u00f3n que indica que una URL se ha movido de forma permanente a otra direcci\u00f3n.<\/p>\n\n\n\n<p>Cuando alguien entra en la URL antigua, el servidor responde con el c\u00f3digo <strong>301 Moved Permanently<\/strong> y env\u00eda al usuario a la nueva URL.<\/p>\n\n\n\n<p>Esto tambi\u00e9n sirve para los buscadores. Google entiende que el contenido ha cambiado de ubicaci\u00f3n y que debe tener en cuenta la nueva direcci\u00f3n.<\/p>\n\n\n\n<p>La redirecci\u00f3n 301 debe usarse solo cuando el cambio es definitivo.<\/p>\n\n\n\n<p>Si el cambio es temporal, por ejemplo durante una prueba o una tarea de mantenimiento, lo correcto es usar una <strong>redirecci\u00f3n 302<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cu\u00e1ndo hacer una redirecci\u00f3n 301<\/h2>\n\n\n\n<p>La <strong>redirecci\u00f3n 301<\/strong> debe usarse cuando el cambio de URL es permanente.<\/p>\n\n\n\n<p>Estos son los casos m\u00e1s habituales:<\/p>\n\n\n\n<ul>\n<li>Cuando cambias una p\u00e1gina de una URL antigua a una <strong>URL nueva<\/strong>.<\/li>\n\n\n\n<li>Cuando haces un <strong>cambio de dominio<\/strong>.<\/li>\n\n\n\n<li>Cuando pasas de un dominio con <strong>www<\/strong> a uno sin <strong>www<\/strong>, o al rev\u00e9s.<\/li>\n\n\n\n<li>Cuando instalas un certificado SSL y necesitas redirigir de <strong>http<\/strong> a <strong>https<\/strong>.<\/li>\n\n\n\n<li>Cuando cambias la estructura de enlaces de una web.<\/li>\n\n\n\n<li>Cuando eliminas un producto, servicio o art\u00edculo y quieres enviar al usuario a una p\u00e1gina <strong>muy relacionada<\/strong>.<\/li>\n\n\n\n<li>Cuando unes varias p\u00e1ginas parecidas y quieres dejar una sola URL principal.<\/li>\n<\/ul>\n\n\n\n<!-- BLOQUE: cuando-hacer-una-redireccion-301 -->\n<style>\n  #comp-ld-302 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-302, #comp-ld-302 * { box-sizing: border-box; }\n\n  #comp-ld-302 .ld-container {\n    background: #ffffff;\n    border-radius: 16px;\n    padding: 28px;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-302 .ld-header {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 24px;\n  }\n\n  #comp-ld-302 .ld-icon-wrapper {\n    width: 44px;\n    height: 44px;\n    background: linear-gradient(135deg, #00bcdf 0%, #4dd4ed 100%);\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 4px 12px rgba(0, 188, 223, 0.25);\n  }\n\n  #comp-ld-302 .ld-icon-wrapper svg {\n    width: 24px;\n    height: 24px;\n    stroke: #ffffff;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-302 .ld-title {\n    font-size: 1.1rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0;\n  }\n\n  #comp-ld-302 .ld-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n    gap: 14px;\n  }\n\n  #comp-ld-302 .ld-card {\n    background: #f4f4f6;\n    border-radius: 12px;\n    padding: 18px;\n    border: 1px solid transparent;\n    transition: all 0.25s ease;\n    position: relative;\n    overflow: hidden;\n  }\n\n  #comp-ld-302 .ld-card::before {\n    content: '';\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    height: 3px;\n    background: linear-gradient(90deg, #db7424 0%, #00bcdf 100%);\n    opacity: 0;\n    transition: opacity 0.25s ease;\n  }\n\n  #comp-ld-302 .ld-card:hover {\n    background: #ffffff;\n    border-color: rgba(219, 116, 36, 0.15);\n    box-shadow: 0 8px 24px rgba(55, 54, 61, 0.1);\n    transform: translateY(-3px);\n  }\n\n  #comp-ld-302 .ld-card:hover::before {\n    opacity: 1;\n  }\n\n  #comp-ld-302 .ld-card-icon {\n    width: 36px;\n    height: 36px;\n    background: rgba(219, 116, 36, 0.1);\n    border-radius: 10px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 12px;\n  }\n\n  #comp-ld-302 .ld-card-icon svg {\n    width: 20px;\n    height: 20px;\n    stroke: #db7424;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-302 .ld-card-text {\n    font-size: 0.9rem;\n    line-height: 1.4;\n    color: #37363d;\n    margin: 0;\n    font-weight: 500;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-302 .ld-container { padding: 20px; }\n    #comp-ld-302 .ld-grid { grid-template-columns: 1fr; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-302 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-302\">\n  <div class=\"ld-container\">\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-wrapper\">\n        <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\n      <\/div>\n      <div class=\"ld-title\">Cu\u00e1ndo aplicar una redirecci\u00f3n 301<\/div>\n    <\/div>\n    <div class=\"ld-grid\">\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Cambio de URL de una p\u00e1gina a una nueva<\/p>\n      <\/div>\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Migraci\u00f3n a un dominio diferente<\/p>\n      <\/div>\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Instalaci\u00f3n de certificado SSL (HTTP a HTTPS)<\/p>\n      <\/div>\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Modificaci\u00f3n de la estructura de URLs<\/p>\n      <\/div>\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"\/><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Uni\u00f3n de varias p\u00e1ginas en una sola<\/p>\n      <\/div>\n      <div class=\"ld-card\">\n        <div class=\"ld-card-icon\">\n          <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-card-text\">Cambio entre versi\u00f3n www y sin www<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: cuando-hacer-una-redireccion-301 -->\n\n\n\n<p>La clave es que la nueva URL tenga sentido para el usuario.<\/p>\n\n\n\n<p>Si rediriges una p\u00e1gina antigua a una URL que no tiene relaci\u00f3n, puedes confundir al visitante y tambi\u00e9n enviar una se\u00f1al poco clara a Google.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo hacer una redirecci\u00f3n 301 desde el archivo .htaccess?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Editar archivo .htaccess desde Plesk<\/h3>\n\n\n\n<ul>\n<li><strong>En el panel de administraci\u00f3n de Plesk<\/strong> haz clic <strong>Administrador de archivos<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-1-1024x511.jpg\" alt=\"img\"\/><\/a><\/figure>\n\n\n\n<ul>\n<li>Una vez dentro, <strong>abre la carpeta donde se encuentre el archivo .htaccess<\/strong> que quiere modificar. En este caso, nosotros vamos a editar el de WordPress.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-3.jpg\"><img decoding=\"async\" src=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-3-1024x364.jpg\" alt=\"img\"\/><\/a><\/figure>\n\n\n\n<ul>\n<li>Ahora, <strong>a\u00f1ade el fragmento de c\u00f3digo correspondiente a la redirecci\u00f3n 301<\/strong> que quieras generar al principio del archivo y guarda los cambios.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-10.png\"><img decoding=\"async\" src=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/plesk-htaccess-001-10.png\" alt=\"img\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Editar archivo .htaccess desde un cliente FTP<\/h3>\n\n\n\n<ul>\n<li><em>S<\/em>olo tienes que acceder a la carpeta ra\u00edz y <strong>abrir el archivo .htaccess<\/strong> con una aplicaci\u00f3n de edici\u00f3n web o con cualquier editor de texto, luego pega el fragmento de c\u00f3digo al principio del archivo para <strong>generar la redirecci\u00f3n 301<\/strong>.<\/li>\n\n\n\n<li><strong>Guarda el archivo y vuelve a subirlo,<\/strong> sobrescribe el anterior, y ya deber\u00eda estar activada la redirecci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p>A continuaci\u00f3n, te dejamos <strong>algunos c\u00f3digos de redirecci\u00f3n 301.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Antes de modificar el archivo .htaccess<\/h2>\n\n\n\n<p>Antes de a\u00f1adir una redirecci\u00f3n 301, conviene hacer una <strong>copia del archivo .htaccess<\/strong>.<\/p>\n\n\n\n<p>Es un archivo sensible. Si se escribe mal una regla, la web puede mostrar un error o dejar de cargar correctamente.<\/p>\n\n\n\n<!-- BLOQUE: antes-de-modificar-htaccess -->\n<style>\n  #comp-ld-304 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #ffffff;\n  }\n\n  #comp-ld-304, #comp-ld-304 * { box-sizing: border-box; }\n\n  #comp-ld-304 .ld-container {\n    background: linear-gradient(135deg, #37363d 0%, #2d2c33 100%);\n    border-radius: 16px;\n    padding: 28px;\n    border: 1px solid rgba(255, 255, 255, 0.08);\n    box-shadow: 0 8px 32px rgba(55, 54, 61, 0.25);\n    position: relative;\n    overflow: hidden;\n  }\n\n  #comp-ld-304 .ld-container::before {\n    content: '';\n    position: absolute;\n    top: -50%;\n    right: -20%;\n    width: 300px;\n    height: 300px;\n    background: radial-gradient(circle, rgba(219, 116, 36, 0.15) 0%, transparent 70%);\n    pointer-events: none;\n  }\n\n  #comp-ld-304 .ld-header {\n    display: flex;\n    align-items: center;\n    gap: 14px;\n    margin-bottom: 20px;\n    position: relative;\n    z-index: 1;\n  }\n\n  #comp-ld-304 .ld-icon-wrapper {\n    width: 48px;\n    height: 48px;\n    background: rgba(219, 116, 36, 0.2);\n    border: 2px solid rgba(219, 116, 36, 0.4);\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 0 20px rgba(219, 116, 36, 0.3);\n  }\n\n  #comp-ld-304 .ld-icon-wrapper svg {\n    width: 24px;\n    height: 24px;\n    stroke: #db7424;\n    stroke-width: 2.5;\n    fill: none;\n  }\n\n  #comp-ld-304 .ld-title {\n    font-size: 1.15rem;\n    font-weight: 600;\n    color: #ffffff;\n    margin: 0;\n  }\n\n  #comp-ld-304 .ld-content {\n    background: rgba(255, 255, 255, 0.05);\n    border-radius: 12px;\n    padding: 20px;\n    border: 1px solid rgba(255, 255, 255, 0.08);\n    position: relative;\n    z-index: 1;\n  }\n\n  #comp-ld-304 .ld-text {\n    font-size: 0.95rem;\n    line-height: 1.6;\n    color: rgba(255, 255, 255, 0.85);\n    margin: 0 0 16px 0;\n  }\n\n  #comp-ld-304 .ld-text:last-child {\n    margin-bottom: 0;\n  }\n\n  #comp-ld-304 .ld-highlight {\n    color: #db7424;\n    font-weight: 600;\n  }\n\n  #comp-ld-304 .ld-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    background: rgba(0, 188, 223, 0.15);\n    border: 1px solid rgba(0, 188, 223, 0.3);\n    padding: 10px 16px;\n    border-radius: 8px;\n    font-size: 0.9rem;\n    color: #00bcdf;\n    font-weight: 500;\n  }\n\n  #comp-ld-304 .ld-badge svg {\n    width: 18px;\n    height: 18px;\n    stroke: #00bcdf;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-304 .ld-container { padding: 22px; }\n    #comp-ld-304 .ld-content { padding: 16px; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-304 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-304\">\n  <div class=\"ld-container\">\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-wrapper\">\n        <svg viewBox=\"0 0 24 24\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\n      <\/div>\n      <div class=\"ld-title\">Antes de tocar el archivo .htaccess<\/div>\n    <\/div>\n    <div class=\"ld-content\">\n      <p class=\"ld-text\">El archivo <span class=\"ld-highlight\">.htaccess<\/span> es sensible. Un error de sintaxis puede dejar tu web inaccesible.<\/p>\n      <p class=\"ld-text\">Siempre haz una <span class=\"ld-highlight\">copia de seguridad<\/span> antes de modificarlo. As\u00ed podr\u00e1s restaurar la versi\u00f3n original si algo sale mal.<\/p>\n      <div class=\"ld-badge\">\n        <svg viewBox=\"0 0 24 24\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><polyline points=\"14 2 14 8 20 8\"\/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"\/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"\/><polyline points=\"10 9 9 9 8 9\"\/><\/svg>\n        Guarda una copia antes de editar\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: antes-de-modificar-htaccess -->\n\n\n\n<p>Tambi\u00e9n es importante tener claro que el archivo <strong>.htaccess se usa en servidores Apache<\/strong> o en configuraciones compatibles.<\/p>\n\n\n\n<p>Si tu web funciona con <strong>Nginx puro<\/strong>, estas reglas no se aplican desde <code>.htaccess<\/code>. En ese caso, la redirecci\u00f3n debe configurarse desde el servidor, el panel de hosting o la configuraci\u00f3n de Nginx.<\/p>\n\n\n\n<p>Los <strong><a href=\"https:\/\/www.loading.es\/hosting\/index.html\">alojamientos web<\/a><\/strong> que ofrecemos en <strong>Loading<\/strong> usan <strong><a href=\"https:\/\/www.loading.es\/blog\/que-es-apache-como-funciona\/\">Apache<\/a><\/strong>, as\u00ed que no tendr\u00e1s ning\u00fan problema al respecto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digos de redirecci\u00f3n 301<\/h2>\n\n\n\n<!-- WIDGET REDIRECCIONES 301 v3 - Navegador Interactivo -->\n<div id=\"ld-redirect-nav\">\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n  <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/animejs\/3.2.1\/anime.min.js\"><\/script>\n\n  <style>\n    #ld-redirect-nav {\n      --ld-orange: #db7424;\n      --ld-dark: #37363d;\n      --ld-cyan: #00bcdf;\n      --ld-green: #198754;\n      --ld-bg: #f4f4f6;\n      --ld-card: #ffffff;\n      --ld-text: #37363d;\n      --ld-muted: rgba(55, 54, 61, 0.6);\n      --ld-code-bg: #1a1a2e;\n      --ld-shadow: 0 4px 20px rgba(55, 54, 61, 0.08);\n      --ld-shadow-hover: 0 12px 40px rgba(219, 116, 36, 0.15);\n      \n      font-family: 'Space Grotesk', sans-serif;\n      max-width: 800px;\n      margin: 32px auto;\n      box-sizing: border-box;\n    }\n\n    #ld-redirect-nav .ld-container {\n      background: linear-gradient(145deg, #ffffff 0%, var(--ld-bg) 100%);\n      border-radius: 24px;\n      padding: 40px 32px;\n      box-shadow: var(--ld-shadow);\n      border: 1px solid rgba(55, 54, 61, 0.06);\n      position: relative;\n      overflow: hidden;\n    }\n\n    \/* Decoraci\u00f3n de fondo *\/\n    #ld-redirect-nav .ld-bg-shape {\n      position: absolute;\n      top: -100px;\n      right: -100px;\n      width: 300px;\n      height: 300px;\n      background: radial-gradient(circle, rgba(219, 116, 36, 0.08) 0%, transparent 70%);\n      border-radius: 50%;\n      pointer-events: none;\n    }\n\n    #ld-redirect-nav .ld-bg-shape-2 {\n      position: absolute;\n      bottom: -80px;\n      left: -80px;\n      width: 250px;\n      height: 250px;\n      background: radial-gradient(circle, rgba(0, 188, 223, 0.06) 0%, transparent 70%);\n      border-radius: 50%;\n      pointer-events: none;\n    }\n\n    \/* Header *\/\n    #ld-redirect-nav .ld-header {\n      text-align: center;\n      margin-bottom: 32px;\n      position: relative;\n      z-index: 1;\n    }\n\n    #ld-redirect-nav .ld-icon-main {\n      width: 64px;\n      height: 64px;\n      background: linear-gradient(135deg, var(--ld-orange) 0%, #e8944f 100%);\n      border-radius: 20px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin: 0 auto 20px;\n      box-shadow: 0 8px 24px rgba(219, 116, 36, 0.3);\n    }\n\n    #ld-redirect-nav .ld-icon-main svg {\n      width: 32px;\n      height: 32px;\n      stroke: #ffffff;\n      stroke-width: 2;\n      fill: none;\n    }\n\n    #ld-redirect-nav .ld-title {\n      font-size: 1.6rem;\n      font-weight: 700;\n      color: var(--ld-dark);\n      margin: 0 0 8px 0;\n      letter-spacing: -0.02em;\n    }\n\n    #ld-redirect-nav .ld-subtitle {\n      font-size: 1rem;\n      color: var(--ld-muted);\n      margin: 0;\n      font-weight: 400;\n    }\n\n    \/* Pasos\/Navegaci\u00f3n *\/\n    #ld-redirect-nav .ld-steps-container {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 16px;\n      margin-bottom: 32px;\n      position: relative;\n      z-index: 1;\n    }\n\n    #ld-redirect-nav .ld-step-indicator {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }\n\n    #ld-redirect-nav .ld-step-dot {\n      width: 12px;\n      height: 12px;\n      border-radius: 50%;\n      background: rgba(55, 54, 61, 0.15);\n      transition: all 0.3s ease;\n    }\n\n    #ld-redirect-nav .ld-step-dot.active {\n      background: var(--ld-orange);\n      box-shadow: 0 0 0 4px rgba(219, 116, 36, 0.2);\n    }\n\n    #ld-redirect-nav .ld-step-line {\n      width: 40px;\n      height: 2px;\n      background: rgba(55, 54, 61, 0.1);\n      border-radius: 1px;\n    }\n\n    \/* Pantalla de selecci\u00f3n inicial *\/\n    #ld-redirect-nav .ld-choices-grid {\n      display: grid;\n      grid-template-columns: repeat(2, 1fr);\n      gap: 16px;\n      position: relative;\n      z-index: 1;\n    }\n\n    #ld-redirect-nav .ld-choice-btn {\n      background: var(--ld-card);\n      border: 2px solid rgba(55, 54, 61, 0.06);\n      border-radius: 16px;\n      padding: 28px 20px;\n      cursor: pointer;\n      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n      text-align: center;\n      position: relative;\n      overflow: hidden;\n    }\n\n    #ld-redirect-nav .ld-choice-btn::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      height: 0;\n      background: linear-gradient(180deg, rgba(219, 116, 36, 0.1) 0%, transparent 100%);\n      transition: height 0.3s ease;\n    }\n\n    #ld-redirect-nav .ld-choice-btn:hover {\n      border-color: rgba(219, 116, 36, 0.3);\n      transform: translateY(-4px);\n      box-shadow: var(--ld-shadow-hover);\n    }\n\n    #ld-redirect-nav .ld-choice-btn:hover::before {\n      height: 100%;\n    }\n\n    #ld-redirect-nav .ld-choice-icon {\n      width: 48px;\n      height: 48px;\n      margin: 0 auto 16px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      border-radius: 14px;\n      background: rgba(219, 116, 36, 0.08);\n      transition: all 0.3s ease;\n    }\n\n    #ld-redirect-nav .ld-choice-btn:hover .ld-choice-icon {\n      background: linear-gradient(135deg, var(--ld-orange) 0%, #e8944f 100%);\n      transform: scale(1.1);\n    }\n\n    #ld-redirect-nav .ld-choice-icon svg {\n      width: 24px;\n      height: 24px;\n      stroke: var(--ld-orange);\n      stroke-width: 2;\n      fill: none;\n      transition: stroke 0.3s ease;\n    }\n\n    #ld-redirect-nav .ld-choice-btn:hover .ld-choice-icon svg {\n      stroke: #ffffff;\n    }\n\n    #ld-redirect-nav .ld-choice-text {\n      font-size: 1rem;\n      font-weight: 600;\n      color: var(--ld-dark);\n      margin: 0 0 6px 0;\n    }\n\n    #ld-redirect-nav .ld-choice-desc {\n      font-size: 0.85rem;\n      color: var(--ld-muted);\n      margin: 0;\n      line-height: 1.4;\n    }\n\n    \/* Pantalla de resultado *\/\n    #ld-redirect-nav .ld-result-panel {\n      display: none;\n      background: var(--ld-card);\n      border-radius: 20px;\n      padding: 32px;\n      border: 1px solid rgba(55, 54, 61, 0.06);\n      position: relative;\n      z-index: 1;\n      opacity: 0;\n      transform: translateY(20px);\n    }\n\n    #ld-redirect-nav .ld-result-panel.visible {\n      display: block;\n    }\n\n    #ld-redirect-nav .ld-back-btn {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      background: none;\n      border: none;\n      color: var(--ld-muted);\n      font-family: inherit;\n      font-size: 0.9rem;\n      cursor: pointer;\n      padding: 8px 0;\n      margin-bottom: 20px;\n      transition: color 0.2s ease;\n    }\n\n    #ld-redirect-nav .ld-back-btn:hover {\n      color: var(--ld-orange);\n    }\n\n    #ld-redirect-nav .ld-back-btn svg {\n      width: 18px;\n      height: 18px;\n      stroke: currentColor;\n      stroke-width: 2;\n      fill: none;\n    }\n\n    \/* Diagrama de flujo *\/\n    #ld-redirect-nav .ld-flow-diagram {\n      background: linear-gradient(135deg, rgba(0, 188, 223, 0.05) 0%, rgba(219, 116, 36, 0.05) 100%);\n      border-radius: 16px;\n      padding: 24px;\n      margin-bottom: 24px;\n      border: 1px solid rgba(55, 54, 61, 0.06);\n    }\n\n    #ld-redirect-nav .ld-flow-title {\n      font-size: 0.9rem;\n      font-weight: 600;\n      color: var(--ld-dark);\n      margin: 0 0 20px 0;\n      text-align: center;\n      text-transform: uppercase;\n      letter-spacing: 0.5px;\n    }\n\n    #ld-redirect-nav .ld-flow-nodes {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      gap: 12px;\n      flex-wrap: wrap;\n    }\n\n    #ld-redirect-nav .ld-node {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n    }\n\n    #ld-redirect-nav .ld-node-box {\n      background: var(--ld-card);\n      border-radius: 12px;\n      padding: 14px 20px;\n      box-shadow: 0 2px 8px rgba(55, 54, 61, 0.08);\n      font-size: 0.9rem;\n      font-weight: 500;\n      color: var(--ld-dark);\n      border: 2px solid transparent;\n      transition: all 0.3s ease;\n    }\n\n    #ld-redirect-nav .ld-node-box.source {\n      border-color: rgba(219, 116, 36, 0.3);\n      background: rgba(219, 116, 36, 0.05);\n    }\n\n    #ld-redirect-nav .ld-node-box.target {\n      border-color: rgba(25, 135, 84, 0.3);\n      background: rgba(25, 135, 84, 0.05);\n    }\n\n    #ld-redirect-nav .ld-arrow {\n      display: flex;\n      align-items: center;\n      color: var(--ld-orange);\n      font-weight: 700;\n      font-size: 1.2rem;\n    }\n\n    #ld-redirect-nav .ld-arrow svg {\n      width: 28px;\n      height: 28px;\n      stroke: var(--ld-orange);\n      stroke-width: 2.5;\n      fill: none;\n    }\n\n    #ld-redirect-nav .ld-code-301 {\n      background: var(--ld-orange);\n      color: #ffffff;\n      padding: 4px 10px;\n      border-radius: 6px;\n      font-size: 0.8rem;\n      font-weight: 700;\n      margin-left: 8px;\n    }\n\n    \/* Bloque de c\u00f3digo *\/\n    #ld-redirect-nav .ld-code-block {\n      background: var(--ld-code-bg) !important;\n      border-radius: 16px;\n      padding: 24px;\n      position: relative;\n      overflow: hidden;\n    }\n\n    #ld-redirect-nav .ld-code-block::before {\n      content: '';\n      position: absolute;\n      top: 0;\n      left: 0;\n      right: 0;\n      height: 3px;\n      background: linear-gradient(90deg, var(--ld-orange), var(--ld-cyan));\n    }\n\n    #ld-redirect-nav .ld-code-header {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      margin-bottom: 16px;\n      padding-bottom: 16px;\n      border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n    }\n\n    #ld-redirect-nav .ld-code-label {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      font-size: 0.85rem;\n      color: rgba(255, 255, 255, 0.6);\n      font-weight: 500;\n    }\n\n    #ld-redirect-nav .ld-code-label svg {\n      width: 18px;\n      height: 18px;\n      stroke: var(--ld-cyan);\n      stroke-width: 2;\n      fill: none;\n    }\n\n    #ld-redirect-nav .ld-copy-btn {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      background: rgba(255, 255, 255, 0.1);\n      border: 1px solid rgba(255, 255, 255, 0.15);\n      border-radius: 10px;\n      color: rgba(255, 255, 255, 0.9);\n      font-family: inherit;\n      font-size: 0.85rem;\n      font-weight: 500;\n      padding: 10px 18px;\n      cursor: pointer;\n      transition: all 0.25s ease;\n    }\n\n    #ld-redirect-nav .ld-copy-btn:hover {\n      background: var(--ld-orange);\n      border-color: var(--ld-orange);\n      color: #ffffff;\n      transform: translateY(-2px);\n    }\n\n    #ld-redirect-nav .ld-copy-btn.copied {\n      background: var(--ld-green);\n      border-color: var(--ld-green);\n      color: #ffffff;\n    }\n\n    #ld-redirect-nav .ld-copy-btn svg {\n      width: 16px;\n      height: 16px;\n      stroke: currentColor;\n      stroke-width: 2;\n      fill: none;\n    }\n\n    #ld-redirect-nav .ld-code-content {\n      font-family: 'SF Mono', Monaco, Consolas, monospace;\n      font-size: 0.9rem;\n      line-height: 1.7;\n      color: #e8e8f0 !important;\n      background: transparent !important;\n      white-space: pre-wrap;\n      word-break: break-all;\n      overflow-x: auto;\n      margin: 0;\n      padding: 0;\n      border: 0;\n    }\n\n    #ld-redirect-nav .ld-code-content span {\n      background: transparent !important;\n    }\n\n    #ld-redirect-nav .ld-code-kw { color: var(--ld-orange) !important; font-weight: 600; }\n    #ld-redirect-nav .ld-code-val { color: var(--ld-cyan) !important; }\n    #ld-redirect-nav .ld-code-str { color: #a5d6a7 !important; }\n    #ld-redirect-nav .ld-code-comment { color: #b7b7c8 !important; font-style: italic; }\n\n    \/* Info adicional *\/\n    #ld-redirect-nav .ld-info-box {\n      display: flex;\n      align-items: flex-start;\n      gap: 14px;\n      background: linear-gradient(135deg, rgba(25, 135, 84, 0.08) 0%, rgba(25, 135, 84, 0.03) 100%);\n      border-left: 3px solid var(--ld-green);\n      border-radius: 0 12px 12px 0;\n      padding: 18px 20px;\n      margin-top: 20px;\n    }\n\n    #ld-redirect-nav .ld-info-icon {\n      width: 28px;\n      height: 28px;\n      background: rgba(25, 135, 84, 0.15);\n      border-radius: 50%;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      flex-shrink: 0;\n    }\n\n    #ld-redirect-nav .ld-info-icon svg {\n      width: 16px;\n      height: 16px;\n      stroke: var(--ld-green);\n      stroke-width: 2.5;\n      fill: none;\n    }\n\n    #ld-redirect-nav .ld-info-text {\n      font-size: 0.9rem;\n      line-height: 1.5;\n      color: var(--ld-text);\n      margin: 0;\n    }\n\n    #ld-redirect-nav .ld-info-text strong {\n      color: var(--ld-dark);\n      font-weight: 600;\n    }\n\n    \/* Responsive *\/\n    @media (max-width: 640px) {\n      #ld-redirect-nav .ld-container {\n        padding: 28px 20px;\n        margin: 0 16px;\n      }\n\n      #ld-redirect-nav .ld-title {\n        font-size: 1.3rem;\n      }\n\n      #ld-redirect-nav .ld-choices-grid {\n        grid-template-columns: 1fr;\n      }\n\n      #ld-redirect-nav .ld-choice-btn {\n        padding: 22px 18px;\n      }\n\n      #ld-redirect-nav .ld-flow-nodes {\n        flex-direction: column;\n        gap: 12px;\n      }\n\n      #ld-redirect-nav .ld-arrow {\n        transform: rotate(90deg);\n      }\n\n      #ld-redirect-nav .ld-code-block {\n        padding: 18px;\n      }\n    }\n\n    @media (prefers-reduced-motion: reduce) {\n      #ld-redirect-nav .ld-choice-btn,\n      #ld-redirect-nav .ld-copy-btn {\n        transition: none;\n      }\n    }\n  <\/style>\n\n  <div class=\"ld-container\">\n    <div class=\"ld-bg-shape\"><\/div>\n    <div class=\"ld-bg-shape-2\"><\/div>\n\n    <!-- Header -->\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-main\">\n        <svg viewBox=\"0 0 24 24\">\n          <path d=\"M9 14 4 9l5-5\"\/>\n          <path d=\"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11\"\/>\n        <\/svg>\n      <\/div>\n      <p class=\"ld-title\">\u00bfQu\u00e9 necesitas redirigir?<\/p>\n      <p class=\"ld-subtitle\">Selecciona tu caso y obt\u00e9n el c\u00f3digo exacto<\/p>\n    <\/div>\n\n    <!-- Pasos indicador -->\n    <div class=\"ld-steps-container\">\n      <div class=\"ld-step-indicator\">\n        <div class=\"ld-step-dot active\" id=\"ld-step-1\"><\/div>\n        <div class=\"ld-step-line\"><\/div>\n        <div class=\"ld-step-dot\" id=\"ld-step-2\"><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Pantalla de selecci\u00f3n -->\n    <div class=\"ld-choices-grid\" id=\"ld-choices-screen\">\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('url')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/>\n            <path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">Una URL espec\u00edfica<\/p>\n        <p class=\"ld-choice-desc\">Ej: \/antigua-url \u2192 \/nueva-url<\/p>\n      <\/button>\n\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('domain')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"\/>\n            <line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/>\n            <line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">Dominio completo<\/p>\n        <p class=\"ld-choice-desc\">Ej: dominioantiguo.com \u2192 nuevodominio.com<\/p>\n      <\/button>\n\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('www')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n            <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/>\n            <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">www \u2194 Sin www<\/p>\n        <p class=\"ld-choice-desc\">Estandarizar la versi\u00f3n del dominio<\/p>\n      <\/button>\n\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('https')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">HTTP \u2192 HTTPS<\/p>\n        <p class=\"ld-choice-desc\">Forzar conexi\u00f3n segura SSL<\/p>\n      <\/button>\n\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('compare')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <circle cx=\"12\" cy=\"12\" r=\"10\"\/>\n            <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/>\n            <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">\u00bf301 o 302?<\/p>\n        <p class=\"ld-choice-desc\">Diferencias y cu\u00e1ndo usar cada una<\/p>\n      <\/button>\n\n      <button class=\"ld-choice-btn\" onclick=\"ldShowResult('all')\">\n        <div class=\"ld-choice-icon\">\n          <svg viewBox=\"0 0 24 24\">\n            <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/>\n            <polyline points=\"14 2 14 8 20 8\"\/>\n            <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"\/>\n            <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"\/>\n            <polyline points=\"10 9 9 9 8 9\"\/>\n          <\/svg>\n        <\/div>\n        <p class=\"ld-choice-text\">Ver todas las opciones<\/p>\n        <p class=\"ld-choice-desc\">Gu\u00eda completa de redirecciones<\/p>\n      <\/button>\n    <\/div>\n\n    <!-- Pantalla de resultado -->\n    <div class=\"ld-result-panel\" id=\"ld-result-screen\">\n      <button class=\"ld-back-btn\" onclick=\"ldBackToChoices()\">\n        <svg viewBox=\"0 0 24 24\">\n          <path d=\"M19 12H5M12 19l-7-7 7-7\"\/>\n        <\/svg>\n        Volver a las opciones\n      <\/button>\n\n      <div class=\"ld-flow-diagram\" id=\"ld-flow-content\">\n        <!-- Contenido din\u00e1mico -->\n      <\/div>\n\n      <div class=\"ld-code-block\" id=\"ld-code-content\">\n        <div class=\"ld-code-header\">\n          <div class=\"ld-code-label\">\n            <svg viewBox=\"0 0 24 24\">\n              <polyline points=\"16 18 22 12 16 6\"\/>\n              <polyline points=\"8 6 2 12 8 18\"\/>\n            <\/svg>\n            C\u00f3digo para .htaccess\n          <\/div>\n          <button class=\"ld-copy-btn\" id=\"ld-copy-btn\" onclick=\"ldCopyCode()\">\n            <svg viewBox=\"0 0 24 24\" class=\"ld-icon-copy\">\n              <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"\/>\n              <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"\/>\n            <\/svg>\n            <svg viewBox=\"0 0 24 24\" class=\"ld-icon-check\" style=\"display: none;\">\n              <polyline points=\"20 6 9 17 4 12\"\/>\n            <\/svg>\n            <span class=\"ld-copy-text\">Copiar c\u00f3digo<\/span>\n          <\/button>\n        <\/div>\n        <pre class=\"ld-code-content\" id=\"ld-code-display\"><\/pre>\n      <\/div>\n\n      <div class=\"ld-info-box\" id=\"ld-info-content\">\n        <!-- Info din\u00e1mica -->\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    \/\/ Datos de cada tipo de redirecci\u00f3n\n    const ldRedirectData = {\n      url: {\n        flow: {\n          source: '\/antigua-url',\n          target: '\/nueva-url',\n          label: 'Redirecci\u00f3n 301'\n        },\n        code: '<span class=\"ld-code-kw\">Redirect<\/span> <span class=\"ld-code-val\">301<\/span> <span class=\"ld-code-str\">\/antigua-url<\/span> <span class=\"ld-code-str\">https:\/\/tudominio.com\/nueva-url<\/span>',\n        info: 'Esta redirecci\u00f3n transfiere el SEO de la URL antigua a la nueva. <strong>Ideal para cambios de estructura<\/strong> o p\u00e1ginas movidas.'\n      },\n      domain: {\n        flow: {\n          source: 'dominioantiguo.com',\n          target: 'nuevodominio.com',\n          label: 'Migraci\u00f3n 301'\n        },\n        code: '<span class=\"ld-code-kw\">Redirect<\/span> <span class=\"ld-code-val\">301<\/span> <span class=\"ld-code-str\">\/<\/span> <span class=\"ld-code-str\">https:\/\/www.nuevodominio.com\/<\/span>',\n        info: 'Migra todo el tr\u00e1fico y autoridad SEO al nuevo dominio. <strong>Esencial en cambios de marca<\/strong> o fusiones de webs.'\n      },\n      www: {\n        flow: {\n          source: 'tudominio.com',\n          target: 'www.tudominio.com',\n          label: 'Canonical 301'\n        },\n        code: '<span class=\"ld-code-kw\">&lt;IfModule<\/span> mod_rewrite.c<span class=\"ld-code-kw\">&gt;<\/span>\\n<span class=\"ld-code-kw\">RewriteCond<\/span> %{HTTP_HOST} ^tudominio.com [NC]\\n<span class=\"ld-code-kw\">RewriteRule<\/span> (.*) https:\/\/www.tudominio.com\/$1 [R=301,L,QSA]\\n<span class=\"ld-code-kw\">&lt;\/IfModule&gt;<\/span>',\n        info: 'Evita contenido duplicado consolidando todas las URLs en una versi\u00f3n can\u00f3nica. <strong>Recomendado para SEO t\u00e9cnico<\/strong>.'\n      },\n      https: {\n        flow: {\n          source: 'http:\/\/',\n          target: 'https:\/\/',\n          label: 'SSL 301'\n        },\n        code: '<span class=\"ld-code-kw\">RewriteEngine<\/span> On\\n<span class=\"ld-code-kw\">RewriteCond<\/span> %{HTTPS} off\\n<span class=\"ld-code-kw\">RewriteRule<\/span> ^(.*)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]',\n        info: 'Obligatorio tras instalar un certificado SSL. <strong>Google prioriza webs seguras<\/strong> en el posicionamiento.'\n      },\n      compare: {\n        flow: null,\n        code: '<span class=\"ld-code-comment\"># Usa 301 para cambios PERMANENTES:<\/span>\\n<span class=\"ld-code-comment\"># - Migraci\u00f3n definitiva de dominio<\/span>\\n<span class=\"ld-code-comment\"># - Nueva estructura de URLs<\/span>\\n<span class=\"ld-code-comment\"># - Cambio a HTTPS<\/span>\\n<span class=\"ld-code-comment\"><\/span>\\n<span class=\"ld-code-comment\"># Usa 302 para cambios TEMPORALES:<\/span>\\n<span class=\"ld-code-comment\"># - Mantenimiento programado<\/span>\\n<span class=\"ld-code-comment\"># - Pruebas A\/B<\/span>\\n<span class=\"ld-code-comment\"># - Campa\u00f1as de temporada<\/span>',\n        info: 'La diferencia clave: <strong>301 transfiere el SEO<\/strong>, 302 no. Google trata 301 como cambio definitivo y 302 como temporal.'\n      },\n      all: {\n        flow: null,\n        code: '<span class=\"ld-code-comment\"># === REDIRECCIONES 301 COMPLETAS ===<\/span>\\n\\n<span class=\"ld-code-comment\"># 1. URL espec\u00edfica<\/span>\\n<span class=\"ld-code-kw\">Redirect<\/span> <span class=\"ld-code-val\">301<\/span> <span class=\"ld-code-str\">\/antigua<\/span> <span class=\"ld-code-str\">\/nueva<\/span>\\n\\n<span class=\"ld-code-comment\"># 2. Dominio completo<\/span>\\n<span class=\"ld-code-kw\">Redirect<\/span> <span class=\"ld-code-val\">301<\/span> <span class=\"ld-code-str\">\/<\/span> <span class=\"ld-code-str\">https:\/\/nuevo.com\/<\/span>\\n\\n<span class=\"ld-code-comment\"># 3. Forzar www<\/span>\\n<span class=\"ld-code-kw\">RewriteCond<\/span> %{HTTP_HOST} ^dominio.com$\\n<span class=\"ld-code-kw\">RewriteRule<\/span> ^(.*)$ https:\/\/www.dominio.com\/$1 [R=301,L]\\n\\n<span class=\"ld-code-comment\"># 4. HTTP a HTTPS<\/span>\\n<span class=\"ld-code-kw\">RewriteCond<\/span> %{HTTPS} off\\n<span class=\"ld-code-kw\">RewriteRule<\/span> ^ https:\/\/%{HTTP_HOST}%{REQUEST_URI} [L,R=301]',\n        info: 'Colecci\u00f3n completa de las redirecciones m\u00e1s comunes. <strong>Copia solo la que necesites<\/strong> y adapta los dominios.'\n      }\n    };\n\n    let currentCode = '';\n\n    function ldShowResult(type) {\n      const data = ldRedirectData[type];\n      currentCode = data.code.replace(\/<[^>]+>\/g, '');\n\n      \/\/ Actualizar pasos\n      document.getElementById('ld-step-1').classList.remove('active');\n      document.getElementById('ld-step-2').classList.add('active');\n\n      \/\/ Animar salida de choices\n      anime({\n        targets: '#ld-choices-screen',\n        opacity: 0,\n        translateY: -20,\n        duration: 300,\n        easing: 'easeInQuad',\n        complete: function() {\n          document.getElementById('ld-choices-screen').style.display = 'none';\n          \n          \/\/ Mostrar resultado\n          const resultScreen = document.getElementById('ld-result-screen');\n          resultScreen.classList.add('visible');\n          \n          \/\/ Construir contenido\n          ldBuildResult(data);\n          \n          \/\/ Animar entrada\n          anime({\n            targets: '#ld-result-screen',\n            opacity: [0, 1],\n            translateY: [20, 0],\n            duration: 400,\n            easing: 'easeOutQuad'\n          });\n\n          \/\/ Animar elementos internos con stagger\n          anime({\n            targets: ['.ld-flow-diagram', '.ld-code-block', '.ld-info-box'],\n            opacity: [0, 1],\n            translateY: [15, 0],\n            delay: anime.stagger(100, {start: 200}),\n            duration: 400,\n            easing: 'easeOutQuad'\n          });\n        }\n      });\n    }\n\n    function ldBuildResult(data) {\n      \/\/ Flow diagram\n      const flowContainer = document.getElementById('ld-flow-content');\n      if (data.flow) {\n        flowContainer.style.display = 'block';\n        flowContainer.innerHTML = `\n          <p class=\"ld-flow-title\">Diagrama de redirecci\u00f3n<\/p>\n          <div class=\"ld-flow-nodes\">\n            <div class=\"ld-node\">\n              <div class=\"ld-node-box source\">${data.flow.source}<\/div>\n            <\/div>\n            <div class=\"ld-arrow\">\n              <svg viewBox=\"0 0 24 24\"><path d=\"M5 12h14M12 5l7 7-7 7\"\/><\/svg>\n              <span class=\"ld-code-301\">301<\/span>\n            <\/div>\n            <div class=\"ld-node\">\n              <div class=\"ld-node-box target\">${data.flow.target}<\/div>\n            <\/div>\n          <\/div>\n        `;\n      } else {\n        flowContainer.style.display = 'none';\n      }\n\n      \/\/ C\u00f3digo\n      document.getElementById('ld-code-display').innerHTML = data.code;\n\n      \/\/ Info\n      document.getElementById('ld-info-content').innerHTML = `\n        <div class=\"ld-info-icon\">\n          <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\n        <\/div>\n        <p class=\"ld-info-text\">${data.info}<\/p>\n      `;\n    }\n\n    function ldBackToChoices() {\n      \/\/ Actualizar pasos\n      document.getElementById('ld-step-2').classList.remove('active');\n      document.getElementById('ld-step-1').classList.add('active');\n\n      \/\/ Animar salida de resultado\n      anime({\n        targets: '#ld-result-screen',\n        opacity: 0,\n        translateY: 20,\n        duration: 300,\n        easing: 'easeInQuad',\n        complete: function() {\n          document.getElementById('ld-result-screen').classList.remove('visible');\n          \n          \/\/ Mostrar choices\n          const choicesScreen = document.getElementById('ld-choices-screen');\n          choicesScreen.style.display = 'grid';\n          \n          \/\/ Animar entrada\n          anime({\n            targets: '#ld-choices-screen',\n            opacity: [0, 1],\n            translateY: [-20, 0],\n            duration: 400,\n            easing: 'easeOutQuad'\n          });\n\n          \/\/ Reset bot\u00f3n copiar\n          const copyBtn = document.getElementById('ld-copy-btn');\n          copyBtn.classList.remove('copied');\n          copyBtn.querySelector('.ld-copy-text').textContent = 'Copiar c\u00f3digo';\n          copyBtn.querySelector('.ld-icon-copy').style.display = 'block';\n          copyBtn.querySelector('.ld-icon-check').style.display = 'none';\n        }\n      });\n    }\n\n    function ldCopyCode() {\n      \/\/ Crear textarea temporal\n      const textarea = document.createElement('textarea');\n      textarea.value = currentCode.replace(\/&lt;\/g, '<').replace(\/&gt;\/g, '>').replace(\/&amp;\/g, '&');\n      textarea.style.position = 'fixed';\n      textarea.style.left = '-9999px';\n      document.body.appendChild(textarea);\n      textarea.select();\n\n      try {\n        document.execCommand('copy');\n        \n        \/\/ Feedback visual\n        const copyBtn = document.getElementById('ld-copy-btn');\n        copyBtn.classList.add('copied');\n        copyBtn.querySelector('.ld-copy-text').textContent = '\u00a1Copiado!';\n        copyBtn.querySelector('.ld-icon-copy').style.display = 'none';\n        copyBtn.querySelector('.ld-icon-check').style.display = 'block';\n\n        \/\/ Restaurar despu\u00e9s de 2.5s\n        setTimeout(function() {\n          copyBtn.classList.remove('copied');\n          copyBtn.querySelector('.ld-copy-text').textContent = 'Copiar c\u00f3digo';\n          copyBtn.querySelector('.ld-icon-copy').style.display = 'block';\n          copyBtn.querySelector('.ld-icon-check').style.display = 'none';\n        }, 2500);\n      } catch (err) {\n        console.error('Error al copiar:', err);\n      }\n\n      document.body.removeChild(textarea);\n    }\n  <\/script>\n<\/div>\n<!-- FIN WIDGET REDIRECCIONES 301 v3 -->\n\n\n\n\n<p>El c\u00f3digo que debes usar depende del tipo de redirecci\u00f3n que quieras hacer.<\/p>\n\n\n\n<p>No es lo mismo redirigir una sola URL que cambiar todo un dominio o forzar la versi\u00f3n con HTTPS.<\/p>\n\n\n\n<p>Puedes usar esta referencia r\u00e1pida:<\/p>\n\n\n\n<!-- BLOQUE: codigos-de-redireccion-301-tabla -->\n<style>\n  #comp-ld-303 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-303, #comp-ld-303 * { box-sizing: border-box; }\n\n  #comp-ld-303 .ld-table-container {\n    background: #ffffff;\n    border-radius: 16px;\n    overflow: hidden;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-303 .ld-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.95rem;\n  }\n\n  #comp-ld-303 .ld-table thead {\n    background: linear-gradient(135deg, #37363d 0%, #4a4952 100%);\n  }\n\n  #comp-ld-303 .ld-table th {\n    color: #ffffff;\n    font-weight: 600;\n    text-align: left;\n    padding: 18px 20px;\n    font-size: 0.9rem;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n  }\n\n  #comp-ld-303 .ld-table td {\n    padding: 18px 20px;\n    border-bottom: 1px solid rgba(55, 54, 61, 0.06);\n    vertical-align: top;\n  }\n\n  #comp-ld-303 .ld-table tbody tr {\n    background: #ffffff;\n    transition: background 0.2s ease;\n  }\n\n  #comp-ld-303 .ld-table tbody tr:nth-child(even) {\n    background: #f9f9fa;\n  }\n\n  #comp-ld-303 .ld-table tbody tr:hover {\n    background: rgba(0, 188, 223, 0.05);\n  }\n\n  #comp-ld-303 .ld-table tbody tr:last-child td {\n    border-bottom: none;\n  }\n\n  #comp-ld-303 .ld-code {\n    font-family: 'SF Mono', Monaco, Consolas, monospace;\n    font-size: 0.85rem;\n    background: rgba(219, 116, 36, 0.1);\n    color: #db7424;\n    padding: 4px 10px;\n    border-radius: 6px;\n    font-weight: 600;\n  }\n\n  #comp-ld-303 .ld-case {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n  }\n\n  #comp-ld-303 .ld-case-icon {\n    width: 28px;\n    height: 28px;\n    background: rgba(0, 188, 223, 0.1);\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n\n  #comp-ld-303 .ld-case-icon svg {\n    width: 16px;\n    height: 16px;\n    stroke: #00bcdf;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-303 .ld-table th,\n    #comp-ld-303 .ld-table td { padding: 14px 16px; font-size: 0.9rem; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-303 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-303\">\n  <div class=\"ld-table-container\">\n    <table class=\"ld-table\">\n      <thead>\n        <tr>\n          <th>Caso<\/th>\n          <th>C\u00f3digo recomendado<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td>\n            <div class=\"ld-case\">\n              <div class=\"ld-case-icon\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg>\n              <\/div>\n              <span>Redirigir una URL antigua a una nueva<\/span>\n            <\/div>\n          <\/td>\n          <td><span class=\"ld-code\">Redirect 301<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-case\">\n              <div class=\"ld-case-icon\">\n                <svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg>\n              <\/div>\n              <span>Redirigir todo un dominio<\/span>\n            <\/div>\n          <\/td>\n          <td><span class=\"ld-code\">Redirect 301 \/<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-case\">\n              <div class=\"ld-case-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>\n              <\/div>\n              <span>Pasar de sin www a con www<\/span>\n            <\/div>\n          <\/td>\n          <td><span class=\"ld-code\">RewriteCond<\/span> + <span class=\"ld-code\">RewriteRule<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-case\">\n              <div class=\"ld-case-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>\n              <\/div>\n              <span>Pasar de con www a sin www<\/span>\n            <\/div>\n          <\/td>\n          <td><span class=\"ld-code\">RewriteCond<\/span> + <span class=\"ld-code\">RewriteRule<\/span><\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-case\">\n              <div class=\"ld-case-icon\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n              <\/div>\n              <span>Forzar HTTPS<\/span>\n            <\/div>\n          <\/td>\n          <td><span class=\"ld-code\">RewriteCond %{HTTPS} off<\/span> + <span class=\"ld-code\">RewriteRule<\/span><\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: codigos-de-redireccion-301-tabla -->\n\n\n\n<ul>\n<li><strong>Redirecci\u00f3n a un nuevo dominio:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Redirect 301 \/ http:\/\/www.dominionuevo.com\/<\/code><\/pre>\n\n\n\n<ul>\n<li><strong>Redirecci\u00f3n de una URL antigua a una URL nueva<\/strong>:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Redirect 301 \/antigua-url http:\/\/tudominio.com\/nueva-url<\/code><\/pre>\n\n\n\n<ul>\n<li><strong>Redirecci\u00f3n de sin www a con www:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_rewrite.c&gt;\nRewriteCond %{HTTP_HOST} ^tudominio.com &#91;NC]\nRewriteRule (.*) http:\/\/www.tudominio.com\/$1 &#91;R=301,L,QSA]\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<ul>\n<li><strong>Redirecci\u00f3n de con www a sin www:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule mod_rewrite.c&gt;\nRewriteCond %{HTTP_HOST} ^www.tudominio.com &#91;NC]\nRewriteRule (.*) http:\/\/tudominio.com\/$1 &#91;R=301,L,QSA]\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<ul>\n<li><strong>Redirecci\u00f3n de http:\/\/ a https:\/\/:<\/strong><\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>RewriteEngine On \nRewriteCond %{HTTPS} off \nRewriteRule ^(.*)$ https:\/\/%{HTTP_HOST}%{REQUEST_URI} &#91;L,R=301]<\/code><\/pre>\n\n\n\n<p>*Recuerda que <strong>antes de hacer la redirecci\u00f3n a HTTPS debes instalar un certificado SSL<\/strong> para que tu web sea marcada como segura <a href=\"https:\/\/www.loading.es\/blog\/2019\/05\/15\/como-habilitar-el-certificado-ssl-y-forzar-la-redireccion-de-http-a-https-en-wordpress\/#http-https\" target=\"_blank\" rel=\"noopener\" title=\"\">(en esta entrada te explicamos c\u00f3mo hacerlo en WordPress)<\/a>.<\/p>\n\n\n\n<p>Si eres cliente de Loading <strong>puedes instalar el certificado Let\u2019s Encrypt f\u00e1cil y gratuitamente<\/strong> desde tu panel de control de Plesk, puedes ver c\u00f3mo hacerlo pinchando <a href=\"https:\/\/www.loading.es\/blog\/2017\/01\/31\/certificados-lets-encrypt\/\" target=\"_blank\" rel=\"noopener\" title=\"\">aqu\u00ed.<\/a><\/p>\n\n\n\n<p>Recuerda que todos los <strong><a href=\"https:\/\/www.loading.es\/hosting\/index.html\" target=\"_blank\" rel=\"noopener\" title=\"hosting web en Loading\">hosting web<\/a><\/strong> que ofrecemos en Loading cuentan con el panel de control Plesk para gestionar tu alojamiento web.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo comprobar que la redirecci\u00f3n 301 funciona<\/h2>\n\n\n\n<p>Despu\u00e9s de configurar una redirecci\u00f3n 301, es importante asegurarse de que todo est\u00e1 correcto. Estas son algunas formas sencillas de hacerlo:<\/p>\n\n\n\n<ul>\n<li><strong>Herramientas online<\/strong>:<br>Se pueden utilizar herramientas como <a href=\"https:\/\/www.redirect-checker.org\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Redirect Checker<\/a> o HTTP Status Code Checker para verificar que la URL redirige correctamente.<\/li>\n\n\n\n<li><strong>Extensiones de navegador<\/strong>:<br>En Chrome, la extensi\u00f3n Redirection Checker permite comprobar redirecciones en tiempo real.<\/li>\n\n\n\n<li>Uso de la terminal: Con el siguiente comando, es posible ver si la redirecci\u00f3n funciona<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -I https:\/\/tudominio.com\/antigua-url<\/code><\/pre>\n\n\n\n<ul>\n<li>Si aparece un c\u00f3digo 301 Moved Permanently, significa que la redirecci\u00f3n est\u00e1 bien configurada.<\/li>\n<\/ul>\n\n\n\n<!-- BLOQUE: como-comprobar-que-funciona -->\n<style>\n  #comp-ld-305 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-305, #comp-ld-305 * { box-sizing: border-box; }\n\n  #comp-ld-305 .ld-container {\n    background: #ffffff;\n    border-radius: 16px;\n    padding: 28px;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-305 .ld-header {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 24px;\n  }\n\n  #comp-ld-305 .ld-icon-wrapper {\n    width: 44px;\n    height: 44px;\n    background: linear-gradient(135deg, #198754 0%, #28a745 100%);\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 4px 12px rgba(25, 135, 84, 0.25);\n  }\n\n  #comp-ld-305 .ld-icon-wrapper svg {\n    width: 24px;\n    height: 24px;\n    stroke: #ffffff;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-305 .ld-title {\n    font-size: 1.1rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0;\n  }\n\n  #comp-ld-305 .ld-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n  }\n\n  #comp-ld-305 .ld-step {\n    display: flex;\n    align-items: flex-start;\n    gap: 16px;\n    padding: 18px;\n    background: #f4f4f6;\n    border-radius: 12px;\n    border: 1px solid rgba(55, 54, 61, 0.06);\n    transition: all 0.25s ease;\n  }\n\n  #comp-ld-305 .ld-step:hover {\n    background: #ffffff;\n    border-color: rgba(25, 135, 84, 0.2);\n    box-shadow: 0 6px 20px rgba(55, 54, 61, 0.08);\n  }\n\n  #comp-ld-305 .ld-step-number {\n    width: 36px;\n    height: 36px;\n    background: linear-gradient(135deg, #198754 0%, #28a745 100%);\n    color: #ffffff;\n    font-weight: 700;\n    font-size: 1rem;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n    box-shadow: 0 4px 10px rgba(25, 135, 84, 0.3);\n  }\n\n  #comp-ld-305 .ld-step-content {\n    flex: 1;\n  }\n\n  #comp-ld-305 .ld-step-title {\n    font-size: 0.95rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0 0 4px 0;\n  }\n\n  #comp-ld-305 .ld-step-desc {\n    font-size: 0.9rem;\n    color: rgba(55, 54, 61, 0.7);\n    margin: 0;\n    line-height: 1.4;\n  }\n\n  #comp-ld-305 .ld-code-block {\n    margin-top: 20px;\n    background: #1e1e2e;\n    border-radius: 12px;\n    padding: 16px 20px;\n    border: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  #comp-ld-305 .ld-code-header {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 12px;\n    font-size: 0.8rem;\n    color: rgba(255, 255, 255, 0.5);\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n  }\n\n  #comp-ld-305 .ld-code-header svg {\n    width: 14px;\n    height: 14px;\n    stroke: #00bcdf;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-305 .ld-code-text {\n    font-family: 'SF Mono', Monaco, Consolas, monospace;\n    font-size: 0.9rem;\n    color: #00bcdf;\n    margin: 0;\n    background: rgba(0, 188, 223, 0.1);\n    padding: 12px 16px;\n    border-radius: 8px;\n    border-left: 3px solid #00bcdf;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-305 .ld-container { padding: 20px; }\n    #comp-ld-305 .ld-step { padding: 14px; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-305 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-305\">\n  <div class=\"ld-container\">\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-wrapper\">\n        <svg viewBox=\"0 0 24 24\"><polyline points=\"9 11 12 14 22 4\"\/><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"\/><\/svg>\n      <\/div>\n      <div class=\"ld-title\">C\u00f3mo verificar que funciona correctamente<\/div>\n    <\/div>\n    <div class=\"ld-steps\">\n      <div class=\"ld-step\">\n        <div class=\"ld-step-number\">1<\/div>\n        <div class=\"ld-step-content\">\n          <p class=\"ld-step-title\">Usa una herramienta online<\/p>\n          <p class=\"ld-step-desc\">Redirect Checker o HTTP Status Code Checker verifican la redirecci\u00f3n<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"ld-step\">\n        <div class=\"ld-step-number\">2<\/div>\n        <div class=\"ld-step-content\">\n          <p class=\"ld-step-title\">Extensi\u00f3n de navegador<\/p>\n          <p class=\"ld-step-desc\">Instala Redirection Checker en Chrome para comprobar en tiempo real<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"ld-step\">\n        <div class=\"ld-step-number\">3<\/div>\n        <div class=\"ld-step-content\">\n          <p class=\"ld-step-title\">Comando curl en terminal<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"ld-code-block\">\n      <div class=\"ld-code-header\">\n        <svg viewBox=\"0 0 24 24\"><polyline points=\"4 17 10 11 4 5\"\/><line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\"\/><\/svg>\n        Terminal\n      <\/div>\n      <p class=\"ld-code-text\">curl -I https:\/\/tudominio.com\/antigua-url<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: como-comprobar-que-funciona -->\n\n\n\n<h2 class=\"wp-block-heading\">Errores comunes al hacer una redirecci\u00f3n 301<\/h2>\n\n\n\n<p>Aunque la redirecci\u00f3n 301 es sencilla, un peque\u00f1o error en el archivo <strong>.htaccess<\/strong> puede hacer que no funcione como esperas.<\/p>\n\n\n\n<p>Estos son algunos problemas habituales:<\/p>\n\n\n\n<!-- BLOQUE: errores-comunes-tabla -->\n<style>\n  #comp-ld-306 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-306, #comp-ld-306 * { box-sizing: border-box; }\n\n  #comp-ld-306 .ld-table-container {\n    background: #ffffff;\n    border-radius: 16px;\n    overflow: hidden;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-306 .ld-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 0.95rem;\n  }\n\n  #comp-ld-306 .ld-table thead {\n    background: linear-gradient(135deg, #db7424 0%, #e8944f 100%);\n  }\n\n  #comp-ld-306 .ld-table th {\n    color: #ffffff;\n    font-weight: 600;\n    text-align: left;\n    padding: 18px 20px;\n    font-size: 0.9rem;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n  }\n\n  #comp-ld-306 .ld-table td {\n    padding: 18px 20px;\n    border-bottom: 1px solid rgba(55, 54, 61, 0.06);\n    vertical-align: top;\n  }\n\n  #comp-ld-306 .ld-table tbody tr {\n    background: #ffffff;\n    transition: background 0.2s ease;\n  }\n\n  #comp-ld-306 .ld-table tbody tr:nth-child(even) {\n    background: #faf8f6;\n  }\n\n  #comp-ld-306 .ld-table tbody tr:hover {\n    background: rgba(219, 116, 36, 0.05);\n  }\n\n  #comp-ld-306 .ld-table tbody tr:last-child td {\n    border-bottom: none;\n  }\n\n  #comp-ld-306 .ld-error {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n  }\n\n  #comp-ld-306 .ld-error-icon {\n    width: 28px;\n    height: 28px;\n    background: rgba(219, 116, 36, 0.1);\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n\n  #comp-ld-306 .ld-error-icon svg {\n    width: 16px;\n    height: 16px;\n    stroke: #db7424;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-306 .ld-solution {\n    font-size: 0.9rem;\n    line-height: 1.5;\n    color: #37363d;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-306 .ld-table th,\n    #comp-ld-306 .ld-table td { padding: 14px 16px; font-size: 0.9rem; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-306 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-306\">\n  <div class=\"ld-table-container\">\n    <table class=\"ld-table\">\n      <thead>\n        <tr>\n          <th>Error<\/th>\n          <th>Qu\u00e9 revisar<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td>\n            <div class=\"ld-error\">\n              <div class=\"ld-error-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg>\n              <\/div>\n              <span>La URL se redirige a s\u00ed misma<\/span>\n            <\/div>\n          <\/td>\n          <td class=\"ld-solution\">Comprueba que la URL de origen y destino no sean la misma<\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-error\">\n              <div class=\"ld-error-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg>\n              <\/div>\n              <span>Error 500 tras guardar<\/span>\n            <\/div>\n          <\/td>\n          <td class=\"ld-solution\">Revisa si falta alg\u00fan car\u00e1cter o hay una regla mal escrita<\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-error\">\n              <div class=\"ld-error-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg>\n              <\/div>\n              <span>La redirecci\u00f3n no se aplica<\/span>\n            <\/div>\n          <\/td>\n          <td class=\"ld-solution\">Aseg\u00farate de que el servidor usa Apache o configuraci\u00f3n compatible<\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-error\">\n              <div class=\"ld-error-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg>\n              <\/div>\n              <span>Cadena de redirecciones<\/span>\n            <\/div>\n          <\/td>\n          <td class=\"ld-solution\">Evita m\u00faltiples saltos. La URL antigua debe apuntar directamente a la nueva<\/td>\n        <\/tr>\n        <tr>\n          <td>\n            <div class=\"ld-error\">\n              <div class=\"ld-error-icon\">\n                <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"\/><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"\/><\/svg>\n              <\/div>\n              <span>Google no indexa la nueva URL<\/span>\n            <\/div>\n          <\/td>\n          <td class=\"ld-solution\">Comprueba en Search Console que devuelve c\u00f3digo 301 real<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: errores-comunes-tabla -->\n\n\n\n<p>Si despu\u00e9s de revisar estos puntos la redirecci\u00f3n sigue sin funcionar, lo m\u00e1s seguro es volver a la copia original del archivo <strong>.htaccess<\/strong> y probar la regla de nuevo con calma.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Consejos SEO para aprovechar al m\u00e1ximo una redirecci\u00f3n 301<\/h2>\n\n\n\n<p>Una redirecci\u00f3n 301 bien hecha ayuda a que Google entienda que una URL ha cambiado de forma permanente.<\/p>\n\n\n\n<p>Google explica en su documentaci\u00f3n que una redirecci\u00f3n permanente, como la <strong>301<\/strong>, indica que la URL antigua debe sustituirse por la nueva como destino principal.<\/p>\n\n\n\n<p>Puedes verlo en su documentaci\u00f3n oficial sobre redirecciones:<br><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/301-redirects\" target=\"_blank\" rel=\"noreferrer noopener\">m\u00e1s informaci\u00f3n en Google Search Central<\/a>.<\/p>\n\n\n\n<p>Para evitar problemas de SEO, ten en cuenta estos puntos:<\/p>\n\n\n\n<ul>\n<li><strong>Redirige siempre a una p\u00e1gina equivalente o muy relacionada<\/strong>.<br>No env\u00edes todas las URLs antiguas a la p\u00e1gina de inicio.<\/li>\n\n\n\n<li><strong>Actualiza los enlaces internos<\/strong>.<br>Si una p\u00e1gina de tu web sigue enlazando a la URL antigua, cambia ese enlace por la URL nueva.<\/li>\n\n\n\n<li><strong>Evita cadenas de redirecciones<\/strong>.<br>Lo ideal es que la URL antigua vaya directamente a la nueva.<\/li>\n\n\n\n<li><strong>No abuses de las redirecciones 301<\/strong>.<br>\u00dasalas cuando haya un cambio permanente real.<\/li>\n\n\n\n<li><strong>Comprueba la redirecci\u00f3n despu\u00e9s de aplicarla<\/strong>.<br>Aseg\u00farate de que devuelve un c\u00f3digo <strong>301<\/strong> y no un <strong>302<\/strong>, <strong>404<\/strong> o <strong>500<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p>Si el cambio de URL es solo temporal, usa una <strong>redirecci\u00f3n 302<\/strong> en lugar de una 301.<\/p>\n\n\n\n<p><strong>Nota<\/strong>: Si solo se quiere redirigir una p\u00e1gina de forma temporal, se debe usar una <strong>redirecci\u00f3n 302<\/strong> en lugar de una 301.<\/p>\n\n\n\n<!-- BLOQUE: consejos-seo -->\n<style>\n  #comp-ld-307 {\n    font-family: 'Space Grotesk', sans-serif;\n    box-sizing: border-box;\n    color: #37363d;\n  }\n\n  #comp-ld-307, #comp-ld-307 * { box-sizing: border-box; }\n\n  #comp-ld-307 .ld-container {\n    background: linear-gradient(135deg, #f4f4f6 0%, #ffffff 100%);\n    border-radius: 16px;\n    padding: 28px;\n    border: 1px solid rgba(55, 54, 61, 0.08);\n    box-shadow: 0 4px 24px rgba(55, 54, 61, 0.06);\n  }\n\n  #comp-ld-307 .ld-header {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    margin-bottom: 24px;\n  }\n\n  #comp-ld-307 .ld-icon-wrapper {\n    width: 44px;\n    height: 44px;\n    background: linear-gradient(135deg, #db7424 0%, #e8944f 100%);\n    border-radius: 12px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    box-shadow: 0 4px 12px rgba(219, 116, 36, 0.25);\n  }\n\n  #comp-ld-307 .ld-icon-wrapper svg {\n    width: 24px;\n    height: 24px;\n    stroke: #ffffff;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-307 .ld-title {\n    font-size: 1.1rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0;\n  }\n\n  #comp-ld-307 .ld-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));\n    gap: 14px;\n  }\n\n  #comp-ld-307 .ld-tip {\n    display: flex;\n    gap: 14px;\n    padding: 18px;\n    background: #ffffff;\n    border-radius: 12px;\n    border: 1px solid rgba(55, 54, 61, 0.06);\n    transition: all 0.25s ease;\n  }\n\n  #comp-ld-307 .ld-tip:hover {\n    border-color: rgba(219, 116, 36, 0.2);\n    box-shadow: 0 6px 20px rgba(55, 54, 61, 0.08);\n    transform: translateY(-2px);\n  }\n\n  #comp-ld-307 .ld-tip-icon {\n    width: 32px;\n    height: 32px;\n    background: linear-gradient(135deg, rgba(219, 116, 36, 0.1) 0%, rgba(219, 116, 36, 0.2) 100%);\n    border-radius: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-shrink: 0;\n  }\n\n  #comp-ld-307 .ld-tip-icon svg {\n    width: 18px;\n    height: 18px;\n    stroke: #db7424;\n    stroke-width: 2;\n    fill: none;\n  }\n\n  #comp-ld-307 .ld-tip-content {\n    flex: 1;\n  }\n\n  #comp-ld-307 .ld-tip-title {\n    font-size: 0.95rem;\n    font-weight: 600;\n    color: #37363d;\n    margin: 0 0 4px 0;\n  }\n\n  #comp-ld-307 .ld-tip-text {\n    font-size: 0.88rem;\n    color: rgba(55, 54, 61, 0.7);\n    margin: 0;\n    line-height: 1.4;\n  }\n\n  @media (max-width: 640px) {\n    #comp-ld-307 .ld-container { padding: 20px; }\n    #comp-ld-307 .ld-grid { grid-template-columns: 1fr; }\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-307 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-307\">\n  <div class=\"ld-container\">\n    <div class=\"ld-header\">\n      <div class=\"ld-icon-wrapper\">\n        <svg viewBox=\"0 0 24 24\"><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"10\"\/><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"4\"\/><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"16\"\/><\/svg>\n      <\/div>\n      <div class=\"ld-title\">Consejos SEO para redirecciones 301<\/div>\n    <\/div>\n    <div class=\"ld-grid\">\n      <div class=\"ld-tip\">\n        <div class=\"ld-tip-icon\">\n          <svg viewBox=\"0 0 24 24\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n        <\/div>\n        <div class=\"ld-tip-content\">\n          <p class=\"ld-tip-title\">Redirige a contenido equivalente<\/p>\n          <p class=\"ld-tip-text\">No env\u00edes todas las URLs antiguas a la p\u00e1gina de inicio<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"ld-tip\">\n        <div class=\"ld-tip-icon\">\n          <svg viewBox=\"0 0 24 24\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"\/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"\/><\/svg>\n        <\/div>\n        <div class=\"ld-tip-content\">\n          <p class=\"ld-tip-title\">Actualiza enlaces internos<\/p>\n          <p class=\"ld-tip-text\">Cambia los enlaces que apuntan a URLs antiguas<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"ld-tip\">\n        <div class=\"ld-tip-icon\">\n          <svg viewBox=\"0 0 24 24\"><line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"\/><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"\/><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"\/><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"\/><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"\/><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"\/><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"\/><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"\/><\/svg>\n        <\/div>\n        <div class=\"ld-tip-content\">\n          <p class=\"ld-tip-title\">Evita cadenas de redirecciones<\/p>\n          <p class=\"ld-tip-text\">URL antigua debe ir directamente a la nueva<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"ld-tip\">\n        <div class=\"ld-tip-icon\">\n          <svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><polyline points=\"12 6 12 12 16 14\"\/><\/svg>\n        <\/div>\n        <div class=\"ld-tip-content\">\n          <p class=\"ld-tip-title\">Verifica el c\u00f3digo HTTP<\/p>\n          <p class=\"ld-tip-text\">Aseg\u00farate de que devuelve 301 y no 302, 404 o 500<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<!-- FIN BLOQUE: consejos-seo -->\n\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Las redirecciones 301 son fundamentales para el mantenimiento de cualquier p\u00e1gina web. Ya sea por cambios de dominio, actualizaci\u00f3n de URLs o instalaci\u00f3n de HTTPS, es importante configurarlas correctamente para evitar perder tr\u00e1fico y posicionamiento en Google.<\/p>\n\n\n\n<p>Con esta gu\u00eda, ya sabes c\u00f3mo hacer redirecciones 301 desde <strong>.htaccess<\/strong> y evitar errores comunes. Aplicarlas correctamente ayudar\u00e1 a mantener la estructura de la web optimizada y a mejorar la experiencia de los usuarios.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.loading.es\/hosting\/index.html\"><img decoding=\"async\" src=\"https:\/\/www.loading.es\/blog\/wp-content\/uploads\/oferta_hostingweb.png\" alt=\"oferta para contratar hosting web\"\/><\/a><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes sobre redirecciones 301 en .htaccess (FAQ)<\/h2>\n\n\n\n<!-- BLOQUE: faq-redirecciones-301 -->\n<style>\n  #comp-ld-308 {\n    box-sizing: border-box;\n    color: inherit;\n    font-family: inherit;\n  }\n\n  #comp-ld-308, #comp-ld-308 * { box-sizing: border-box; }\n\n  #comp-ld-308 .ld-faq-item {\n    border-bottom: 1px solid rgba(55, 54, 61, 0.1);\n    margin: 0;\n  }\n\n  #comp-ld-308 .ld-faq-item:last-child {\n    border-bottom: none;\n  }\n\n  #comp-ld-308 .ld-faq-summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    width: 100%;\n    padding: 18px 0;\n    font-weight: 700;\n    font-size: 1rem;\n    color: #37363d;\n    cursor: pointer;\n    list-style: none;\n    transition: color 0.2s ease;\n  }\n\n  #comp-ld-308 .ld-faq-summary::-webkit-details-marker {\n    display: none;\n  }\n\n  #comp-ld-308 .ld-faq-summary:hover {\n    color: #db7424;\n  }\n\n  #comp-ld-308 .ld-faq-summary:focus-visible {\n    outline: 2px solid #db7424;\n    outline-offset: 2px;\n    border-radius: 4px;\n  }\n\n  #comp-ld-308 .ld-faq-summary::after {\n    content: '+';\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 28px;\n    height: 28px;\n    background: rgba(219, 116, 36, 0.1);\n    border-radius: 50%;\n    font-size: 1.2rem;\n    font-weight: 500;\n    color: #db7424;\n    transition: all 0.2s ease;\n    flex-shrink: 0;\n    margin-left: 12px;\n  }\n\n  #comp-ld-308 .ld-faq-item[open] .ld-faq-summary::after {\n    content: '\u2013';\n    background: rgba(219, 116, 36, 0.2);\n  }\n\n  #comp-ld-308 .ld-faq-content {\n    padding: 0 0 18px 0;\n    font-size: 0.95rem;\n    line-height: 1.6;\n    color: rgba(55, 54, 61, 0.8);\n  }\n\n  @media (prefers-reduced-motion: reduce) {\n    #comp-ld-308 * { transition: none !important; animation: none !important; }\n  }\n<\/style>\n\n<div id=\"comp-ld-308\">\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfD\u00f3nde se pone una redirecci\u00f3n 301 en el archivo .htaccess?<\/summary>\n    <div class=\"ld-faq-content\">\n      Lo habitual es colocar la redirecci\u00f3n 301 <strong>al principio del archivo .htaccess<\/strong>, antes de otras reglas. As\u00ed reduces el riesgo de que otra regla se ejecute antes y cambie el comportamiento de la redirecci\u00f3n.\n    <\/div>\n  <\/details>\n\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfCu\u00e1nto tarda Google en detectar una redirecci\u00f3n 301?<\/summary>\n    <div class=\"ld-faq-content\">\n      Google puede detectar una redirecci\u00f3n 301 cuando vuelve a rastrear la URL antigua. El tiempo var\u00eda seg\u00fan la importancia de la p\u00e1gina y la frecuencia de rastreo. Puedes usar <strong>Google Search Console<\/strong> para revisar la URL y solicitar la indexaci\u00f3n si lo necesitas.\n    <\/div>\n  <\/details>\n\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfUna redirecci\u00f3n 301 afecta al SEO?<\/summary>\n    <div class=\"ld-faq-content\">\n      S\u00ed, puede afectar al SEO si se configura mal. Una redirecci\u00f3n 301 bien hecha ayuda a conservar el valor de la URL antigua, pero debe apuntar a una p\u00e1gina <strong>equivalente o muy relacionada<\/strong>.\n    <\/div>\n  <\/details>\n\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfPuedo hacer una redirecci\u00f3n 301 sin tocar el archivo .htaccess?<\/summary>\n    <div class=\"ld-faq-content\">\n      S\u00ed. En muchos hostings puedes hacer redirecciones desde el panel de control. Tambi\u00e9n algunos CMS y plugins permiten crear redirecciones sin editar el archivo <strong>.htaccess<\/strong> manualmente.\n    <\/div>\n  <\/details>\n\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfQu\u00e9 diferencia hay entre una redirecci\u00f3n 301 y una 302?<\/summary>\n    <div class=\"ld-faq-content\">\n      La redirecci\u00f3n <strong>301<\/strong> indica que el cambio es permanente. La redirecci\u00f3n <strong>302<\/strong> indica que el cambio es temporal. Si la URL antigua no va a volver a usarse, debes usar una 301.\n    <\/div>\n  <\/details>\n\n  <details class=\"ld-faq-item\">\n    <summary class=\"ld-faq-summary\">\u00bfPor qu\u00e9 no funciona mi redirecci\u00f3n 301 en .htaccess?<\/summary>\n    <div class=\"ld-faq-content\">\n      Puede fallar por varias razones. Las m\u00e1s comunes son una regla mal escrita, una URL de destino incorrecta, una redirecci\u00f3n en bucle o un servidor que no usa <strong>Apache<\/strong> ni configuraci\u00f3n compatible con <strong>.htaccess<\/strong>.\n    <\/div>\n  <\/details>\n<\/div>\n<!-- FIN BLOQUE: faq-redirecciones-301 -->\n\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-4 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-el-blog-de-loading wp-block-embed-el-blog-de-loading\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"H20rHwOgu0\"><a href=\"https:\/\/www.loading.es\/blog\/redireccion-301-en-prestashop-si-lo-cambiamos-de-ubicacion-o-dominio\/\">Redirecci\u00f3n 301 en Prestashop si lo cambiamos de ubicaci\u00f3n o dominio<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u00abRedirecci\u00f3n 301 en Prestashop si lo cambiamos de ubicaci\u00f3n o dominio\u00bb \u2014 El blog de Loading\" src=\"https:\/\/www.loading.es\/blog\/redireccion-301-en-prestashop-si-lo-cambiamos-de-ubicacion-o-dominio\/embed\/#?secret=CqE1kXIhMd#?secret=H20rHwOgu0\" data-secret=\"H20rHwOgu0\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-el-blog-de-loading wp-block-embed-el-blog-de-loading\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"wiQtTe7Wki\"><a href=\"https:\/\/www.loading.es\/blog\/como-habilitar-el-certificado-ssl-y-forzar-la-redireccion-de-http-a-https-en-wordpress\/\">Habilitar certificado SSL y forzar la redirecci\u00f3n HTTP a HTTPS en WordPress<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u00abHabilitar certificado SSL y forzar la redirecci\u00f3n HTTP a HTTPS en WordPress\u00bb \u2014 El blog de Loading\" src=\"https:\/\/www.loading.es\/blog\/como-habilitar-el-certificado-ssl-y-forzar-la-redireccion-de-http-a-https-en-wordpress\/embed\/#?secret=C0mXweh3HI#?secret=wiQtTe7Wki\" data-secret=\"wiQtTe7Wki\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-el-blog-de-loading wp-block-embed-el-blog-de-loading\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"jxeKjrxZOT\"><a href=\"https:\/\/www.loading.es\/blog\/cual-es-mi-ip-publica-guia-facil-para-entender-que-es-una-direccion-ip\/\">\u00bfCu\u00e1l es mi IP p\u00fablica? Gu\u00eda f\u00e1cil para entender qu\u00e9 es una direcci\u00f3n IP<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u00ab\u00bfCu\u00e1l es mi IP p\u00fablica? Gu\u00eda f\u00e1cil para entender qu\u00e9 es una direcci\u00f3n IP\u00bb \u2014 El blog de Loading\" src=\"https:\/\/www.loading.es\/blog\/cual-es-mi-ip-publica-guia-facil-para-entender-que-es-una-direccion-ip\/embed\/#?secret=rvRgNvGvqK#?secret=jxeKjrxZOT\" data-secret=\"jxeKjrxZOT\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<p class=\"has-text-align-center\"><strong>S\u00edguenos en:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-social-links aligncenter is-layout-flex wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a href=\"https:\/\/www.facebook.com\/loading.hosting\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Facebook<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-instagram  wp-block-social-link\"><a href=\"https:\/\/www.instagram.com\/loading.es\/\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Instagram<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-twitter  wp-block-social-link\"><a href=\"https:\/\/twitter.com\/loading_es\" class=\"wp-block-social-link-anchor\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Twitter<\/span><\/a><\/li><\/ul>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfD\u00f3nde se pone una redirecci\u00f3n 301 en el archivo .htaccess?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Lo habitual es colocar la redirecci\u00f3n 301 al principio del archivo .htaccess, antes de otras reglas. As\u00ed reduces el riesgo de que otra regla se ejecute antes y cambie el comportamiento de la redirecci\u00f3n.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfCu\u00e1nto tarda Google en detectar una redirecci\u00f3n 301?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Google puede detectar una redirecci\u00f3n 301 cuando vuelve a rastrear la URL antigua. El tiempo var\u00eda seg\u00fan la importancia de la p\u00e1gina y la frecuencia de rastreo. Puedes usar Google Search Console para revisar la URL y solicitar la indexaci\u00f3n si lo necesitas.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfUna redirecci\u00f3n 301 afecta al SEO?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00ed, puede afectar al SEO si se configura mal. Una redirecci\u00f3n 301 bien hecha ayuda a conservar el valor de la URL antigua, pero debe apuntar a una p\u00e1gina equivalente o muy relacionada.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfPuedo hacer una redirecci\u00f3n 301 sin tocar el archivo .htaccess?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"S\u00ed. En muchos hostings puedes hacer redirecciones desde el panel de control. Tambi\u00e9n algunos CMS y plugins permiten crear redirecciones sin editar el archivo .htaccess manualmente.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 diferencia hay entre una redirecci\u00f3n 301 y una 302?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"La redirecci\u00f3n 301 indica que el cambio es permanente. La redirecci\u00f3n 302 indica que el cambio es temporal. Si la URL antigua no va a volver a usarse, debes usar una 301.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfPor qu\u00e9 no funciona mi redirecci\u00f3n 301 en .htaccess?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Puede fallar por varias razones. Las m\u00e1s comunes son una regla mal escrita, una URL de destino incorrecta, una redirecci\u00f3n en bucle o un servidor que no usa Apache ni configuraci\u00f3n compatible con .htaccess.\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Cuando cambias la URL de una p\u00e1gina o mueves tu web a otro dominio, es fundamental evitar que los usuarios acaben en un error 404. Aqu\u00ed es donde entra en juego la redirecci\u00f3n 301, una herramienta clave para que tanto los visitantes como los buscadores encuentren tu contenido sin problemas. Si alguna vez has cambiado&#8230;<\/p>\n","protected":false},"author":1,"featured_media":10260,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[275,5,277],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/4863"}],"collection":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/comments?post=4863"}],"version-history":[{"count":32,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/4863\/revisions"}],"predecessor-version":[{"id":11518,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/posts\/4863\/revisions\/11518"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/media\/10260"}],"wp:attachment":[{"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/media?parent=4863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/categories?post=4863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.loading.es\/blog\/wp-json\/wp\/v2\/tags?post=4863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}