Nuxt SEO Utils v8.0.0 · Nuxt SEO Utils · Nuxt SEO

[NuxtSEO](https://nuxtseo.com/ "Home")

- [Modules](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Tools](https://nuxtseo.com/tools)
- [Pro](https://nuxtseo.com/pro)
- [Learn SEO](https://nuxtseo.com/learn-seo/nuxt) [Releases](https://nuxtseo.com/releases)

[1.4K](https://github.com/harlan-zw/nuxt-seo)

[Nuxt SEO on GitHub](https://github.com/harlan-zw/nuxt-seo)

[User Guides](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)

[API](https://nuxtseo.com/docs/seo-utils/api/breadcrumbs)

[Releases](https://nuxtseo.com/docs/seo-utils/releases/v8)

SEO Utils

- [Switch to SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Switch to Nuxt SEO](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [Switch to Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Switch to Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [Switch to OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Switch to Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Switch to Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [Switch to Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Switch to Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [Switch to AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

Search…```k`` /`

v8.1.7

- Playgrounds
- [Discord Support](https://discord.com/invite/275MBUBvgP)

### Changelog

### Releases

- [v8.0.0](https://nuxtseo.com/docs/seo-utils/releases/v8)
- [v7.0.0](https://nuxtseo.com/docs/seo-utils/releases/v7)
- [v6.0.0](https://nuxtseo.com/docs/seo-utils/releases/v6)
- [v5.0.0](https://nuxtseo.com/docs/seo-utils/releases/v5)
- [v4.0.0](https://nuxtseo.com/docs/seo-utils/releases/v4)
- [v3.0.0](https://nuxtseo.com/docs/seo-utils/releases/v3)

Releases

# Nuxt SEO Utils v8.0.0

[Copy for LLMs](https://nuxtseo.com/docs/seo-utils/releases/v8.md)

## [Introduction](#introduction)

The v8 release introduces social sharing composables, a CLI for icon generation, automatic inline minification, devtools integration, and several quality of life improvements for i18n and breadcrumb users.

## [⚠️ Breaking Changes](#️-breaking-changes)

### [Site Config v4](#site-config-v4)

Nuxt Site Config is a module used internally by Nuxt SEO Utils.

The major update to v4.0.0 shouldn't have any direct effect on your site, however, you may want to double-check the [breaking changes](https://github.com/harlan-zw/nuxt-site-config/releases/tag/v4.0.0).

## [🔗 `useShareLinks()` Composable](#usesharelinks-composable)

Adding social share buttons to your site means wrangling platform specific URL formats, query parameters, and UTM tracking across every network. `useShareLinks()` handles all of that, giving you reactive share URLs for 8 platforms with built in UTM attribution.

```
<script setup>
const links = useShareLinks({
  title: 'Check this out',
  utm: { campaign: 'launch' }
})
</script>

<template>
  <a :href="links.twitter">Share on Twitter</a>
  <a :href="links.facebook">Share on Facebook</a>
  <a :href="links.linkedin">Share on LinkedIn</a>
</template>
```

Supported platforms: `twitter`, `facebook`, `linkedin`, `whatsapp`, `telegram`, `reddit`, `pinterest`, `email`.

UTM tracking is enabled by default with automatic per-platform `utm_source` values. Disable with `utm: false` or provide a custom configuration.

```
useShareLinks({
  utm: {
    source: 'auto', // uses platform name
    medium: 'social',
    campaign: 'spring-launch'
  },
  twitter: { via: 'harloops', hashtags: ['nuxt', 'seo'] },
  pinterest: { media: 'https://example.com/image.png' }
})
```

## [⚡ Inline Script & Style Minification](#inline-script-style-minification)

Nuxt minifies your bundled JS and CSS, but inline `<script>` and `<style>` tags injected via `useHead()` or hydration payloads ship unminified. On content heavy pages this adds meaningful weight to every SSR response. v8 now automatically minifies these inline tags in production with zero configuration.

Two complementary modes work together:

- **Build mode** uses [Rolldown](https://rolldown.rs/) (Vite 8+) or [esbuild](https://esbuild.github.io/) with [lightningcss](https://lightningcss.dev/) for full minification of prerendered HTML and `app.head` content.
- **Runtime mode** uses lightweight pure JS minifiers (no native deps) to minify hydration payloads and `useHead()` injections on every SSR request, compatible with any deployment target.

Enabled by default. Configure or disable per mode:

```
export default defineNuxtConfig({
  seo: {
    minify: true, // default — both modes
    // minify: { build: true, runtime: false },
    // minify: false,
  },
})
```

See the [Inline Minification guide](https://nuxtseo.com/docs/seo-utils/guides/minification) for full details.

## [🖼️ `nuxt-seo-utils icons` CLI Command](#️-nuxt-seo-utils-icons-cli-command)

Every platform expects a different icon size and format: browsers want `favicon.ico`, iOS needs `apple-touch-icon.png`, PWAs require 192px and 512px variants. Manually exporting and maintaining all of these from a single logo is tedious. This CLI command generates every variant from one source image.

```
npx nuxt-seo-utils icons --source logo.svg
```

Generates the following files in your public directory:

- `favicon.ico` (32x32)
- `icon-16x16.png`
- `icon-32x32.png`
- `apple-touch-icon.png` (180x180)
- `icon-192x192.png`
- `icon-512x512.png`

Accepts SVG, PNG, JPG, and WebP source formats.

## [🏷️ Configurable `tagPriority` for OG Meta Tags](#️-configurable-tagpriority-for-og-meta-tags)

Some crawlers stop reading `<head>` after a certain byte limit. If large style blocks appear before your OG meta tags, crawlers may never see them. This option lets you control where SEO meta tags are placed in the `<head>` so they render before style blocks that could push them past the limit.

```
export default defineNuxtConfig({
  seo: {
    tagPriority: 'low' // default
  }
})
```

The default of `'low'` ensures module-level SEO tags act as fallbacks that page-level `useSeoMeta()` calls can override. You can also use `'critical'`, `'high'`, a number, or `before:`/`after:` aliases.

## [🛠️ Devtools Integration](#️-devtools-integration)

Debugging SEO issues usually means viewing page source, checking meta tags manually, and testing share previews through each platform. The new devtools panel at `/__nuxt-seo-utils` gives you a single dashboard to inspect all meta tags and preview social share cards during development.

## [📝 `useFallbackTitle()` Composable](#usefallbacktitle-composable)

Pages without an explicit `useHead({ title })` still need a reasonable title for SEO and browser tabs. Previously this fallback logic was internal. Now it's exposed as a standalone composable so you can use the same resolution logic (route metadata, i18n keys, title cased URL segments) anywhere in your app.

```
const title = useFallbackTitle()
// /about-us → "About Us"
// 404 page  → "404 - Page not found"
```

## [⚡ Performance](#performance)

- Replaced `fast-glob` with `tinyglobby` for faster file matching
- Inline minification reduces SSR HTML payload size with minimal runtime overhead

## [🐛 Bug Fixes](#bug-fixes)

- **Error pages**: Preserve user-defined titles on error pages instead of overwriting them
- **i18n**: Resolve fallback page titles from i18n translation keys (`pages.{routeName}.title`)
- **Breadcrumbs**: Resolve Schema.org duplicate `@id` and double registration
- **Meta precedence**: Ensure `useServerSeoMeta` takes precedence over site defaults

[Edit this page](https://github.com/harlan-zw/nuxt-seo-utils/edit/main/docs/content/4.releases/1.v8.md)

[Markdown For LLMs](https://nuxtseo.com/docs/seo-utils/releases/v8.md)

Did this page help you?

[useShareLinks() A composable that generates social share URLs for the current page across multiple platforms.](https://nuxtseo.com/docs/seo-utils/api/share-links) [v7.0.0 Release notes for v7.0.0 of Nuxt SEO Utils.](https://nuxtseo.com/docs/seo-utils/releases/v7)

On this page

- [Introduction](#introduction)
- [⚠️ Breaking Changes](#️-breaking-changes)
- [🔗 useShareLinks() Composable](#usesharelinks-composable)
- [⚡ Inline Script & Style Minification](#inline-script-style-minification)
- [🖼️ nuxt-seo-utils icons CLI Command](#️-nuxt-seo-utils-icons-cli-command)
- [🏷️ Configurable tagPriority for OG Meta Tags](#️-configurable-tagpriority-for-og-meta-tags)
- [🛠️ Devtools Integration](#️-devtools-integration)
- [📝 useFallbackTitle() Composable](#usefallbacktitle-composable)
- [⚡ Performance](#performance)
- [🐛 Bug Fixes](#bug-fixes)

[GitHub](https://github.com/harlan-zw/nuxt-seo) [ Discord](https://discord.com/invite/275MBUBvgP)

### [NuxtSEO](https://nuxtseo.com/ "Home")

- [Getting Started](https://nuxtseo.com/docs/nuxt-seo/getting-started/introduction)
- [MCP](https://nuxtseo.com/docs/nuxt-seo/guides/mcp)

Modules

- [Robots](https://nuxtseo.com/docs/robots/getting-started/introduction)
- [Sitemap](https://nuxtseo.com/docs/sitemap/getting-started/introduction)
- [OG Image](https://nuxtseo.com/docs/og-image/getting-started/introduction)
- [Schema.org](https://nuxtseo.com/docs/schema-org/getting-started/introduction)
- [Link Checker](https://nuxtseo.com/docs/link-checker/getting-started/introduction)
- [SEO Utils](https://nuxtseo.com/docs/seo-utils/getting-started/introduction)
- [Site Config](https://nuxtseo.com/docs/site-config/getting-started/introduction)
- [Skew Protection](https://nuxtseo.com/docs/skew-protection/getting-started/introduction)
- [AI Ready](https://nuxtseo.com/docs/ai-ready/getting-started/introduction)

### [NuxtSEO Pro](https://nuxtseo.com/pro "Nuxt SEO Pro")

- [Getting Started](https://nuxtseo.com/pro)
- [Dashboard](https://nuxtseo.com/pro/dashboard)
- [Pro MCP](https://nuxtseo.com/pro/docs/getting-started/mcp-setup)

### [Learn SEO](https://nuxtseo.com/learn-seo "Learn SEO")

Nuxt

- [Mastering Meta](https://nuxtseo.com/learn-seo/nuxt/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/nuxt/controlling-crawlers)
- [Launch & Listen](https://nuxtseo.com/learn-seo/nuxt/launch-and-listen)
- [Routes & Rendering](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering)
- [Staying Secure](https://nuxtseo.com/learn-seo/nuxt/routes-and-rendering/security)

Vue

- [Vue SEO Guide](https://nuxtseo.com/learn-seo/vue)
- [Mastering Meta](https://nuxtseo.com/learn-seo/vue/mastering-meta)
- [Controlling Crawlers](https://nuxtseo.com/learn-seo/vue/controlling-crawlers)
- [SPA SEO](https://nuxtseo.com/learn-seo/vue/spa)
- [SSR Frameworks](https://nuxtseo.com/learn-seo/vue/ssr-frameworks)
- [SEO Checklist](https://nuxtseo.com/learn-seo/checklist)
- [Pre-Launch Warmup](https://nuxtseo.com/learn-seo/pre-launch-warmup)
- [Backlinks & Authority](https://nuxtseo.com/learn-seo/backlinks)

### [Tools](https://nuxtseo.com/tools "SEO Tools")

- [Social Share Debugger](https://nuxtseo.com/tools/social-share-debugger)
- [Robots.txt Generator](https://nuxtseo.com/tools/robots-txt-generator)
- [Meta Tag Checker](https://nuxtseo.com/tools/meta-tag-checker)
- [HTML to Markdown](https://nuxtseo.com/tools/html-to-markdown)
- [XML Sitemap Validator](https://nuxtseo.com/tools/xml-sitemap-validator)
- [Schema.org Validator](https://nuxtseo.com/tools/schema-validator)
- [Keyword Idea Generator](https://nuxtseo.com/tools/keyword-generator)
- [Keyword Research](https://nuxtseo.com/tools/keyword-research)
- [SERP Analyzer](https://nuxtseo.com/tools/serp-analyzer)
- [Domain Rankings](https://nuxtseo.com/tools/domain-rankings)

Copyright © 2023-2026 Harlan Wilton - [MIT License](https://github.com/harlan-zw/nuxt-seo/blob/main/license) · [mdream](https://mdream.dev)