URL Rewriting et multiples variables

yerome

Nouveau WRInaute
Bonsoir,

j'ai une question toute bete, comment gère t'on l'url rewrinting quand il y a beaucoup de variables (6 et plus :mrgreen: )?

Exemple de variables successives : categorie + souscategorie + sousouscategorie + numero de page + actionspécifique + etc

J'ai des pages qui peuvent contenir jusqu'à 7 variables, décomposer dans tous les cas possibles d'url relevant presque de l'impossible, j'ai fait quelque chose comme :

page-cat-sscart-sssscat-p-act.php

et ca donne des pages telle que : page------1-act.php

Je sais pas trop si google aime cette succession de tirets (d'ailleurs vous me direz s'il prend en compte de manière défavorable des variables vides), mais je trouve ca particulièrement moche pour les visiteurs.
Si vous avez une solution pour éviter ca, je suis preneur :D

Puis j'avais une seconde question aussi toute bete qui a surement du etre dit quelque part, mais j'ai pas réussi à trouver :
Si on fait de l'url rewriting, et que dans notre htaccess il y a des variables de nom id, est ce mauvais pour le référencement?
J'ai lu qu'il fallait éviter les variables id dans l'url, mais lorsque l'on fait de l'url rewriting elles sont dans une fichier htaccess, le robot fait il une différence?

Merci
 

marchandeo

