SEOコンテンツの読解学年レベルを判定
SEOコンテンツ読解学年チェッカーは、ページ本文を米国の学校学年に相当するレベルへ換算し、指定された読者層の上限と直ちに比較します。一般的な読みやすさ指数を解釈する必要はありません。編集担当者は、合格または要確認の明確な判定と、その根拠となる文数、単語数、音節数を確認できます。計算は決定論的でネットワークを使わないため、公開前に常に同じ基準を適用できます。
無料で実行
実際の読者に合う学年目標を設定します
読みやすさの目標は、執筆者の学歴やテーマの難しさではなく、ページを読んで行動する方々を基準にすると役立ちます。一般消費者向けページでは、訪問者が短時間で流し読みし、小さな画面を使う場合もあるため、次の手順の理解に専門知識を求めない低めの目標が適しています。一方、意味を損なわずに必須用語を簡略化できない専門家向けまたは技術者向けの内容では、高めの目標が妥当です。上限をゼロから二十までの target_grade に指定してください。本ツールはこれを上限として扱い、計算結果が上回った場合だけ警告します。そのため、同じ条件で繰り返せる編集ゲートとして利用できます。目標と同じページは合格し、超過したページは見直し対象です。商品ページ、サポート記事、方針説明など、コンテンツ群ごとに一つの目標を文書化してください。一貫した目標によって比較が有効になり、結果を見てから基準を変えることも防げます。この数値は読者の知性ではなく、文章の処理に必要な負担を表します。
学年レベルの計算方法を確認します
この機能は、入力された本文に Flesch–Kincaid 学年レベル式を適用します。終止記号のある文、英単語、推定音節を数え、平均文長と単語当たりの平均音節数を組み合わせます。一般に、長い文や音節の多い単語ほど学年レベルが上がります。出力には、丸めた grade_level、実際に使用した target_grade、exceeds_target、および計算に使った件数と平均値が含まれます。したがって、編集後にレベルが上がった場合、文長と単語の複雑さのどちらが変化したかを確認できます。文がなければ有効な平均を算出できないため、終止記号は必須です。完結した文がないテキストには、仮の分母を使わず入力エラーを返します。音節は決定論的な英語向け規則で推定するため、固有名詞、略語、珍しい語彙は辞書と一致しない場合があります。ただし同じ方法で草稿を比較する際には予測可能です。ナビゲーション、マークアップ、コードではなく、整えた表示本文を入力してください。無関係な画面文言はページ全体の結果をゆがめます。
判定を実用的な編集工程に組み込みます
文章構成の編集後、最終承認の前に実行してください。完成したレイアウトを崩さずに文を修正できる段階が適切です。exceeds_target が false の場合は、その版が読者基準を満たした証拠として結果を草稿とともに保存します。true の場合は、まず長い文を確認し、詰め込まれた考えを分け、不要な名詞化を改め、専門用語を近くで平易に説明してください。修正版を再送し、学年レベルと補助平均の両方を比較します。必要な条件を削ったり、すべての文を断片にしたりして、低い数値だけを追わないでください。読みやすさの式が測るのは言語の形であり、正確性、語調、アクセシビリティ、説得力、検索意図ではありません。合格判定は人による確認を補助しますが、置き換えるものではありません。自動公開では、真偽値を黙って書き換えたり却下したりする用途ではなく、確認依頼にお使いください。API料金は1項目あたり$0.002です。ネットワーク、乱数、時刻を使わないため、同じ入力と目標からは常に同じ出力が得られます。
活用例
CMSで読者基準を統一します
コンテンツ種別ごとの学年上限で各ページを確認し、超過した草稿だけを編集担当者へ戻します。
原文と書き直しを比較します
同じ目標で両方を測り、文長と音節の平均から、簡略化によって難度が下がったか確認します。
重要なランディングページを監査します
検索上重要なページ本文を採点し、見込み客向けの上限を超えたページから改善します。
よくある質問
どの読みやすさ計算式を使用しますか?
英単語と音節を決定論的に数え、Flesch–Kincaid 学年レベル式を使用します。
文章に文がない場合はどうなりますか?
文を基準とする学年計算には終止記号が必要なため、入力エラーを返します。
結果が目標と同じ場合も警告されますか?
いいえ。grade_level が target_grade を厳密に上回る場合だけ exceeds_target が true になります。
合格すればSEOに優れた内容だと証明できますか?
いいえ。測定対象は読解難度だけです。正確性、有用性、意図、アクセシビリティ、検索成果は別途確認が必要です。
1回の料金はいくらですか?
1項目あたり$0.002です。決定論的な計算なので、繰り返しの編集確認に適しています。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/seo/readability-grade \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Clear writing helps readers. Short sentences make ideas easier to follow."}'const res = await fetch("https://api.kit.forhosting.com/seo/readability-grade", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Clear writing helps readers. Short sentences make ideas easier to follow."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/seo/readability-grade",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Clear writing helps readers. Short sentences make ideas easier to follow."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/seo/readability-grade", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Clear writing helps readers. Short sentences make ideas easier to follow."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Clear writing helps readers. Short sentences make ideas easier to follow."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/seo/readability-grade", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Clear writing helps readers. Short sentences make ideas easier to follow."
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "seo.readability_grade",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |