[{"data":1,"prerenderedAt":802},["ShallowReactive",2],{"content-/chrome-devtools-autoconnect-search-console":3,"all-pages-for-dir":800,"og-image-/chrome-devtools-autoconnect-search-console":801},{"id":4,"title":5,"body":6,"category":778,"description":779,"extension":780,"meta":781,"navigation":782,"ogImage":783,"path":784,"project_name":785,"published":786,"publishedAt":787,"seo":788,"stem":789,"tags":790,"todo":798,"unpublished":786,"updatedAt":783,"__hash__":799},"pages/2026-04/2026-03-31/chrome-devtools-autoconnect-search-console.md","Chrome DevTools MCP autoConnect設定とSearch Console 404対策の一日",{"type":7,"value":8,"toc":759},"minimark",[9,14,18,21,26,31,39,43,50,159,162,166,173,238,241,244,248,268,271,275,463,481,483,487,491,498,501,511,558,565,569,576,642,645,649,652,667,670,674,677,680,695,698,702,709,712,715,729,731,734,743,752,755],[10,11,13],"h1",{"id":12},"chrome-devtools-mcp-autoconnect設定とsearch-console-404対策","Chrome DevTools MCP autoConnect設定とSearch Console 404対策",[15,16,17],"p",{},"午前中はChrome DevTools MCPの接続方法を見直し、午後はSearch Consoleの404エラー317件を潰した。どちらも「動いているつもりで放置していた」設定が原因で、ログを開いて初めて問題の規模に気づいた。",[19,20],"hr",{},[22,23,25],"h2",{"id":24},"chrome-devtools-mcp-autoconnectへの移行","Chrome DevTools MCP: autoConnectへの移行",[27,28,30],"h3",{"id":29},"背景-テスト専用プロファイルの限界","背景: テスト専用プロファイルの限界",[15,32,33,34,38],{},"これまでChrome DevTools MCPは ",[35,36,37],"code",{},"--user-data-dir"," で専用プロファイルを起動し、ポート9223で接続していた。動くが、普段使いのChrome拡張（SSボタン等）が入っていない。拡張の操作を自動化したいなら、普段のGWS（Google Workspace）プロファイルのChromeに接続する必要がある。",[27,40,42],{"id":41},"試行1-browserurl-で既存chromeに接続失敗","試行1: --browserUrl で既存Chromeに接続（失敗）",[15,44,45,46,49],{},"普段のChromeはポート9222でリモートデバッグを有効にしている。",[35,47,48],{},"--browserUrl http://localhost:9222"," で接続できるはず――と設定を書いた。",[51,52,57],"pre",{"className":53,"code":54,"language":55,"meta":56,"style":56},"language-json shiki shiki-themes vitesse-light vitesse-light","{\n  \"command\": \"npx\",\n  \"args\": [\n    \"@anthropic-ai/chrome-devtools-mcp@latest\",\n    \"--browserUrl\", \"http://localhost:9222\"\n  ]\n}\n","json","",[35,58,59,68,98,113,126,147,153],{"__ignoreMap":56},[60,61,64],"span",{"class":62,"line":63},"line",1,[60,65,67],{"class":66},"shFtX","{\n",[60,69,71,75,79,82,85,89,93,95],{"class":62,"line":70},2,[60,72,74],{"class":73},"sqvqQ","  \"",[60,76,78],{"class":77},"sz8Xr","command",[60,80,81],{"class":73},"\"",[60,83,84],{"class":66},":",[60,86,88],{"class":87},"sMJiu"," \"",[60,90,92],{"class":91},"sdGka","npx",[60,94,81],{"class":87},[60,96,97],{"class":66},",\n",[60,99,101,103,106,108,110],{"class":62,"line":100},3,[60,102,74],{"class":73},[60,104,105],{"class":77},"args",[60,107,81],{"class":73},[60,109,84],{"class":66},[60,111,112],{"class":66}," [\n",[60,114,116,119,122,124],{"class":62,"line":115},4,[60,117,118],{"class":87},"    \"",[60,120,121],{"class":91},"@anthropic-ai/chrome-devtools-mcp@latest",[60,123,81],{"class":87},[60,125,97],{"class":66},[60,127,129,131,134,136,139,141,144],{"class":62,"line":128},5,[60,130,118],{"class":87},[60,132,133],{"class":91},"--browserUrl",[60,135,81],{"class":87},[60,137,138],{"class":66},",",[60,140,88],{"class":87},[60,142,143],{"class":91},"http://localhost:9222",[60,145,146],{"class":87},"\"\n",[60,148,150],{"class":62,"line":149},6,[60,151,152],{"class":66},"  ]\n",[60,154,156],{"class":62,"line":155},7,[60,157,158],{"class":66},"}\n",[15,160,161],{},"MCP serverは起動するが、ページ一覧の取得でエラーが出る。Chrome DevTools Protocol（CDP）のバージョン不整合か、WebSocket接続のハンドシェイクで詰まっているようだった。ログを睨んだが原因を特定できず、別のアプローチに切り替えた。",[27,163,165],{"id":164},"試行2-autoconnect-オプション成功","試行2: --autoConnect オプション（成功）",[15,167,168,169,172],{},"Chrome DevTools MCPのリポジトリを確認すると、",[35,170,171],{},"--autoConnect"," というオプションが追加されていた。Chrome M144以上で使える。手元のChromeはバージョン146。条件を満たしている。",[51,174,176],{"className":53,"code":175,"language":55,"meta":56,"style":56},"{\n  \"command\": \"npx\",\n  \"args\": [\n    \"@anthropic-ai/chrome-devtools-mcp@latest\",\n    \"--autoConnect\"\n  ]\n}\n",[35,177,178,182,200,212,222,230,234],{"__ignoreMap":56},[60,179,180],{"class":62,"line":63},[60,181,67],{"class":66},[60,183,184,186,188,190,192,194,196,198],{"class":62,"line":70},[60,185,74],{"class":73},[60,187,78],{"class":77},[60,189,81],{"class":73},[60,191,84],{"class":66},[60,193,88],{"class":87},[60,195,92],{"class":91},[60,197,81],{"class":87},[60,199,97],{"class":66},[60,201,202,204,206,208,210],{"class":62,"line":100},[60,203,74],{"class":73},[60,205,105],{"class":77},[60,207,81],{"class":73},[60,209,84],{"class":66},[60,211,112],{"class":66},[60,213,214,216,218,220],{"class":62,"line":115},[60,215,118],{"class":87},[60,217,121],{"class":91},[60,219,81],{"class":87},[60,221,97],{"class":66},[60,223,224,226,228],{"class":62,"line":128},[60,225,118],{"class":87},[60,227,171],{"class":91},[60,229,146],{"class":87},[60,231,232],{"class":62,"line":149},[60,233,152],{"class":66},[60,235,236],{"class":62,"line":155},[60,237,158],{"class":66},[15,239,240],{},"このオプションはCDP WebSocket経由ではなく、Chrome DevTools Protocolのpipe接続を使う。ポート番号の指定が不要になり、既に起動中のChromeインスタンスに自動接続する。",[15,242,243],{},"結果: 普段のGWSプロファイルのChromeに接続でき、SSボタン（Chrome拡張）のDOM操作にも成功した。",[27,245,247],{"id":246},"落とし穴-プロジェクトレベル設定がグローバルを上書きする","落とし穴: プロジェクトレベル設定がグローバルを上書きする",[15,249,250,251,254,255,257,258,260,261,264,265,267],{},"グローバルの ",[35,252,253],{},"~/.claude/settings.json"," に ",[35,256,171],{}," を追加して安心していたら、特定プロジェクトで古い ",[35,259,133],{}," 設定が残っていた。プロジェクトの ",[35,262,263],{},".claude/settings.local.json"," がグローバル設定を上書きするため、",[35,266,171],{}," が効かない。",[15,269,270],{},"対処: プロジェクトレベルのMCP設定を削除し、グローバル設定に一本化した。",[27,272,274],{"id":273},"最終構成-2つのmcp設定をグローバルに配置","最終構成: 2つのMCP設定をグローバルに配置",[51,276,278],{"className":53,"code":277,"language":55,"meta":56,"style":56},"{\n  \"mcpServers\": {\n    \"chrome-devtools\": {\n      \"command\": \"npx\",\n      \"args\": [\"@anthropic-ai/chrome-devtools-mcp@latest\", \"--autoConnect\"]\n    },\n    \"chrome-devtools-test\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"@anthropic-ai/chrome-devtools-mcp@latest\",\n        \"--browserUrl\", \"http://localhost:9223\"\n      ]\n    }\n  }\n}\n",[35,279,280,284,298,311,330,360,365,378,397,410,422,440,446,452,458],{"__ignoreMap":56},[60,281,282],{"class":62,"line":63},[60,283,67],{"class":66},[60,285,286,288,291,293,295],{"class":62,"line":70},[60,287,74],{"class":73},[60,289,290],{"class":77},"mcpServers",[60,292,81],{"class":73},[60,294,84],{"class":66},[60,296,297],{"class":66}," {\n",[60,299,300,302,305,307,309],{"class":62,"line":100},[60,301,118],{"class":73},[60,303,304],{"class":77},"chrome-devtools",[60,306,81],{"class":73},[60,308,84],{"class":66},[60,310,297],{"class":66},[60,312,313,316,318,320,322,324,326,328],{"class":62,"line":115},[60,314,315],{"class":73},"      \"",[60,317,78],{"class":77},[60,319,81],{"class":73},[60,321,84],{"class":66},[60,323,88],{"class":87},[60,325,92],{"class":91},[60,327,81],{"class":87},[60,329,97],{"class":66},[60,331,332,334,336,338,340,343,345,347,349,351,353,355,357],{"class":62,"line":128},[60,333,315],{"class":73},[60,335,105],{"class":77},[60,337,81],{"class":73},[60,339,84],{"class":66},[60,341,342],{"class":66}," [",[60,344,81],{"class":87},[60,346,121],{"class":91},[60,348,81],{"class":87},[60,350,138],{"class":66},[60,352,88],{"class":87},[60,354,171],{"class":91},[60,356,81],{"class":87},[60,358,359],{"class":66},"]\n",[60,361,362],{"class":62,"line":149},[60,363,364],{"class":66},"    },\n",[60,366,367,369,372,374,376],{"class":62,"line":155},[60,368,118],{"class":73},[60,370,371],{"class":77},"chrome-devtools-test",[60,373,81],{"class":73},[60,375,84],{"class":66},[60,377,297],{"class":66},[60,379,381,383,385,387,389,391,393,395],{"class":62,"line":380},8,[60,382,315],{"class":73},[60,384,78],{"class":77},[60,386,81],{"class":73},[60,388,84],{"class":66},[60,390,88],{"class":87},[60,392,92],{"class":91},[60,394,81],{"class":87},[60,396,97],{"class":66},[60,398,400,402,404,406,408],{"class":62,"line":399},9,[60,401,315],{"class":73},[60,403,105],{"class":77},[60,405,81],{"class":73},[60,407,84],{"class":66},[60,409,112],{"class":66},[60,411,413,416,418,420],{"class":62,"line":412},10,[60,414,415],{"class":87},"        \"",[60,417,121],{"class":91},[60,419,81],{"class":87},[60,421,97],{"class":66},[60,423,425,427,429,431,433,435,438],{"class":62,"line":424},11,[60,426,415],{"class":87},[60,428,133],{"class":91},[60,430,81],{"class":87},[60,432,138],{"class":66},[60,434,88],{"class":87},[60,436,437],{"class":91},"http://localhost:9223",[60,439,146],{"class":87},[60,441,443],{"class":62,"line":442},12,[60,444,445],{"class":66},"      ]\n",[60,447,449],{"class":62,"line":448},13,[60,450,451],{"class":66},"    }\n",[60,453,455],{"class":62,"line":454},14,[60,456,457],{"class":66},"  }\n",[60,459,461],{"class":62,"line":460},15,[60,462,158],{"class":66},[464,465,466,476],"ul",{},[467,468,469,472,473,475],"li",{},[470,471,304],"strong",{},": 普段使いのChromeに ",[35,474,171],{}," で接続。拡張の操作もできる",[467,477,478,480],{},[470,479,371],{},": テスト用の別プロファイル（ポート9223）。クリーンな環境が必要なとき用",[19,482],{},[22,484,486],{"id":485},"search-console-404対策","Search Console 404対策",[27,488,490],{"id":489},"現状把握-404が317件","現状把握: 404が317件",[15,492,493,494,497],{},"Search Consoleを開いたら、404エラーが317件積み上がっていた。原因を辿ると、",[35,495,496],{},"_redirects"," ファイルが2026年1月1日から更新されていなかった。その間に追加・移動した記事のURLが全てリダイレクトなしで404を返していた。",[27,499,500],{"id":500},"リダイレクト再生成",[15,502,503,506,507,510],{},[35,504,505],{},"generate-redirects.mjs"," を実行し、リダイレクトルールを1,567件に再生成した。手動で実行を忘れないよう、ビルドプロセスの ",[35,508,509],{},"postgenerate"," フックに組み込んだ。",[51,512,514],{"className":53,"code":513,"language":55,"meta":56,"style":56},"{\n  \"scripts\": {\n    \"postgenerate\": \"node generate-redirects.mjs\"\n  }\n}\n",[35,515,516,520,533,550,554],{"__ignoreMap":56},[60,517,518],{"class":62,"line":63},[60,519,67],{"class":66},[60,521,522,524,527,529,531],{"class":62,"line":70},[60,523,74],{"class":73},[60,525,526],{"class":77},"scripts",[60,528,81],{"class":73},[60,530,84],{"class":66},[60,532,297],{"class":66},[60,534,535,537,539,541,543,545,548],{"class":62,"line":100},[60,536,118],{"class":73},[60,538,509],{"class":77},[60,540,81],{"class":73},[60,542,84],{"class":66},[60,544,88],{"class":87},[60,546,547],{"class":91},"node generate-redirects.mjs",[60,549,146],{"class":87},[60,551,552],{"class":62,"line":115},[60,553,457],{"class":66},[60,555,556],{"class":62,"line":128},[60,557,158],{"class":66},[15,559,560,561,564],{},"これで ",[35,562,563],{},"nuxt generate"," を実行するたびにリダイレクトが自動生成される。1月からの3ヶ月間、手動実行を忘れ続けていた問題が再発しなくなる。",[27,566,568],{"id":567},"ソフト404対策-レスポンスステータスの修正","ソフト404対策: レスポンスステータスの修正",[15,570,571,572,575],{},"存在しないURLに対して200ステータスで空コンテンツを返していた（ソフト404）。",[35,573,574],{},"[...slug].vue"," にステータスコード設定を追加した。",[51,577,581],{"className":578,"code":579,"language":580,"meta":56,"style":56},"language-typescript shiki shiki-themes vitesse-light vitesse-light","// [...slug].vue\nif (!page.value) {\n  setResponseStatus(event, 404)\n}\n","typescript",[35,582,583,589,617,638],{"__ignoreMap":56},[60,584,585],{"class":62,"line":63},[60,586,588],{"class":587},"sxvE3","// [...slug].vue\n",[60,590,591,595,598,602,606,609,612,615],{"class":62,"line":70},[60,592,594],{"class":593},"sHkkW","if",[60,596,597],{"class":66}," (",[60,599,601],{"class":600},"stQ0i","!",[60,603,605],{"class":604},"s4oTP","page",[60,607,608],{"class":66},".",[60,610,611],{"class":604},"value",[60,613,614],{"class":66},")",[60,616,297],{"class":66},[60,618,619,623,626,629,631,635],{"class":62,"line":100},[60,620,622],{"class":621},"senZ8","  setResponseStatus",[60,624,625],{"class":66},"(",[60,627,628],{"class":604},"event",[60,630,138],{"class":66},[60,632,634],{"class":633},"sM54T"," 404",[60,636,637],{"class":66},")\n",[60,639,640],{"class":62,"line":115},[60,641,158],{"class":66},[15,643,644],{},"Googleはソフト404を検出するとクロールバジェットを浪費するため、正しい404を返すことでクロール効率が改善する。",[27,646,648],{"id":647},"テスト用空コンテンツの削除","テスト用・空コンテンツの削除",[15,650,651],{},"Search Consoleの404リストを見ていくと、テスト用に作って放置していたファイルが4件見つかった。",[464,653,654,659,664],{},[467,655,656],{},[35,657,658],{},"aaa.md",[467,660,661],{},[35,662,663],{},"test.md",[467,665,666],{},"他2件の空コンテンツ",[15,668,669],{},"いずれも中身がないか、テスト文字列だけのファイル。削除した。",[27,671,673],{"id":672},"todoページ99件にnoindex設定","TODOページ99件にnoindex設定",[15,675,676],{},"TODO（active/done/canceled）のステータスがついた記事が99ページあった。これらは内部的な作業管理用で、検索結果に出ても読者の役に立たない。",[15,678,679],{},"対応:",[464,681,682,689],{},[467,683,684,685,688],{},"該当ページに ",[35,686,687],{},"\u003Cmeta name=\"robots\" content=\"noindex\">"," を設定",[467,690,691,694],{},[35,692,693],{},"sitemap.xml"," の生成対象から除外",[15,696,697],{},"検索インデックスから段階的に消えるはず。",[27,699,701],{"id":700},"canonical-タグの実装","canonical タグの実装",[15,703,704,705,708],{},"同一コンテンツが複数URLで到達可能なケースがあった（日付パス付きと日付パスなし等）。",[35,706,707],{},"\u003Clink rel=\"canonical\">"," を全ページに追加し、正規URLを明示した。",[27,710,711],{"id":711},"リマインダー登録",[15,713,714],{},"対策の効果を確認するため、Google Calendarにリマインダーを2件登録した。",[464,716,717,723],{},[467,718,719,722],{},[470,720,721],{},"4月14日",": Search Consoleで404件数の減少を確認",[467,724,725,728],{},[470,726,727],{},"5月1日",": noindex設定したTODOページがインデックスから消えているか確認",[19,730],{},[22,732,733],{"id":733},"振り返り",[15,735,736,737,739,740,742],{},"午前のautoConnect設定は、",[35,738,133],{}," で30分ほど接続エラーのログを読み続けた末に ",[35,741,171],{}," に切り替えたら一発で繋がった。ドキュメントを先に読むべきだった。",[15,744,745,746,748,749,751],{},"午後のSearch Console対策は、3ヶ月間放置していた ",[35,747,496],{}," 未更新が根本原因。",[35,750,509],{}," に組み込んだことで、今後は「デプロイしたのにリダイレクトが古い」という事態が起きなくなる。",[15,753,754],{},"1日で2つの「放置していた問題」を片付けた。どちらも、仕組みに組み込む（autoConnectでポート管理不要にする、postgenerateで自動実行する）ことで再発を防いでいる。",[756,757,758],"style",{},"html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sqvqQ, html code.shiki .sqvqQ{--shiki-default:#99841877;--shiki-dark:#99841877}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}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 .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 .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 .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}",{"title":56,"searchDepth":70,"depth":70,"links":760},[761,768,777],{"id":24,"depth":70,"text":25,"children":762},[763,764,765,766,767],{"id":29,"depth":100,"text":30},{"id":41,"depth":100,"text":42},{"id":164,"depth":100,"text":165},{"id":246,"depth":100,"text":247},{"id":273,"depth":100,"text":274},{"id":485,"depth":70,"text":486,"children":769},[770,771,772,773,774,775,776],{"id":489,"depth":100,"text":490},{"id":500,"depth":100,"text":500},{"id":567,"depth":100,"text":568},{"id":647,"depth":100,"text":648},{"id":672,"depth":100,"text":673},{"id":700,"depth":100,"text":701},{"id":711,"depth":100,"text":711},{"id":733,"depth":70,"text":733},"dev","Chrome 146のautoConnectオプションで普段使いのプロファイルに接続する試行錯誤と、Search Console 404を317件→0件にするためのリダイレクト再生成・noindex設定・canonical実装の記録","md",{},true,null,"/chrome-devtools-autoconnect-search-console","mdx-playground",false,"2026-03-31T00:00:00.000Z",{"title":5,"description":779},"2026-04/2026-03-31/chrome-devtools-autoconnect-search-console",[791,792,793,794,795,796,797],"Chrome DevTools MCP","autoConnect","Search Console","SEO","リダイレクト","noindex","canonical","memo","4UdC1RI0LyJI9Fnc9K0NnX1uI5bbP9rloOy0rCPQok8",[],"https://log.eurekapu.com/og/blog/chrome-devtools-autoconnect-search-console.png?v=2026-03-31T00%3A00%3A00.000Z&title=Chrome%20DevTools%20MCP%20autoConnect%E8%A8%AD%E5%AE%9A%E3%81%A8Search%20Console%20404%E5%AF%BE%E7%AD%96%E3%81%AE%E4%B8%80%E6%97%A5&author=Kei%20Komatsu&sig=cbb834d525e1c73c",1782528822629]