Originariamente inviato da oly1982
Tralasciando la questione sul fatto che l'id AI è la cosa + semplice nonchè l'unico metodo infallibile.
Vi espongo una mia idea al riguardo a cui sono gradittissimi commenti/opinioni.
Il mio sistema è basato su una logica che impiegherei per la costruzione di stringhe, univoche per ciascun prodotto, che andranno poi a comporre URL con all'interno keywords (ovvio lo scopo seo...).
Sò che è possibile adottare soluzioni basate sul rewrite url facendo in modo che vengano fuori URL di questo genere:
codice:
dominio.it/prodotto/[ID DEL PRODOTTO]/keywords_varie.html
A ciò occorre poi aggiungere accorgimenti come il metatag canonical url.
Ma, volendo complicarci la vita, il mio obiettivo è quello di creare un sistema che mi crei stringhe univoche per ogni prodotto: ciò non mi costringerebbe a portarmi dietro l'id nell'url e al suo posto impiegare la stringa univoca (es. i profili facebook: facebook.com/nome.cognome).
Io agirei con una tecnica ricorsiva tipo questa:
Codice PHP:
$prodotti_esistenti = array(
'scarpe di ginnastica',
'giubotto sportivo',
'maglione di lana');
function stringa_univoca($nuovo, $esistenti, $ciclo = null){
// se la nuova stringa non è presente... ok
if(!in_array($nuovo . $ciclo, $esistenti)){
return $nuovo . $ciclo;
}
// se presente
else{
if(is_null($ciclo))
$ciclo = 1;
$ciclo++;
return stringa_univoca($nuovo, $esistenti, $ciclo);
}
}
// proviamo ad aggiungere un prodotti con lo stesso nome... di quelli esistenti
$prodotti_esistenti[] = stringa_univoca('scarpe di ginnastica', $prodotti_esistenti);
$prodotti_esistenti[] = stringa_univoca('scarpe di ginnastica', $prodotti_esistenti);
$prodotti_esistenti[] = stringa_univoca('scarpe di ginnastica', $prodotti_esistenti);
$prodotti_esistenti[] = stringa_univoca('giubotto sportivo', $prodotti_esistenti);
$prodotti_esistenti[] = stringa_univoca('giubotto sportivo', $prodotti_esistenti);
$prodotti_esistenti[] = stringa_univoca('maglione di lana', $prodotti_esistenti);
// e un prodotto totalmente nuovo
$prodotti_esistenti[] = stringa_univoca('giacca elegante', $prodotti_esistenti);
sort($prodotti_esistenti);
echo '<pre>';
print_r($prodotti_esistenti);