Balises meta et référencement SEO
Nuxt nous permet de définir les balises <meta> par défaut pour notre application dans le fichier nuxt.config.js en utilisant la propriété head. Cela permet d'ajouter un titre et une description par défaut pour le référencement ou bien définir la fenêtre d'affichage ou ajouter la favicon.
Nuxt nous propose trois façons différentes d'ajouter des métadonnées à l'application :
- Utiliser globalement le fichier nuxt.config.js
-
Utiliser localement la propriété
headcomme un objet -
Utiliser localement la propriété
headcomme une fonction pour que nous ayons accès aux données et aux propriétés calculées.
Paramètres globaux
Nuxt nous permet de définir les balises <meta> par défaut pour notre application dans le fichier nuxt.config.js en utilisant la propriété head. Cela permet d'ajouter un titre et une description par défaut pour le référencement ou bien définir la fenêtre d'affichage ou ajouter la favicon.
export default {
head: {
title: 'mon titre de site web',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{
hid: 'description',
name: 'description',
content: 'ma description de site web'
}
],
link: [{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }]
}
}
Configuration locale
Nous pouvons également ajouter des titres et des meta pour chaque page en utilisant la propriété head à l'intérieur de notre balise de script sur chaque page.
<script>
export default {
head: {
title: "Page d'accueil",
meta: [
{
hid: 'description',
name: 'description',
content: "Description de la page d'accueil"
}
],
}
}
</script>
head comme objet pour définir un titre et une description uniquement pour la page d'accueil.<template>
<h1>{{ title }}</h1>
</template>
<script>
export default {
data() {
return {
title: "Page d'accueil"
}
},
head() {
return {
title: this.title,
meta: [
{
hid: 'description',
name: 'description',
content: "Description de la page d'accueil"
}
]
}
}
}
</script>
head comme une fonction pour définir un titre et une description uniquement pour la page d'accueil. En utilisant une fonction, nous avons accès aux données (data) et aux propriétés calculées (computed).Nuxt utilise vue-meta pour mettre à jour l'en-tête et les méta data de notre application.
hid à la méta description. De cette façon, vue-meta saura qu'il doit écraser la balise par défaut.head, on peut consulter la documentation de vue-meta .Ressources externes
Nous pouvons inclure des ressources externes telles que des scripts et des polices de caractères en les ajoutant globalement au fichier nuxt.config.js ou localement dans l'objet ou la fonction head.
body : true optionnel afin d'inclure la ressource avant la balise de fermeture </body>.Configuration globale
export default {
head: {
script: [
{
src: 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'
}
],
link: [
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css?family=Roboto&display=swap'
}
]
}
}
Configuration locale
<template>
<h1>Page avec jQuery et la police police de caractère Roboto</h1>
</template>
<script>
export default {
head() {
return {
script: [
{
src:
'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'
}
],
link: [
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css?family=Roboto&display=swap'
}
]
}
}
}
</script>
<style scoped>
h1 {
font-family: Roboto, sans-serif;
}
</style>
Conseils pour les ressources
Ajoutez des liens de prefetch et de preload pour accélérer le temps de chargement de la page initiale.
Nous voudrons peut-être désactiver cette option si nous avons beaucoup de pages et de routes.
Leoš Literák
Trizotti
Clément Ollivier
Sébastien Chopin
Marcello Bachechi
Rodolphe
Thomas Underwood
Shek Evgeniy
felipesuri
Lukasz Formela
Hugo Torzuoli
Sylvain Marroufin
Kareem Dabbeet
tramplay
Daniel Roe
verebelyicsaba
Adam
Nate Butler
Sandra Rodgers
Arpit Patidar
Matthew Kuehn
Steven DUBOIS
Travis Lindsey
syagawa
Maxime
かる
Al Power
Florent Delerue
quanghm
José Manuel Casani Guerra
Unai Mengual
kazuya kawaguchi
Michael Lynch
Tomachi
pooya parsa
Meir Roth
Brett
Adam Miedema
Thomas Bnt
Kazuki Furukawa
Anthony Ruelle
Christophe Carvalho Vilas-Boas
Roman Harmyder