[RESOLU] url SEO

Eléphant du PHP | 100 Messages

24 sept. 2024, 15:43

Bonjour à Toutes et à Tous,
Page Principale
$renvoi = $titre.'.'.$ligne['reference']; (renvoi mon-titre.AAABBB)
J'ai un lien :

Code : Tout sélectionner

echo'<a href ="affichagebienlocation/?bienchoisi='.$renvoi.'" class="img">';
Donc par défaut je récupère ma variable bienchoisi avec un $_GET

Page détail: mon url est la suivante :

Code : Tout sélectionner

http://monsite/affichagebienlocation/?bienchoisi=f2-maville-centre.FR23G0101
Titre = f2-maville-centre et reference = FR23G0101 que je sépare avec un point

Je trouve cette URL pas trop esthétique centre.FR23G0101 ?
1ère question : est-ce que mon URL est 'embellie' et correspond
2ème Question : : pourrais-je avoir une url dans le style :

Code : Tout sélectionner

http://monsite/affichagebienlocation/f2-maville-centre.FR23G0101
(suppression de : ?bienchoisi=)
Je suis en local pour l'instant Wampserver PHP version 8.3
Je ne vois pas de solution (après moulte lecture et essais)
Merci

Mammouth du PHP | 2703 Messages

24 sept. 2024, 16:40

cela s'appelle de l'url rewrting. pas trouvé de tutorial de ce site, alors il faut trouver un tutorial sur le net.

Eléphant du PHP | 100 Messages

30 sept. 2024, 15:10

Bonjour Mammouth du PHP,
Merci pour ta réponse
Le site est en local WampServer
Lorsque j'arrive sur ma page : http://monsite/affichagebienlocation/?f ... DENF1B0202
Cela vient de mon form :

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='affichagebienlocation/?".$renvoi."' method='post'>";
ou $renvoi est : f3-laville.DENF1B0202 (pour cet enregistrement
f3-laville est le titre et DENF1B0202 pour la référence
Si dans mon form je retire
?
erreur
J'ai déjà essayé moultes chose mais :
Dans mon htaccess j'ai mis ceci qui ne plante pas mais qui apparemment n'est pas pris en compte

Code : Tout sélectionner

RewriteRule ^affichagebienlocation-([0-9]+)-([0-9]+).html$ /affichagebienlocation/?id=$1 [L]
Je suis sur ce gros problème pour moi depuis des semaines
Merci si vous avez une piste RewriteRule
Bonne Journée

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

30 sept. 2024, 16:33

Tu peux utiliser cet outil très simple pour débuguer tes règles d'url rewriting, ça va t'aider à les tester :
https://htaccess.madewithlove.com/


A noter qu'il est possible aussi d'activer des logs spécifiques dans Apache (mais perso je n'en ai jamais eu besoin avec l'outil ci-dessus) :
https://www.techytalk.info/debug-apache ... g-feature/
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2703 Messages

30 sept. 2024, 16:59

l'url donnée, sans ?, ne correspont pas à
affichagebienlocation-([0-9]+)-([0-9]+).html
une qui correspond :
affichagebienlocation-123-456.html

Eléphant du PHP | 100 Messages

02 oct. 2024, 10:18

Bonjour @rthur
,

Merci pour votre réponse, je vais de suite sur les liens que vus m'avez donnés

Merci encore

Petit nouveau ! | 4 Messages

04 oct. 2024, 10:11

Bonjour Bernard,

Une fois vos règles d'url rewriting correctement définies, n'hésitez pas à nous les partager que nous puissions vous donner notre avis, notamment pour le SEO ;)

Eléphant du PHP | 100 Messages

04 oct. 2024, 14:34

Bonjour à Tous
Merci pour vos réponses

J'ai solutionné mon problème(avec de l'aide naturellement)

dossier bien-location : htaccess :

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)$ /affichagebienlocation/?$1 [QSA,L]
Page principale :

Code : Tout sélectionner

