--- navigation.icon: uil:file-search-alt description: Nuxt provides good default values for meta tags, but you can override these if you need to. --- # SEO and Meta Out-of-the-box, Nuxt provides good default values for `charset` and `viewport` meta tags, but you can override these if you need to, as well as customize other meta tags for your site in several different ways. :ReadMore{link="/api/configuration/nuxt.config#head"} ## `useHead` Composable Within your `setup` function, you can call `useHead` with an object of meta properties with keys corresponding to meta tags: `title`, `titleTemplate`, `base`, `script`, `noscript`, `style`, `meta` and `link`, as well as `htmlAttrs` and `bodyAttrs`. There are also two shorthand properties, `charset` and `viewport`, which set the corresponding meta tags. Alternatively, you can pass a function returning the object for reactive metadata. For example: ```vue ``` ::ReadMore{link="/api/composables/use-head"} :: ## Title Templates You can use the `titleTemplate` option to provide a dynamic template for customizing the title of your site, for example, by adding the name of your site to the title of every page. The `titleTemplate` can either be a string, where `%s` is replaced with the title, or a function. If you want to use a function (for full control), then this cannot be set in your `nuxt.config`, and it is recommended instead to set it within your `app.vue` file, where it will apply to all pages on your site: ```vue [app.vue] ``` Now, if you set the title to `My Page` with `useHead` on another page of your site, the title would appear as 'My Page - Site Title' in the browser tab. You could also pass `null` to default to the site title. ## Body Meta Tags You can use the `body: true` option on the `link` and `script` meta tags to append them to the end of the `
` tag. For example: ```vue ``` ## Meta Components Nuxt provides `