Quico Posted January 10, 2014 Share Posted January 10, 2014 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! Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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. Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 Hola ozerom. Necesitaría ver el código para comprobar que estás haciendo todo bien. Un saludo Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 Hola, Que código quieres que te muestre? Gracias Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 (edited) La clase Link.php y el .httpacces Edited June 12, 2015 by Quico (see edit history) Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 Pues a ver, porque las dejé como en origen. Vuelvo a hacer todo y te pego aquí el resultado. Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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 Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 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 } Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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? Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 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. Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 OK, pues vamos a ello. Ahora te cuento. Gracias Quico. Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 Con esa modificación en link.php, peta la web. Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 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); } Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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? Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 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 Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 A pues no,... funcionan igual. Que curioso. Esto no creará duplicidad de contenido? Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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. Link to comment Share on other sites More sharing options...
Quico Posted June 12, 2015 Author Share Posted June 12, 2015 Sí. Se me ha olvidado decírtelo. Elimina la url con guión bajo y redirecciona. Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 Genial. Muchas gracias Quico Link to comment Share on other sites More sharing options...
ozerom Posted June 12, 2015 Share Posted June 12, 2015 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.. Link to comment Share on other sites More sharing options...
Recommended Posts