[{"data":1,"prerenderedAt":1785},["ShallowReactive",2],{"content-/ogp-share-url-seo-improvement":3,"all-pages-for-dir":1763,"related-/ogp-share-url-seo-improvement":1764,"og-image-/ogp-share-url-seo-improvement":1784},{"id":4,"title":5,"body":6,"category":1747,"concepts":1747,"description":1748,"extension":1749,"meta":1750,"navigation":280,"ogImage":1747,"path":1751,"project_name":1747,"published":1752,"publishedAt":1753,"seo":1754,"source":1747,"stem":1755,"tags":1756,"todo":1747,"unpublished":1752,"updatedAt":1753,"__hash__":1762},"pages/2025-12/2025-12-25/ogp-share-url-seo-improvement.md","OGPシェアURL改善計画 - SEO効果を最大化する設計",{"type":7,"value":8,"toc":1729},"minimark",[9,14,18,22,33,37,84,89,154,157,160,164,168,174,177,181,187,857,861,871,1365,1375,1379,1382,1511,1513,1517,1520,1559,1574,1576,1579,1645,1647,1651,1655,1665,1669,1695,1697,1700,1705,1708,1719,1725],[10,11,13],"h1",{"id":12},"ogpシェアurl改善計画","OGPシェアURL改善計画",[15,16,17],"h2",{"id":17},"現状の問題",[19,20,21],"h3",{"id":21},"現在の構成",[23,24,29],"pre",{"className":25,"code":27,"language":28},[26],"language-text","シェアURL（SNSに投稿されるURL）:\nhttps://og-image-worker.number55number55.workers.dev/share/japanese-quiz?category=...\n\n↓ Worker側の処理\n1. OGPメタタグを含むHTMLを返す\n2. og:url には https://log.eurekapu.com/... を設定\n3. meta refresh で log.eurekapu.com にリダイレクト\n","text",[30,31,27],"code",{"__ignoreMap":32},"",[19,34,36],{"id":35},"問題点被リンク評価がworkersdevに流れる","問題点：被リンク評価がWorkers.devに流れる",[38,39,40,53],"table",{},[41,42,43],"thead",{},[44,45,46,50],"tr",{},[47,48,49],"th",{},"項目",[47,51,52],{},"効果",[54,55,56,65,73],"tbody",{},[44,57,58,62],{},[59,60,61],"td",{},"ユーザートラフィック",[59,63,64],{},"✅ 得られる（リダイレクトで来る）",[44,66,67,70],{},[59,68,69],{},"OGPカード表示",[59,71,72],{},"✅ 正常に動作",[44,74,75,81],{},[59,76,77],{},[78,79,80],"strong",{},"SEO（被リンク評価）",[59,82,83],{},"❌ ほぼなし",[85,86,88],"h4",{"id":87},"なぜseo効果がないのか","なぜSEO効果がないのか",[90,91,92,117,133],"ol",{},[93,94,95,98],"li",{},[78,96,97],{},"被リンクの直接的な評価先",[99,100,101,108,111],"ul",{},[93,102,103,104,107],{},"SNSで拡散されるリンクは ",[30,105,106],{},"workers.dev"," を指している",[93,109,110],{},"Googleは実際のリンクURLを評価対象とする",[93,112,113,116],{},[30,114,115],{},"og:url","の値はcanonical的なヒントに過ぎない",[93,118,119,122],{},[78,120,121],{},"リダイレクトでのリンクジュース転送",[99,123,124,127,130],{},[93,125,126],{},"301リダイレクトでも100%のリンクジュースは転送されない（一般的に85-99%程度）",[93,128,129],{},"さらに、外部サービスドメイン（workers.dev）からの転送は評価が低い",[93,131,132],{},"meta refreshリダイレクトは301より弱い",[93,134,135,138],{},[78,136,137],{},"SNSリンクの特性",[99,139,140,147],{},[93,141,142,143,146],{},"多くのSNS（Twitter/X、Facebook等）は外部リンクに",[30,144,145],{},"rel=\"nofollow\"","を付与",[93,148,149,150,153],{},"ただし、",[78,151,152],{},"拡散による間接的なSEO効果","（他サイトからの引用、ブランド認知向上）は期待できる",[155,156],"hr",{},[15,158,159],{"id":159},"改善策",[19,161,163],{"id":162},"推奨メインサイトにシェアページを設置","推奨：メインサイトにシェアページを設置",[165,166,167],"p",{},"シェアURLをメインドメイン（log.eurekapu.com）に変更する。",[23,169,172],{"className":170,"code":171,"language":28},[26],"改善前: https://og-image-worker.number55number55.workers.dev/share/japanese-quiz?...\n改善後: https://log.eurekapu.com/share/japanese-quiz?...\n",[30,173,171],{"__ignoreMap":32},[19,175,176],{"id":176},"実装方法",[85,178,180],{"id":179},"方法1-nuxt-server-route推奨","方法1: Nuxt Server Route（推奨）",[165,182,183,186],{},[30,184,185],{},"server/routes/share/japanese-quiz.ts","を作成し、動的にOGPタグ付きHTMLを生成：",[23,188,192],{"className":189,"code":190,"language":191,"meta":32,"style":32},"language-typescript shiki shiki-themes vitesse-light vitesse-light","// server/routes/share/japanese-quiz.ts\nexport default defineEventHandler((event) => {\n  const { category, correct, total } = getQuery(event)\n\n  const categoryNames: Record\u003Cstring, string> = {\n    'modification-order': '修飾語の順序',\n    'punctuation': '句読点の打ち方',\n    'particles': '助詞の使い方',\n    'all': '全問チャレンジ',\n  }\n\n  const categoryName = categoryNames[category as string] || 'クイズ'\n  const ogImageUrl = `https://og-image-worker.number55number55.workers.dev/og/japanese-quiz?category=${category}&correct=${correct}&total=${total}`\n  const redirectUrl = `https://log.eurekapu.com/japanese-writing-quiz/${category}`\n\n  const html = `\u003C!DOCTYPE html>\n\u003Chtml lang=\"ja\">\n\u003Chead>\n  \u003Cmeta charset=\"UTF-8\">\n  \u003Ctitle>${categoryName} - ${correct}/${total}問正解！ | 日本語作文クイズ\u003C/title>\n  \u003Cmeta property=\"og:title\" content=\"${categoryName}クイズ - ${correct}/${total}問正解！\">\n  \u003Cmeta property=\"og:description\" content=\"日本語作文クイズに挑戦しよう\">\n  \u003Cmeta property=\"og:image\" content=\"${ogImageUrl}\">\n  \u003Cmeta property=\"og:url\" content=\"${redirectUrl}\">\n  \u003Cmeta property=\"og:type\" content=\"website\">\n  \u003Cmeta name=\"twitter:card\" content=\"summary_large_image\">\n  \u003Cmeta name=\"twitter:title\" content=\"${categoryName}クイズ - ${correct}/${total}問正解！\">\n  \u003Cmeta name=\"twitter:description\" content=\"日本語作文クイズに挑戦しよう\">\n  \u003Cmeta name=\"twitter:image\" content=\"${ogImageUrl}\">\n  \u003Cmeta http-equiv=\"refresh\" content=\"0;url=${redirectUrl}\">\n  \u003Clink rel=\"canonical\" href=\"${redirectUrl}\">\n\u003C/head>\n\u003Cbody>\n  \u003Cp>リダイレクト中... \u003Ca href=\"${redirectUrl}\">こちらをクリック\u003C/a>\u003C/p>\n\u003C/body>\n\u003C/html>`\n\n  return new Response(html, {\n    headers: { 'Content-Type': 'text/html; charset=utf-8' },\n  })\n})\n","typescript",[30,193,194,203,234,275,282,313,339,360,381,402,408,413,452,499,522,527,542,548,554,560,593,625,631,646,660,666,672,702,708,722,736,750,756,762,777,783,791,796,816,845,851],{"__ignoreMap":32},[195,196,199],"span",{"class":197,"line":198},"line",1,[195,200,202],{"class":201},"sxvE3","// server/routes/share/japanese-quiz.ts\n",[195,204,206,210,213,217,221,225,228,231],{"class":197,"line":205},2,[195,207,209],{"class":208},"sHkkW","export",[195,211,212],{"class":208}," default",[195,214,216],{"class":215},"senZ8"," defineEventHandler",[195,218,220],{"class":219},"shFtX","((",[195,222,224],{"class":223},"s4oTP","event",[195,226,227],{"class":219},")",[195,229,230],{"class":219}," =>",[195,232,233],{"class":219}," {\n",[195,235,237,241,244,247,250,253,255,258,261,264,267,270,272],{"class":197,"line":236},3,[195,238,240],{"class":239},"stQ0i","  const ",[195,242,243],{"class":219},"{",[195,245,246],{"class":223}," category",[195,248,249],{"class":219},",",[195,251,252],{"class":223}," correct",[195,254,249],{"class":219},[195,256,257],{"class":223}," total",[195,259,260],{"class":219}," }",[195,262,263],{"class":219}," =",[195,265,266],{"class":215}," getQuery",[195,268,269],{"class":219},"(",[195,271,224],{"class":223},[195,273,274],{"class":219},")\n",[195,276,278],{"class":197,"line":277},4,[195,279,281],{"emptyLinePlaceholder":280},true,"\n",[195,283,285,287,290,293,297,300,303,306,308,311],{"class":197,"line":284},5,[195,286,240],{"class":239},[195,288,289],{"class":223},"categoryNames",[195,291,292],{"class":219},": ",[195,294,296],{"class":295},"sSkh3","Record",[195,298,299],{"class":219},"\u003C",[195,301,302],{"class":295},"string",[195,304,305],{"class":219},", ",[195,307,302],{"class":295},[195,309,310],{"class":219},"> =",[195,312,233],{"class":219},[195,314,316,320,324,327,329,331,334,336],{"class":197,"line":315},6,[195,317,319],{"class":318},"sMJiu","    '",[195,321,323],{"class":322},"sdGka","modification-order",[195,325,326],{"class":318},"'",[195,328,292],{"class":219},[195,330,326],{"class":318},[195,332,333],{"class":322},"修飾語の順序",[195,335,326],{"class":318},[195,337,338],{"class":219},",\n",[195,340,342,344,347,349,351,353,356,358],{"class":197,"line":341},7,[195,343,319],{"class":318},[195,345,346],{"class":322},"punctuation",[195,348,326],{"class":318},[195,350,292],{"class":219},[195,352,326],{"class":318},[195,354,355],{"class":322},"句読点の打ち方",[195,357,326],{"class":318},[195,359,338],{"class":219},[195,361,363,365,368,370,372,374,377,379],{"class":197,"line":362},8,[195,364,319],{"class":318},[195,366,367],{"class":322},"particles",[195,369,326],{"class":318},[195,371,292],{"class":219},[195,373,326],{"class":318},[195,375,376],{"class":322},"助詞の使い方",[195,378,326],{"class":318},[195,380,338],{"class":219},[195,382,384,386,389,391,393,395,398,400],{"class":197,"line":383},9,[195,385,319],{"class":318},[195,387,388],{"class":322},"all",[195,390,326],{"class":318},[195,392,292],{"class":219},[195,394,326],{"class":318},[195,396,397],{"class":322},"全問チャレンジ",[195,399,326],{"class":318},[195,401,338],{"class":219},[195,403,405],{"class":197,"line":404},10,[195,406,407],{"class":219},"  }\n",[195,409,411],{"class":197,"line":410},11,[195,412,281],{"emptyLinePlaceholder":280},[195,414,416,418,421,423,426,429,432,435,438,441,444,446,449],{"class":197,"line":415},12,[195,417,240],{"class":239},[195,419,420],{"class":223},"categoryName",[195,422,263],{"class":219},[195,424,425],{"class":223}," categoryNames",[195,427,428],{"class":219},"[",[195,430,431],{"class":223},"category",[195,433,434],{"class":208}," as",[195,436,437],{"class":295}," string",[195,439,440],{"class":219},"]",[195,442,443],{"class":239}," || ",[195,445,326],{"class":318},[195,447,448],{"class":322},"クイズ",[195,450,451],{"class":318},"'\n",[195,453,455,457,460,462,465,468,471,473,476,479,481,484,486,489,491,494,496],{"class":197,"line":454},13,[195,456,240],{"class":239},[195,458,459],{"class":223},"ogImageUrl",[195,461,263],{"class":219},[195,463,464],{"class":318}," `",[195,466,467],{"class":322},"https://og-image-worker.number55number55.workers.dev/og/japanese-quiz?category=",[195,469,470],{"class":208},"${",[195,472,431],{"class":322},[195,474,475],{"class":208},"}",[195,477,478],{"class":322},"&correct=",[195,480,470],{"class":208},[195,482,483],{"class":322},"correct",[195,485,475],{"class":208},[195,487,488],{"class":322},"&total=",[195,490,470],{"class":208},[195,492,493],{"class":322},"total",[195,495,475],{"class":208},[195,497,498],{"class":318},"`\n",[195,500,502,504,507,509,511,514,516,518,520],{"class":197,"line":501},14,[195,503,240],{"class":239},[195,505,506],{"class":223},"redirectUrl",[195,508,263],{"class":219},[195,510,464],{"class":318},[195,512,513],{"class":322},"https://log.eurekapu.com/japanese-writing-quiz/",[195,515,470],{"class":208},[195,517,431],{"class":322},[195,519,475],{"class":208},[195,521,498],{"class":318},[195,523,525],{"class":197,"line":524},15,[195,526,281],{"emptyLinePlaceholder":280},[195,528,530,532,535,537,539],{"class":197,"line":529},16,[195,531,240],{"class":239},[195,533,534],{"class":223},"html",[195,536,263],{"class":219},[195,538,464],{"class":318},[195,540,541],{"class":322},"\u003C!DOCTYPE html>\n",[195,543,545],{"class":197,"line":544},17,[195,546,547],{"class":322},"\u003Chtml lang=\"ja\">\n",[195,549,551],{"class":197,"line":550},18,[195,552,553],{"class":322},"\u003Chead>\n",[195,555,557],{"class":197,"line":556},19,[195,558,559],{"class":322},"  \u003Cmeta charset=\"UTF-8\">\n",[195,561,563,566,568,570,572,575,577,579,581,584,586,588,590],{"class":197,"line":562},20,[195,564,565],{"class":322},"  \u003Ctitle>",[195,567,470],{"class":208},[195,569,420],{"class":322},[195,571,475],{"class":208},[195,573,574],{"class":322}," - ",[195,576,470],{"class":208},[195,578,483],{"class":322},[195,580,475],{"class":208},[195,582,583],{"class":322},"/",[195,585,470],{"class":208},[195,587,493],{"class":322},[195,589,475],{"class":208},[195,591,592],{"class":322},"問正解！ | 日本語作文クイズ\u003C/title>\n",[195,594,596,599,601,603,605,608,610,612,614,616,618,620,622],{"class":197,"line":595},21,[195,597,598],{"class":322},"  \u003Cmeta property=\"og:title\" content=\"",[195,600,470],{"class":208},[195,602,420],{"class":322},[195,604,475],{"class":208},[195,606,607],{"class":322},"クイズ - ",[195,609,470],{"class":208},[195,611,483],{"class":322},[195,613,475],{"class":208},[195,615,583],{"class":322},[195,617,470],{"class":208},[195,619,493],{"class":322},[195,621,475],{"class":208},[195,623,624],{"class":322},"問正解！\">\n",[195,626,628],{"class":197,"line":627},22,[195,629,630],{"class":322},"  \u003Cmeta property=\"og:description\" content=\"日本語作文クイズに挑戦しよう\">\n",[195,632,634,637,639,641,643],{"class":197,"line":633},23,[195,635,636],{"class":322},"  \u003Cmeta property=\"og:image\" content=\"",[195,638,470],{"class":208},[195,640,459],{"class":322},[195,642,475],{"class":208},[195,644,645],{"class":322},"\">\n",[195,647,649,652,654,656,658],{"class":197,"line":648},24,[195,650,651],{"class":322},"  \u003Cmeta property=\"og:url\" content=\"",[195,653,470],{"class":208},[195,655,506],{"class":322},[195,657,475],{"class":208},[195,659,645],{"class":322},[195,661,663],{"class":197,"line":662},25,[195,664,665],{"class":322},"  \u003Cmeta property=\"og:type\" content=\"website\">\n",[195,667,669],{"class":197,"line":668},26,[195,670,671],{"class":322},"  \u003Cmeta name=\"twitter:card\" content=\"summary_large_image\">\n",[195,673,675,678,680,682,684,686,688,690,692,694,696,698,700],{"class":197,"line":674},27,[195,676,677],{"class":322},"  \u003Cmeta name=\"twitter:title\" content=\"",[195,679,470],{"class":208},[195,681,420],{"class":322},[195,683,475],{"class":208},[195,685,607],{"class":322},[195,687,470],{"class":208},[195,689,483],{"class":322},[195,691,475],{"class":208},[195,693,583],{"class":322},[195,695,470],{"class":208},[195,697,493],{"class":322},[195,699,475],{"class":208},[195,701,624],{"class":322},[195,703,705],{"class":197,"line":704},28,[195,706,707],{"class":322},"  \u003Cmeta name=\"twitter:description\" content=\"日本語作文クイズに挑戦しよう\">\n",[195,709,711,714,716,718,720],{"class":197,"line":710},29,[195,712,713],{"class":322},"  \u003Cmeta name=\"twitter:image\" content=\"",[195,715,470],{"class":208},[195,717,459],{"class":322},[195,719,475],{"class":208},[195,721,645],{"class":322},[195,723,725,728,730,732,734],{"class":197,"line":724},30,[195,726,727],{"class":322},"  \u003Cmeta http-equiv=\"refresh\" content=\"0;url=",[195,729,470],{"class":208},[195,731,506],{"class":322},[195,733,475],{"class":208},[195,735,645],{"class":322},[195,737,739,742,744,746,748],{"class":197,"line":738},31,[195,740,741],{"class":322},"  \u003Clink rel=\"canonical\" href=\"",[195,743,470],{"class":208},[195,745,506],{"class":322},[195,747,475],{"class":208},[195,749,645],{"class":322},[195,751,753],{"class":197,"line":752},32,[195,754,755],{"class":322},"\u003C/head>\n",[195,757,759],{"class":197,"line":758},33,[195,760,761],{"class":322},"\u003Cbody>\n",[195,763,765,768,770,772,774],{"class":197,"line":764},34,[195,766,767],{"class":322},"  \u003Cp>リダイレクト中... \u003Ca href=\"",[195,769,470],{"class":208},[195,771,506],{"class":322},[195,773,475],{"class":208},[195,775,776],{"class":322},"\">こちらをクリック\u003C/a>\u003C/p>\n",[195,778,780],{"class":197,"line":779},35,[195,781,782],{"class":322},"\u003C/body>\n",[195,784,786,789],{"class":197,"line":785},36,[195,787,788],{"class":322},"\u003C/html>",[195,790,498],{"class":318},[195,792,794],{"class":197,"line":793},37,[195,795,281],{"emptyLinePlaceholder":280},[195,797,799,802,805,808,810,812,814],{"class":197,"line":798},38,[195,800,801],{"class":208},"  return",[195,803,804],{"class":239}," new",[195,806,807],{"class":215}," Response",[195,809,269],{"class":219},[195,811,534],{"class":223},[195,813,249],{"class":219},[195,815,233],{"class":219},[195,817,819,823,826,828,831,833,835,837,840,842],{"class":197,"line":818},39,[195,820,822],{"class":821},"sz8Xr","    headers",[195,824,825],{"class":219},": { ",[195,827,326],{"class":318},[195,829,830],{"class":322},"Content-Type",[195,832,326],{"class":318},[195,834,292],{"class":219},[195,836,326],{"class":318},[195,838,839],{"class":322},"text/html; charset=utf-8",[195,841,326],{"class":318},[195,843,844],{"class":219}," },\n",[195,846,848],{"class":197,"line":847},40,[195,849,850],{"class":219},"  })\n",[195,852,854],{"class":197,"line":853},41,[195,855,856],{"class":219},"})\n",[85,858,860],{"id":859},"方法2-専用vueページ-ssr","方法2: 専用Vueページ + SSR",[165,862,863,866,867,870],{},[30,864,865],{},"pages/share/japanese-quiz.vue","を作成し、",[30,868,869],{},"useSeoMeta","で動的OGPを設定：",[23,872,876],{"className":873,"code":874,"language":875,"meta":32,"style":32},"language-vue shiki shiki-themes vitesse-light vitesse-light","\u003Cscript setup lang=\"ts\">\nconst route = useRoute()\nconst { category, correct, total } = route.query\n\nconst categoryNames: Record\u003Cstring, string> = {\n  'modification-order': '修飾語の順序',\n  'punctuation': '句読点の打ち方',\n  'particles': '助詞の使い方',\n  'all': '全問チャレンジ',\n}\n\nconst categoryName = categoryNames[category as string] || 'クイズ'\nconst ogImageUrl = `https://og-image-worker.number55number55.workers.dev/og/japanese-quiz?category=${category}&correct=${correct}&total=${total}`\nconst redirectUrl = `/japanese-writing-quiz/${category}`\n\nuseSeoMeta({\n  title: `${categoryName} - ${correct}/${total}問正解！ | 日本語作文クイズ`,\n  ogTitle: `${categoryName}クイズ - ${correct}/${total}問正解！`,\n  ogDescription: '日本語作文クイズに挑戦しよう',\n  ogImage: ogImageUrl,\n  twitterCard: 'summary_large_image',\n})\n\n// クライアントサイドでリダイレクト\nonMounted(() => {\n  navigateTo(redirectUrl)\n})\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>リダイレクト中...\u003C/div>\n\u003C/template>\n","vue",[30,877,878,905,921,950,954,976,995,1013,1031,1049,1054,1058,1086,1122,1143,1147,1154,1193,1231,1247,1258,1274,1278,1282,1287,1299,1310,1314,1323,1327,1336,1357],{"__ignoreMap":32},[195,879,880,882,885,888,891,894,897,900,902],{"class":197,"line":198},[195,881,299],{"class":219},[195,883,884],{"class":208},"script",[195,886,887],{"class":223}," setup",[195,889,890],{"class":223}," lang",[195,892,893],{"class":219},"=",[195,895,896],{"class":318},"\"",[195,898,899],{"class":322},"ts",[195,901,896],{"class":318},[195,903,904],{"class":219},">\n",[195,906,907,910,913,915,918],{"class":197,"line":205},[195,908,909],{"class":239},"const ",[195,911,912],{"class":223},"route",[195,914,263],{"class":219},[195,916,917],{"class":215}," useRoute",[195,919,920],{"class":219},"()\n",[195,922,923,925,927,929,931,933,935,937,939,941,944,947],{"class":197,"line":236},[195,924,909],{"class":239},[195,926,243],{"class":219},[195,928,246],{"class":223},[195,930,249],{"class":219},[195,932,252],{"class":223},[195,934,249],{"class":219},[195,936,257],{"class":223},[195,938,260],{"class":219},[195,940,263],{"class":219},[195,942,943],{"class":223}," route",[195,945,946],{"class":219},".",[195,948,949],{"class":223},"query\n",[195,951,952],{"class":197,"line":277},[195,953,281],{"emptyLinePlaceholder":280},[195,955,956,958,960,962,964,966,968,970,972,974],{"class":197,"line":284},[195,957,909],{"class":239},[195,959,289],{"class":223},[195,961,292],{"class":219},[195,963,296],{"class":295},[195,965,299],{"class":219},[195,967,302],{"class":295},[195,969,305],{"class":219},[195,971,302],{"class":295},[195,973,310],{"class":219},[195,975,233],{"class":219},[195,977,978,981,983,985,987,989,991,993],{"class":197,"line":315},[195,979,980],{"class":318},"  '",[195,982,323],{"class":322},[195,984,326],{"class":318},[195,986,292],{"class":219},[195,988,326],{"class":318},[195,990,333],{"class":322},[195,992,326],{"class":318},[195,994,338],{"class":219},[195,996,997,999,1001,1003,1005,1007,1009,1011],{"class":197,"line":341},[195,998,980],{"class":318},[195,1000,346],{"class":322},[195,1002,326],{"class":318},[195,1004,292],{"class":219},[195,1006,326],{"class":318},[195,1008,355],{"class":322},[195,1010,326],{"class":318},[195,1012,338],{"class":219},[195,1014,1015,1017,1019,1021,1023,1025,1027,1029],{"class":197,"line":362},[195,1016,980],{"class":318},[195,1018,367],{"class":322},[195,1020,326],{"class":318},[195,1022,292],{"class":219},[195,1024,326],{"class":318},[195,1026,376],{"class":322},[195,1028,326],{"class":318},[195,1030,338],{"class":219},[195,1032,1033,1035,1037,1039,1041,1043,1045,1047],{"class":197,"line":383},[195,1034,980],{"class":318},[195,1036,388],{"class":322},[195,1038,326],{"class":318},[195,1040,292],{"class":219},[195,1042,326],{"class":318},[195,1044,397],{"class":322},[195,1046,326],{"class":318},[195,1048,338],{"class":219},[195,1050,1051],{"class":197,"line":404},[195,1052,1053],{"class":219},"}\n",[195,1055,1056],{"class":197,"line":410},[195,1057,281],{"emptyLinePlaceholder":280},[195,1059,1060,1062,1064,1066,1068,1070,1072,1074,1076,1078,1080,1082,1084],{"class":197,"line":415},[195,1061,909],{"class":239},[195,1063,420],{"class":223},[195,1065,263],{"class":219},[195,1067,425],{"class":223},[195,1069,428],{"class":219},[195,1071,431],{"class":223},[195,1073,434],{"class":208},[195,1075,437],{"class":295},[195,1077,440],{"class":219},[195,1079,443],{"class":239},[195,1081,326],{"class":318},[195,1083,448],{"class":322},[195,1085,451],{"class":318},[195,1087,1088,1090,1092,1094,1096,1098,1100,1102,1104,1106,1108,1110,1112,1114,1116,1118,1120],{"class":197,"line":454},[195,1089,909],{"class":239},[195,1091,459],{"class":223},[195,1093,263],{"class":219},[195,1095,464],{"class":318},[195,1097,467],{"class":322},[195,1099,470],{"class":208},[195,1101,431],{"class":322},[195,1103,475],{"class":208},[195,1105,478],{"class":322},[195,1107,470],{"class":208},[195,1109,483],{"class":322},[195,1111,475],{"class":208},[195,1113,488],{"class":322},[195,1115,470],{"class":208},[195,1117,493],{"class":322},[195,1119,475],{"class":208},[195,1121,498],{"class":318},[195,1123,1124,1126,1128,1130,1132,1135,1137,1139,1141],{"class":197,"line":501},[195,1125,909],{"class":239},[195,1127,506],{"class":223},[195,1129,263],{"class":219},[195,1131,464],{"class":318},[195,1133,1134],{"class":322},"/japanese-writing-quiz/",[195,1136,470],{"class":208},[195,1138,431],{"class":322},[195,1140,475],{"class":208},[195,1142,498],{"class":318},[195,1144,1145],{"class":197,"line":524},[195,1146,281],{"emptyLinePlaceholder":280},[195,1148,1149,1151],{"class":197,"line":529},[195,1150,869],{"class":215},[195,1152,1153],{"class":219},"({\n",[195,1155,1156,1159,1161,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1189,1191],{"class":197,"line":544},[195,1157,1158],{"class":821},"  title",[195,1160,292],{"class":219},[195,1162,1163],{"class":318},"`",[195,1165,470],{"class":208},[195,1167,420],{"class":322},[195,1169,475],{"class":208},[195,1171,574],{"class":322},[195,1173,470],{"class":208},[195,1175,483],{"class":322},[195,1177,475],{"class":208},[195,1179,583],{"class":322},[195,1181,470],{"class":208},[195,1183,493],{"class":322},[195,1185,475],{"class":208},[195,1187,1188],{"class":322},"問正解！ | 日本語作文クイズ",[195,1190,1163],{"class":318},[195,1192,338],{"class":219},[195,1194,1195,1198,1200,1202,1204,1206,1208,1210,1212,1214,1216,1218,1220,1222,1224,1227,1229],{"class":197,"line":550},[195,1196,1197],{"class":821},"  ogTitle",[195,1199,292],{"class":219},[195,1201,1163],{"class":318},[195,1203,470],{"class":208},[195,1205,420],{"class":322},[195,1207,475],{"class":208},[195,1209,607],{"class":322},[195,1211,470],{"class":208},[195,1213,483],{"class":322},[195,1215,475],{"class":208},[195,1217,583],{"class":322},[195,1219,470],{"class":208},[195,1221,493],{"class":322},[195,1223,475],{"class":208},[195,1225,1226],{"class":322},"問正解！",[195,1228,1163],{"class":318},[195,1230,338],{"class":219},[195,1232,1233,1236,1238,1240,1243,1245],{"class":197,"line":556},[195,1234,1235],{"class":821},"  ogDescription",[195,1237,292],{"class":219},[195,1239,326],{"class":318},[195,1241,1242],{"class":322},"日本語作文クイズに挑戦しよう",[195,1244,326],{"class":318},[195,1246,338],{"class":219},[195,1248,1249,1252,1254,1256],{"class":197,"line":562},[195,1250,1251],{"class":821},"  ogImage",[195,1253,292],{"class":219},[195,1255,459],{"class":223},[195,1257,338],{"class":219},[195,1259,1260,1263,1265,1267,1270,1272],{"class":197,"line":595},[195,1261,1262],{"class":821},"  twitterCard",[195,1264,292],{"class":219},[195,1266,326],{"class":318},[195,1268,1269],{"class":322},"summary_large_image",[195,1271,326],{"class":318},[195,1273,338],{"class":219},[195,1275,1276],{"class":197,"line":627},[195,1277,856],{"class":219},[195,1279,1280],{"class":197,"line":633},[195,1281,281],{"emptyLinePlaceholder":280},[195,1283,1284],{"class":197,"line":648},[195,1285,1286],{"class":201},"// クライアントサイドでリダイレクト\n",[195,1288,1289,1292,1295,1297],{"class":197,"line":662},[195,1290,1291],{"class":215},"onMounted",[195,1293,1294],{"class":219},"(()",[195,1296,230],{"class":219},[195,1298,233],{"class":219},[195,1300,1301,1304,1306,1308],{"class":197,"line":668},[195,1302,1303],{"class":215},"  navigateTo",[195,1305,269],{"class":219},[195,1307,506],{"class":223},[195,1309,274],{"class":219},[195,1311,1312],{"class":197,"line":674},[195,1313,856],{"class":219},[195,1315,1316,1319,1321],{"class":197,"line":704},[195,1317,1318],{"class":219},"\u003C/",[195,1320,884],{"class":208},[195,1322,904],{"class":219},[195,1324,1325],{"class":197,"line":710},[195,1326,281],{"emptyLinePlaceholder":280},[195,1328,1329,1331,1334],{"class":197,"line":724},[195,1330,299],{"class":219},[195,1332,1333],{"class":208},"template",[195,1335,904],{"class":219},[195,1337,1338,1341,1344,1347,1351,1353,1355],{"class":197,"line":738},[195,1339,1340],{"class":219},"  \u003C",[195,1342,1343],{"class":208},"div",[195,1345,1346],{"class":219},">",[195,1348,1350],{"class":1349},"sG7-3","リダイレクト中...",[195,1352,1318],{"class":219},[195,1354,1343],{"class":208},[195,1356,904],{"class":219},[195,1358,1359,1361,1363],{"class":197,"line":752},[195,1360,1318],{"class":219},[195,1362,1333],{"class":208},[195,1364,904],{"class":219},[165,1366,1367,1370,1371,1374],{},[78,1368,1369],{},"注意",": 方法2ではSSRが必須。",[30,1372,1373],{},"ssr: false","の設定だとクローラーがOGPを認識できない。",[19,1376,1378],{"id":1377},"resultsummaryvueの変更","ResultSummary.vueの変更",[165,1380,1381],{},"シェアURLを変更：",[23,1383,1385],{"className":189,"code":1384,"language":191,"meta":32,"style":32},"// 変更前\nconst shareUrl = computed(() => {\n  return `https://og-image-worker.number55number55.workers.dev/share/japanese-quiz?...`\n})\n\n// 変更後\nconst shareUrl = computed(() => {\n  return `https://log.eurekapu.com/share/japanese-quiz?category=${props.category}&correct=${props.result.correctAnswers}&total=${props.result.totalQuestions}`\n})\n",[30,1386,1387,1392,1410,1421,1425,1429,1434,1450,1507],{"__ignoreMap":32},[195,1388,1389],{"class":197,"line":198},[195,1390,1391],{"class":201},"// 変更前\n",[195,1393,1394,1396,1399,1401,1404,1406,1408],{"class":197,"line":205},[195,1395,909],{"class":239},[195,1397,1398],{"class":223},"shareUrl",[195,1400,263],{"class":219},[195,1402,1403],{"class":215}," computed",[195,1405,1294],{"class":219},[195,1407,230],{"class":219},[195,1409,233],{"class":219},[195,1411,1412,1414,1416,1419],{"class":197,"line":236},[195,1413,801],{"class":208},[195,1415,464],{"class":318},[195,1417,1418],{"class":322},"https://og-image-worker.number55number55.workers.dev/share/japanese-quiz?...",[195,1420,498],{"class":318},[195,1422,1423],{"class":197,"line":277},[195,1424,856],{"class":219},[195,1426,1427],{"class":197,"line":284},[195,1428,281],{"emptyLinePlaceholder":280},[195,1430,1431],{"class":197,"line":315},[195,1432,1433],{"class":201},"// 変更後\n",[195,1435,1436,1438,1440,1442,1444,1446,1448],{"class":197,"line":341},[195,1437,909],{"class":239},[195,1439,1398],{"class":223},[195,1441,263],{"class":219},[195,1443,1403],{"class":215},[195,1445,1294],{"class":219},[195,1447,230],{"class":219},[195,1449,233],{"class":219},[195,1451,1452,1454,1456,1459,1461,1464,1466,1468,1470,1472,1474,1476,1478,1481,1483,1486,1488,1490,1492,1494,1496,1498,1500,1503,1505],{"class":197,"line":362},[195,1453,801],{"class":208},[195,1455,464],{"class":318},[195,1457,1458],{"class":322},"https://log.eurekapu.com/share/japanese-quiz?category=",[195,1460,470],{"class":208},[195,1462,1463],{"class":322},"props",[195,1465,946],{"class":219},[195,1467,431],{"class":322},[195,1469,475],{"class":208},[195,1471,478],{"class":322},[195,1473,470],{"class":208},[195,1475,1463],{"class":322},[195,1477,946],{"class":219},[195,1479,1480],{"class":322},"result",[195,1482,946],{"class":219},[195,1484,1485],{"class":322},"correctAnswers",[195,1487,475],{"class":208},[195,1489,488],{"class":322},[195,1491,470],{"class":208},[195,1493,1463],{"class":322},[195,1495,946],{"class":219},[195,1497,1480],{"class":322},[195,1499,946],{"class":219},[195,1501,1502],{"class":322},"totalQuestions",[195,1504,475],{"class":208},[195,1506,498],{"class":318},[195,1508,1509],{"class":197,"line":383},[195,1510,856],{"class":219},[155,1512],{},[15,1514,1516],{"id":1515},"ogp画像urlはそのままでok","OGP画像URLはそのままでOK",[165,1518,1519],{},"OGP画像のURLがWorkers.devを指していることは問題ない：",[23,1521,1524],{"className":1522,"code":1523,"language":534,"meta":32,"style":32},"language-html shiki shiki-themes vitesse-light vitesse-light","\u003Cmeta property=\"og:image\" content=\"https://og-image-worker.number55number55.workers.dev/og/japanese-quiz?...\">\n",[30,1525,1526],{"__ignoreMap":32},[195,1527,1528,1530,1533,1536,1538,1540,1543,1545,1548,1550,1552,1555,1557],{"class":197,"line":198},[195,1529,299],{"class":219},[195,1531,1532],{"class":208},"meta",[195,1534,1535],{"class":223}," property",[195,1537,893],{"class":219},[195,1539,896],{"class":318},[195,1541,1542],{"class":322},"og:image",[195,1544,896],{"class":318},[195,1546,1547],{"class":223}," content",[195,1549,893],{"class":219},[195,1551,896],{"class":318},[195,1553,1554],{"class":322},"https://og-image-worker.number55number55.workers.dev/og/japanese-quiz?...",[195,1556,896],{"class":318},[195,1558,904],{"class":219},[99,1560,1561,1564,1571],{},[93,1562,1563],{},"OGP画像のホスティング場所はSEOに影響しない",[93,1565,1566,1567,1570],{},"重要なのは",[78,1568,1569],{},"シェアされるページのURL","がどのドメインか",[93,1572,1573],{},"画像は外部CDNでも、Workers.devでも問題なし",[155,1575],{},[15,1577,1578],{"id":1578},"期待される効果",[38,1580,1581,1593],{},[41,1582,1583],{},[44,1584,1585,1587,1590],{},[47,1586,49],{},[47,1588,1589],{},"改善前",[47,1591,1592],{},"改善後",[54,1594,1595,1605,1614,1625,1636],{},[44,1596,1597,1600,1602],{},[59,1598,1599],{},"シェアURL",[59,1601,106],{},[59,1603,1604],{},"log.eurekapu.com",[44,1606,1607,1610,1612],{},[59,1608,1609],{},"被リンク評価の帰属先",[59,1611,106],{},[59,1613,1604],{},[44,1615,1616,1619,1622],{},[59,1617,1618],{},"ドメインオーソリティへの寄与",[59,1620,1621],{},"❌ なし",[59,1623,1624],{},"✅ あり",[44,1626,1627,1630,1633],{},[59,1628,1629],{},"ブランドURL認知",[59,1631,1632],{},"❌ 低い",[59,1634,1635],{},"✅ 高い",[44,1637,1638,1640,1643],{},[59,1639,69],{},[59,1641,1642],{},"✅ 同じ",[59,1644,1642],{},[155,1646],{},[15,1648,1650],{"id":1649},"補足snsリンクのseo効果について","補足：SNSリンクのSEO効果について",[19,1652,1654],{"id":1653},"直接的なseo効果は限定的","直接的なSEO効果は限定的",[99,1656,1657,1662],{},[93,1658,1659,1660,146],{},"Twitter/X、Facebook等は外部リンクに",[30,1661,145],{},[93,1663,1664],{},"直接的なリンクジュースはほぼ転送されない",[19,1666,1668],{"id":1667},"間接的なseo効果は大きい","間接的なSEO効果は大きい",[90,1670,1671,1677,1683,1689],{},[93,1672,1673,1676],{},[78,1674,1675],{},"ブランドシグナル",": ドメイン名の露出がブランド認知を高める",[93,1678,1679,1682],{},[78,1680,1681],{},"トラフィックシグナル",": サイトへの訪問者増加はポジティブシグナル",[93,1684,1685,1688],{},[78,1686,1687],{},"二次的な被リンク",": SNSで見た人がブログ等で引用する可能性",[93,1690,1691,1694],{},[78,1692,1693],{},"クローラーへの発見",": SNSリンク経由でクローラーがページを発見",[155,1696],{},[15,1698,1699],{"id":1699},"結論",[165,1701,1702],{},[78,1703,1704],{},"拡散のトラフィック効果はあるが、SEO効果（被リンク評価）はほぼないのが現状の実装である。",[165,1706,1707],{},"メインドメイン（log.eurekapu.com）にシェアページを設置することで：",[99,1709,1710,1713,1716],{},[93,1711,1712],{},"被リンク評価がメインサイトに帰属する",[93,1714,1715],{},"ブランドURLとしての認知が向上する",[93,1717,1718],{},"OGP画像生成は引き続きWorkers.devで行える（影響なし）",[165,1720,1721,1724],{},[78,1722,1723],{},"実装優先度",": 高（SEOを重視する場合）",[1726,1727,1728],"style",{},"html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .sHkkW, html code.shiki .sHkkW{--shiki-default:#1E754F;--shiki-dark:#1E754F}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .sSkh3, html code.shiki .sSkh3{--shiki-default:#2E8F82;--shiki-dark:#2E8F82}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}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 .sG7-3, html code.shiki .sG7-3{--shiki-default:#393A34;--shiki-dark:#393A34}",{"title":32,"searchDepth":205,"depth":205,"links":1730},[1731,1735,1740,1741,1742,1746],{"id":17,"depth":205,"text":17,"children":1732},[1733,1734],{"id":21,"depth":236,"text":21},{"id":35,"depth":236,"text":36},{"id":159,"depth":205,"text":159,"children":1736},[1737,1738,1739],{"id":162,"depth":236,"text":163},{"id":176,"depth":236,"text":176},{"id":1377,"depth":236,"text":1378},{"id":1515,"depth":205,"text":1516},{"id":1578,"depth":205,"text":1578},{"id":1649,"depth":205,"text":1650,"children":1743},[1744,1745],{"id":1653,"depth":236,"text":1654},{"id":1667,"depth":236,"text":1668},{"id":1699,"depth":205,"text":1699},null,"SNSシェア時のURLがWorkers.devドメインになっている問題の分析と、メインドメインでOGPを動的生成する改善策","md",{},"/ogp-share-url-seo-improvement",false,"2025-12-25T00:00:00.000Z",{"title":5,"description":1748},"2025-12/2025-12-25/ogp-share-url-seo-improvement",[1757,1758,1759,1760,1761],"ogp","seo","cloudflare-workers","nuxt","sns-share","M8mKjWRtA3XDyqHg1rGnnaORCJOj3hJhdCY7JP75zWA",[],[1765,1768,1772,1776,1780],{"title":1766,"path":1767,"publishedAt":1753},"Cloudflare Workers Routes でOGPシェアURLのSEO問題を解決","/cloudflare-workers-routes-ogp-solution",{"title":1769,"path":1770,"publishedAt":1771},"動的OGP画像生成の実装ガイド - Satori + Cloudflare Workers","/dynamic-ogp-image-generation-guide","2025-12-24T00:00:00.000Z",{"title":1773,"path":1774,"publishedAt":1775},"OGP画像自動生成 実装ガイド","/ogp-image-generation-plan","2025-12-23T00:00:00.000Z",{"title":1777,"path":1778,"publishedAt":1779},"移行サイトのSEO・AI-SEO改善を1日で回した — 画像altを480件、記事の要点を203本、OG画像を署名付きに","/wordpress-nuxt-ai-seo-phase-c","2026-07-27T00:00:00.000Z",{"title":1781,"path":1782,"publishedAt":1783},"Google Search Console分析から内部リンク実装へ — Nuxtブログに関連記事セクションとタグページ553枚を一日で載せた","/gsc-internal-linking-implementation","2026-07-19T00:00:00.000Z","https://log.eurekapu.com/og/blog/ogp-share-url-seo-improvement.png?v=2025-12-25T00%3A00%3A00.000Z&title=OGP%E3%82%B7%E3%82%A7%E3%82%A2URL%E6%94%B9%E5%96%84%E8%A8%88%E7%94%BB%20-%20SEO%E5%8A%B9%E6%9E%9C%E3%82%92%E6%9C%80%E5%A4%A7%E5%8C%96%E3%81%99%E3%82%8B%E8%A8%AD%E8%A8%88&author=Kei%20Komatsu&sig=b76c3a86f660c13c",1785654969289]