8791 sujets

Développement web côté serveur, CMS

Salut à tous,

Quelle est la meilleure solution pour référencer toutes les pages d'un site si on utilise une include php à la base (index.php) appelant toutes les pages externes.

Car les moteurs de recherches ne prennent en compte que la page index.php :

meta name="description"


Certes toutes les pages apparaissent en tant que "page" dans google par exemple, mais la description est la même pour toutes, c'est à dire celle d'index.php ...

Merci pour vos conseils Smiley cligne

Bonne soirée.
Modifié par yank (20 Dec 2007 - 13:09)
Merci pour le tuto Smiley cligne je viens de le voir également dans un autre post que tu avais fait.

En bref pour se faciliter la vie (au niveau référencement) , il est plus simple de ne pas utiliser l'include php ... Smiley lol

J'ai tord ? Smiley rolleyes
yank a écrit :
J'ai tord ? Smiley rolleyes
Euh... Ben oui Smiley ravi !

Tout est basé sur des include Smiley cligne !

Edit: Pour être plus précis : soit le contenu est stocké directement dans la base, soit tu n'enregistres que le lien de la page à inclure... Dans les 2 cas les include ne gènent en rien.

Pour ce qui est des liens sous la forme index.php?page=histo on peut se servir de htaccess pour les modifier (dans l'URL). Ce qui pourrait donner quelque chose comme :
Options +FollowSymlinks
RewriteEngine on
RewriteRule  ^historique\.php$ index.php?page=histo [L]
RewriteRule  ^plan\.php$ index.php?page=plan [L]
etc...

Modifié par Heyoan (19 Dec 2007 - 19:17)
Heyoan a écrit :

Pour ce qui est des liens sous la forme index.php?page=histo on peut se servir de htaccess pour les modifier (dans l'URL). Ce qui pourrait donner quelque chose comme :
Options +FollowSymlinks
RewriteEngine on
RewriteRule  ^historique\.php$ index.php?page=histo [L]
RewriteRule  ^plan\.php$ index.php?page=plan [L]
etc...

Url rewriting ? Smiley ravi
a écrit :

Pour ce qui est des liens sous la forme index.php?page=histo on peut se servir de htaccess pour les modifier (dans l'URL). Ce qui pourrait donner quelque
chose comme :
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^historique\.php$ index.php?page=histo [L] 
RewriteRule ^plan\.php$ index.php?page=plan [L] 
etc...

Le problème de cette technique c'est que ça risque de devenir un peu lourd si tu as beaucoup de pages. Il vaut mieux utiliser une méthode généraliste. Par exemple :


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)\.php$ index.php?page=$1 [QSA,L]


Le grand avantage des regexp, c'est ça... en quelques lignes on crée une règle extrêmement puissante.
Le RewriteCond permet de vérifier qu'il n'y a effectivement pa de fichier avec le nom donné avant de faire la réécriture.

Evidemment, il faut vérifier le paramètre dans index.php après... mais ça de toute façon tu es obligé de le faire.
Modifié par QuentinC (20 Dec 2007 - 08:35)
QuentinC a écrit :
Le problème de cette technique c'est que ça risque de devenir un peu lourd si tu as beaucoup de pages.

Exact Smiley biggthumpup
QuentinC a écrit :

Le problème de cette technique c'est que ça risque de devenir un peu lourd si tu as beaucoup de pages. Il vaut mieux utiliser une méthode généraliste. Par exemple :


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]+)\.php$ index.php?page=$1 [QSA,L]


Le grand avantage des regexp, c'est ça... en quelques lignes on crée une règle extrêmement puissante.
Le RewriteCond permet de vérifier qu'il n'y a effectivement pa de fichier avec le nom donné avant de faire la réécriture.

Evidemment, il faut vérifier le paramètre dans index.php après... mais ça de toute façon tu es obligé de le faire.


Salut,

En effet, la méthode à l'air moins "lourde" vu que j'ai plus d'une vingtaine de pages.

Par contre connaissez vous un tuto pour faire cela assez facilement (je ne suis pas expert en php Smiley lol ) donc je comprends bien la 1ere méthode, mais celle la, j'avoue ... je dois mettre ou les nouveaux noms de pages ?

Smiley ravi

Merci !
yank a écrit :
mais celle la, j'avoue ... je dois mettre ou les nouveaux noms de pages ?

Plop !

