greenwoodmall Posted December 12, 2019 Share Posted December 12, 2019 Buenos días a toda la comunidad. Escribo porque tengo una cuestión a resolver. Quiero enviar un sitemap a search console de los productos de una web de un cliente. Me pide que se indexen tambien los productos con las variables, ya que ahora mismo el unico producto que le indexa google es la variable por defecto. Se me ocurrió incluir de alguna forma (aun no lo tengo desarrollado) dentro del sitemap las url's con las variables/declinaciones al final. ¿Creeis que esto es bueno para el seo?¿O sería tomado como contenido duplicado por google? Gracias! Link to comment Share on other sites More sharing options...
Prestafan33 Posted December 12, 2019 Share Posted December 12, 2019 (edited) Yo no soy experto en SEO, pero cuando he recibido una auditoría de alguna página normalmente lo que te piden es justo lo contrario, que se indexe solamente una combinación por producto, bien la combinación por defecto, o mejor aún la "canonical", que es la URL del producto sin combinación. Y precisamente eso es lo que suelen hacer los módulos generadores de archivos sitemap, así que entiendo que lo correcto es eso. Ten en cuenta que un sitemap no es un feed de productos. En los feeds de productos, que se generan para incluir tus productos en los marketplaces, sí que se pueden incluir las combinaciones de productos. En el sitemap, que es para que los buscadores creen un mapa de tu sitio, no. Porque ahí no estás indexando productos sino páginas, y para un producto variable sólo existe una página, aunque el producto tenga 20 posibles variaciones. Edited December 12, 2019 by Prestafan33 (see edit history) Link to comment Share on other sites More sharing options...
gusman126 Posted December 24, 2019 Share Posted December 24, 2019 (edited) En 12/12/2019 a las 9:30 AM, Prestafan33 dijo: Yo no soy experto en SEO, pero cuando he recibido una auditoría de alguna página normalmente lo que te piden es justo lo contrario, que se indexe solamente una combinación por producto, bien la combinación por defecto, o mejor aún la "canonical", que es la URL del producto sin combinación. Y precisamente eso es lo que suelen hacer los módulos generadores de archivos sitemap, así que entiendo que lo correcto es eso. Ten en cuenta que un sitemap no es un feed de productos. En los feeds de productos, que se generan para incluir tus productos en los marketplaces, sí que se pueden incluir las combinaciones de productos. En el sitemap, que es para que los buscadores creen un mapa de tu sitio, no. Porque ahí no estás indexando productos sino páginas, y para un producto variable sólo existe una página, aunque el producto tenga 20 posibles variaciones. Te doy la razón, excepto cuando son productos por color , por ejemplo un zapato rojo o azul, son 2 productos diferentes , incluso prestashop añade el atributo en la url para poder acceder directamente a esta combinación "producto" Obviamente la canonical, es para indicar cual es la url principal, pero enviando el sitemap de combinaciones NO DEBERIA penalizar, ESO SI , solo si tienes bien la canonical. Ademas en el titulo debería mostrar la combinación al cambiar de url Hay varios módulos que generan los sitemap con las combinaciones, resumiendo el codigo seria asi mas o menos Aviso que mis conocimientos de SEO, son un poco mas que Basicos, nuestro compañero @Prestafan33 puede que tenga mas razón que yo y sea muy malo añadir este sitemap $productos = Product::getProducts($id_lang, 0,0, 'name', 'asc', null,$only_active = true); foreach ($productos as $producto){ $combinations = $product->getAttributesResume($id_lang); if(!$combinations){ }else{ foreach($combinations as $combination){ $id_atributo = $combination['id_product_attribute']; $combiatts = $product->getAttributeCombinationsById($id_atributo, $id_lang); $imagenesp = $product->getCombinationImages($id_lang); if ($imagenesp){ foreach($imagenesp as $imagenp){ if ($imagenp[0]['id_product_attribute'] == $combination['id_product_attribute']){ $idimagen = $imagenp[0]['id_image']; $linkic = new Link(); $value = $linkic->getImageLink($product->link_rewrite[$id_lang], $idimagen, 'large_default'); $value = $value; $imagenprincipal = $value; } } }else{ $imagenprincipal = $cover; } $linkp = new Link; $url = $linkp->getProductLink($id_product, null, null, null, null, null, $id_atributo, Configuration::get('PS_REWRITING_SETTINGS'), false, true); $prs[] = array( 'name' => $name, 'loc' => $url, 'imagenprincipal' => $imagenprincipal, 'lastmod' => $product->date_upd, 'combi' => ' - '.$combination["attribute_designation"], ); } } $xml_data =''; $xml_data .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" >'; foreach($prs as $pr){ $name = preg_replace('/&(?!#?[a-z0-9]+;)/', ' ',$pr['name']); $xml_data .= '<url> <loc>'.$pr['loc'].'</loc> <image:image> <image:loc>https://'.$pr['imagenprincipal'].'</image:loc> <image:title>'.(string)$name.' '.$pr['combi'].'</image:title> </image:image> </url> '; } $xml_data .= '</urlset>'; $xml= simplexml_load_string($xml_data); $xmld =$xml->asXML(); $dom = new DOMDocument; $dom->preserveWhiteSpace = FALSE; $dom->formatOutput = true; $dom->loadXML($xmld); $dom->save(dirname(__FILE__).'/../../sitemap_combinations.xml'); $dom->save(dirname(__FILE__).'/xml/sitemap_combinations.xml'); } Puede que falte código o de algún error, lo he copiado mas o menos de un modulo que tengo desarrollado. Para el SEO, también interesa tener un sitemap de TODAS las imagenes de los productos, algo que no genera el sitemap incluido en el PS Edited December 24, 2019 by gusman126 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now