Quel ID mettre dans une URL ?

Nouveau WRInaute
Bonjour,

Pensez-vous que l'insertion d'IDs alphanumériques dans une URL peut être pénalisant pour le SEO ou non ?
Exemple : https://www.domaine.com/H1~nXtxV2-productname

Le souci est que les ID actuelles sont composées uniquement de chiffres, et contiennent déjà 8 chiffres (beaucoup de pages créées). On cherche une solution pour générer des ID pas trop longs et non pénalisants vis-à-vis de Google.

Merci par avance pour vos avis.
 
WRInaute passionné
Salut, cette fonction permet de convertir n'importe quoi en n'importe quoi, donc tu peux mettre par exemple tous les chiffres, les lettres minuscules et les lettres majuscules (tu peux aussi ajouter les caracteres permis dans les urls sauf ceux réservés) :

Code:
$tonid = '99999999';
$labasedecimale = '0123456789';
$labasefinale = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$tonidfinale = convBase($tonid, $labasedecimale, $labasefinale);

// 99999999 est transformé en 6LAzd

// Et quand tu veux récupérer ton id décimale tu fais le contraire :
$tonidrecuperee = convBase($tonidfinale, $labasefinale, $labasedecimale);

Voilà la fonction (trouvée sur php.net) :

Code:
function convBase($numberInput, $fromBaseInput, $toBaseInput)
{
    if ($fromBaseInput==$toBaseInput) return $numberInput;
    $fromBase = str_split($fromBaseInput,1);
    $toBase = str_split($toBaseInput,1);
    $number = str_split($numberInput,1);
    $fromLen=strlen($fromBaseInput);
    $toLen=strlen($toBaseInput);
    $numberLen=strlen($numberInput);
    $retval='';
    if ($toBaseInput == '0123456789')
    {
        $retval=0;
        for ($i = 1;$i <= $numberLen; $i++)
            $retval = bcadd($retval, bcmul(array_search($number[$i-1], $fromBase),bcpow($fromLen,$numberLen-$i)));
        return $retval;
    }
    if ($fromBaseInput != '0123456789')
        $base10=convBase($numberInput, $fromBaseInput, '0123456789');
    else
        $base10 = $numberInput;
    if ($base10<strlen($toBaseInput))
        return $toBase[$base10];
    while($base10 != '0')
    {
        $retval = $toBase[bcmod($base10,$toLen)].$retval;
        $base10 = bcdiv($base10,$toLen,0);
    }
    return $retval;
}

Et pénalisant pour Google, non je pense pas mais bon, faut lui demander personnellement :)
 
WRInaute accro
Le plus simple étant de s'affranchir de ces id, et utiliser comme clé l'url de la page. Quitte à ajouter des numéros en cas de doublons.
 
WRInaute passionné
C'est vrai, dans la base de données tu peux garder tes id numériques mais ajouter un champs pour le slug (ou une autre table juste pour la relation id <-> slug) comme ça tes urls seront sans aucun id.
 
Discussions similaires
Haut