2009-09-01 8 views
1

Je sais que j'ai besoin d'ajouter l'extrait de code de suivi au bas de toutes mes pages, mais y a-t-il un emplacement central pour le faire? Ou dois-je ajouter ce code de suivi à tous mes modèles?Comment utiliser Google Analytics avec Sitecore 6?

Je suppose que je pourrais envelopper l'extrait dans un contrôle utilisateur, ou un fichier .js externe, et le référencer sur chaque page, mais y a-t-il un pied de page global quelque part? Le site sur lequel je travaille a environ 30-40 dispositions, et l'ajouter à chacune serait pénible!

Merci d'avance!

Répondre

5

En fait, le rôle d'une mise en page Sitecore est exactement celui-ci; agir comme un fichier global dont tous les modèles de pages individuels "dérivent".

Normalement, vous collez le code d'analyse dans la maquette principale et utilisez les techniques de sous-titrage/espace réservé de Sitecore pour créer les différents modèles de page dont vous avez besoin. Normalement, vous n'avez pas besoin de plus d'une ou deux mises en page pour tout appareil que vous servez. Et je suppose que pour la plupart des sites, le seul périphérique utilisé est la diffusion régulière de contenu Web. Cela dit, ce que vous pouvez faire, c'est que toutes les mises en page héritent de leur base de code d'une classe de base commune (héritant de Page), et injectez le code google de manière centralisée à partir d'ici. Je vous demanderais quand même de parcourir tous les fichiers de mise en page.

+2

Ce que Mark a dit. En outre, le module Sitecore Google Analytics (disponible ici: http://trac.sitecore.net/SitecoreGoogleAnalytics) peut vous intéresser, ce qui vous permet de spécifier le code de suivi dans le client Sitecore et d'accéder à GA Reporting. – Tchami

1

Je n'ai pas essayé le module, je pense que c'est la version codebehind. Je l'ai fait en XSLT, c'est assez rapide et facile à faire. J'ai footer.xslt où je mets le code qui vérifie simplement si la page que vous êtes debout utilise le modèle que je veux indexer et n'appartient pas aux noms de pages que je veux exclure. Ensuite, j'ai un élément avec un modèle personnalisé pour Google Analytics avec les champs de mémo suivants. IncludeTemplates -field contient la liste des modèles que je veux inclure pour l'analyse: ExcludeItemsNames -field pour exclure les pages par nom de l'élément

contains($includeTemplates, concat('|',./@template,'|')) and not(contains($excludeItemNames, concat('|',./@template,'|'))) 

Rappelez-vous @key et @template est toujours en petites lettres

Si vous exécutez plusieurs domaines, n'oubliez pas d'ajouter pageTracker._setDomainName ("www.example.com"); dans le script d'analyse de sorte que vous pouvez séparer les sous-domaines, etc. s'ils utilisent la même footer.xslt

1

Normalement, nous considérons le code actuel de Google comme du contenu. Au sein de Sitecore nous avons normalement un dossier de paramètres, quelque chose comme/sitecore/content/settings. Cela existe en dehors de la racine du site. En dessous, il y a un élément de paramètres avec un champ de texte multiligne simple, je pense que le type de champ est mémo ou quelque chose de similaire.

Créez ensuite un XSLT qui restitue le contenu de cet élément de paramétrage. Quelque chose comme (en supposant que le champ est appelé valeur dans l'élément de réglage):

<xsl:value-of select="sc:fld('Value','/sitecore/content/settings/footerJavaScript')" /> 

Vous pouvez ou pas besoin de définir l'attribut disable-output-escaping.

ensuite sur la page ASPX que vos pages utilisent comme modèle ajouter un contrôle qui regarde le rendu xslt:

<sc:XslFile runat="server" Path="/xsl/footerJavaScript" /> 

La raison pour laquelle nous gardons normalement le javascript que le contenu est ce qui permet au client de changer le code analytique sans avoir à nous contacter.

Questions connexes