[{"data":1,"prerenderedAt":411},["ShallowReactive",2],{"article-seo-with-nuxt":3},{"id":4,"title":5,"body":6,"date":402,"description":403,"extension":404,"meta":405,"navigation":406,"path":407,"seo":408,"stem":409,"__hash__":410},"articles\u002Farticles\u002Fseo-with-nuxt.md","Nuxt で SEO を強化する",{"type":7,"value":8,"toc":395},"minimark",[9,13,22,151,154,164,241,245,258,312,316,323,385,388,391],[10,11,12],"h2",{"id":12},"メタ情報の設定",[14,15,16,17,21],"p",{},"Nuxt では ",[18,19,20],"code",{},"useSeoMeta"," を使うと、タイトル・description・OGP を型安全に設定できます。",[23,24,29],"pre",{"className":25,"code":26,"language":27,"meta":28,"style":28},"language-vue shiki shiki-themes github-light github-dark","\u003Cscript setup lang=\"ts\">\nuseSeoMeta({\n  title: 'ページタイトル',\n  description: 'このページの説明文（160文字以内）',\n  ogTitle: 'ページタイトル',\n  ogDescription: 'OGP 用の説明文',\n  ogImage: 'https:\u002F\u002Fexample.com\u002Fog.png',\n  twitterCard: 'summary_large_image',\n})\n\u003C\u002Fscript>\n","vue","",[18,30,31,61,69,81,92,102,113,124,135,141],{"__ignoreMap":28},[32,33,36,40,44,48,51,54,58],"span",{"class":34,"line":35},"line",1,[32,37,39],{"class":38},"sVt8B","\u003C",[32,41,43],{"class":42},"s9eBZ","script",[32,45,47],{"class":46},"sScJk"," setup",[32,49,50],{"class":46}," lang",[32,52,53],{"class":38},"=",[32,55,57],{"class":56},"sZZnC","\"ts\"",[32,59,60],{"class":38},">\n",[32,62,64,66],{"class":34,"line":63},2,[32,65,20],{"class":46},[32,67,68],{"class":38},"({\n",[32,70,72,75,78],{"class":34,"line":71},3,[32,73,74],{"class":38},"  title: ",[32,76,77],{"class":56},"'ページタイトル'",[32,79,80],{"class":38},",\n",[32,82,84,87,90],{"class":34,"line":83},4,[32,85,86],{"class":38},"  description: ",[32,88,89],{"class":56},"'このページの説明文（160文字以内）'",[32,91,80],{"class":38},[32,93,95,98,100],{"class":34,"line":94},5,[32,96,97],{"class":38},"  ogTitle: ",[32,99,77],{"class":56},[32,101,80],{"class":38},[32,103,105,108,111],{"class":34,"line":104},6,[32,106,107],{"class":38},"  ogDescription: ",[32,109,110],{"class":56},"'OGP 用の説明文'",[32,112,80],{"class":38},[32,114,116,119,122],{"class":34,"line":115},7,[32,117,118],{"class":38},"  ogImage: ",[32,120,121],{"class":56},"'https:\u002F\u002Fexample.com\u002Fog.png'",[32,123,80],{"class":38},[32,125,127,130,133],{"class":34,"line":126},8,[32,128,129],{"class":38},"  twitterCard: ",[32,131,132],{"class":56},"'summary_large_image'",[32,134,80],{"class":38},[32,136,138],{"class":34,"line":137},9,[32,139,140],{"class":38},"})\n",[32,142,144,147,149],{"class":34,"line":143},10,[32,145,146],{"class":38},"\u003C\u002F",[32,148,43],{"class":42},[32,150,60],{"class":38},[10,152,153],{"id":153},"サイトマップの自動生成",[14,155,156,159,160,163],{},[18,157,158],{},"@nuxtjs\u002Fsitemap"," を使うと ",[18,161,162],{},"sitemap.xml"," が自動生成されます。",[23,165,169],{"className":166,"code":167,"language":168,"meta":28,"style":28},"language-ts shiki shiki-themes github-light github-dark","\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@nuxtjs\u002Fsitemap'],\n  site: { url: 'https:\u002F\u002Fyour-site.com' },\n  sitemap: {\n    sources: ['\u002Fapi\u002F__sitemap__\u002Furls'], \u002F\u002F 動的ルートを追加\n  },\n})\n","ts",[18,170,171,177,191,202,213,218,232,237],{"__ignoreMap":28},[32,172,173],{"class":34,"line":35},[32,174,176],{"class":175},"sJ8bj","\u002F\u002F nuxt.config.ts\n",[32,178,179,183,186,189],{"class":34,"line":63},[32,180,182],{"class":181},"szBVR","export",[32,184,185],{"class":181}," default",[32,187,188],{"class":46}," defineNuxtConfig",[32,190,68],{"class":38},[32,192,193,196,199],{"class":34,"line":71},[32,194,195],{"class":38},"  modules: [",[32,197,198],{"class":56},"'@nuxtjs\u002Fsitemap'",[32,200,201],{"class":38},"],\n",[32,203,204,207,210],{"class":34,"line":83},[32,205,206],{"class":38},"  site: { url: ",[32,208,209],{"class":56},"'https:\u002F\u002Fyour-site.com'",[32,211,212],{"class":38}," },\n",[32,214,215],{"class":34,"line":94},[32,216,217],{"class":38},"  sitemap: {\n",[32,219,220,223,226,229],{"class":34,"line":104},[32,221,222],{"class":38},"    sources: [",[32,224,225],{"class":56},"'\u002Fapi\u002F__sitemap__\u002Furls'",[32,227,228],{"class":38},"], ",[32,230,231],{"class":175},"\u002F\u002F 動的ルートを追加\n",[32,233,234],{"class":34,"line":115},[32,235,236],{"class":38},"  },\n",[32,238,239],{"class":34,"line":126},[32,240,140],{"class":38},[10,242,244],{"id":243},"robotstxt-の設定","robots.txt の設定",[14,246,247,250,251,253,254,257],{},[18,248,249],{},"@nuxtjs\u002Frobots"," を ",[18,252,158],{}," と一緒に使うと、",[18,255,256],{},"Sitemap:"," 行が自動で追記されます。",[23,259,261],{"className":166,"code":260,"language":168,"meta":28,"style":28},"robots: {\n  groups: [\n    { userAgent: '*', allow: '\u002F', disallow: ['\u002Fadmin'] }\n  ]\n}\n",[18,262,263,271,279,302,307],{"__ignoreMap":28},[32,264,265,268],{"class":34,"line":35},[32,266,267],{"class":46},"robots",[32,269,270],{"class":38},": {\n",[32,272,273,276],{"class":34,"line":63},[32,274,275],{"class":46},"  groups",[32,277,278],{"class":38},": [\n",[32,280,281,284,287,290,293,296,299],{"class":34,"line":71},[32,282,283],{"class":38},"    { userAgent: ",[32,285,286],{"class":56},"'*'",[32,288,289],{"class":38},", allow: ",[32,291,292],{"class":56},"'\u002F'",[32,294,295],{"class":38},", disallow: [",[32,297,298],{"class":56},"'\u002Fadmin'",[32,300,301],{"class":38},"] }\n",[32,303,304],{"class":34,"line":83},[32,305,306],{"class":38},"  ]\n",[32,308,309],{"class":34,"line":94},[32,310,311],{"class":38},"}\n",[10,313,315],{"id":314},"canonical-url-の設定","Canonical URL の設定",[14,317,318,319,322],{},"動的ルートでは ",[18,320,321],{},"useHead"," で canonical を設定して重複コンテンツを防ぎます。",[23,324,326],{"className":166,"code":325,"language":168,"meta":28,"style":28},"const route = useRoute()\nuseHead({\n  link: [{ rel: 'canonical', href: `https:\u002F\u002Fyour-site.com${route.path}` }]\n})\n",[18,327,328,346,352,381],{"__ignoreMap":28},[32,329,330,333,337,340,343],{"class":34,"line":35},[32,331,332],{"class":181},"const",[32,334,336],{"class":335},"sj4cs"," route",[32,338,339],{"class":181}," =",[32,341,342],{"class":46}," useRoute",[32,344,345],{"class":38},"()\n",[32,347,348,350],{"class":34,"line":63},[32,349,321],{"class":46},[32,351,68],{"class":38},[32,353,354,357,360,363,366,369,372,375,378],{"class":34,"line":71},[32,355,356],{"class":38},"  link: [{ rel: ",[32,358,359],{"class":56},"'canonical'",[32,361,362],{"class":38},", href: ",[32,364,365],{"class":56},"`https:\u002F\u002Fyour-site.com${",[32,367,368],{"class":38},"route",[32,370,371],{"class":56},".",[32,373,374],{"class":38},"path",[32,376,377],{"class":56},"}`",[32,379,380],{"class":38}," }]\n",[32,382,383],{"class":34,"line":83},[32,384,140],{"class":38},[10,386,387],{"id":387},"まとめ",[14,389,390],{},"SEO 対策は「コンテンツが HTML に含まれているか（SSR\u002FSSG）」「メタ情報が適切か」「サイトマップが存在するか」の3点が基本です。Nuxt はこれらをすべてサポートしています。",[392,393,394],"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}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":28,"searchDepth":63,"depth":63,"links":396},[397,398,399,400,401],{"id":12,"depth":63,"text":12},{"id":153,"depth":63,"text":153},{"id":243,"depth":63,"text":244},{"id":314,"depth":63,"text":315},{"id":387,"depth":63,"text":387},"2026-04-28T23:30:00+09:00","useSeoMeta・sitemap・robots.txt を組み合わせて検索エンジン対策を行う方法を解説します。","md",{},true,"\u002Farticles\u002Fseo-with-nuxt",{"title":5,"description":403},"articles\u002Fseo-with-nuxt","F1gW1bO1db6woj7N3WCJL87dKyhHqi5gP2fZDPLtce4",1777568743364]