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.
Clément Ollivier
Daniel Roe
Alex Hirzel
Ajeet Chaulagain
René Eschke
Sébastien Chopin
Nico Devs
Muhammad
Nazaré da Piedade
Naoki Hamada
Tom
Yann Aufray
Anthony Chu
Nuzhat Minhaz
Lucas Portet
Richard Schloss
Xanzhu
bpy
Antony Konstantinidis
Hibariya
Jose Seabra
Eze
Florian LEFEBVRE
Lucas
Julien SEIXAS
Hugo
Sylvain Marroufin
Spencer Cooley
Piotr Zatorski
Vladimir Semenov
Harry Allen
kazuya kawaguchi
Unai Mengual
Hyunseung Lee
Alexandre Chopin
pooya parsa
Nick Medrano
Mosaab Emam
Iljs Путлер Капут
Heitor Ramon Ribeiro
Nero
Yoon Han
Ikko Ashimine
FamCodings
Ayouli
F. Hinkelmann
felipesuri
Christophe Carvalho Vilas-Boas
Leoš Literák
Trizotti
Marcello Bachechi
Rodolphe
Thomas Underwood
Shek Evgeniy
Lukasz Formela
Hugo Torzuoli