Jump to content

Hi All! Sitemap con Variables


Recommended Posts

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

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 by Prestafan33 (see edit history)
Link to comment
Share on other sites

  • 2 weeks later...
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 by gusman126 (see edit history)
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...