Avisos
Vaciar todo

[Resuelto] Redireccionamiento por .htaccess  

 
Antonio
 Antonio
Estimable Member

Buenos días

Espero que bien todos tras las merecidas vacaciones.

Entiendo que quizás sobre esto habéis comentado muchísimo, pero no encuentro la forma de lo que necesitaría, y como desde el Area de Cliente, nos indican lo siguiente:
   - El plugin redirection analiza todo el tráfico de tu sitio web y hace un logueo excesivo en la base de datos. Te recomiendo que realices las redirecciones desde el .htaccess: https://www.webempresa.com/blog/redirecciona-urls-de-forma-correcta-usando-cpanel-y-htaccess.html

 

Bien, como estamos borrando mas de 7.000 productos por estar descatalogados, no sabemos exactamente el comando o línea que hemos de indicar en dicho fichero.

A su vez, quisiéramos hacer una página indicando que dicho producto ha sido eliminado por estar descatalogado y que tras unos segundos (he visto varias webs que así lo tienen), y de forma automática vuelva a la "tienda"

Gracias como siempre.

Contenido solo visible a usuarios registrados

Respondido : 04/09/2024 12:18 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Antonio.

Para crear una redirección en el archivo .htaccess tienes que hacerlo producto por producto:

Redirect 301 /old-product-url  https://www.yoursite.com/new-destination 

El tema de que redirija a la tienda después de unos segundos es un poco más complicado ya que necesitas algo de JavaScript para poder implementarlo.

 

Una opción es redirigir todos los productos con Stock 0 a una página de producto descatalogado y después de un tiempo  redirigir a la tienda.

.- Crea una página de producto descatalogado, por ejemplo con el nombre " producto descatalogado "

.- Añade las siguientes en el archivo functions.php o si utilizas algún plugin para añadir código como puede ser Code Snippets

Esta función es la que redirige a la página de producto descatalogado, tienes que modificar " $discontinued_page_url = ' https://tusitio.com/producto-descatalogado/ '; " por la URL de la página que creaste.

function redirect_discontinued_products() {
if (is_product()) {
global $post;
$product = wc_get_product($post->ID);

// Verificar si el producto está descatalogado (sin stock)
if ($product && !$product->is_in_stock()) {
// URL de la página de "Producto Descatalogado"
$discontinued_page_url = 'https://tusitio.com/producto-descatalogado/';

// Realizar la redirección a la página de "Producto Descatalogado"
wp_safe_redirect($discontinued_page_url);
exit;
}
}
}
add_action('template_redirect', 'redirect_discontinued_products');

 

Esta última función crea un ShortCode que para redireccionar a la página de la tienda después de 5 segundo

function redirect_after_delay_shortcode($atts) {
// Obtener la URL de la página de la tienda de WooCommerce
$shop_page_url = get_permalink( wc_get_page_id( 'shop' ) );

// Establecer el tiempo de redirección y la URL, utilizando la página de la tienda por defecto
$a = shortcode_atts(array(
'url' => $shop_page_url, // Redirigir a la página de la tienda por defecto
'seconds' => '5' // Tiempo de redirección en segundos
), $atts);

return '<meta http-equiv="refresh" content="' . esc_attr($a['seconds']) . ';url=' . esc_url($a['url']) . '">';
}
add_shortcode('redirect_meta', 'redirect_after_delay_shortcode');

 

.- Edita la página producto descatalogado y añade un módulo ShortCode con el siguiente ShortCode:

[redirect_meta seconds="5"]
 

Si quieres que todos los productos 404 sean redirigidos a la página de producto descatalogado y después a la página de la tienda puedes utilizar lo siguiente:

function redirect_404_products_to_discontinued_page() {
if (is_404()) {
// URL de la página de "Producto Descatalogado"
$discontinued_page_url = 'https://tusitio.com/producto-descatalogado/';

// Verificar si la URL pertenece a un producto
global $wp_query;
if (isset($wp_query->query_vars['name']) && post_type_exists('product')) {
wp_safe_redirect($discontinued_page_url);
exit;
}
}
}
add_action('template_redirect', 'redirect_404_products_to_discontinued_page');

 

En este caso en vez utilizar un ShortCode vamos a utilizar una Meta Etiqueta en la Página de "Producto Descatalogado"

.- Añade un módulo HTML y añade lo siguiente

<meta http-equiv="refresh" content="5;url= https://tusitio.com/tiend a">

 

Un Saludo 

Respondido : 04/09/2024 2:51 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

Antonio
 Antonio
Estimable Member

@pepesoler, buenas tardes

Redirect 301 /old-product-url   https://www.yoursite.com/new-destination  

Entiendo que habría que crear una línea con cada producto descatalogado.
Bueno, sería posible con los 3.000 que quedan por eliminar y siguientes aunque sería un marrón de trabajo; pero que hacemos con los que ya hemos eliminado?

Obviamente, si no redirigimos, San Google nos va a penalizar, creo.

Lo otro que me indicas, iré haciendo pruebas a ver si me salen en el clon que tengo de la web.

Gracias.

Respondido : 04/09/2024 3:40 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Antonio.

Entiendo que habría que crear una línea con cada producto descatalogado.

Si, aunque 3000 redirecciones me parece una barbaridad y se va resentir 

Obviamente, si no redirigimos, San Google nos va a penalizar, creo.

Si es solo por lo de Google puedes instalar un plugin para que redireccione todos los 404 a la pagina que tu le indiques, por ejemplo:

-> https://es.wordpress.org/plugins/redirect-404-error-page-to-homepage-or-custom-page/

 

Un Saludo

Respondido : 04/09/2024 4:07 pm

Cursos Gratuitos WordPress

Antonio
 Antonio
Estimable Member

@pepesoler, actualmente tenemos instalado "All 404 Redirect to Homepage"; entiendo entonces que no es el más adecuado o lo seguimos manteniendo?

 

Respondido : 04/09/2024 5:11 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Antonio,

Como te indico Pepe, si es solo por Google puedes dejar la redirección 404 a homepage, de esta forma no penalizará:

https://developers.google.com/search/blog/2011/05/do-404s-hurt-my-site?hl=es

Un saludo 🖐️ 

Respondido : 04/09/2024 5:25 pm

Antonio
 Antonio
Estimable Member

@argenis, gracias.
Mantendré este último plugin en marcha.

 

 

Respondido : 04/09/2024 5:39 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Antonio,

Nos comentas si podemos cerrar el tema, ten en cuenta que sí tienes alguna otra duda puedes crear un nuevo tema y con gusto lo vemos.

Un saludo 🖐️ 

Respondido : 04/09/2024 5:48 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

Antonio
 Antonio
Estimable Member

@argenis, si perdón; no he caido en ello.

Podemos cerrar ticket.

Respondido : 04/09/2024 5:55 pm
Argenis
 Argenis
Soporte CMS Webempresa Moderator

Hola Antonio,

Estupendo ya nos vas avisando luego si tienes alguna duda.

Un saludo 🖐️ 🤓 

Respondido : 04/09/2024 6:13 pm

wpdoctor-revisa-la-salud-de-tu-wordpress