빈약한 콘텐츠 (씬 콘텐츠) (Thin Content)
Thin Content
빈약한 콘텐츠(Thin Content)는 유용한 정보가 부족해 검색엔진 크롤링 예산을 낭비하고 사이트 전체 품질 점수를 떨어뜨립니다. Screaming Frog 등으로 텍스트가 부족한 페이지를 전수 조사한 뒤, 가치 있는 내용으로 보강하거나 가망이 없다면 noindex 처리 및 삭제해야 합니다.
빈약한 콘텐츠(Thin Content)는 유용한 정보가 부족해 검색엔진 크롤링 예산을 낭비하고 사이트 전체 품질 점수를 떨어뜨립니다. Screaming Frog 등으로 텍스트가 부족한 페이지를 전수 조사한 뒤, 가치 있는 내용으로 보강하거나 가망이 없다면 noindex 처리 및 삭제해야 합니다.
📖 개념 정의 및 실무 적용
웹사이트 규모가 커질수록 자동 생성된 태그 페이지, 필터 결과 페이지, 중복 상품 리스트 등으로 인해 텍스트가 거의 없는 ‘Thin Content’가 대량으로 발생합니다. 이 페이지들은 검색엔진 크롤러의 리소스(Crawl Budget)를 불필요하게 소모시키며, 사이트 전반의 품질 지수를 낮추어 핵심 랜딩 페이지의 순위까지 끌어내리는 치명적인 악영향을 줍니다.
실무에서는 GA4/GSC 데이터를 결합하여 유기농 트래픽과 전환 기여도가 전혀 없는 저성과 페이지를 식별해야 합니다. 이후 콘텐츠를 대폭 보강해 SEO 가치를 높이거나, 비즈니스상 반드시 필요하더라도 검색엔진에 노출할 필요가 없다면 noindex를 적용하여 크롤링 효율과 인덱싱 품질을 극대화해야 합니다.
💻 실무 활용 코드 스니펫 (PYTHON)
import requests
from bs4 import BeautifulSoup
import pandas as pd
urls = [
"https://example.com/page-1",
"https://example.com/page-2"
]
results = []
for url in urls:
try:
response = requests.get(url, timeout=5)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
for script in soup(["script", "style"]):
script.decompose()
text = soup.get_text(separator=' ', strip=True)
word_count = len(text.split())
results.append({"url": url, "word_count": word_count})
else:
results.append({"url": url, "word_count": -1})
except Exception as e:
results.append({"url": url, "word_count": 0})
df = pd.DataFrame(results)
thin_pages = df[df['word_count'] < 300]
print(thin_pages)
⚡ 5분 만에 적용하는 실행 스텝
- 단계: Screaming Frog나 위 파이썬 스크립트를 활용해 웹사이트 내 모든 URL의 본문 단어 수(Word Count)를 전수 조사합니다.
- 단계: Google Search Console(GSC) API를 연동하여 최근 3개월간 노출과 클릭이 전혀 발생하지 않은 페이지와 단어 수 부족 페이지를 교차 매칭합니다.
- 단계: 비즈니스 가치가 높은 페이지는 FAQ, 후기, 상세 가이드 등을 추가해 최소 500자 이상의 고품질 콘텐츠로 보강합니다.
- 단계: 검색 유입 가치가 없는 필터, 검색 결과, 임시 페이지 등은 robots.meta 태그에 noindex를 적용하거나 404/410 처리하여 색인을 차단합니다.
단순히 글자 수만 채우는 것은 키워드 스태핑(Keyword Stuffing)으로 오인받아 페널티를 받을 수 있으므로, 사용자의 검색 의도(Search Intent)에 맞는 표, 차트, 인터랙티브 요소를 함께 배치하세요. 또한, 대규모 이커머스의 경우 파라미터 URL로 인한 씬 콘텐츠 발생을 막기 위해 표준 태그(Canonical Tag)를 적극 활용하는 것이 시니어의 정석적인 대응입니다.
트래픽이 적다고 무조건 noindex 처리를 하면 롱테일 키워드로 유입되던 잠재적 기회까지 차단하게 되므로 GSC의 노출 데이터(Impressions)를 반드시 먼저 확인해야 합니다. 또한, JS로 렌더링되는 동적 콘텐츠의 경우 단순 HTML 파싱만으로는 텍스트를 감지하지 못해 실제로는 풍부한 콘텐츠임에도 씬 콘텐츠로 오인하여 삭제하는 실수를 범할 수 있습니다.
❓ 자주 묻는 질문 (FAQ)
A. 검색엔진이 공식적으로 정한 절대적인 기준은 없지만, SEO 업계 표준상 유의미한 정보 가치를 전달하기 어려운 300단어(한글 기준 약 500~600자) 미만의 페이지는 씬 콘텐츠로 분류될 위험이 큽니다.
A. 다시 활성화할 계획이 없고 유입 가치가 전무하다면 404/410으로 삭제하는 것이 좋으나, 유저가 내부 검색이나 필터를 통해 접근해야 하는 필수 페이지라면 noindex, follow 처리를 하여 링크 셰어(Link Juice)는 유지하되 검색 결과 노출만 막는 것이 안전합니다.