구글 SEO
TF-IDF, SEO에는 어떻게 활용할까?
2025.05.01 | By 조슈아
* 이번 콘텐츠에는 복잡한 수식, 점수 등이 많습니다. 수식과 점수를 넘겨 보더라도 충분히 이해하실 수 있게 끔 글을 작성해 보았으니 감을 잡으시는 용도로만 활용해주셔도 큰 도움이 될 수 있습니다.
"TF-IDF"는 Term Frequency - Inverse Document Frequency의 약자로, 정보 검색과 자연어 처리(NLP), 특히 검색엔진 최적화(SEO) 분야에서 문서 내 키워드의 중요도를 측정하는 데 자주 쓰이는 통계적 방법입니다.
TF(Term Frequency): 단어가 한 문서 내에서 얼마나 자주 등장했는지
IDF(Inverse Document Frequency): 이 단어가 전체 문서 집합에서 얼마나 드물게 등장하는지 (희소성)
TF-IDF는 간단히 말하면, 문서 내에서 얼마나 자주 등장하는 단어인지(TF)와, 이 단어가 전체 문서 집합에서는 얼마나 드물게 등장하는지(IDF)를 결합한 값으로, 위의 두 가지 요소가 곱해진 값이 바로 TF-IDF 점수입니다.
일반적으로 TF-IDF 값이 높다는 건, 특정 단어가 그 문서를 잘 나타내는 중요 키워드라는 뜻이고, 값이 낮다는 건, 그 단어가 문서의 특성을 나타내기에 일반적이거나 흔하다는 뜻이 됩니다.
TF-IDF(t,d)=TF(t,d)×IDF(t)
TF-IDF의 수학적 공식 표현은 용어빈도(TF, Term Frequency)와 역문서 빈도(IDF, Inverse Document Frequency)의 두가지를 결합해서 계산하며, 결과적인 수식은 위와 같습니다. 지표를 수식으로 만들고 결과치를 추출하게 된다면 각 단어마다 문서에서 얼마나 중요한지 수치로 표현할 수 있죠.
용어빈도 (TF) | 역문서 빈도(IDF) | |
수식 | TF(t,d)=문서 d의 전체 단어 수 / 문서 d 내 단어 t 등장 횟수 | IDF(t)=log(N/(1+DF(t))) |
설명 | N: 전체 문서의 수 DF(t)\text{DF}(t)DF(t): 단어 ttt가 등장한 문서의 수 |
용어빈도의 경우, 단어 t 가 문서 d 내에서 나타난 빈도를 나타내며, 보통은 가장 간단하게 원시 빈도(Raw Frequency)로 계산합니다. 예를 들어, 문서에 단어가 100개 있고, 특정 단어가 10번 나왔다면 TF는 0.1이 되는 것이죠.
역문서 빈도의 경우, 전체 문서에서 특정 단어 ttt가 얼마나 흔한지 또는 드문지 측정하는데 사용되며 여기서 로그(log)를 사용하는 이유는, 단어가 문서 전체에서 너무 흔하게 등장하면 점수를 낮추고(일반적인 단어는 중요도가 낮다고 판단), 드물게 등장할수록 점수가 크게 올라가게 하기 위함입니다.
예를 들어, 아래 3가지의 문서가 있다고 가정을 해보겠습니다.
문서 | 내용 (수식을 위해 문장 길이 8개 단어로 고정) |
문서 A | "SEO 서비스는 웹사이트 트래픽을 높이는 데 효과적이다" |
문서 B | "웹사이트 디자인은 사용자 경험과 SEO 모두에 중요하다" |
문서 C | "SEO와 마케팅 전략을 결합하면 비즈니스 성장에 도움이 된다" |
여기서 전체 문서 수(N)은 3개이므로 N = 3, 'SEO'는 문서 A, B, C 모두에 등장하기에 DF(SEO) = 3, '웹사이트'는 문서 A, B에만 등장하기에 DF(웹사이트) = 2가 됩니다.
IDF(SEO)=log(3/(1+3))=log(3/4)≈−0.1249
보통 log는 자연로그 ln 또는 상용로그 log10을 쓰는데, 여기선 log10 기준이며 음수값이 나오는 이유는 너무 많이 쓰이는 단어라서 중요도가 낮게 평가된다는 의미입니다.
문서 A | 문서 B | 문서 C | |
TF점수 | SEO : 1회 TF = 1/8 (0.125) - 웹사이트 : 1회 TF = 1/8 (0.125) | SEO : 1회 TF= 1/8 (0.125) - 웹사이트 : 1회 TF = 1/8 (0.125) | SEO : 1회 TF= 1/8 (0.125) - 웹사이트 : 0회 TF = 0/8 (0) |
반대로 TF는 해당 문서 내에서의 문서 내에서의 활용 빈도를 측정하는 척도이기에 비교적 간단하게 위와 같이 각 항목들의 점수가 집계될 수 있습니다. 여기서 이 점수들을 종합하여 TF-IDF를 계산하면 아래와 같은 수식이 나옵니다.
문서 | 단어 | TF | IDF | TF-IDF |
---|---|---|---|---|
A | SEO | 0.125 | -0.1249 | -0.0156 |
A | 웹사이트 | 0.125 | 0.0000 | 0.0000 |
B | SEO | 0.125 | -0.1249 | -0.0156 |
B | 웹사이트 | 0.125 | 0.0000 | 0.0000 |
C | SEO | 0.125 | -0.1249 | -0.0156 |
C | 웹사이트 | 0.000 | 0.0000 | 0.0000 |
이 각 문서마다 TF-IDF 점수가 가장 높은 단어들을 뽑아서, 핵심 키워드 또는 태그로 추출이 가능하며, 이를 통해 SEO 콘텐츠 기획 시, 페이지마다 어떤 키워드가 강세인지 파악 가능합니다.
유심히 보신 분들은 아셨을 수도 있겠는데, 정확히 짚으셨습니다. 저도 처음에 콘텐츠 분석에 'TF-IDF'를 도입할 때 바로 이 지점이 가장 헷갈리는 부분이고, 많은 분들이 오히려 TF-IDF 점수를 분석해보고 'SEO와 연관 없는거 아닌가?'라는 판단을 내리는 부분이기도 합니다.
TF-IDF 점수 기준으로 보면, 위 예시에서 'SEO'라는 단어는 너무 많은 문서에서 자주 등장하는 '일반 단어'가 되어 오히려 낮은 (심지어 음수의) 점수를 받을 수 있습니다.
하지만 이건 검색엔진 최적화(SEO) 관점과 텍스트 마이닝(TF-IDF) 관점의 목적 차이 때문입니다.
1) TF-IDF는 "문서 간 차별화"를 위한 지표입니다.
"이 문서에서 유독 자주 등장하지만, 다른 문서들에서는 드물게 등장하는 단어"인 경우, 이 문서를 잘 대표하는 단어라고 판단 즉, ‘희소성’을 높게 쳐주는 구조이기 때문에, 어떤 단어가 대부분의 문서에 등장하면 → IDF 값이 낮아져서 → TF-IDF도 낮아집니다.
2) 반면, 구글봇은 TF-IDF보단 전반적인 주제 일관성과 엔터티 인식을 중요하게 봅니다
Google은 문서 내 ‘주제 일관성’과 '관련성’을 인식하는 방식으로 발전해왔습니다. 이를 위해 사용하는 것이 아래와 같습니다.
(1) 엔터티 기반 인식(Entity Recognition)
→ 예: ‘SEO’, ‘검색엔진 최적화’, ‘Search Engine Optimization’ 모두 같은 개념으로 연결
(2) 주제 모델링(Topic Modeling)
→ 특정 문서가 어떤 주제를 다루고 있는지를 LSI, BERT, MUM 등으로 추론
(3) TF 자체의 풍부도
→ ‘SEO’라는 단어가 자주 등장하고, 관련 단어들(예: 키워드, 구글 알고리즘, 인덱싱 등)도 함께 등장한다면 → 이 문서는 SEO 관련 주제로 잘 구성됐다고 판단
즉, ‘SEO’라는 키워드가 TF-IDF 기준으로는 중요도가 낮을 수 있어도, Google은 '이 사이트는 SEO 주제로 집중된 곳'이라고 잘 인식할 수 있죠.
그래서 TF-IDF라는 지표는 보다 콘텐츠를 전문적으로 다루시는 분들이 사용하실 수 있게 끔 정량적으로 데이터화 할 수 있는 지표라고 이해를 하시는 것이 훨씬 더 도움이 됩니다. 이를 사용 목적과 분석 관점 별로 구분을 한다면 아래와 같이 나눌 수 있습니다.
분석 관점 | TF-IDF 기준 | 구글 SEO 기준 |
목적 | 문서 내 핵심어 추출 | 검색엔진에게 주제 명확히 전달 |
기준 | 단어 희소성(차별화) | 주제 반복, 관련성 풍부도 |
권장 방식 | 흔한 단어는 점수 낮음 | 핵심 키워드는 충분히 반복 필요 |
전략 | 내부 콘텐츠 분류/추천 | 검색엔진에 주제 명확히 인식 |
TF-IDF는 사실 상 SEO에서 '최종 목적 그 자체'는 아니지만, 아주 강력한 ‘진단 도구’ 혹은 ‘전략 보조 도구’로 활용할 수 있습니다. 검색엔진이 TF-IDF를 직접 쓰는 건 아니지만, 오히려 컨텐츠 관리자 입장에서는 "어떤 키워드가 문서에서 핵심 역할을 하는가", 그리고 "내 문서와 경쟁 문서 간의 키워드 차별성은 어떤가", 즉 메인 키워드 집중도를 파악하거나 내부 카니발리제이션을 파악하는 데 탁월한 지표죠
이를 조금 더 이해하기 쉽게 지표와 함께 3가지 상황에서 사례를 살펴보도록 하겠습니다.
1. 경쟁 콘텐츠와의 키워드 비교 분석에 활용
예를 들어, 238LAB이 'B2B SEO 전략'이라는 키워드로 콘텐츠를 작성했는데, 구글 상위 10위 콘텐츠와 비교해서 내 콘텐츠가 부족한 점을 알고 싶은 경우에 활용할 수 있습니다.
예시의 상황 설정은 아래와 같습니다.
(1) 상위 10개 콘텐츠 크롤링
(2) 각 콘텐츠에서 TF-IDF 분석 수행
(3) 내 글과 경쟁 글의 TF-IDF 상위 20개 키워드 리스트 비교
키워드 | 내 콘텐츠 TF-IDF | 상위 콘텐츠 평균 TF-IDF | 차이 |
B2B | 0.089 | 0.083 | +0.006 |
검색엔진 | 0.052 | 0.121 | -0.069 |
리드 | 0.009 | 0.074 | -0.065 |
세션 유지율 | 0.000 | 0.067 | -0.067 |
이를 활용한다면 상위에 노출되는 콘텐츠들의 키워드 중 'B2B'는 비슷하게 언급되었으나, '검색엔진', '리드', '세션 유지율' 같은 전환/성과 관련 키워드가 부족하기에 이 키워드를 추가로 보강하도록 콘텐츠 리라이트를 진행할 수 있습니다.
약간의 실무 팁을 더하자면, 오히려 특정 키워드를 노출하기 위해 글을 작성하는 경우 해당 키워드에 노출되고 있는 상위 콘텐츠들의 TF-IDF를 분석한 후 높은 점수를 가진 키워드들을 중심으로 작성을 하는 것이 공수를 줄이는 방법이 될 수도 있겠죠.
2. 중복 콘텐츠 진단 및 내부 경쟁(카니발리제이션) 방지
예를 들어, 238LAB 업체의 사이트에 "워드프레스 SEO", "워드프레스 애드센스", "워드프레스 애드센스 SEO"라는 콘텐츠 3개가 존재하는 경우, 서로 너무 유사해 구글이 중복 콘텐츠로 인식할 우려가 있습니다. 이런 경우 공들여서 작성한 3개의 컨텐츠 중 1개만 노출되는 상황이 발생할 수 있겠죠.
이러한 경우 세 글 각각의 TF-IDF 키워드 추출 (상위 30개)를 먼저 해 본 후 코사인 유사도 계산으로 콘텐츠 유사도 판단을 해 볼 수 있습니다. 여기서 기준점은 0.9로 두되, 유사도가 0.9 이상이면 실질적으로 내용이 거의 유사하기에 문서 A와 B를 통합하거나, 문서 C는 "SEO 실무 전략"으로 주제 확장하는 의사결정을 내리는 방법이 있을 수 있겠죠.
혹은 보다 적은 리소스로 상위 노출을 노리는 방식, TF-IDF 기준 상위 키워드를 다르게 설정하여 차별화하여 컨텐츠를 재 구성하는 방법이 있을 수도 있습니다.
3. 콘텐츠 전략 구성 수립 서포트
콘텐츠 담당자가 글을 쓸 때 자주 하는 고민 중 하나는 '주 키워드 외에 어떤 관련 키워드를 함께 배치하면 좋을까?' 입니다. 이를 TF-IDF 지표를 활용하면, 특정 키워드를 검색했 을 때 나오는 경쟁 콘텐츠의 TF-IDF를 분석해서 상위 키워드를 추출하는 방식입니다.
이를 추출하고, 작성하는 글에 해당 키워드를 적절히 녹여낸다면 전문적인 지식이 없더라도 적절한 콘텐츠의 구성을 잡을 수 있습니다.
예시로, 타겟 키워드가 "SEO 툴"이라면 TF-IDF 분석 통해 "Ahrefs", "Semrush", "크롤러", "백링크", "데이터 시각화" 등이 자주 언급되는 것을 확인하고, 이 키워드들을 보조 키워드로 반영하고 글을 작성하는 방식으로 사용하는 것입니다.
'SEO'툴이라는 경쟁 콘텐츠의 상위 TF-IDF 키워드를 수집하면 아래와 같은 결과물이 나옵니다.
<'SEO 툴' 키워드의 TF-IDF 기준 상위 키워드 5개 예시>
키워드 | TF-IDF 평균 | 등장률 |
---|---|---|
ahrefs | 0.0412 | 18/20 |
semrush | 0.0389 | 17/20 |
백링크 | 0.0375 | 16/20 |
검색 트래픽 | 0.0312 | 15/20 |
키워드 분석 | 0.0277 | 14/20 |
이렇게 나온 TF-IDF가 높은 키워드를 기준으로 콘텐츠의 목차를 작성한다면 큰 고민 없이 콘텐츠를 구성하는 과정에서 걸리는 많은 시간을 아낄 수 있습니다.
솔직히 말씀드리자면, 모든 걸 완벽하게 고려해서 글을 쓰는 건 사람 혼자서는 거의 불가능에 가깝죠.
그런데 그게 지금의 SEO 실무에서 중요한 포인트이기도 합니다. 실제로 SEO 용도로 콘텐츠를 작성해보시는 분들은 아시겠지만, 특정 키워드에 노출되기 위해서 글을 쓸 때는 '해당 키워드의 검색 지면'을 유심히 살펴보는 과정을 거치는데 이 과정에 상당한 시간이 소요됩니다.
그리고 SEO 콘텐츠 전문가분들은 글을 쓸 때마다 아래의 항목들을 실제로 고려하기도 합니다.
이런 요소들을 글을 쓰면서 동시에 실시간으로 판단하고 반영한다? 거의 '기획 + 분석 + 글쓰기 + 설계 + 운영'을 동시에 해야 한다는 뜻이기도 하죠. 결론적으로는, TF-IDF 기반 SEO는 "과하게 완벽하게 하려고 하면 무너진다"라는 것에 가깝습니다.
현실적으로 이 TF-IDF를 활용하는 실무적인 방법은, 이 로직을 최대한 시스템화하여 검토는 '시스템'이 하고 초안은 ‘사람’이 작성, 점검과 보완은 ‘시스템’이 마무리하는 운영 측면에서의 전략적인 구조를 수립하는 것이 가장 효율적이라 생각됩니다.
콘텐츠 담당자의 관리 운영 능력을 기르는 것, 즉 ‘전략적으로 부족한 걸 찾고 보완하는 구조’를 만드는 게 가장 큰 로직이며, 최근 AI가 급성장하며 이러한 구조를 조금만 활용하더라도 보다 양질의 콘텐츠를 생산 할 수도 있겠죠. 이러한 구조 수립이 어려운 분들을 위해, TF-IDF 관련 툴을 238LAB에서 웹 서비스를 통해 제공하려는 계획을 세우고 있으니 준비가 되면 제공해보도록 하겠습니다.
![]() | 조슈아(Joshua) |
SEO컨설팅을 통해, 현재 사이트가 가지고 있는 문제점을 파악하고, 검색엔진 최적화를 통해, SERP의 상단에 위치할 수 있는 맞춤 해결방법을 받아 보세요.
구글SEO
2025.05.08 | By 조슈아
네이버 SEO와 구글 SEO 비교
구글SEO
2025.05.08 | By 조슈아
구글SEO
2025.05.01 | By 조슈아
TF-IDF란?
SEO에 활용하는 방법
구글SEO
2025.05.01 | By 조슈아
구글SEO
2025.04.30 | By 조슈아
SPA SEO, 해결 방법 3가지와 고려사항
구글SEO
2025.04.30 | By 조슈아
구글SEO
2024.09.04 | By 조슈아
캐노니컬(Canonical) 태그란?
구글SEO
2024.09.04 | By 조슈아
구글SEO
2024.07.03 | By 리브
SEO 컨설팅은 왜 필요할까?
구글SEO
2024.07.03 | By 리브
구글SEO
2024.07.02 | By 리브
테크니컬 SEO 핵심 7가지
구글SEO
2024.07.02 | By 리브
구글SEO
2025.04.29 | By 리브
메타태그란(Meta Tag)?
핵심을 알아야 검색순위가 오른다
구글SEO
2025.04.29 | By 리브
구글SEO
2024.05.11 | By 조슈아
워드프레스 SEO의 핵심 3가지
구글SEO
2024.05.11 | By 조슈아
구글SEO
2024.05.03 | By 조슈아
워드프레스 애드센스 시작할 때 알아야 할 것
구글SEO
2024.05.03 | By 조슈아
Copyright ⓒ 2023 All rights reserved 238LAB.
대표자 : 이상현 | 주소 : 인천 서구 원당대로 1039, 8층 805호(태경타워) | 제휴문의 : josh@238lab.kr | 대표전화 : 0507-1405-6160 | 사업자등록번호 : 281-39-01122 | 통신판매업신고번호 : 제 2024-인천서구-3618 호