Episode 3 - Activer la réécriture d'URL sous Drupal 7 (deuxième partie)
Soumis par DrupalFacile le ven, 24/09/2010 - 19:47
Apprenez comment transformer les URLs propres à Drupal 7 en URLs intelligibles à la fois pour vos utilisateurs et les moteurs de recherche qui indexeront mieux vos pages.
Sur la chaîne YouTube DrupalFacile, un utilisateur a commenté cette vidéo en apportant des précisions non négligeables qui trouvent tout à fait leur place ici :
Plutôt que de parler de"translation", il faut parler de translittération (d'où le nom du module), procédé de conversion des graphèmes d'un script à un autre (ex. idéogrammes vers lettres, et plus particulièrement le set réduit de l'alphabet latin utilisé par l'US-ASCII). Ainsi, 東京 devient Tokyo ou "é" devient "e" (avec perte de sens, la voyelle changeant de son).
Le remplacement de l'apostrophe par le séparateur n'est pas forcément pertinent. Pour les "apostrophes d'élision" du français ou l'italien, ça peut avoir du sens. Pour les "apostrophes de code" des informaticiens, une suppression serait plus propre...
Il n'y a pas de solution miracle, c'est selon la langue. C'est pour ça que la translittération n'est pas par défaut. Avoir pensé à ça est une preuve de la puissance et de la réflexion dans Drupal.
Dans un contexte de SEO, je souhaite ajouter tous les mots-clés dans mes URL. Impossible à faire avec WordPress (sauf probablement avec un plugin que je n'ai pas trouvé), quasiment de base avec Drupal (pathauto).
Je précise que le jeton [node:field_tags] permet d'écrire l'url avec les champs tags du node.
Seulement ça ne marche que si le champs tags ne contient un seul tag.
Y a t-il une solution quand le node a plusieurs tags ?
Bonjour,
merci pour cette procédure bien expliquée.
Mon problème c'est qu'avec une installation multisite (d'ailleurs merci pour la vidéo correspondante), je n'ai pas réussi à le faire marcher.
En gros, j'ai créé dans /sites deux répertoires : monsite.org et sousdomaine.monsite.org
Je suis sous WAMP, j'ai donc rajouté les lignes dans httpd-vhosts.conf :
#MONSITE.ORG
<VirtualHost *:80>
DocumentRoot "C:/wamp/www"
ServerName monsite.org
<Directory "C:/wamp/www/">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
#SOUSDOMAINE.MONSITE.ORG
<VirtualHost *:80>
DocumentRoot "C:/wamp/www"
ServerName sousdomaine.monsite.org
<Directory "C:/wamp/www/">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
Malheureusement, ceci ne marche pas (en allant dans Administration -> Clean URL, la case à cocher n'apparaît pas).
Généralement, quand la case à cocher Clean URLs n'apparaît pas, c'est qu'il y a un problème avec les informations présentes dans le .htaccess de Drupal ou avec le mod_rewrite Apache.
Bonjour,
Je débute en "Drupal", et moi non plus je n'arrivais pas à activer les "Clean URLs", la case à cocher n'apparaissant jamais.
Mon site de test local est sous Windows 7, et au niveau serveurs HTTP et MySQL j'utilise WAMPSEVER 2.1 (donc Apache 2.2.17 sous Windows).
J'ai examiné le fichier httpd.conf (clic gauche sur l'icône de WAMP dans le "systray", puis "apache" et enfin "httpd.conf", qui s'ouvre dans le bloc-notes).
Suite à ce que j'ai entendu dans le tutorial et lu dans les liens indiqués, j'ai recherché la ligne de configuration du module "rewrite", et je l'ai trouvée (ligne 116 chez moi) : #LoadModule rewrite_module modules/mod_rewrite.so
elle était en commentaire (par le #)!
J'ai donc supprimé le # initial, puis j'ai redémarré les services (clic gauche, "Redémarrer les services")
Et partir de cet instant, la case "Activer les URLs simplifiées" est enfin apparue dans admin/config/search/clean-urls !
Encore merci beaucoup pour ce tutorial qui m'a bien guidé, et aiguillé en particulier vers :
Un autre module qui je pense peut être utile dans le cadre d'un bon référencement est Global Redirect.
Il permet de vérifier automatiquement si un alias a été créé et si oui, redirige le visiteur directement vers cet alias en cas d'accès direct sur le N° du node. (Par ex. http://monsite.exemple/node/142 sera redirigé automatiquement vers http://monsite.exemple/le-nom-de-l'article)
Il enlève aussi le "/" final possible à la fin de l'alias qui donne la même page au final, et redirige directement vers l'url de base avec l'alias sans le dernier "/".
Tout ça n'est pas à négliger car un site avec des pages en double se verra moins bien référencé qu'un site avec des pages uniques.
Oui, ça fait partie des classiques dont je parlerai un de ces jours, probablement lorsque sera abordé la problématique du référencement avec le duplicate content.
Pour la réécriture d'URLs chez 1and1 rien de plus facile.
>> dans le fichier .htaccess ligne 100 vous avez #RewriteBase / Drupal
Pour que les URL simplifiées fonctionnent il suffit de réécrire sans le # et sans le Drupal ce qui donne:
>>>> RewriteBase /
Petite précision:
Si votre site est dans un sous dossier alors il faut rajouter après le / le nom du dossier suivit d'un /
ce qui donne:
>>>> RewriteBase /nomdudossier/
Commentaires
DrupalFacile
mar, 23/11/2010 - 19:37
Permalien
Précisions utiles
Sur la chaîne YouTube DrupalFacile, un utilisateur a commenté cette vidéo en apportant des précisions non négligeables qui trouvent tout à fait leur place ici :
Merci donc à davidlatapie !
www.drupalfacile.org
Apprenez Drupal en vidéo et en français !
David Latapie
jeu, 10/02/2011 - 01:25
Permalien
Merci !
Geste apprécié :) Pour la peine, je ne posterai plus qu'ici, au lieu de me disperser sur les deux pages :)
http://david.latapie.name/perso/
JMG (non vérifié)
lun, 10/01/2011 - 09:00
Permalien
Alias URL
Tuto très clair et explicite …
Une question :
Dans Drupal 7, comment associer un vocabulaire et terme de taxonomy avec le titre d’un onde dans un Pattern?
Ex : article/[term:vocabulary]/[term:name]/[node:title]
C’était possible dans Drupal 6 …
Il est intéressant d’associer des catégories ou mot-clé dans l’URL …
David Latapie
jeu, 10/02/2011 - 01:32
Permalien
SEO
Dans un contexte de SEO, je souhaite ajouter tous les mots-clés dans mes URL. Impossible à faire avec WordPress (sauf probablement avec un plugin que je n'ai pas trouvé), quasiment de base avec Drupal (pathauto).
http://david.latapie.name/perso/
Blindheit
jeu, 10/05/2012 - 11:34
Permalien
Alias URL
+1 à cette demande.
Je précise que le jeton [node:field_tags] permet d'écrire l'url avec les champs tags du node.
Seulement ça ne marche que si le champs tags ne contient un seul tag.
Y a t-il une solution quand le node a plusieurs tags ?
RIDENE (non vérifié)
jeu, 10/03/2011 - 14:16
Permalien
Clear URL : installation multisite
Bonjour,
merci pour cette procédure bien expliquée.
Mon problème c'est qu'avec une installation multisite (d'ailleurs merci pour la vidéo correspondante), je n'ai pas réussi à le faire marcher.
En gros, j'ai créé dans /sites deux répertoires : monsite.org et sousdomaine.monsite.org
Je suis sous WAMP, j'ai donc rajouté les lignes dans httpd-vhosts.conf :
#MONSITE.ORG
<VirtualHost *:80>
DocumentRoot "C:/wamp/www"
ServerName monsite.org
<Directory "C:/wamp/www/">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
#SOUSDOMAINE.MONSITE.ORG
<VirtualHost *:80>
DocumentRoot "C:/wamp/www"
ServerName sousdomaine.monsite.org
<Directory "C:/wamp/www/">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
Allow from all
</Directory>
</VirtualHost>
Malheureusement, ceci ne marche pas (en allant dans Administration -> Clean URL, la case à cocher n'apparaît pas).
D'avance merci.
DrupalFacile
jeu, 10/03/2011 - 16:23
Permalien
Bonjour,
Bonjour,
Généralement, quand la case à cocher Clean URLs n'apparaît pas, c'est qu'il y a un problème avec les informations présentes dans le .htaccess de Drupal ou avec le mod_rewrite Apache.
Plus d'infos sur la doc officielle.
Aurélien
www.drupalfacile.org
Apprenez Drupal en vidéo et en français !
Jean-Claude BELLAMY (non vérifié)
mar, 04/10/2011 - 11:31
Permalien
[Résolu]case à cocher Clean URLs n'apparaît pas
Bonjour,
Je débute en "Drupal", et moi non plus je n'arrivais pas à activer les "Clean URLs", la case à cocher n'apparaissant jamais.
Mon site de test local est sous Windows 7, et au niveau serveurs HTTP et MySQL j'utilise WAMPSEVER 2.1 (donc Apache 2.2.17 sous Windows).
J'ai examiné le fichier httpd.conf (clic gauche sur l'icône de WAMP dans le "systray", puis "apache" et enfin "httpd.conf", qui s'ouvre dans le bloc-notes).
Suite à ce que j'ai entendu dans le tutorial et lu dans les liens indiqués, j'ai recherché la ligne de configuration du module "rewrite", et je l'ai trouvée (ligne 116 chez moi) :
#LoadModule rewrite_module modules/mod_rewrite.so
elle était en commentaire (par le #)!
J'ai donc supprimé le # initial, puis j'ai redémarré les services (clic gauche, "Redémarrer les services")
Et partir de cet instant, la case "Activer les URLs simplifiées" est enfin apparue dans admin/config/search/clean-urls !
Encore merci beaucoup pour ce tutorial qui m'a bien guidé, et aiguillé en particulier vers :
JCB
Tronix
dim, 13/03/2011 - 12:48
Permalien
Global Redirect
Un autre module qui je pense peut être utile dans le cadre d'un bon référencement est Global Redirect.
Il permet de vérifier automatiquement si un alias a été créé et si oui, redirige le visiteur directement vers cet alias en cas d'accès direct sur le N° du node. (Par ex. http://monsite.exemple/node/142 sera redirigé automatiquement vers http://monsite.exemple/le-nom-de-l'article)
Il enlève aussi le "/" final possible à la fin de l'alias qui donne la même page au final, et redirige directement vers l'url de base avec l'alias sans le dernier "/".
Tout ça n'est pas à négliger car un site avec des pages en double se verra moins bien référencé qu'un site avec des pages uniques.
DrupalFacile
dim, 13/03/2011 - 13:13
Permalien
Bonjour,
Bonjour,
Oui, ça fait partie des classiques dont je parlerai un de ces jours, probablement lorsque sera abordé la problématique du référencement avec le duplicate content.
Aurélien
www.drupalfacile.org
Apprenez Drupal en vidéo et en français !
Tronix
dim, 13/03/2011 - 14:39
Permalien
Il me tarde de pouvoir voir
Il me tarde de pouvoir voir ça. Merci.
Olivier (non vérifié)
ven, 23/09/2011 - 17:02
Permalien
1and1
Pour la réécriture d'URLs chez 1and1 rien de plus facile.
>> dans le fichier .htaccess ligne 100 vous avez #RewriteBase / Drupal
Pour que les URL simplifiées fonctionnent il suffit de réécrire sans le # et sans le Drupal ce qui donne:
>>>> RewriteBase /
Petite précision:
Si votre site est dans un sous dossier alors il faut rajouter après le / le nom du dossier suivit d'un /
ce qui donne:
>>>> RewriteBase /nomdudossier/
Olivier.
Adr (non vérifié)
jeu, 26/01/2012 - 18:19
Permalien
Bravo pour cette vidéo très
Bravo pour cette vidéo très claire
Ajouter un commentaire