この記事のまとめ
サーチコンソール(Search Console)のCSVが文字化けするのは、GoogleがUTF-8で書き出すのに対し、日本語環境のExcelがCSVをShift_JIS(CP932)として読もうとするためです。「表示回数」が「陦ィ遉コ蝗樊焚」のようになります。URLと数字は無事で日本語だけ壊れているなら、この化け方です。直し方は3つ。Excelの「データ」タブから文字コードを指定して取り込む、Googleスプレッドシートで開く、メモ帳などでUTF-8(BOM付き)として保存し直す。画面で化けていても、ファイルの中の数字そのものは壊れていません。ただし化けた表示のまま上書き保存すると、元に戻せなくなることがあります。
サーチコンソールから落としたCSVをExcelで開いたら、日本語が「陦ィ遉コ蝗樊焚」のような記号の羅列になっていた。あるいは1列目の見出しだけ「上位のページ」の前に変な文字が付いている。どちらもよくある文字化けで、ファイルが壊れたわけではありません。
原因は1つです。CSVというファイル形式は、自分が何の文字コードで書かれているかを名乗りません。だから開く側が推測し、推測を外すと化けます。仕組みが分かれば直し方も選べるので、まず仕組みから書きます。
化けたファイルをそのまま読み込めるツールも作りましたが、Excelで直す方法から先に書きます。自分で直せたほうが早い場面もあります。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。
なぜサーチコンソールのCSVは文字化けするのか
CSVの中身は、ただのテキストです。テキストは最終的に数字の並び(バイト列)としてファイルに保存されます。「この数字はこの文字」という対応表が文字コードで、書いたときと読むときで別の表を使うと、別の文字になります。
サーチコンソールが書き出すCSVはUTF-8です。一方、日本語環境のExcelは、CSVファイルをダブルクリックで開くとき Shift_JIS(CP932)として解釈することがあります。この食い違いが文字化けの正体です。
具体的に見たほうが早いと思います。「表」という字を例にします。
「表示回数」をUTF-8で保存したときの中身(16進数) e8 a1 a8 e7 a4 ba e5 9b 9e e6 95 b0 表 示 回 数 ← 1文字が3バイト これをShift_JISの対応表で読むと e8 a1 → 陦 a8 → ィ e7 a4 → 遉 ba → コ ... 結果: 陦ィ遉コ蝗樊焚
ポイントは、文字の区切り位置がずれることです。UTF-8では漢字1文字が3バイトですが、Shift_JISでは2バイトです。読む側が2バイトずつ切っていくので、1文字目からずれて、そのあとが連鎖的に全部ずれます。だから一部だけ化けるのではなく、日本語がまるごと別物になります。
| 本来の文字 | Shift_JISとして読んだ結果 |
|---|---|
| 表示回数 | 陦ィ遉コ蝗樊焚 |
| ブログ | 繝悶Ο繧ー |
| 検索 | 讀懃エ「 |
| CTR / 1234 / https:// | そのまま。化けない |
表の細かい見え方は環境で少し変わります。Shift_JISの対応表に無いバイトが出ると、そこは「?」や別の記号になるためです。それでも「日本語だけが壊れて、英数字と記号は無事」という特徴は変わりません。
URLと数字が無事なら、データは壊れていない
ここが実務上いちばん重要なところです。アルファベット・数字・記号は、UTF-8でもShift_JISでも同じ1バイトで表されます。だから化けません。
サーチコンソールのページCSVに入っているのは、URL・クリック数・表示回数・CTR・掲載順位です。このうち日本語なのは、1行目の見出しだけです。2行目以降は URL と数字なので、見出しが化けていても中の数字は読めます。
例外は、URLに日本語がそのまま入っているサイトです。その場合はURLも同じように壊れて見えます。ただ多くのサイトでは、URLの日本語は%E3%81%82 のような英数字の並び(パーセントエンコード)に変換されているので、そのまま読めます。
もう一つの化け方 ―「上位のページ」の前に見えない文字が付く
全部が化けるのではなく、1列目の見出しだけがおかしいことがあります。画面上は「上位のページ」に見えるのに、ツールに読ませるとその列だけ認識されないというやつです。
これはBOM(バイトオーダーマーク)という、ファイルの先頭に付く3バイトの目印が原因です。
サーチコンソールが出したCSV(BOM無し) 上位のページ,クリック数,表示回数,CTR,掲載順位 ExcelでUTF-8として保存し直したCSV(BOM付き) [EF BB BF]上位のページ,クリック数,表示回数,CTR,掲載順位 ↑この3バイトは画面に表示されない
BOMは「このファイルはUTF-8です」と名乗るための目印で、Excelに正しく開かせたいときには役に立ちます。ところが目印だと知らないプログラムは、これを見出しの一部として読みます。その結果、1列目の名前が「上位のページ」ではなく「見えない文字 + 上位のページ」という別の文字列になり、列の照合に失敗します。
人間の目には違いが見えないのが、この問題の厄介なところです。「どう見ても合っているのに弾かれる」ときは、たいていこれです。

