Messages: 137

Enregistré le: 24 Mai 2006

Message le Mar Avr 01, 2014 11:50

Bonjour,

Je bosse sur un site pour un client qui a un garage automobile. Le site n'est pas encore en ligne.

Une partie du site correspond à la vente de voiture d'occasion. Très simple:
  • une page liste les voitures en partant de la plus récente,
  • si on clique sur une voiture, on arrive sur la fiche détaillée,
  • il y a un formulaire de recherche avec plein de critères (modèle, année, ...)
Du coup, ces pages détaillées n'ont pas vocation à rester éternellement en ligne puisque le but est que la voiture soit vendue. Le pb, c'est que si mon client supprime les voitures vendues et donc les pages détaillées associées, il va se retrouver avec plein de 404, pas terrible.

Les deux autres solutions seraient:
  • à chaque page de véhicule supprimée, je redirige vers la page listant tous les véhicules en vente actuellement (du coup faut que j'automatise ça en modifiant le .htaccess à chaque page supprimée ?),
  • j'indexe pas du tout ces pages.
Vous avez déjà eu à gérer des cas similaires ? Une idée sur la meilleure solution à mettre en place ?

Merci et dispo si question :)
bonne journée tt le monde

Bastien
Haut
7 Réponses
Messages: 3259

Enregistré le: 7 Sep 2003

Message le Mar Avr 01, 2014 12:45

Avoir une procédure de suppression "logique" plutôt que physique. C'est à dire un top dans la base de données.
Si la page accédée correspond à un article supprimé, alors effectuer une redirection php plutôt que par .htaccess
Et plutot que vers la liste complète des voitures à vendre, commencer par faire une recherche par modèle et si on trouve le même modèle alors faire la redirection vers la liste de toutes les voitures de ce modèle ou vers la page de l'unique voiture du modèle. Si aucune dans le modèle, alors faire la redirection vers la liste des voitures de la même marque et si aucune, vers la liste complète.
Haut
Messages: 23108

Enregistré le: 19 Avr 2002

Message le Mar Avr 01, 2014 12:49

Si les pages restent vraiment très peu de temps, ça ne vaut pas le coup de les faire indexer.
Sinon, tu les laisses se faire indexer et tu fais une redirection 301 des annonces supprimées vers la page de listing la plus précise (si jamais tu en as plusieurs) ou la page générale (si tu n'en as qu'une). Cette redirection doit se faire par un script serveur plutôt que par l'ajout de lignes dans le .htaccess
Haut
Messages: 137

Enregistré le: 24 Mai 2006

Message le Mar Avr 01, 2014 15:25

Merci à ts les deux pour les réponses.

La durée de chaque page est dépendante du véhicule. Mais autant qu'elles soient indexées car la plupart se vendront pas en 2 jours.

OK pour la redirection vers la page de listing la plus précise via un script PHP.

Par contre, faut il obligatoirement que je garde ces véhicules en base pour faire cette redirection ?
Je vois pas l'intérêt de faire ça.

Merci
Haut
Messages: 3259

Enregistré le: 7 Sep 2003

Message le Mar Avr 01, 2014 16:01

Avec la méthode que je t'ai expliqué, oui

Dans ta base tu auras par exemple les informations suivantes :
- id
- Marque
- modele
- kilométrage
- prix
- description
- photo
- top suppression

