Aller au contenu

Sujets conseillés

Posté

J'aurais aimé installer SPIP sur mon site, d'ailleurs je l'avais fait mais uniquement pour un usage privé. Mais j'étais gênée par rapport au référencement. Comme on le sait, les mots-clé contenus dans l'URL ont de l'importance. Si par exemple je fais une rubrique sur Paris et une page sur la butte Montmartre, mon URL devrait être site.com/paris/butte-montmartre.html

Or avec SPIP, je me retrouverai forcément avec une URL du type rubrique12/article24.html C'est l'une des choses qui m'a un peu rebutée, car j'ai quand même envie de mettre toutes les cartes de mon côté pour bien référencer mes pages.

Avais-je tort de m'inquiéter pour ça ? Y a-t-il un moyen de renommer les URLs, quitte à bidouiller directement le code source de SPIP ?

Posté

Nicolas Hoizey sur Spip contrib propose aussi une solution à base de réécriture d'url et de modifications php.

disons que lui il ne passe pas par la création de dossier physique ce qui peut être plus souple quand on crée souvent des rubriques, ce qui n'est pas forcément le cas de tout le monde

Posté

Oui, la solution sur spip contrib est simple (vu que les fichiers sont déja faits) et cela fonctionne parfaitement, je l'utilise sur mon site avec succès !! Reste que, bien sur, on est jamais certain que le code soit bien optimisé et ne pose pas de problème (peut etre gourmand en ressources...), mais là, c'est une autre question !

Posté

Merci Gilbert,

Heureux également de vous retrouver ici pour échanger entre gens de "bonne volonté"...

Merci pour ton accueil.

Posté

Merci, voila qui est fait !! Fallait que je trouve l'accès au profil ;)

Posté

Merci. Aparemment, la solution de Gilbert se recoupe avec l'article linké par CyberBougnat (j'ai oublié ton prénom, désolée). Après maintes embûches, SPIP est à nouveau installé sur mon site. Ca va me faire du boulot, tout ça... Mais quand on aime on ne compte pas (les heures). Et puis ça augmentera un peu mon expérience, je pourrai ainsi mieux sévir dans ce salon.

Posté

Bonjour le hub

Je ne me souvient plus si c'est l'article référencé plus haut qui m'a aidé.

Mais l'url rewriting que j'ai mis en place a été encore plus simple qu'un siste php clasique avec rubrique et articles.

En trois instructions, j'ai pu créer pour reprendre l'exemple

paris.html pour la rubrique

et butte_montmartre-12.html pour l'article (de la rubrique paris).

En fait spip est déjà prévu pour l'url rewrinting, ce qui donne un fichier.htaccess somme toute très réduit.

Et google bien sur a apprécié.

Posté

l'article que j'ai référencé permet de recréer une arborescence via l'url_rewriting

moi au début j'avais mis une réécriture simple du style article12.html comme livré dans spip et c'est vrai que les règles de réécriture sont super simples.

maintenant je suis passé à la forme titre_de_l_article_a12.html ce qui ne complique pas vraiment la formule de réécriture. l'étape maintenant serait de tester la méthode que j'ai mise en lien mais j'ai pas vraiment pris le temps.

maintenant perso je l'avais pas vraiment fait pour google en particulier. par contre mes pages sont maintenant chez Voila qui au bout du compte me ramène pas mal de monde.

Posté

Bon, j'ai fait des essais...

En fait dans cet article que tu as linké, CyberBougnat, les commentaires laissés ensuite sont aussi importants (voire plus) que l'article lui-même.

En résumé j'ai fait ceci :

1/ j'ai placé le fichier inc-urls-friendly.php3 qui contient les fonctions qui transforment les urls à partir du titre des articles. Genre La Butte Montmartre qui devient la-butte-montmartre. Et ce fichier est appelé par inc-urls.php

2/ J'ai mis ça dans le .htaccess :

# Pas de reecriture pour certaines ressources

RewriteRule \.(gif|jpg|png|css|php|php3) - [NC,L]

