FSB / Fire-Soft-Board-2

Fire Soft Board (FSB) is an open source bulletin board software written in PHP5.
http://www.fire-soft-board.com/
16 stars 4 forks source link

Refactoring url rewriting + amélioration SEO #174

Open Grummfy opened 12 years ago

Grummfy commented 12 years ago

remplacer http://www.fire-soft-board.com/fsb/sujet-X-Y.html par http://www.fire-soft-board.com/fsb/sujet/X_Y-nom-du-sujet.html

remplacer http://www.fire-soft-board.com/fsb/forum-X-Y.html par http://www.fire-soft-board.com/fsb/forum/X_Y-nom-du-forum.html

Le numéro de page doit toujours être présent dans l'url, si l'url rewritting est activé!

Il faut aussi ajouter un lien "rel=canonical" dans le head html et "rel='bookmark" dans les url des message unique

cf : http://www.fire-soft-board.com/fsb/sujet-9442-1.html et http://www.fire-soft-board.com/fsb/sujet-9917-1.html

MGaetan89 commented 12 years ago

Je vais travailler sur ça quand j'aurais du temps libre. Je commiterais de temps en temps pour que vous puissiez voir comment ça avance.

arcalys commented 12 years ago

Ok ! Merci beaucoup =)

MGaetan89 commented 12 years ago

J'ai commencé à ajouté les règles de réécriture pour les pages qui n'en ont pas (Recherche, FAQ, ...) pour unifier le tout, plutôt que d'avoir que certaines pages qui sont réécrites. Ça vous convient ?

Grummfy commented 12 years ago

pas de problème

arcalys commented 12 years ago

C'est même mieux :)

MGaetan89 commented 12 years ago

Vous pouvez voir les changements ici : https://github.com/MGaetan89/Fire-Soft-Board-2/compare/dev...feature_174 Je ferais un seul PR quand tout sera en place. J'ai encore pas mal d'URL à ajouter et je vais voir s'il est possible de définir la variable tpl BASE avec la configuration du forum (voir index.php).

arcalys commented 12 years ago

Et bien, ça fait pas mal de changements ça :)

MGaetan89 commented 12 years ago

Oui, et il y a encore beaucoup à faire^^

Je dois encore trouver comment intégrer le titre du sujet/forum/...

arcalys commented 12 years ago

T'es courageux, moi j'aime vraiment pas ça :/ Enfin, si jamais tu avais besoin, n'hésite pas, j'essayerai de t'aider.

MGaetan89 commented 12 years ago

C'est pas bien méchant. Un gros copier/coller en adaptant les paramètres à chaque fois.

Je tenterais une règle générale pour voir ce que ça donne. Par exemple si on a /index.php?p=forum&c=1&page=2, on arrive sur /forum/c-1/page-2.html

MGaetan89 commented 12 years ago

Ah ben non je dis des bêtises, puisqu'on ne connait pas le nombre de paramètre de la page, je ne peux pas faire une règle globale, je pense.

arcalys commented 12 years ago

Il doit bien y avoir moyen de généraliser, mais je ne sais pas comment :/

MGaetan89 commented 12 years ago

J'ai ajouté les URLs pour la lecture d'un sujet et remit les anciennes règles pour assurer la compatibilité avec les anciennes versions. Si vous avez le temps de tester et de me dire si vous pensez qu'il faut changer certaines URLs, n'hésitez pas :) J'ai encore deux bugs à corriger (le lien pour remonter en haut de la page et le lien pour consulter son profil ne fonctionnent pas) et la partie modération (si elle est à faire).

Pour la version 2.1 peut-être voir pour trouver un système d'URL plus souple. Comme on le voit dans les Framework par exemple, peut-être :

index:
    std: 'index.php'
    rewrite: 'index.html'

portal:
    std: 'index.php?p=portal'
    rewrite: 'portal.html'

Mais ça demanderait beaucoup de travail, c'est pour ça que je le verrais plus dans la version 2.1 (ou plus). L'avantage serait que tout serait au sein d'un seul fichier, et pas besoin de modifier le htaccess et le fichier main/globals.php pour modifier une URL (sans compter tous les autres fichiers si on veut modifier l'URL classique).

Par contre j'ai merge les tags dans mon fork, du coup il faudrait tester sur une nouvelle installation ou faire les requêtes pour les tags dans votre forum de test ;)

arcalys commented 12 years ago

Je vais cloner ta version et la tester directement. Pourquoi avoir mergé les tags au passage ? C'est pas vraiment sur qu'on les garde comme je les ai fait actuellement :P

