英語基準のSEOツールは日本語サイトを誤判定する——タイトルを全角で数える診断ツールと、その入手経路4つ
名古屋でAIシステム開発の会社をやっています。Kurage SEO(kseo)という日本語サイト向けの技術SEO診断ツールを作りました。この記事は設計判断と入手経路の話です。
解いている問題
一般的なSEOチェックツールは、タイトルを「60文字以内」で判定します。これは半角英数字の基準です。
日本語のタイトルを同じ物差しで測ると、実際には検索結果で切れているのに「問題なし」と出ます。 日本語は全角で数えないと合いません。
自作ツールで自社サイトを測って、公開したばかりのページで見つけました。
名古屋のAI-IT顧問契約|エンジニアを雇わずに情報システム部門を持つ(月15時間・税別15万円・名古屋市内限定) | 株式会社エクスブリッジ
→ 全角換算65文字
検索結果では「…情報システム部門を…」で切れます。いちばん伝えたい「月15時間・税別15万円」は、誰にも見えていませんでした。英語基準のツールでは、これは警告になりません。
数え方を変えた
全角を1文字、半角を0.5文字として数え、切り上げます。
def visible_length(text): # 全角=1.0、半角=0.5
TITLE_MAX = 32 # 日本語のタイトルはこのあたりで切れ始める
DESC_MAX = 120
「AI活用」は3文字(A+I=1.0、活+用=2.0)。英数字混じりの日本語タイトルを、半角基準でも全角基準でも誤らずに測るための近似です。
日本語サイトでだけ起きる問題
数え方以外にも、英語圏のツールが見ない項目があります。
- lang属性の不一致 — 本文は日本語なのに
<html lang="en">。海外テンプレート由来のサイトで起きます - 文字コード宣言 —
<meta charset>とhttp-equiv="Content-Type"は両方とも正しい書き方です - 文字化け — 宣言と実体の食い違い
- タイトルの全角英数字 — 「AI活用」は半角で検索する人と一致しにくくなります
判定にAIを使わない
同じページを2回見て違う答えが出る道具は、監査として使えません。「直したのに点が下がった」が起きるからです。
判定はすべて閾値との比較で、入力が同じなら出力も同じになります。言語モデルを使うのは改善案の文章を書くところだけで、そこにも実測済みの指摘しか渡していません。
順位・検索ボリューム・被リンクは出しません。他社のインデックスを買わないと取れないので、扱わない範囲だと決めました。持っていないデータをそれらしく見せないためです。
自分で出した誤検知2件
作った道具で自社サイトを測って、間違った警告を2回出しました。
①「charset宣言なし」 — <meta charset="utf-8"> の形しか見ておらず、http-equiv="Content-Type" 形式を見落としていました。古いサイトほどこちらが多いので、軒並み誤検知になります。
②「canonicalが別ページを指している」 — /index.html から / へのcanonicalは正しい作法です。URLの文字列だけを比べたのが間違いでした。
誤検知がなぜまずいか。正しく作られているものを「直せ」と言うからです。 言われた側は正しいものを壊しに行きます。踏んだ誤検知は全部テストに残す運用にしました。
2つの実装を、同じ点数に揃える
常時稼働のPython版と、レンタルサーバー用の1ファイルPHP版(1,483行)があります。規則ID・閾値・採点式を揃えてあり、同じURLで同じ点が出ます。
突き合わせたら、実際に食い違いが1件出ました。PHPのround(98.5)は99、Pythonは銀行家丸めで98。 Python側を切り上げに統一し、実サイト4件(自社2件・外部2件)で総合点・カテゴリ別・検出規則まで一致することを確認しています。
動作環境
PHP版はPHP 8.0以上が動くレンタルサーバー。データベース・Composer・npmは不要です。Python版はPython 3.10以上。
入手経路4つ
経路1: 無料(GitHub・MIT)
コードは公開しています。どの数字をどう測って何点になるのかを、買う前に確かめられます。
経路2: Webで試す(月3回まで無料)
Xでログインすれば、登録も支払いもなしで診断できます。まず自社サイトを1回測ってみてください。
経路3: 製品として買う 55,000円(買い切り)
自社サーバーで動かすので、回数もページ数も制限がありません。制作会社の方が、お客様のサイトを何度でも診断して診断書を出す使い方です。月額はありません。
経路4: 自社の要件に合わせて作ってもらう 110,000円〜
もう一方の検索も測る
検索はGoogleと生成AIの2つに割れました。自社ログを42日分数えたら、16回に1回はAIクローラーが読みに来ていました(118,867リクエスト中6.3%)。Google Analyticsはボットを除外するので、この分は1件も出てきません。
意外だったのは内訳です。meta-externalagentが4,482回、ClaudeBotが2,020回に対し、いちばん話題になるGPTBotは66回でした。GPTBotだけを見てrobots.txtを決めると、実際に最も読んでいる相手を見落とします。
こちらは ktrackgeo で測っています。両方の手順を1本にまとめた構築手順書が、上の経路3のBrain記事です。
まとめ
- 日本語のタイトルは全角32文字で切れ始める。半角60文字の基準を当てると誤判定する
- 判定にAIを使わない。同じページで違う答えが出る道具は監査にならない
- 持っていないデータ(順位・ボリューム・被リンク)は出さない
- 誤検知は「正しいものを壊させる」ので、踏んだら必ずテストに残す