[{"data":1,"prerenderedAt":410},["ShallowReactive",2],{"blog-nuxt-3-seo":3},{"id":4,"title":5,"body":6,"description":400,"extension":401,"meta":402,"navigation":405,"path":406,"seo":407,"stem":408,"__hash__":409},"content\u002Fblog\u002Fnuxt-3-seo.md","Nuxt 3 SEO Optimization Guide",{"type":7,"value":8,"toc":386},"minimark",[9,14,18,21,26,29,38,52,171,174,181,202,207,217,223,237,243,263,344,347,351,354,372,376,382],[10,11,13],"h1",{"id":12},"nuxt-3-seo-optimization-guide-ranking-higher-with-modern-tools","Nuxt 3 SEO Optimization Guide: Ranking Higher with Modern Tools",[15,16,17],"p",{},"Search Engine Optimization (SEO) is no longer an afterthought; it's a critical feature for any web application. With Nuxt 3, building SEO-friendly applications has never been easier, thanks to its powerful server-side rendering (SSR) capabilities and a robust ecosystem of modules.",[15,19,20],{},"In this guide, we'll explore how to maximize your Nuxt 3 app's visibility using essential SEO tools and techniques.",[22,23,25],"h2",{"id":24},"_1-the-foundation-server-side-rendering-ssr","1. The Foundation: Server-Side Rendering (SSR)",[15,27,28],{},"Search engines like Google can crawl client-side rendered (CSR) applications, but SSR guarantees that your content is immediately available when the crawler hits your page. Nuxt 3 supports hybrid rendering, allowing you to use SSR for content-heavy pages (like blogs or marketing pages) while keeping other parts highly interactive.",[22,30,32,33,37],{"id":31},"_2-meta-tags-and-the-usehead-composable","2. Meta Tags and the ",[34,35,36],"code",{},"useHead"," Composable",[15,39,40,41,43,44,47,48,51],{},"Nuxt 3 provides the ",[34,42,36],{}," and ",[34,45,46],{},"useServerSeoMeta"," composables to dynamically manage your ",[34,49,50],{},"\u003Chead>"," tags.",[53,54,59],"pre",{"className":55,"code":56,"language":57,"meta":58,"style":58},"language-vue shiki shiki-themes github-light github-dark","\u003Cscript setup>\nuseServerSeoMeta({\n  title: 'My Awesome Page',\n  ogTitle: 'My Awesome Page',\n  description: 'This is my awesome page description.',\n  ogDescription: 'This is my awesome page description.',\n  ogImage: 'https:\u002F\u002Fexample.com\u002Fimage.png',\n  twitterCard: 'summary_large_image',\n})\n\u003C\u002Fscript>\n","vue","",[34,60,61,81,89,102,112,123,133,144,155,161],{"__ignoreMap":58},[62,63,66,70,74,78],"span",{"class":64,"line":65},"line",1,[62,67,69],{"class":68},"sVt8B","\u003C",[62,71,73],{"class":72},"s9eBZ","script",[62,75,77],{"class":76},"sScJk"," setup",[62,79,80],{"class":68},">\n",[62,82,84,86],{"class":64,"line":83},2,[62,85,46],{"class":76},[62,87,88],{"class":68},"({\n",[62,90,92,95,99],{"class":64,"line":91},3,[62,93,94],{"class":68},"  title: ",[62,96,98],{"class":97},"sZZnC","'My Awesome Page'",[62,100,101],{"class":68},",\n",[62,103,105,108,110],{"class":64,"line":104},4,[62,106,107],{"class":68},"  ogTitle: ",[62,109,98],{"class":97},[62,111,101],{"class":68},[62,113,115,118,121],{"class":64,"line":114},5,[62,116,117],{"class":68},"  description: ",[62,119,120],{"class":97},"'This is my awesome page description.'",[62,122,101],{"class":68},[62,124,126,129,131],{"class":64,"line":125},6,[62,127,128],{"class":68},"  ogDescription: ",[62,130,120],{"class":97},[62,132,101],{"class":68},[62,134,136,139,142],{"class":64,"line":135},7,[62,137,138],{"class":68},"  ogImage: ",[62,140,141],{"class":97},"'https:\u002F\u002Fexample.com\u002Fimage.png'",[62,143,101],{"class":68},[62,145,147,150,153],{"class":64,"line":146},8,[62,148,149],{"class":68},"  twitterCard: ",[62,151,152],{"class":97},"'summary_large_image'",[62,154,101],{"class":68},[62,156,158],{"class":64,"line":157},9,[62,159,160],{"class":68},"})\n",[62,162,164,167,169],{"class":64,"line":163},10,[62,165,166],{"class":68},"\u003C\u002F",[62,168,73],{"class":72},[62,170,80],{"class":68},[15,172,173],{},"This approach ensures that social sharing cards (Twitter, Facebook, LinkedIn) look professional and engaging.",[22,175,177,178],{"id":176},"_3-automating-with-nuxtjsseo","3. Automating with ",[34,179,180],{},"@nuxtjs\u002Fseo",[15,182,183,184,186,187,190,191,190,194,197,198,201],{},"Instead of managing everything manually, the ",[34,185,180],{}," suite (which includes ",[34,188,189],{},"nuxt-seo-utils",", ",[34,192,193],{},"nuxt-schema-org",[34,195,196],{},"@nuxtjs\u002Fsitemap",", and ",[34,199,200],{},"@nuxtjs\u002Frobots",") is a game-changer.",[203,204,206],"h3",{"id":205},"sitemap-generation","Sitemap Generation",[15,208,209,210,213,214,216],{},"A ",[34,211,212],{},"sitemap.xml"," helps search engines discover all your pages. With ",[34,215,196],{},", your sitemap is generated automatically based on your routes.",[203,218,220],{"id":219},"robotstxt",[34,221,222],{},"robots.txt",[15,224,225,226,228,229,232,233,236],{},"The ",[34,227,200],{}," module allows you to fine-tune which pages search engines should and shouldn't index. For example, you can block the ",[34,230,231],{},"\u002Fadmin"," routes easily from your ",[34,234,235],{},"nuxt.config.ts",".",[203,238,240,241],{"id":239},"structured-data-with-nuxt-schema-org","Structured Data with ",[34,242,193],{},[15,244,245,246,248,249,190,252,190,255,258,259,262],{},"Structured data (JSON-LD) translates your content into a language search engines understand natively. Using ",[34,247,193],{},", you can define a ",[34,250,251],{},"Person",[34,253,254],{},"Organization",[34,256,257],{},"Article",", or ",[34,260,261],{},"WebSite"," seamlessly:",[53,264,268],{"className":265,"code":266,"language":267,"meta":58,"style":58},"language-ts shiki shiki-themes github-light github-dark","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  schemaOrg: {\n    identity: definePerson({\n      name: 'Saymon Arefin Akash',\n      url: 'https:\u002F\u002Fexample.com',\n      \u002F\u002F ...\n    })\n  }\n})\n","ts",[34,269,270,276,290,295,305,315,325,330,335,340],{"__ignoreMap":58},[62,271,272],{"class":64,"line":65},[62,273,275],{"class":274},"sJ8bj","\u002F\u002F nuxt.config.ts\n",[62,277,278,282,285,288],{"class":64,"line":83},[62,279,281],{"class":280},"szBVR","export",[62,283,284],{"class":280}," default",[62,286,287],{"class":76}," defineNuxtConfig",[62,289,88],{"class":68},[62,291,292],{"class":64,"line":91},[62,293,294],{"class":68},"  schemaOrg: {\n",[62,296,297,300,303],{"class":64,"line":104},[62,298,299],{"class":68},"    identity: ",[62,301,302],{"class":76},"definePerson",[62,304,88],{"class":68},[62,306,307,310,313],{"class":64,"line":114},[62,308,309],{"class":68},"      name: ",[62,311,312],{"class":97},"'Saymon Arefin Akash'",[62,314,101],{"class":68},[62,316,317,320,323],{"class":64,"line":125},[62,318,319],{"class":68},"      url: ",[62,321,322],{"class":97},"'https:\u002F\u002Fexample.com'",[62,324,101],{"class":68},[62,326,327],{"class":64,"line":135},[62,328,329],{"class":274},"      \u002F\u002F ...\n",[62,331,332],{"class":64,"line":146},[62,333,334],{"class":68},"    })\n",[62,336,337],{"class":64,"line":157},[62,338,339],{"class":68},"  }\n",[62,341,342],{"class":64,"line":163},[62,343,160],{"class":68},[15,345,346],{},"This increases your chances of appearing in Rich Snippets and Google's Knowledge Graph.",[22,348,350],{"id":349},"_4-performance-is-seo","4. Performance is SEO",[15,352,353],{},"Google Core Web Vitals directly impact your ranking. To ensure top-tier performance:",[355,356,357,365],"ul",{},[358,359,360,361,364],"li",{},"Use ",[34,362,363],{},"@nuxt\u002Fimage"," to automatically serve optimized formats like WebP or AVIF.",[358,366,367,368,371],{},"Utilize ",[34,369,370],{},"nuxt-delay-hydration"," to delay loading Vue until the user interacts, bringing your First Input Delay (FID) and Total Blocking Time (TBT) down to zero.",[22,373,375],{"id":374},"conclusion","Conclusion",[15,377,378,379,381],{},"By combining Nuxt 3's native SSR with the ",[34,380,180],{}," module suite, you provide search engines with highly structured, lightning-fast, and easily digestible content. Optimize your meta tags, utilize JSON-LD, and watch your organic traffic grow.",[383,384,385],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":58,"searchDepth":83,"depth":83,"links":387},[388,389,391,398,399],{"id":24,"depth":83,"text":25},{"id":31,"depth":83,"text":390},"2. Meta Tags and the useHead Composable",{"id":176,"depth":83,"text":392,"children":393},"3. Automating with @nuxtjs\u002Fseo",[394,395,396],{"id":205,"depth":91,"text":206},{"id":219,"depth":91,"text":222},{"id":239,"depth":91,"text":397},"Structured Data with nuxt-schema-org",{"id":349,"depth":83,"text":350},{"id":374,"depth":83,"text":375},"Learn how to effectively use nuxt-seo-utils, Schema.org, and robots to make your Nuxt 3 app rank higher.","md",{"date":403,"readTime":404},"Sep 12, 2024","8 min read",true,"\u002Fblog\u002Fnuxt-3-seo",{"title":5,"description":400},"blog\u002Fnuxt-3-seo","tHv_dp63EVwczxU9S9S06Y5NC2i5F7ctKGdp5WBi_9Q",1776778624884]