web-dev-qa-db-fra.com

Comment ajouter des liens canoniques sur TOUTES les URL?

Quelle est la meilleure façon d'obtenir des liens canoniques sur TOUTES les URL dans D7?

Je vois que les nœuds ont déjà des canoniques relatifs mais j'ai un site avec beaucoup d'URL non-nœuds qui ont également besoin de canoniques.

J'ai ajouté du code à mon html.tpl.php Pour ajouter un canonique sur n'importe quelle page mais maintenant j'obtiens des doublons sur les pages basées sur les nœuds.

Merci pour tous ceux qui ont regardé ça.

MISE À JOUR:
J'ai utilisé un hook theme_html_head_alter() pour supprimer les noeuds canoniques.
Ensuite, j'ai ajouté de nouveaux canoniques dans le html.tpl.php Pour que chaque page en ait et qu'il n'y en ait qu'un sur les pages du nœud.

6
dibs

J'ai utilisé un hook theme_html_head_alter () pour supprimer les noeuds canoniques. Ensuite, j'ai ajouté de nouveaux canoniques dans le html.tpl.php pour que chaque page en ait et qu'il n'y en ait qu'un sur les pages du nœud.

3
dibs

Comme mentionné ailleurs, la redirection globale est une bonne option. Mais même Metatag est un bon module. Il gère non seulement les URL canoniques, mais également les méta mots-clés, la description, les données de copyright et de nombreuses métadonnées plus importantes, notamment OG. Ainsi, vous pouvez également vérifier ce module. http://drupal.org/project/metatag et un tutoriel sur la façon de faire fonctionner l'url canonique sur ce lien: http://amitavroy.com/justread/content/ articles/canonical-links-and-drupal-7

La seule chose avec le module de balise meta est que par défaut, il affichera des URL canoniques relatives alors que j'ai vu des sites majeurs comme smashingmagazine, engadget etc. utilise absolu. Donc, si vous voulez que cela se produise, la deuxième URL est la clé.

7
Amitav Roy

Téléchargez le module Metatag , allez dans ses paramètres et

  1. Cliquez sur "modifier" à côté des paramètres globaux
  2. Allez dans le champ URL canonique (sous l'onglet Avancé)
  3. Remplissez les champs suivants: http://yourdomain.com[current-page:url:relative]

Cela vous sera utile lorsque vous utilisez plusieurs domaines pour un site Web. Cela évitera les drapeaux de contenu en double.

0
cptstarling

Essayez le module Global Redirect . Voici une citation à ce sujet (à partir de la page du projet du module):

... un module simple qui:

  1. Vérifie l'URL actuelle pour un alias et y redirige 301 s'il n'est pas utilisé.
  2. Vérifie l'URL actuelle pour une barre oblique de fin, la supprime si elle est présente et répète la vérification 1 avec la nouvelle demande.
  3. Vérifie si l'URL actuelle est la même que celle de site_frontpage et redirige vers la page d'accueil en cas de correspondance.
  4. Vérifie si la fonctionnalité Nettoyer les URL est activée, puis vérifie que l'URL actuelle est accessible à l'aide de la méthode propre plutôt que de la méthode "impure".
  5. Vérifie l'accès à l'URL. Si l'utilisateur n'a pas accès au chemin, aucune redirection n'est effectuée. Cela permet d'éviter d'exposer les nœuds alias privés.
  6. Assurez-vous que le cas de l'URL à laquelle vous accédez est le même que celui défini par l'auteur/administrateur. Par exemple, si vous définissez l'alias "articles/fabrication de gâteaux" sur node/123, l'utilisateur peut accéder à l'alias avec n'importe quelle combinaison de cas.
  7. La plupart des options ci-dessus sont configurables dans la page des paramètres. Dans Drupal 5, vous pouvez y accéder après avoir activé le module globalredirect_admin. Dans Drupal 6, la page des paramètres est intégrée au module.
0
gilzero