Jump to content
Quico

Optimización SEO para Prestashop 1.4.x – Url con guiones bajos

Recommended Posts

Buenos días

He creado un tutorial sobre cómo optimizar vuestra tienda onlien para eliminar los guiones bajos en las URL de fabricantes.

Podéis echarle un vistazo aquí:

http://reinadepicas.wordpress.com/2014/01/10/optimizacion-seo-para-prestashop-1-4-url-con-guiones-bajos/

Espero que os sirva y si alguien sabe otra forma mejor de hacerlo, que me deje algún comentario.

¡Saludos!

Share this post


Link to post
Share on other sites

Hola Quico,

 

Durante el día de ayer estuve intentando hacer lo que comentas en tu tutorial, pero sin éxito. No consigo que funcione.

 

Cuando hago lo que comentas, al hacer click en un fabricante accedes a una categoría. Me da que la orden que hay que añadir en el .htaccess no es correcta, pero no se ver el fallo.

 

A ver si me puedes echar una mano.

 

Muchas gracias.

Share this post


Link to post
Share on other sites

Hola ozerom.

Necesitaría ver el código para comprobar que estás haciendo todo bien.

Un saludo

Share this post


Link to post
Share on other sites

Hola, Que código quieres que te muestre?

 

Gracias

Share this post


Link to post
Share on other sites

Pues a ver, porque las dejé como en origen. Vuelvo a hacer todo y te pego aquí el resultado.

Share this post


Link to post
Share on other sites
	public function getManufacturerLink($id_manufacturer, $alias = NULL, $id_lang = NULL)
	{
		if (is_object($id_manufacturer))
			return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_manufacturer->id).'-marcas'.$id_manufacturer->link_rewrite) :
			(_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer->id));
		if ($alias)
			return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).(int)($id_manufacturer).'-marcas'.$alias) :
			(_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer));
		return _PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer);
	}

.Htaccess

RewriteRule ^-marcas([0-9]+)/([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]

 

Gracias

Share this post


Link to post
Share on other sites

Hola de nuevo.

La función está mal. Cámbiala por esta y me dices si te funciona.

public function getManufacturerLink($id_manufacturer, $alias = NULL, $id_lang = NULL)
   {
        if (is_object($id_manufacturer))
                        return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'marcas-'.(int)($id_manufacturer->id).'/'.$id_manufacturer->link_rewrite) :
            (_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer->id     if ($alias)
            return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'marcas-'.(int)($id_manufacturer).'/'.$alias) :
            (_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer        return _PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer   
    }

Share this post


Link to post
Share on other sites

Por lo que aprecio, la difrencia esta en cambiar "-marcas" por "marcas-". Yo este cambio también lo hice en el .htaccess. Lo cambio también?

Share this post


Link to post
Share on other sites

Es muy sencillo: cambia la función por la que te he copiado en el mensaje anterior y en el .htaccess pon esta línea.

RewriteRule ^marcas-([0-9]+)/([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]

No te limites a cambiar "-marcas" por "marcas-" porque hay más fallos. Si quiere que funcione, cambia completamente la función por la que te he pasado.

Share this post


Link to post
Share on other sites

OK, pues vamos a ello. Ahora te cuento.

 

Gracias Quico.

Share this post


Link to post
Share on other sites

Con esa modificación en link.php, peta la web.  :(

Share this post


Link to post
Share on other sites

Perdona, la he copiado mal. Prueba ahora:

public function getManufacturerLink($id_manufacturer, $alias = NULL, $id_lang = NULL)
{
	if (is_object($id_manufacturer))
		return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'marcas-'.(int)($id_manufacturer->id).'/'.$id_manufacturer->link_rewrite) :
		(_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer->id));
	if ($alias)
		return ($this->allow == 1) ? (_PS_BASE_URL_.__PS_BASE_URI__.$this->getLangLink((int)($id_lang)).'marcas-'.(int)($id_manufacturer).'/'.$alias) :
		(_PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer));
	return _PS_BASE_URL_.__PS_BASE_URI__.'manufacturer.php?id_manufacturer='.(int)($id_manufacturer);
}

Share this post


Link to post
Share on other sites

Ahora si que va. Muchas gracias ;)

 

Lo que estaba pensando es que ahora las url de marcas ya no van a funcionar desde google y se tendrán que volver a indexar verdad?

Share this post


Link to post
Share on other sites

Vuelve a generar tu sitemap.xml y envíalo a Google. No habrá ningún problema y funcionará perfectamente.

Me alegro de que te haya servido.

Un saludo

Share this post


Link to post
Share on other sites

A pues no,... funcionan igual. Que curioso. Esto no creará duplicidad de contenido?

Share this post


Link to post
Share on other sites

Mira a lo que me refiero, quizá a ti te pase lo mismo en la web que has modificado este aspecto:

 

http://www.tankasports.com/es/marca-103/camelbak

http://www.tankasports.com/es/103_camelbak

 

Ahora funcionan ambas y me temo que Google indentificará esto como una duplicidad de contenidos. 

 

¿No sería recomendable eliminar definitivamente la url con el guión bajo y luego hacer una redirección 301?

 

¿Como lo ves?

 

Saludos.

Share this post


Link to post
Share on other sites

Sí. Se me ha olvidado decírtelo.

Elimina la url con guión bajo y redirecciona.

Share this post


Link to post
Share on other sites

M.. perdona que te moleste tanto. Tienes creada la redirección para este tema? Nunca me ha tocado hacer una redirección y en este caso tampoco se como hacerlo para que se queden redirigidas todas las marcas...

 

Perdona tanta molestia..

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More