--- navigation.icon: uil:file-search-alt description: Improve your Nuxt app's SEO with powerful head config, composables and components. --- # SEO and Meta Improve your Nuxt app's SEO with powerful head config, composables and components. ## App Head Providing an [app.head](/docs/api/configuration/nuxt-config#head) property in your `nuxt.config.ts` allows you to customize the head for your entire app. ::alert{type=info} This method does not allow you to provide reactive data, if you need global reactive data you can use `useHead` in `app.vue`. :: Shortcuts are available to make configuration easier: `charset` and `viewport`. You can also provide any other key listed below in [Types](#types). ### Defaults Out-of-the-box, Nuxt provides sane defaults, which you can override if needed. - `charset`: `utf-8` - `viewport`: `width=device-width, initial-scale=1` ### Example ```ts{}[nuxt.config.ts] export default defineNuxtConfig({ app: { head: { charset: 'utf-16', viewport: 'width=500, initial-scale=1', title: 'My App', meta: [ // { name: 'description', content: 'My amazing site.' } ], } } }) ``` :ReadMore{link="/docs/api/configuration/nuxt-config/#head"} ## Composable: `useHead` The `useHead` composable function allows you to manage your head tags in a programmatic and reactive way, powered by [@vueuse/head](https://github.com/vueuse/head). As with all composables, it can only be used with a components `setup` and lifecycle hooks. ### Example ```vue{}[app.vue] ``` ::ReadMore{link="/docs/api/composables/use-head"} :: ## Components Nuxt provides `