--- title: SEO and Meta description: Improve your Nuxt app's SEO with powerful head config, composables and components. navigation.icon: i-ph-file-search-duotone --- ## Defaults Out-of-the-box, Nuxt provides sane defaults, which you can override if needed. ```ts [nuxt.config.ts] export default defineNuxtConfig({ app: { head: { charset: 'utf-8', viewport: 'width=device-width, initial-scale=1', } } }) ``` Providing an [`app.head`](/docs/api/nuxt-config#head) property in your [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt.config) allows you to customize the head for your entire app. ::callout This method does not allow you to provide reactive data. We recommend to use `useHead()` in `app.vue`. :: Shortcuts are available to make configuration easier: `charset` and `viewport`. You can also provide any of the keys listed below in [Types](#types). ## `useHead` The [`useHead`](/docs/api/composables/use-head) composable function allows you to manage your head tags in a programmatic and reactive way, powered by [Unhead](https://unhead.unjs.io). As with all composables, it can only be used with a components `setup` and lifecycle hooks. ```vue [app.vue] ``` We recommend to take a look at the [`useHead`](/docs/api/composables/use-head) and [`useHeadSafe`](/docs/api/composables/use-head-safe) composables. ## `useSeoMeta` The [`useSeoMeta`](/docs/api/composables/use-seo-meta) composable lets you define your site's SEO meta tags as a flat object with full TypeScript support. This helps you avoid typos and common mistakes, such as using `name` instead of `property`. ```vue [app.vue] ``` :read-more{to="/docs/api/composables/use-seo-meta"} ## Components Nuxt provides `