Guide des statistiques et de l'analyse de texte : comptage des mots, temps de lecture et densité des mots-clés

Texte

Pourquoi avoir besoin de statistiques de texte ?

Scénario Métriques nécessaires
Optimisation SEO Nombre de mots, densité des mots-clés, lisibilité
Tarification du contenu Nombre de mots, temps de lecture
Travaux académiques Nombre de mots (chinois et anglais séparément)
Réseaux sociaux Nombre de caractères (limite 280/2000)
Devis de traduction Nombre de caractères/mots

Différences de comptage des mots entre le chinois et l'anglais

Problème central : le chinois n'a pas d'espaces pour séparer les mots

Anglais : Hello World → 2 mots (séparés par des espaces)
Chinois : 你好世界 → 4 caractères (comptage individuel) ou 2 mots (你好/世界) ?

Trois méthodes de comptage

Méthode Algorithme Résultat de « 你好World » Scénario applicable
Nombre de caractères Tous les caractères 7 Limites des réseaux sociaux
Nombre de caractères/mots Chinois par caractère, anglais par mot 6 (4 caractères + 2 mots) Tarification du contenu, SEO
Nombre d'octets Longueur d'encodage UTF-8 10 (4×3+2×1) Espace de stockage

Implémentation en JavaScript

function countText(text: string) {
  // 移除零宽字符
  const clean = text.replace(/[\u200B-\u200D\uFEFF]/g, '');

  // 字符数
  const charCount = clean.replace(/\s/g, '').length;

  // 中文字数
  const chineseChars = (clean.match(/[\u4e00-\u9fff]/g) || []).length;

  // 英文词数
  const englishWords = (clean.match(/[a-zA-Z]+/g) || []).length;

  // 数字组数
  const numbers = (clean.match(/\d+/g) || []).length;

  // 总字/词数
  const wordCount = chineseChars + englishWords + numbers;

  // 字节数(UTF-8)
  const byteCount = new TextEncoder().encode(clean).length;

  // 行数
  const!lineCount = clean.split(/\n/).filter(l => l.trim()).length;

  // 段落数
  const paragraphCount = clean.split(/\n\s*\n/).filter(p => p.trim()).length;

  return {
    charCount,
    wordCount,
    chineseChars,
    englishWords,
    numbers,
    byteCount,
    lineCount,
    paragraphCount,
  };
}

Estimation du temps de lecture

Formule de calcul

Vitesse de lecture en chinois : ~500 caractères/minute
Vitesse de lecture en anglais : ~200-250 mots/minute

Temps de lecture = Caractères chinois / 500 + Mots anglais / 225

Implémentation

function estimateReadingTime(text: string) {
  const chineseChars = (text.match(/[\u4e00-\u9fff]/g) || []).length;
  const englishWords = (text.match(/[a-zA-Z]+/g) || []).length;

  const minutes = chineseChars / 500 + englishWords / 225;

  if (minutes < 1) return '不到 1 分钟';
  if (minutes < 60) return `约 ${Math.ceil(minutes)} 分钟`;
  const hours = Math.floor(minutes / 60);
  const mins = Math.ceil(minutes % 60);
  return `约 ${hours} 小时 ${mins} 分钟`;
}

Vitesse de lecture selon le type de contenu

Type de contenu Vitesse en chinois Vitesse en anglais
Romans/essais 500-700 caractères/min 250-300 mots/min
Documentation technique 300-400 caractères/min 150-200 mots/min
Documents juridiques 200-300 caractères/min 100-150 mots/min
Réseaux sociaux 600-800 caractères/min 300+ mots/min

Analyse de la densité des mots-clés

Qu'est-ce que la densité des mots-clés ?

Densité des mots-clés = Nombre d'occurrences du mot-clé / Nombre total de mots × 100 %

Exemple :
Nombre total de mots : 500
« 前端 » apparaît 15 fois
Densité = 15 / 500 × 100 % = 3 %

Densité recommandée pour le SEO

Densité Évaluation
< 1 % Trop faible, les moteurs de recherche peuvent l'ignorer
1-3 % ✅ Plage optimale
3-5 % Un peu élevée, attention à la naturalité
> 5 % ❌ Bourrage de mots-clés, risque de pénalité

Implémentation