サーチコンソールのCSVの文字化けを直す3つの方法
どれを選んでもかまいません。手元にある道具で決めてください。
| 方法 | 向いている人 | 手間 |
|---|---|---|
| Excelで文字コードを指定して取り込む | Excelで作業を続けたい | 数クリック |
| Googleスプレッドシートで開く | Googleアカウントがある | いちばん速い |
| UTF-8(BOM付き)で保存し直す | そのファイルを何度も開く | 1回だけ |
方法1: Excelの「データ」タブから文字コードを指定して取り込む
ダブルクリックで開くのをやめるのがコツです。ダブルクリックだとExcelが文字コードを推測しますが、取り込み機能を使えば、こちらから指定できます。
- Excelで空のブックを開く
- 「データ」タブから、テキストファイル/CSVを取り込むメニューを選ぶ
- 化けているCSVを選ぶ
- プレビュー画面で文字コード(元のファイル)を「UTF-8」に変える
- プレビューの日本語が読めるようになったら読み込む
メニューの名前はExcelのバージョンで違います。「テキストまたはCSVから」「外部データの取り込み」「テキストファイル」など、呼び方が変わっているので、「データ」タブの中でCSVを指すものを探してください。やっていることはどれも同じで、文字コードをこちらが指定するだけです。
プレビューで日本語が読めているかを必ず確認してください。ここで読めていなければ、読み込んでも読めません。
方法2: Googleスプレッドシートで開く
いちばん速い方法です。Googleスプレッドシートは文字コードを自動で判別します。新しいスプレッドシートを作り、「ファイル」からインポートを選んでCSVを指定するだけです。ドライブにアップロードしてから開いても同じです。
サーチコンソールのCSVはUTF-8なので、たいていそのまま読めます。Googleが出したファイルをGoogleのツールで開いているので、当然といえば当然です。
ただしZIPのままではインポートできません。先に解凍して、中のCSVを指定してください。
方法3: UTF-8(BOM付き)で保存し直す
そのファイルをこれから何度もExcelで開くなら、これが根本的です。ファイルの先頭に「これはUTF-8です」という目印(BOM)を付けておくと、 Excelが推測に失敗しなくなります。
- CSVをメモ帳などのテキストエディタで開く(ここでは日本語が正しく読めるはずです)
- 「名前を付けて保存」を選ぶ
- 文字コードの欄で「UTF-8(BOM付き)」を選んで保存する
- 保存したファイルをExcelで開く
メモ帳で開いた時点で日本語が読めるのが正常です。テキストエディタはUTF-8を素直に読むので、ここで化けていたら別の問題を疑ってください。
BOM付きを選ぶ理由は、Excelがそれを見てUTF-8だと判断できるからです。逆に言うと、BOMを読み飛ばさないツールに渡すと、さっき書いた「1列目だけおかしい」が起きます。Excelのために付けた目印が、別の場所で邪魔になるという関係です。
やってはいけないこと
化けた表示のまま、上書き保存しないでください。
開いただけなら、ファイルの中身は無傷です。間違った表で読んでいるだけで、バイト列は元のままだからです。ところがそこで保存すると、画面に見えている化けた文字がそのまま書き込まれます。
しかも化けた文字の一部は「?」などに置き換わっていることがあり、その場合は元の情報が消えます。もう戻せません。
- 化けたまま保存する — 元に戻せなくなることがある
- 化けたまま .xlsx で保存する — 化けた文字がExcel形式で固定される
- 「壊れた」と思ってエクスポートし直す — 同じファイルが落ちてくるので、同じことが起きる
いちばん安全なのは、化けたファイルには触らず、別の開き方で開き直すことです。上の3つの方法は、どれも元ファイルを書き換えません(方法3だけは別名で保存してください)。
文字化けしたCSVでも、判定に必要な数字は読める
リライトする記事を選ぶときに使うのは、次の4つです。
- URL — どのページか
- 表示回数 — 判断材料が足りているか(目安は100回以上)
- CTR — クリックされている割合
- 掲載順位 — 期待CTRを引き当てるための位置
全部、数字とURLです。つまり文字化けしていても、列の位置さえ分かれば判断はできます。化けているのは1行目の見出しだけで、列の順番は「URL、クリック数、表示回数、CTR、掲載順位」で固定です。
とはいえ、見出しが読めない表で作業するのは間違いのもとです。直せるなら直したほうがいいのは確かです。
4つの数字をどの順に見るかはサーチコンソールの見方、どの期間で落とすかは「ページ」CSVはどの期間で落とすかに書いています。
文字化けを直したあと、何をするか
CSVが読めるようになったら、次はどの記事を直すかを決める工程です。やることは決まっています。
- 掲載順位から、その順位で期待できるCTRを引き当てる
- 実際のCTRとの差を出す
- 差に表示回数を掛けて、取りこぼしているクリック数を出す
- その数字の大きい順に直す
手順はリライトする記事の見つけ方に全部書いています。スプレッドシートで再現できます。
ただ、文字化けを直して、列を整えて、期待CTRの表を作って、記事の数だけ計算する。ここまでで手が止まる人が多いのも事実です。
化けたCSVをそのまま読んで判定するツールも作ったので、面倒なら使ってください。詳しくは記事の最後に書きます。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。
よくある質問
Excelで開いたら文字化けしていました。ファイルは壊れましたか
開いただけなら壊れていません。文字化けは「間違った対応表で読んでいる」だけの状態で、ファイルの中のバイト列は元のままです。別の開き方で開き直せば、正しく読めます。
ただし化けた状態で上書き保存すると、そのときは本当に書き換わります。保存せずに閉じて、この記事の3つの方法のどれかで開き直してください。
「上位のページ」の前に見たことのない文字が付いています
BOMという、ファイルの先頭に付く3バイトの目印です。ExcelでUTF-8として保存し直したときなどに付きます。データそのものには影響しません。
気になる場合は、テキストエディタで「UTF-8(BOM無し)」を選んで保存し直せば消えます。BOMを読み飛ばして処理するツールなら、付いたままでも問題ありません。
ZIPを解凍したら、中のファイル名まで化けています
ZIPはファイル名も文字コードの影響を受けます。「ページ.csv」が「繝壹?シ繧ク.csv」のようになることがあります。中身が壊れているわけではないので、開けば読めます。
解凍ソフトを変えると直ることがありますが、ファイル名が化けても、中身を1つずつ開けば見分けはつきます。列の1行目が「上位のページ」で始まるものが、ページ単位のCSVです。
まとめ
- 原因はUTF-8で書かれたCSVを、Shift_JISとして読んでいること。文字の区切り位置がずれて、日本語が連鎖的に壊れる
- URLと数字が無事で日本語だけ壊れているなら、この化け方。データそのものは壊れていない
- 1列目だけおかしいときはBOM。先頭の見えない3バイトが見出しの一部として読まれている
- 直し方は3つ。Excelの「データ」タブから文字コード指定 / Googleスプレッドシートで開く / UTF-8(BOM付き)で保存し直す
- 化けた表示のまま上書き保存しない。元に戻せなくなることがある
文字化けは、ファイルの故障ではなく読み方の食い違いです。そう分かってしまえば、どの方法で直しても同じところに着地します。
ここから先は、私が作ったツールの話です。
文字化けで手が止まるのが嫌だったので、化けたままのファイルでも読めるように作りました。UTF-8(BOM付き・BOM無し)・Shift_JIS(CP932)・UTF-16 に対応していて、 BOMは読み飛ばします。ZIPのまま落として、そのまま渡せます(解凍もファイル選びも要りません)。 ZIPの中のファイル名が化けていても、中身を見て判定に使えるものを選びます。
読み込んだあとは、掲載順位4.0〜20.5位・表示回数100回以上のページだけを対象に、順位から期待できるCTRとの差に表示回数を掛けて、改善余地スコアの大きい順に並べます。判定と候補3記事の改善余地スコアの確認、そのうち1記事分の診断カードまでは無料で、残りの診断カードが2,980円(税込)の買い切りです。月額課金や自動更新はありません。ログインも不要です。
CSVファイルそのものはブラウザの外に出ませんが、診断カードを出すときだけ、選んだ1ページぶんの数値(URL・キーワード・順位・表示回数・CTR)を送ります。タイトルを自動取得するボタンを押した場合は、最大10件のURLを送ります。
⚠️ 向かない場合もあります。Excelで開いて .xlsx として保存し直したファイルは読めません(CSVのまま渡してください)。また表示回数が少ないブログでは、判定できるページが出ません。100回未満だとCTRが偶然で振れるためです。まずは記事を増やすほうが先の段階なら、このツールは向きません。
Search ConsoleのZIPを読み込むと、候補の判定と1記事分の診断カードを無料で確認できます。登録は不要です。ZIPが無い場合は、診断カードの見本を確認できます。