Ben en fait la méthode de Quentin dit : si la page demandée n'existe pas (ex: toto.php) , remplacer par index.php?page=toto.

Ce qui permet par exemple d'appeler directement histo.php plutôt que index.php?page=histo.

Les liens doivent donc être changés en histo.php mais le traitement est le même puisque le script va "concrètement" recevoir index.php?page=histo.

Pour le tuto, webmaster-hub est une référence Smiley cligne .
Modifié par Heyoan (20 Dec 2007 - 12:54)
Heyoan a écrit :


Pour le tuto, webmaster-hub est une référence Smiley cligne .

Ok Smiley cligne je vois

Oui pour webmaster-hub je suis dessus justement Smiley smile

Mais pour finir vu que je suis chez "free" ... et bien pas possible de faire d'url rewriting Smiley ravi (sauf en passant par la page erreur 404 ... mais bof)
Modifié par yank (20 Dec 2007 - 17:32)
Par contre le fait de faire de l'url rewriting va t'il réellement changer quelque chose dans le fait d'avoir le contenu des autres pages référencé ?

Car le problème n'est pas que mes pages n'apparaissent pas dans google (par exemple) ... puisqu'elles y sont bien, ce qui m'intéresse c'est vraiment d'avoir le contenu de chaque page référencé et pas seulement le
<meta name="description"
de ma page index.php qui contient les "includes".

L'url rewriting est la solution ? Car après avoir lu tout ça, j'ai l'impression que ça sert surtout à renommer ces pages mais pas vraiment à améliorer le réf ...

Smiley lol
a écrit :

Mais pour finir vu que je suis chez "free" ... et bien pas possible de faire d'url rewriting

Ah, vraiment ? Parce que moi je peux !. Oui d'accord c'est un peu de la magouille mais ça dépanne bien quand on ne peut pas faire autrement.

Sinon effectivement l'url rewriting n'a pas directement quelque chose à voir avec tes meta description. En fait il faut que ta page index.php permette la modification dynamique de cette balise.
Le plus efficace est à mon avis d'avoir une base de données avec cette information, mais tu n'y es pas obligé évidemment.
Hum intéressant ton tuto ... je l'avais vu hier mais ça ne m'emballe pas plus que ça de passer par la page 404 ... surtout que mes pages ne sont franchement pas laide à voir au niveau des noms.

Genre
index.php?page=site
donc je considère que ça va Smiley ravi je n'en suis pas encore au nom à rallonge
http://www.monsite.com/article.php?article=37508&&page=2 
par exemple ...

Donc pour vraiment référencer chaque page sans la même description il n'y a pas d'autres choix :

- Soit une Base De Donnée
- Soit pas d'includes et faire un site page par page ... mouuuais

Question : Est il possible d'appeler les meta comme les includes ?

Smiley rolleyes
Modifié par yank (21 Dec 2007 - 10:28)
Modérateur
yank a écrit :

Question : Est il possible d'appeler les meta comme les includes ?


Tout à fait. Pour afficher tes pages incluses, tu utilise sans doute un switch/case, ou encore des if, ou peut-être même un array. Il suffit d'utiliser la même technique pour générer les meta, selon la variable de l'url (page).

Un include ne fait qu'inclure le code que tu veux, que ce soit des meta, un contenu HTML quelconque ou des kiwis. C'est à toi d'indiquer à l'application où et quand insérer tel ou tel include. Pour les metas, tu n'auras qu'à le faire dans index.php.
Modifié par Tony Monast (21 Dec 2007 - 14:46)
Tony Monast a écrit :


Tout à fait. Pour afficher tes pages incluses, tu utilise sans doute un switch/case, ou encore des if, ou peut-être même un array. Il suffit d'utiliser la même technique pour générer les meta, selon la variable de l'url (page).

Un include ne fait qu'inclure le code que tu veux, que ce soit des meta, un contenu HTML quelconque ou des kiwis. C'est à toi d'indiquer à l'application où et quand insérer tel ou tel include. Pour les metas, tu n'auras qu'à le faire dans index.php.

Smiley lol Effectivement j'utilise array

Donc ça c'est une bonne solution pour le rèf Smiley eek
Modifié par yank (21 Dec 2007 - 15:56)
a écrit :

- Soit pas d'includes et faire un site page par page ... mouuuais

Rien ne t'interdit de faire page par page mais en conservant les avantages des include... c'est ce que je fais perso.