echo"<form class='detailbien' id='formulaire' action='bien-location/".$renvoi."' method='post'>";
et cela fonctionne :
URL :

Code : Tout sélectionner

http://monsite/bien-location/f2-laville-centre.FR23G0101
En local et en ligne Fonctionne parfaitement
Petite question avant de clôre ce sujet : est-ce que cette URL convient pour le SEO
Avec mes remerciements

Petit nouveau ! | 4 Messages

04 oct. 2024, 15:32

De façon naturelle je serais plus parti sur un - à la place du . à la fin de l'URL ce qui donnerait /bien-location/f2-laville-centre-FR23G0101.

L'adresse /bien-location sera aussi accessible ?

Par ailleurs, n'oubliez pas d'utiliser un certificat SSL pour passer votre site en HTTPS une fois en ligne.

Eléphant du PHP | 100 Messages

06 oct. 2024, 10:42

Bonjour PierreClement,

Merci pour votre retour
De façon naturelle je serais plus parti sur un - à la place du . à la fin de l'URL ce qui donnerait /bien-location/f2-laville-centre-FR23G0101.
: Effectivement vous avez raison mais le point me sert lors de l'explode pour ne récupérer que la Référence : Référence passe maintenant dans l'URL en minuscule et lors de la recherche je le remets de façon transparent en Majuscule
le titre est ainsi concaténé fonction fctRetirerAccents qui retire tous les accents

Code : Tout sélectionner

$titre = fctRetirerAccents($ligne['titre']); $titre = strtolower($titre); $titre = str_replace(" ", "-", $titre); $titre = str_replace(" ", "-", $titre);
la variable renvoi est de ce type :

Code : Tout sélectionner

$renvoi = $titre.'.'.strtolower($ligne['reference']);
et dans ma page détail du bien :

Code : Tout sélectionner

if(isset($_POST['urllocation'] )) { $reference = substr($_POST['urllocation'], strrpos($_POST['urllocation'], '.' )+1)."\n"; $reference = rtrim($reference); $reference = strtoupper($reference); }
L'adresse /bien-location sera aussi accessible ?
alors ce n'est qu'une redirection dans lequel j'ai un htaccess qui me redirige vers la bonne page
Par ailleurs, n'oubliez pas d'utiliser un certificat SSL pour passer votre site en HTTPS une fois en ligne.
Le site en ligne est bien en https
Merci à vous

Eléphant du PHP | 100 Messages

06 oct. 2024, 10:50

Voici mon URL sans majuscule mais toujours avec le point de délimitation: monsite/bien-location/f2-laville-centre.fr23g0101

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 oct. 2024, 18:49

Petite question avant de clôre ce sujet : est-ce que cette URL convient pour le SEO
Oui, sans pb.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

08 oct. 2024, 16:48

Ca devrait être bon pour le SEO, juste prévoir que la redirection /bien-location vers la page correcte soit en status code 301 ;)

Eléphant du PHP | 100 Messages

09 oct. 2024, 11:05

Bonjour PierreClement,

Merci pour votre réponse,
juste prévoir que la redirection /bien-location vers la page correcte soit en status code 301[/quote]

Dans le répertoire bien-location je n'ai que mon fichier htaccess :

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^(.*)$ /affichagebienlocation/?$1 [QSA,L]
Mais apparemment cela ne renvoie pas un statut code 301
La redirection 301 est une redirection permanente

Dois-je ajouter ceci :

Code : Tout sélectionner

RedirectMatch 301 /bien-location / /affichagebienlocation/
Merci de m'éclairer
Bonne Journée

Petit nouveau ! | 4 Messages

10 oct. 2024, 10:20

Voici le code qui devrait fonctionner :
RedirectMatch 301 /bien-location /affichagebienlocation/
Sinon, vous pouvez tester :
RedirectPermanent /bien-location /affichagebienlocation/
Ou encore :
Redirect 301 /bien-location /affichagebienlocation/