چگالی کلمه کلیدی محاسبهاش ساده است و هر کسی ممکن است آن را متفاوت از همکار کنار دستش حساب کند. در خروجی خودِ سرچ کنسول ما، پرسشهای مربوط به تحلیلگر چگالی و اسکریپت تحلیلگر حدود هفتاد نمایش میان رتبههای چهارده تا بیستوچهار جمع کردند و حتی یک کلیک هم نگرفتند؛ همان اتفاقی که میافتد وقتی صفحات رتبهگرفته نه فرمول را توضیح میدهند نه کد را.
پس این همان آموزشی است که آن پرسشها دنبالش بودند: چگالی در واقع چه چیزی را میسنجد، حساب و کتاب آن قدمبهقدم، اسکریپتی که میتوانید در یک مرحله بیلد جا بگذارید، و برآوردی صادقانه از اینکه عددِ حاصل چقدر میارزد.
چگالی کلمه کلیدی چیست؟
چگالی کلمه کلیدی سهمی است که یک عبارت انتخابشده از کلمات قابلنمایش یک صفحه میگیرد و بهصورت درصد بیان میشود. اگر عبارت هدف شما در صفحهای با هفتصد کلمه هشت بار آمده باشد، چگالی یعنی هشت تقسیم بر هفتصد، ضرب در صد: حدود ۱٫۱۴ درصد.
سه قید است که تمام معنا را حمل میکند. کلمات قابلنمایش یعنی متنی که خواننده واقعاً میبیند: متن بدنه، سرفصلها، موارد فهرست، زیرنویسها. برچسبهای ناوبری، پیوندهای پابرگ، ویژگیهای alt و دادههای ساختیافته از مخرج بیرون میمانند، مگر اینکه خلافش تصمیم بگیرید؛ به همین دلیل دو تحلیلگر میتوانند برای یک URL عددهای متفاوتی گزارش کنند.
عبارت انتخابشده یعنی واحد را خودتان انتخاب کردهاید. چگالی تکواژه shoes و چگالی عبارت running shoes دو اندازهگیری جداگانه از یک صفحهاند و ابزاری که اجازه انتخاب واحد نمیدهد عددی برمیگرداند که قابلتفسیر نیست. درصد صرفاً یک نسبت است و نسبت بهتنهایی نظری ندارد: کنار صفحات دیگرتان، کنار پیشنویس قبلی یا کنار برداشت خواننده از طبیعیبودن معنا پیدا میکند.
چگونه چگالی کلمه کلیدی را محاسبه کنیم؟
تعداد دفعاتی را که عبارت هدف آمده بر کل کلمات همان متن تقسیم کنید و در صد ضرب کنید. شش بار تکرار در چهارصد و هشتاد کلمه یعنی شش تقسیم بر چهارصد و هشتاد، ضرب در صد: دقیقاً ۱٫۲۵ درصد.
این همان فرمول است و پیش از خودکارکردنش ارزش دارد که با دست بنویسیدش، چون هر حالت مبهم در یکی از همان دو ورودی جا گرفته است. دفعات تکرار: برای عبارت چندکلمهای هر تطبیق را یکبار بشمارید، پس شش تطبیق یک عبارت دوکلمهای شش است، نه دوازده. کل کلمات: توکنها را پس از نرمالسازی بشمارید، نه نویسهها را، و صریحاً تصمیم بگیرید که اعداد تنها هم شمرده شوند یا نه.
این تصمیم دومی است که مردم کنار میگذارند. فرمول را بهجای یکبار برای کل صفحه، برای هر فیلد اجرا کنید، چون صفحه یکپارچه متن نیست:
density = (occurrences / totalWords) * 100
(6 / 480) * 100 = 1.25%
title tag 2 / 60 words = 3.33%
meta description 3 / 155 words = 1.94%
H1 1 / 9 words = 11.11%
body 6 / 480 words = 1.25%
عدد سطحصفحه ۱٫۲۵ درصد و عدد H1 برابر ۱۱٫۱۱ درصد هر دو درستاند اما معنای متفاوتی دارند. گزارشدادن یک عدد برای کل صفحه این تفاوت را دور میریزد.
یک اسکریپت باید کلمات و عبارتها را چگونه بشمارد؟
اول نرمال کنید، بعد بشمارید. متن را با حروف کوچک درآورید، نشانهگذاری را حذف کنید، فاصلههای اضافه را جمع کنید، به توکنبندید و عبارت را روی همان آرایه توکن تطبیق دهید، نه روی رشته خام. شمارش HTML خام، ویژگیها و نشانهگذاری پنهان را داخل مخرج شما میاندازد و بیصدا هر درصدی را که بعداً گزارش میکنید منحرف میکند.
نرمالسازی جایی است که یک اسکریپت چگالی اعتماد میسازد یا از دست میدهد. حذف نشانهگذاری پیش از تقطیع تعیین میکند که ترکیب seo-tools با عبارت seo tools تطبیق پیدا میکند یا نه؛ تبدیل حالت بزرگ و کوچک هم Keyword و keyword را یکی میکند. فارسی و عربی چیزهای بیشتری دارند: دو شکل عربی و فارسی یک حرف باید یکی شوند و نیمفاصله میان واژهها یا باید بهعنوان جداکننده حفظ شود یا یکنواخت حذف گردد، وگرنه جملههای یکسان امتیاز متفاوت میگیرند.
پیادهسازی فشردهای که تطبیق عبارت را روی توکنها میشمارد:
export function keywordDensity(text, phrase) {
const tokens = (s) =>
s
.toLowerCase()
.replace(/[^\p{L}\p{N}\s]/gu, ' ')
.replace(/\s+/g, ' ')
.trim()
.split(' ')
.filter(Boolean);
const words = tokens(text);
const target = tokens(phrase);
let count = 0;
for (let i = 0; i + target.length <= words.length; i++) {
if (target.every((w, j) => words[i + j] === w)) count++;
}
const density = words.length ? (count / words.length) * 100 : 0;
return { words: words.length, count, density: Number(density.toFixed(2)) };
}
دو قاعده ارزش دارد که صریح بیان شود. روی توکن تطبیق دهید، نه روی زیررشته، تا واژه rank هرگز داخل ranking شمرده نشود و همان عبارتی را بشمارید که منظورتان بود. بیسروصدا ریشهنگیری نکنید. اسکریپتی بدون ریشهگیری گزارش میکند که running shoes با running shoe تطبیق ندارد و معمولاً همین را برای عبارتِ کنترلشده میخواهید. اگر صورتهای مختلف لازم دارید، آنها را بهعنوان هدفِ صریح اضافه کنید تا تطبیقِ مبهم شمارش را بزرگتر نکند.
بازه امن چگالی کلمه کلیدی واقعاً چقدر است؟
قضاوت عملی، نه معیار منتشرشده: برای یک عبارت اصلی، حدود یک تا دو و نیم درصد در صفحهای با چند صد کلمه طبیعی به نظر میرسد؛ بالای حدود سه درصد تکراری عمدی خوانده میشود و زیر حدود نیمدرصد معمولاً یعنی صفحه هرگز موضوعش را نام نبرده است.
هیچ موتور جستجویی آستانه کیورداستافینگ را منتشر نمیکند، پس این بازه را توصیفِ چیزی بدانید که برای یک خواننده و یک ویراستار طبیعی مینماید، نه حدی که الگوریتم اجرا کند. در صفحهای هزارکلمهای، سه درصد یعنی سی بار تکرار، تقریباً هر سی کلمه یکبار، چیزی که خواننده در همان نمایش نخست میبیند. در صفحهای صد و پنجاه کلمهای، یک تکرار اضافه چگالی را حدود ۰٫۶۷ واحد درصد جابهجا میکند؛ برای همین صفحات کوتاه نوسان شدید دارند و هرگز نباید با صفحات بلند مقایسه شوند.
دو پیامد دارد. صفحه را با پیشنویس قبلی خودش بسنجید، نه با عددی جهانی، و هم کف و هم سقف بگذارید: هرگز نامنبردن موضوع دستکم بهاندازه نامبردن در هر سطر هزینه دارد. برای بررسیهای جانبی که نسبت به شما نمیدهد، صفحه را از تحلیلگر چگالی کلمه کلیدی بگذرانید و ساختار و سرفصلها را هم بازبینی کنید.
بررسی چگالی را گامبهگام چگونه انجام دهیم؟
متن قابلنمایش را استخراج کنید، نرمالش کنید، عبارت و کلمات را بشمارید، برای هر فیلد درصدی محاسبه کنید و بعد پیش از دستزدن به هیچچیز، پاراگرافهای اطراف را بخوانید. اندازهگیری چند ثانیه طول میکشد؛ قضاوت درباره اینکه آیا یک جمله تکرارش را مستحق بوده، گامی است که واقعاً صفحه را بهتر میکند.
ترتیبی که من روی هر پیشنویس استفاده میکنم:
- متن رندرشده را استخراج کنید. از مرورگر کپی کنید یا فیلد سیاماس را بردارید، هرگز HTML خام مخزن را.
- یکبار نرمال کنید، همهجا استفاده کنید. همان تابع برای هر فیلد، وگرنه عددها قابلمقایسه نمیمانند.
- برای هر فیلد بشمارید. تگ عنوان، توضیح متا، H1، پاراگراف آغازین، بدنه.
- درصدها را تا دو رقم اعشار حساب کنید. کمتر از آن، نویزِ گردکردن شبیه سیگنال دیده میشود.
- فیلدها را با هم مقایسه کنید. فیلدی ۱۵ درصدی میان فیلدهای ۱ درصدی، یافته است؛ میانگین صفحه نه.
- پاراگراف پشت هر خوشه از تکرارها را بخوانید. تصمیم بگیرید جمله عبارت را مستحق بوده یا برای حملش پرش کرده است.
- پس از ویرایش دوباره اجرا کنید و با پیشنویس قبلی تفاوت بگیرید. عددی که پیشینه ندارد قابلاقدام نیست.
اینکه بررسی کجا اجرا شود بهاندازه نحوه اجرایش اهمیت دارد. پیشنویس تکی از تحلیلگر در جعبه متن رد میشود؛ سایتی که پشت چهل صفحه یک قالب دارد، اسکریپت را در بیلد میگذارد تا فیلد عقبافتاده با صدای بلند شکست بخورد، نه اینکه بیسروصدا منتشر شود. ترتیب کاملتر پیش از انتشار در چکلیست سئو آمده است.
هنگام بهینهسازی برای چگالی چه چیزی خراب میشود؟
دو شکست بر همه غالباند. کیورداستافینگ تکرار را برای هر خوانندهای آشکار میکند، و تعقیب چگالی درصد را تنظیم میکند بیآنکه بپرسد آیا صفحه به پرسش پاسخ میدهد. هر دو در پایان عددی سالمبهنظر، صفحهای که جستجوگر را راضی نمیکند و هیچ تشخیصی از اینکه چرا رتبه نمیگیرد به شما میدهند.
شکلهای مشخصی که من میبینم:
- تکراری که شنیده میشود. عبارت در هر جمله دوم مینشیند و خواننده پیش از استدلال نتیجه میگیرد، با اینکه چگالی داخل بازه است.
- خوشهای که میانگین پنهانش میکند. صفحه ۱٫۱ درصد گزارش میدهد در حالی که چهار مورد از هفت تکرار در ۱۵۰ کلمه نخست است؛ میانگین سالم است، آغازین نه.
- پایینآوردن عدد با پرکردن. نویسنده زیر فشار دویست کلمه حاشیه اضافه میکند تا نسبت پایین بیاید، نه اینکه تکرارهای زائد را حذف کند؛ معیار بهتر میشود و صفحه بدتر.
- بهینهسازیِ واحدِ اشتباه. بریف یک واژه را هدف میگیرد، مخاطب عبارت دوکلمهای را جستجو میکند و شمارش به پرسشی پاسخ میدهد که پرسیده نشده.
- تعقیبِ نسبت با بیپاسخماندن نیت. چگالی درست است و صفحه باز هم در زیرپرسشهایی که پرسش القا میکند رد میشود. بهترین شیوههای سئو ترتیب را روشن میگوید: عمق محتوا بر چگالی غالب است و چگالی پس از عمق سنجیده میشود.
چگالی در مقایسه با TF-IDF و پوشش موضوعی چه جایگاهی دارد؟
چگالی یک عبارتی را میشمارد که خودتان انتخاب کردهاید؛ TF-IDF میسنجد که یک واژه در برابر مجموعهای مرجع چقدر نامعمول است؛ و پوشش موضوعی میپرسد که آیا مفاهیمی که خواننده انتظار دارد اصلاً آمدهاند. این سه به سه پرسش متفاوت پاسخ میدهند و فقط اولی با یک صفحه و بدون داده بیرونی محاسبهپذیر است.
| روش | چه چیزی را میسنجد | چه ورودیهایی لازم دارد | چه خطایی را میگیرد | چه خطایی را نمیگیرد |
|---|---|---|---|---|
| چگالی کلمه کلیدی | سهم یک عبارت انتخابشده از کلمات صفحه | متن صفحه و عبارتی که برگزیدهاید | عبارت غایب است یا آنقدر تکرار شده که دستکاری به نظر برسد | صفحه به پرسش دیگری پاسخ میدهد |
| TF-IDF | اینکه یک واژه در برابر پیکره مرجع چقدر نامعمول است | پیکرهای فراتر از صفحه و قواعد توکنبندی | واژگان عام بهجای جزئیات | عبارتی انباشته که در همان موضوع پرتکرار است |
| پوشش موضوعی | اینکه مفاهیم و زیرپرسشهای مورد انتظار آمدهاند یا نه | فهرستی از مفاهیم برگرفته از پرسش، نتایج یا طرحوپرداز خودتان | صفحات نحیفی که زیرموضوعی لازم را رد میکنند | تکرار مفاهیمی که از قبل آمدهاند |
کنار هم که استفاده شوند یک ترتیب ارزان میسازند. چگالی اول اجرا میشود چون جز متنِ جلوی شما چیزی نمیخواهد. پوشش موضوعی است که رتبهها را تعیین میکند و به فهرستی از مفاهیم نیاز دارد که از خود پرسش ساخته شود. TF-IDF میان این دو جا خوش نمیکند: پیکرهای بزرگتر از صفحه میخواهد و در صفحات کوتاه نمرهاش آنقدر پرنویز است که پیشنویسی را بر اساسش ویرایش نمیکنم.
یک ممیزی چگالیِ محاسبهشده چه شکلی است؟
فرض کنید صفحهای داریم: صفحهای خیالی برای خدمات تعمیر دوچرخه با هفتصد کلمه، ساختهشده برای همین نمونه و نه نتیجهای واقعی از مشتری. فیلدبهفیلد بشمارید و آنچه ارزش دارد درصد پایانی نیست، توزیع است، چون چهار تکرار در ۱۵۰ کلمه آغازین و هیچ در بلوک قیمت، یافتهای ساختاری است که عددِ سطحصفحه پنهانش میکند.
خط پایه با عبارت «تعمیر دوچرخه»:
- کل صفحه: ۷۰۰ کلمه، ۷ تکرار، ۷ تقسیم بر ۷۰۰ ضرب در ۱۰۰ = ۱٫۰۰ درصد.
- H1: ۹ کلمه، ۱ تکرار، ۱۱٫۱۱ درصد.
- ۱۵۰ کلمه آغازین: ۴ تکرار، ۴ تقسیم بر ۱۵۰ ضرب در ۱۰۰ = ۲٫۶۷ درصد.
- ۵۵۰ کلمه باقیمانده: ۲ تکرار، ۰٫۳۶ درصد.
- پاراگراف قیمت، ۱۳۰ کلمه: ۰ تکرار.
در برابر بازه، ۱٫۰۰ درصد راحت است و صفحه تمامشده به نظر میرسد. فیلدبهفیلد، بخش آغازین دو کاره انجام میدهد و بلوکی که درباره پول حرف میزند اصلاً نام خدمت را نمیآورد. دو تکرار را از مقدمه به بخشهای قیمت و فرایند ببرید: جمع هفت میماند، عددِ سطحصفحه ۱٫۰۰ درصد میماند، اما خواندن صفحه فرق میکند.
در گذر دوم یک تکرار طبیعی به پاسخ پرسشهای متداول اضافه میشود و ۸ تقسیم بر ۷۰۰ ضرب در ۱۰۰ = ۱٫۱۴ درصد میدهد. هر دو نسخه از بررسی چگالی عبور میکنند؛ فقط یکی از خواندنِ سرتاسری عبور میکند، و همین است دلیل جدا نگهداشتن فیلدها.
چه زمانی به عدد اعتماد کنیم و چه زمانی نادیده بگیریم؟
به آن اعتماد کنید وقتی پیشنویسهای یک صفحه را مقایسه میکنید یا مجموعهای قالبساز را برای پیداکردن پرت میگردید، جایی که یک فیلد خراب میان چهل فیلد بدون معیار دیده نمیشود. آن را بهعنوان استدلالی برای اضافهکردن جمله نادیده بگیرید: چگالی سیگنالِ پایش است و سیگنالهای پایش متن نمینویسند.
جایی که جای خودش را پیدا میکند:
- صفحات قالبی و برنامهساخته. مجموعهای که از یک چیدمان ساخته شده گاهی فیلدی را منتشر میکند که هرگز پر نشده؛ چگالی همان را پیدا میکند، دقیقاً بهشکلی که یک لینتر رشته خالی را پیدا میکند.
- بازگشت میان پیشنویسها. قبل و بعد از ویرایش اجرا کنید تا عدد پیشینه بگیرد؛ تنها نسخهای که میشود تفسیرش کرد.
- تحویل بریف. به نویسندهها بازهای بدهید همراه با هشدار درباره بیرون از آن بازه، نه هدفی برای زدن. هدف زده میشود.
جایی که تعلق ندارد: تعیین طول صفحه، افزودن عبارتی که ورای آن استفاده نمیکردید، و مقایسه موضوعهای نامرتبط که نام برندی در آنها طبیعی تکرار میشود. چگالی یک بررسی است در دلِ ممیزی فنی سئو؛ بودجه پیکسل و پیشنویس عنوان به بررسیگر عنوان سئو و تحلیلگر تیتر تعلق دارد و هر جا صفحه به چیزی بیشتر از آنچه اسکریپت میگوید نیاز داشت، آن گفتگو به خدمات سئوی ما میرسد.
متداولترین پرسشها درباره چگالی کلمه کلیدی کداماند؟
این پنج پرسش همانهاییست که در ممیزیها و در بریفهای پروژه پیش میآیند و هر کدام جایی در بخش بالا پاسخ گرفتهاند. اینجا کنار هم جمع شدهاند تا خوانندهای که با یکی از همین پرسشها آمده، نسخه کوتاه را بیآنکه عقب برگردد ببیند.
چگالی کلمه کلیدی خوب برای سئو چقدر است؟
قضاوت عملی، نه معیار منتشرشده: حدود یک تا دو و نیم درصد برای عبارت اصلی در صفحهای با چند صد کلمه. زیر حدود نیمدرصد صفحه بهندرت موضوعش را نام میبرد و بالای حدود سه درصد تکرار دیده میشود. هیچ موتور جستجویی آستانهای مستند نکرده، پس هر پیشنویس را با نسخه قبلی خودش مقایسه کنید.
چگالی را برای یک عبارت چندکلمهای چگونه بشماریم؟
متن را به توکنهای کوچک بدون نشانهگذاری نرمال کنید، عبارت هدف را روی آرایه توکنها بلغانید و هر تطبیق کامل را یکبار بشمارید. شش تطبیق یک عبارت دوکلمهای در ۴۸۰ کلمه یعنی شش تقسیم بر ۴۸۰، ضرب در صد: ۱٫۲۵ درصد. شمارش جداگانه کلمات، دو برابر رقم را گزارش میکند.
آیا چگالی کلمه کلیدی هنوز بر رتبهبندی اثر میگذارد؟
هیچ موتور جستجویی چگالی را بهعنوان ورودی رتبهبندی مستند نکرده، پس تغییردادن درصد بهتنهایی جایی را جابهجا نمیکند. عدد هنوز ابزار عیبیابی خوبی است: صفحهای را آشکار میکند که عبارت هدفش را هرگز نمیگوید و صفحهای را که آن را آنقدر تکرار میکند تا متن دستکاریشده به نظر برسد. تطابق نیت، پوشش و کیفیت صفحه کار رتبه را انجام میدهند.
هر چند وقت یکبار باید چگالی را بررسی کرد؟
برای صفحهای که ویرایش میکنید، پیش از انتشار و پس از ویرایش اجرا کنید تا دو عدد قابلمقایسه شوند. برای مجموعهای قالبمحور، درون بیلد و هر انتشار یکبار اجرا کنید. صفحهای که کسی سراغش نمیرود به زمانبندی نیاز ندارد.
اسکریپت اختصاصی بنویسم یا از تحلیلگر آنلاین استفاده کنم؟
اسکریپت را بنویسید وقتی چگالی باید روی صفحات زیادی درون مرحله بیلد یا هوک سیاماس اجرا شود، چون همانجاست که یک فیلد شکسته قالب پنهان میماند. برای پیشنویس تکی که همین حالا در جعبه متن دارید از تحلیلگر آنلاین استفاده کنید. بیشتر تیمها در نهایت هر دو را میخواهند.