RewriteRule ^(ecrire|IMG|NAVPICS|oo)/ - [NC,L]

# Gerer les URLs SPIP

RewriteRule ^.*(article|rubrique|breve|auteur|mot|forum)(.*).html$ $1.php3?id_$1=$2 [QSA,L]

RewriteRule ^(.*)site(.*).html$ /$1site.php3?id_syndic=$2 [QSA,L]

# Gerer les URL inconnues

RewriteRule ^(.+/.*)$ guess.php3?url=$1 [QSA,L]

3/ j'ai mis <base href=&quot;http://www.journal-Ernestine.com/spip/"> dans le HEAD de article.html

Mais j'ai deux problèmes. Tout d'abord : ma page d'accueil du répertoire spip renvoie une internal server error, mais bon ça c'est pas grave, enfin pas pour l'instant.

Mais surtout, j'obtiens exactement le même problème que l'un des posteurs de commentaires de l'article que je recite :

J'ai fait l'install de ton script et pour une rubrique j'ai : 

http://www.monsite.com/rubrique1.html

pour un article :

http://www.monsite.com/pourquoi_cette_question_article1.html

Moi je desire avoir pour les rubriques :

http://www.monsite.com/mon_nom_perso_de_rubrique.html

mes articles :

http://www.monsite.com/mon_nom_perso_de_rubrique/pourquoi_cette_question_article1.html

Voilà quoi... on ne retrouve pas l'arborescence des rubriques dans l'URL...

Exemple : http://www.journal-Ernestine.com/spip/adon...s_article3.html

Posté

Salut Ernestine,

L'arborescence des rubriques est diffiicle à avoir, en fait il faut d'abord interroger la base pour savoir à quelle rubrique appartient l'article ($id_secteur de mémoire), ensuite il faut encore une autre requete pour récuperer le nom de la rubrique pour en faire un répertoire virtuel.

Sauf que le répertoire virtuel est fait coté serveur avec le.htaccess, et les interogation sql se font après le .htaccess (trop tard donc).

J'ai, pour ma part, laissé tomber les rubriques, et pris comme url le titre de l'article, et celà est dynamique, c'est à dire que je peux rajouter un nouvel article, je n'ai pas besoin de modifier le .htaccess ;)

Il y a surement mieux

Posté

Ernestine, tu peux aller voir sur mon site, c'est exactement ce que tu souhaites... et j'ai mis les fichiers standards friendly...

pour voir l'URL d'un article par exemple, tu va dans la rubrique "annuaire commerce" puis sur l'un des annonceurs, tu cliques sur le > a coté du nom, et tu verras la jolie URL...

Pour ton problème internal serveur, je ne serais pas étonné que cela vienne de la balise base href, la mienne est faite ainsi :

<base href="http://www.monsite.com/" / >

si tu oublies le / à la fin, ça ne marche pas...

Tu devrais pouvoir y arriver ...

Posté

Merci à vous.

Effectivement Philipe, ça a l'air de marcher sur ton site. Mais... tu as fait comment ? Tu as appliqué les conseils de l'article ?

Posté

Oui, j'ai appliqué les conseils de l'article, vu que je suis nul en programmation, et ça a fonctionné... peut-etre que selon les hébergeurs, il y'a une différence (je suis chez OVH)

Posté

Je suis aussi chez OVH. Mon problème vient peut-être du fait que je n'ai pas installé SPIP à la racine du site. Je verrai ça quand je l'aurai déplacé.

  • 2 semaines plus tard...
Posté (modifié)
J'aurais aimé installer SPIP sur mon site, d'ailleurs je l'avais fait mais uniquement pour un usage privé. Mais j'étais gênée par rapport au référencement. Comme on le sait, les mots-clé contenus dans l'URL ont de l'importance. Si par exemple je fais une rubrique sur Paris et une page sur la butte Montmartre, mon URL devrait être site.com/paris/butte-montmartre.html

Or avec SPIP, je me retrouverai forcément avec une URL du type rubrique12/article24.html C'est l'une des choses qui m'a un peu rebutée, car j'ai quand même envie de mettre toutes les cartes de mon côté pour bien référencer mes pages.