function analyzeKeywordDensity(text: string, keyword: string) {
  const regex = new RegExp(keyword, 'gi');
  const occurrences = (text.match(regex) || []).length;

  const chineseChars = (text.match(/[\u4e00-\u9fff]/g) || []).length;
  const englishWords = (text.match(/[a-zA-Z]+/g) || []).length;
  const totalWords = chineseChars + englishWords;

  const density = (occurrences / totalWords) * 100;

  return {
    keyword,
    occurrences,
    totalWords,
    density: density.toFixed(2) + '%',
    evaluation: density < 1 ? '过低' : density <= 3 ? '最佳' : density <= 5 ? '偏高' : '堆砌',
  };
}

Score de lisibilité du texte

Flesch Reading Ease (anglais)

Score = 206,835 - 1,015 × (Nombre total de mots / Nombre total de phrases) - 84,6 × (Nombre total de syllabes / Nombre total de mots)

Échelle de référence :
90-100  Très facile (CM2)
60-70   Standard (4ème-3ème)
30-50   Assez difficile (étudiants)
0-30    Très difficile (académique professionnel)

Lisibilité en chinois

Le chinois n'a pas de concept de syllabe, on utilise donc généralement la longueur moyenne des phrases :

function chineseReadability(text: string) {
  const sentences = text.split(/[。!?;\n]/).filter(s => s.trim());
  const chineseChars = (text.match(/[\u4e00-\u9fff]/g) || []).length;

  const avgSentenceLength = chineseChars / sentences.length;

  if (avgSentenceLength <= 15) return { score: '易读', level: '大众' };
  if (avgSentenceLength <= 25) return { score: '适中', level: '标准' };
  if (avgSentenceLength <= 40) return { score: '较难', level: '专业' };
  return { score: '难读', level: '学术' };
}

Utilisation de l'outil de statistiques de texte

  1. Ouvrez l'Outil de comptage de mots
  2. Collez ou saisissez le texte
  3. Affichage automatique : nombre de caractères, nombre de mots, nombre de lignes, nombre de paragraphes, temps de lecture
  4. Prise en charge des statistiques mixtes chinois-anglais

Optimisation pratique des textes SEO

1. Longueur du titre

// Google affiche environ 60 caractères (30 caractères chinois)
function checkTitle(title: string) {
  const length = title.length;
  return {
    length,
    status: length <= 60 ? '✅' : '❌ 超过 60 字符',
  };
}

2. Longueur de la description

// Google affiche environ 160 caractères (80 caractères chinois)
function checkDescription(desc: string) {
  const length = desc.length;
  return {
    length,
    status: length <= 160 ? '✅' : '❌ 超过 160 字符',
  };
}

3. Longueur du corps du texte

Type de page Nombre de mots recommandé
Articles de blog 1500-3000 mots
Pages produit 300-800 mots
Page d'accueil 300-500 mots
Tutoriels 2000+ mots

4. Distribution des mots-clés

✅ Bonne distribution :
  Le titre contient le mot-clé
  Le premier paragraphe contient le mot-clé
  Apparaît naturellement 3 à 5 fois dans le corps
  Les sous-titres H2/H3 contiennent des variantes

❌ Mauvaise distribution :
  Le mot-clé est répété dans chaque paragraphe
  Le mot-clé n'a aucun lien avec le contexte
  Du texte caché est utilisé pour le bourrage

Questions fréquentes

Pourquoi les statistiques de Word et des outils en ligne ne correspondent-elles pas ?

Les règles de « comptage des mots » de Word peuvent différer de celles des outils en ligne :

  • Word 2019+ compte le chinois par « caractères »
  • Certains outils comptent le chinois par « caractères »
  • Il est recommandé d'utiliser un seul outil de manière cohérente pour éviter les litiges de tarification

Comment calculer le taux de commentaires dans le code ?

function commentRate(code: string, language: string) {
  const totalLines = code.split('\n').length;
  let commentLines = 0;

  if (language === 'javascript') {
    const singleLineComments = (code.match(/\/\/.*/g) || []).length;
    const multiLineComments = (code.match(/\/\*[\s\S]*?\*\//g) || []).length;
    commentLines = singleLineComments + multiLineComments;
  }

  return (commentLines / totalLines * 100).toFixed(1) + '%';
}

Résumé

Les statistiques de texte semblent simples, mais recèlent des subtilités : le comptage mixte chinois-anglais, l'estimation du temps de lecture et l'analyse de la densité des mots-clés ont chacun leurs particularités. Maîtriser ces métriques vous permettra d'avoir des certitudes, que ce soit pour l'optimisation SEO, la tarification du contenu ou les devis de traduction. L'Outil de comptage de mots de Tools Ku vous permet d'obtenir toutes les métriques en un clic, pour que vous puissiez vous concentrer sur la création de contenu.

#文本统计#字数统计#阅读时间#文本分析#教程