WRInaute discret
Si je comprends ton problème, tu es obligé de passer un maximum de variables par l'url parce que tu dois utiliser ces variables dans le script de ta page ?
Si c'est le cas, tu as juste un problème de la programmation de ton site. Tu peux par exemple utiliser des variables de session pour remplacer ces variables ou, dans ton script, utiliser une seule de ces variables d'url pour récupérer les autres en base de données (la catégorie peut par exemple être récupérer à l'aide de la sous-catégorie, etc...)
 

yerome

Nouveau WRInaute
Oui, au niveau des bases, j'ai pas été très propre dirons nous ^^

Une meme sous categorie peut correspondre a plusieurs categories :/

Mais maintenant qu'elles sont crées et le site lancé, dur de revenir en arrière.

Au niveau de l'url rewriting, il n'y a pas d'astuces ou méthodes qui permettent de gérer une multitude de variables?
Dans mon cas, c'est surtout que je passe des paramètres nuls et que ca fait pas très joli, on peut pas dire si le paramètre est nul
alors tu considères qu'il y en a un mais au niveau de l'url tu l'affiches pas?

Merci
 

Marie-Aude

WRInaute accro
C'est pas très "propre" mais ça peut se justifier. Maintenant quoi qu'il arrive tu dois bien avoir une ID unique de page ? C'est elle qu'il faut que tu récupères, et à partir de cette ID, tu retrouves les autres parametres. Tu la mets en début d'url, donc comme ça même si tu as des parametres vides, tu as l'id.
 

yerome

Nouveau WRInaute
Ben justement, c'est assez bizarre, je vois mal comment identifier une page.
En fait mon site est un annuaire et par exemple si vous aviez ces paramètres comment gèreriez vous ca :

site.com/chiens.php?categorie=1&tri=poids&recherche=braque&page=3

Si on considère que si le visiteur n'a fait aucun tri alors par défaut tri est nul et s'il n'a pas recherché alors recherche est aussi nulle par défaut.

Après le fait que ma base est plutot mal faite rajoute 2 paramètres, et je pense que je peux les éviter, je vais essayer de voir dans ce sens.

Mais en fait mon post s'adressait de manière générale, j'imagine qu'on doit bien trouver des sites complexes sur internet ou 4-5 paramètres voire plus se justifient, et faire un lien pour chaque possibilité devient vite un travail laborieux, dommage qu'on ne puisse pas dire dans le htaccess ce paramètre est facultatif (et qu'il gère le fait qu'il soit vide :lol: )
 

Marie-Aude

WRInaute accro
Cela dit, dans ton cas précis, étant donné que ce sont des résultats de recherche, ils ne sont pas à indexer, sinon bonjour le dc, leur forme n'a pas beaucoup d'importance.
En dehors de ce type de transmission de variables, ou l'url rewriting est effectivement inutile, on travaille sur la base d'une ID unique à laquelle des paramètres sont attachés.
 

Zecat

WRInaute accro
perso j'ai adopté un systeme ultra simple et efficae :

Quels que soit le nombre de parametres, en fait toutes mes pages sont ramenées a un schéma : 1 seul parametre

Ce paramètre est toujour de la forme :

du-bla-bla-pour-les-moteurs-et-l'indexation-aaabbbcccdddeeefff
du-bla-bla-pour-les-moteurs-et-l'indexation-aaabbbcccd
du-bla-bla-pour-les-moteurs-et-l'indexation-aaabbbcccdddeeefffgggghhhh

du coup le rewriting s'en trouve ultra simplifié et quelle que soit la page on récupere 1 seul paramètre. Ensuite on le traite :

- un explode sur "-"
- la derniere ligne du tableau est ma clé (comme tu peux le voir elle peux contenir un nombre varaible de valeurs ...)

aaabbbccc ....

Au final mon htaccess se limite a une succession de :

Code:
RewriteRule    ^pagetype1-([a-zA-Z0-9-]+)\.php$ pagetype1.php?zeparam=$1 [L]
RewriteRule    ^pagetype2-([a-zA-Z0-9-]+)\.php$ pagetype2.php?zeparam=$1 [L]

Cool non :wink: (coté maintenance et debug y a pas plus simple et coté souplesse tu fais ce que tu veux dans le contenu du paramètre sans aucun impact sur le rewriting)

Avec ce principe, tu as les avantages d'une url pleine de bon mots cles tout en n'ayant une cle unique aussi ...
 

yerome

Nouveau WRInaute
Merci, je pense avoir saisi l'idée, et j'essaierais de mettre cette méthode en place dès ce week end.

j'avoue que du coup ce serait bénéfique que ce soit au niveau des mots clés mais en plus au niveau de la beauté de mes liens :mrgreen:
 

Zecat

WRInaute accro
Tout a fait. Tu vas alors avoir des url de ce type :

h*ttp://www.monsite.com/commentaires-restaurant-la-tour-d-argent-76745654345675.html

commentaires-restaurant-la-tour-d-argent-76745654345675 < c'est ton $1

quand tu explode sur "-" :

array :

commentaires
restaurant
la
tour
d
argent
76745654345675 < c'est ta cle

Tout simplement. Et si demain tu decides d'ajouter 3 caracteres dans ta cle, rien ne change au niveau rewriting !

Dans ton cas, ca pourrait donner :

h*ttp//tonsite.com/chiens-setter-irlandais-15-kg-femelle-CHSI15FE.html :mrgreen:
h*ttp//tonsite.com/piafs-perroquet-gris-du-gabon-2-kg-male-PIPG02MA.html :mrgreen:

PS : Pense a bien convertir ta chaine "Restaurant la Tour d'Argent" en une chaine mise en forme pour les url ... un wrinaute avait fourni une fonction tres efficace pour cela ... si tu la retrouve pas, je pourrais te la remttre ici.

EDit : j'ai retrouvé : https://www.webrankinfo.com/forum/transformer-une-chaine-pour-mise-dans-url ... 37566.html

Voila maintenant y a plus qu'a !

Clin d'oeil : 'tin ca me fait tout bizarre de me voir aider du monde en php et en rewriting ... on m'aurait dit ca y a 6 mois :roll:
 

Zecat

WRInaute accro
Cerise on ze cake ... mais bon tu le feras en etapes 2 ...

ton url est desormais :

h*ttp//tonsite.com/chiens-setter-irlandais-15-kg-femelle-CHSI15FE.html

Mais ca empeche pas un barjot de te faire un lien vers l apage :

h*ttp//tonsite.com/chiens-arrete-ton-char-ben-hur-CHSI15FE.html

si ca arrive :

1 - tu choppes le parametres
2 - tu choppes la clé
3 - tu reconstruit l'url correct avec la cle
4 - tu reaffiche de suite via un header la bonne url

ET hop (au passage j'ai rien inventé, je l'ai simplement constaté une fois sur wri (essaye tu verras, ajoute un mot dans l'url de ce topic par exemple et affiche la page ...) et j'ai reproduit la chose).

Tu noteras au passage la structure des url de ce forum .... avec du bla et une cle a la fin :roll:
 

yerome

Nouveau WRInaute
Merci pour votre aide, j'ai à peu près réussi à obtenir ce que je voulais.

Maintenant, j'ai des url qui passent mieux :)

Il me manque encore à régler le problème des espaces, et le pour aller plus loin qui est quand meme sympa :D
 

yerome

Nouveau WRInaute
Bonjour,

J'avais quelques questions d'ordre général concernant l'après url-rewriting, étant donné que je veux juste savoir si ce que j'ai fait est bien, j'ai préféré poster à nouveau ici plutôt que créer un sujet exprès pour ca :)

Donc j'ai mis en place le système d'url-rewriting, puis j'ai utilisé un logiciel pour concevoir mon sitemap (600 url).

* Parmis ces url certaines sont protégées par une session (par exemple la page de profil d'un membre ou la page pour ajouter un commentaire, etc), je ne met pas les session id dans mes url, donc j'imagine que le robot ne parviendra pas à y accéder, j'ai donc lu qu'il fallait dire au robot de ne pas lrie ces url (grace au htaccess), c'est bien ce qu'il faut faire?

* Il y avait sur google avant l'url rewriting environ 100 url (avec des ? et &), j'aimerais que ces url ne provoquent pas de duplicate content, du coup j'ai utlisé le htaccess pour le rediriger sur mes nouvelles url rewrités,mais comme il y en a 100, je les ai pas encore toute faite, n'y a t'il pas une solution plus rapide? :(

* Deux pages peuvent avoir le meme contenu : s'il n'y a qu'un site référencé dans une certaine catégorie de mon annuaire, le lien correspondant au tri par alphabet ou tri par note donne la meme page, google va t'il considérer ca comme du duplicate content? :?

Merci :)
 

michel.leonard

WRInaute occasionnel
Zecat a dit:
du-bla-bla-pour-les-moteurs-et-l'indexation-aaabbbcccdddeeefffgggghhhh

du coup le rewriting s'en trouve ultra simplifié et quelle que soit la page on récupere 1 seul paramètre. Ensuite on le traite :

- un explode sur "-"
- la derniere ligne du tableau est ma clé (comme tu peux le voir elle peux contenir un nombre varaible de valeurs ...)
donc
  • du-blaTEST-1dexation-aaabbbcccdddeeefffgggghhhh
    du-bla-bla-pour-les-GOOGLEBOT-n-aaabbbcccdddeeefffgggghhhh
    du-bla-bla-pour-les-moteurs-et-l'indexatiMYNAMEbcccdddeeefffgggghhhh
    du-bla-bla-pour-les-moteKtm620endurotion-aaabbbcccdddeeefffgggghhhh
    du-bla-bla-pour-les-moteurs-et-l'indexaJOEBAR-cdddeeefffgggghhhh-aaabbbcccdddeeefffgggghhhh
    du-bla-bla-pour-LOLcdddeeefffgggghhhh-aaabbbcccdddeeefffgggghhhh
    du-bla-bla-poYOMANghhhh-aaabbbcccdddeeefffgggghhhh
Toutes ces adresses renvoient vers le meme contenu n'est-ce pas, faut éviter de le dupliquer...
 

poupilou

WRInaute impliqué
Je reviens sur cette méthode avec 1 seul paramètre comme clé.

Si j'ai une url du type site.com/chiens.php?categorie=levrier&age=3&poil=long&tri=poids&page=3 et que je souhaite transformer categorie=levrier&age=3&poil=long&tri=poids&page=3 en 1 seul paramètres (comme clé) dans mon url du type site.com/chiens-564ez6r4z65r4.html comment faire cela ?
 

Discussions similaires

Haut