Supposons que la voiture ayant pour id = 310 corresponde à une Renault 19 de 120 000 km et qu'elle a été vendue récemment. Quelqu'un qui clique sur un résultat de recherche arrive sur la page occasions.php?id=310 (ou l'équivalent en url rewriting)
Que va faire le script ?
commencer par accéder à la base et voir que le top suppression est à '1'
Il va ensuite rechercher dans la base toutes les voitures de marque renault et de modele R19 dont le top suppression est à '0'
S'il en trouve plusieurs : redirection 301 vers la page qui affiche toutes les R19 en vente
S'il en trouve une : redirection 301 vers la page qui affiche la voiture, par exemple occasions.php?id=417 si l'id de cette entrée est le n° 417
Sil en trouve aucune :
rechercher dans la base toutes les voitures de marque renault dont le top suppression est à '0'
S'il en trouve plusieurs : redirection 301 vers la page qui affiche toutes les Renault en vente
S'il en trouve une : redirection 301 vers la page qui affiche la voiture, par exemple occasions.php?id=418 si l'id de cette entrée est le n° 418
s'il en trouve aucune : redirection 301 vers la page qui affiche toutes les voitures en vente

Maintenant, si tu supprimes de la base complètement l'entrée. Tu arrives sur ta page occasions.php?id=310, le script cherche l'id 310 en base et ne la trouve pas. Tu ne peux donc pas savoir que c'était une renault 19, ni même une renault. Tu ne peux donc faire qu'une redirection vers la page qui affiche toutes les voitures en vente. C'est beaucoup moins sélectif et à terme tu vas te retrouver avec énormément d'urls qui font des redirections vers une même page alors qu'en conservant les données en bases tu répartis beaucoup plus les redirections et ça aide à pousser toutes tes catégories selon les marques et les modèles. Car il ne faut pas oublier que les liens peuvent être des liens en dur sur des sites. Si tu as sur une site une ancre de type "Renault 19 d'occasion en vente" tu vas ainsi apporter du jus à la page des R19, et ensuite à la page des renault quand il n'y aura plus de r19 en vente. Ca sera plus équilibré comme répartition des BL et tu touches ainsi des pages profondes bien plus facilement.

Maintenant à toi de faire la console d'administration d'une façon que quand on supprime une voiture elle n'apparaisse plus dans le back office, même si elle se trouve encore dans la base, si tu ne veux pas que le client soit pollué avec toutes les anciennes voitures qu'il a déjà vendu
Haut
Messages: 137

Enregistré le: 24 Mai 2006

Message le Mar Avr 01, 2014 16:26

Merci pour cette réponse ultra détaillée et super rapide ! :)

Je comprends tout à fait le principe du script. Le nombre d'entrée en base sera pas gigantesque ds ts les cas. Comme tu dis, il faut simplement que je cache les véhicules vendus au niveau de l'admin.

Mais j'avais pensé à ça:
Imaginons que l'url rewriting des pages détaillées de chaque véhicule soit de cette forme: marque-modèle-couleur-prix-ID

Je peux récupérer marque, modèle, couleur et prix à travers l'URL ciblée avec une petite expression régulière. Et ensuite faire les mêmes requêtes sur la base ds le même ordre que tu préconises pour essayer de cibler la meilleure page en redirection.

Ca semble possible non ? A moins que j'oublie un truc.
Haut
Messages: 916

Enregistré le: 21 Mar 2007

Message le Mar Avr 01, 2014 20:41

Bonjour,

C'est mieux de garder tous les véhicules en base, et de récupérer les caractéristiques d'un véhicule vendu avec une requête plutôt que de se fier à une url qui peut être modifiée.

Concernant l'archivage si l'annonce est archivée depuis moins de 10 jours j'affiche une page spéciale expliquant que le véhicule est vendu avec un lien vers des véhicules similaires. Après 10 jours je fais une 301 vers la rubrique la plus adaptée (même modèle).
Haut
Messages: 137

Enregistré le: 24 Mai 2006

Message le Mar Avr 01, 2014 20:48

Bonsoir,

Et merci pour la réponse. Je vais me ranger à vos avis :) et laisser les véhicules en base.

J'avais lu un article sur la même solution: faire une 404 en disant que le produit n'était plus vendu et proposer des produits similaires. Ca donne quand même au visiteur l'info que le véhicule cherché n'existe plus mais permet de rentabiliser la 404.

Je vais partir là dessus.

Merci à tous pour vos conseils et solutions.
Bonne soirée
Haut