MGaetan89 commented 12 years ago

Erreur de ma part. Je voulais le merge dans la branche tags et j'étais encore dans la branche pour l'URL rewrite... Je ferais un pull request quand les tags seront finit comme ça il n'y aura pas de soucis ;-)

arcalys commented 12 years ago

Je viens de l'installer, alors :

arcalys commented 12 years ago

En essayant de me connecter, je me retrouve avec une URL : login-userlist&g_id=2.html ? Pour la redirection ? En tout cas, je ne peux plus me connecter :/

MGaetan89 commented 12 years ago

Etrange, chez moi tout fonctionne très bien. Mais je ne suis pas dans un sous-dossier. Est-ce que tu as testé en incluant mon dernier commit : a439a33e620c1d310f87c2c0f6a98cdaec4eade2 ?

arcalys commented 12 years ago

Ouaip, j'ai pris le contenu de la branche en question pour tester.

MGaetan89 commented 12 years ago

Je vais faire une installation dans un dossier chez moi pour voir si le soucis vient de la. Je te tiens au courant

MGaetan89 commented 12 years ago

Bon j'ai trouvé pourquoi. J'avais juste oublié de mettre un slash à la fin de la variable BASE dans le template 288ad22c6764aad54d174c453cc34bacec52562e Pour l'URL de connexion c'est bien pour la redirection. Dit moi si ça fonctionne maintenant.

arcalys commented 12 years ago

Quelques petits trucs :

Le reste à l'air bon jusqu'à présent :)

arcalys commented 12 years ago

Un autre truc cool, serait de remplacer /mp/ par /pm/ pour les messages privés et portail.html par portal.html :)

arcalys commented 12 years ago

Petite question, pourquoi toujours mettre le id- ? Ne peut-on pas faire un truc du genre /forum/999/lereste.html ?

MGaetan89 commented 12 years ago

Pour la recherche dans la FAQ, j'ai simplement oublié de la tester. Je vais donc corriger ça, et idem pour le calendrier ;) Le profil je suis au courant du bug, mais je n'ai pas encore trouvé la solution. Il y en a aussi un quand on clique sur la flèche pour remonter en haut d'un sujet. /mp/ et /pm/ semble logique oui^^ J'ai mit des préfixes pour la clartés surtout. Ca permet de savoir à quoi sert chaque paramètre quand il y en a plusieurs. Je peux l'enlever s'il faut.

arcalys commented 12 years ago

Non non pas besoin de l'enlever, c'était juste par curiosité =)

MGaetan89 commented 12 years ago

Okay :)

Je viens de faire un commit qui prends en compte tes remarques. Je m'occuperais des deux bugs et de la partie modération plus tard.

arcalys commented 12 years ago

Manque plus que le portail.html => portal.html =D Sinon, sur ce même portail, je vois qu'il y'a des URL avec des modes (newsletter), on pourrait peut-être les prendre en compte non ?

MGaetan89 commented 12 years ago

Bien vu, je viens de le rajouter :)

arcalys commented 12 years ago

Cool. Le reste ça a l'air ok, mais je referai un test ce soir au cas ou certains trucs traîneraient encore !

Taluu commented 12 years ago

Hello,

Pense quand même à faire un git pull upstream dev sur ta branche dev et un git rebase une fois de temps en temps, car j'ai vu dans ton diff des commits qui sont pas vraiment liés à la feature :)

(Je jetterai également un oeil vite fait aux commits quand j'aurai un peu de temps...)

arcalys commented 12 years ago

Il y a encore des choses à faire sur ce truc ci ?

MGaetan89 commented 12 years ago

Ca fait un moment que j'y ai plus touché. Mais il me semble qu'il manque juste encore la partie modération. Je le finirais dès que j'aurais un moment ;)

arcalys commented 12 years ago

Ok merci, car j'aimerais bien préparer la version de test ce mois-ci :)

MGaetan89 commented 12 years ago

Je devrais pouvoir m'en occuper avant la fin du mois :)

arcalys commented 12 years ago

Ok merci :)

MGaetan89 commented 12 years ago

J'aurais pas le temps de m'en charger avant la fin du mois, désolé. Si tu veux absolument sortir une nouvelle version rapidement, il faudrait que quelqu'un d'autre s'en charge, ou alors déplacer cette issue dans une autre milestone.

arcalys commented 12 years ago

Pas de soucis, je déplace au milestone suivant ;)