Avais-je tort de m'inquiéter pour ça ? Y a-t-il un moyen de renommer les URLs, quitte à bidouiller directement le code source de SPIP ?

Mes pages les mieux référencées sous google sont celles qui sont faites sous SPIP, sans ré-écriture d'url.

je pense que cela est dû à deux facteurs :

- L'individualisation des articles sur une seule page avec la balise titre qui reprend le titre de l'article.

- Les nombreux liens internes dans SPIP.

Vos avis ?

Modifié par Philippe Batreau
Posté

Tout à fait d'accord avec Philippe !

Je ne crois pas à l'importance fondamentale de mots clés dans l'URL, mais si Ernestine y tient, j'ai le code qui te permet de remplacer les urls du genre article12.html (ou article.php3?id_article=12) en:

journal-intime-septembre-2003-a12.html
en fonction bien sûr du titre de l'article.

(le a12 à la fin de l'exemple correspond à l'article 12, cela permet des règles faciles pour la réécriture)

Dan

PS: le fichier joint mérite peut-être un peu de nettoyage, mais fonctionne bien et enlève les articles de 1 ou 2 caractères du titre. Cela peut être changé, il n'y a qu'un commentaire à mettre la ligne suivante en commentaire:

$titre = removeshortwords($titre);

Cela change "le journal intime d'Ernestine" en "journal-intime-Ernestine-a12.html" ;)

La règle de réécriture, "à la louche" (sans vérif) devrait être:

RewriteRule  (.*)-a([0-9]+)\.html$  article.php3?id_article=$2
RewriteRule  (.*)-r([0-9]+)\.html$  rubrique.php3?id_rubrique=$2
RewriteRule  (.*)-b([0-9]+)\.html$  breve.php3?id_breve=$2

Dans inc-urls.php3 , tu mets $type_urls = "titre";

Tu vides le cache et ça doit être bon !

inc_urls_titre.php3

Posté

J'ai essayé la méthode linkée (qui ressemble fort à celle de Dan) mais ce n'est pas encore tout à fait ça.

Voici la page d'accueil (ne pas faire attention à la mise en page, c'est celle par défaut) : http://www.journal-Ernestine.com/index.php3

Il n'y a qu'une seule rubrique qui s'appelle "super" et qu'un seul article qui s'appelle "le premier".

Quand on survole les liens, on voit que l'URL pour aller à la rubrique est http://www.journal-Ernestine.com/rubrique1.html (ce qui est toujours mieux que le le "rubrique.php3?id=1) et que l'URL pour aller à l'article est http://www.journal-Ernestine.com/le_premier_article1.html (ce qui est toujours mieux que le article.php3?id=1).

Mais moi je voudrais que l'URL de la rubrique soit site.com/super.html et celle de l'article site.com/super/le_premier.html

Comment faire ?

J'ai suivi les conseils de l'article de Nicolas Hoizey ( http://www.uzine.net/spip_contrib/article....?id_article=167 ) qui est sensé marcher mais non.

Dans le htaccess j'ai :

  
Options +FollowSymlinks
RewriteEngine on

# Pas de reecriture pour certaines ressources
RewriteRule \.(gif|jpg|png|css|php|php3) - [NC,L]
RewriteRule ^(ecrire|IMG|NAVPICS|oo)/ - [NC,L]

# Gerer les URLs SPIP
RewriteRule ^.*(article|rubrique|breve|auteur|mot|forum)(.*).html$ $1.php3?id_$1=$2 [QSA,L]
RewriteRule ^(.*)site(.*).html$ /$1site.php3?id_syndic=$2 [QSA,L]

# Gerer les URL inconnues
RewriteRule ^(.+/.*)$ guess.php3?url=$1 [QSA,L]

Et j'ai aussi mis le script du genre de inc-urls-titre.php3 sauf qu'il s'appelle inc-urls-frindly.php3, à mon avis c'est le même principe.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...