웹사이트가 구글에서 “스팸 콘텐츠”로 표시됨|하지만 구체적인 페이지를 찾을 수 없음

本文作者:Don jiang

구글의 스팸 콘텐츠 판별 메커니즘은 복잡합니다. 문제 있는 페이지가 깊숙이 숨겨져 있거나(예: 사용자 등록 페이지, 오래된 테스트 콘텐츠), 서드파티 플러그인 취약점으로 스팸 코드가 삽입되어 웹사이트 운영자가 아무리 점검해도 원인을 찾지 못하는 경우가 있습니다.

이 글에서는 비용은 적고 실행력은 높은 해결책을 소개합니다.

Google Search Console의 숨겨진 데이터 단서를 활용해 사이트의 ‘사각지대’를 효과적으로 스캔하고, 자주 놓치는 오래된 콘텐츠 및 외부 링크 위험 요소를 정리하는 방법을 알려드립니다.

사이트가 구글에 의해 '스팸 콘텐츠 있음'으로 표시됨

먼저 Google Search Console의 데이터 단서를 확인하세요

사이트가 ‘스팸 콘텐츠 있음’으로 표시되면, Google Search Console이 가장 직접적인 실마리가 됩니다.

하지만 많은 웹마스터들이 “수동 조치” 알림만 확인하고, 백엔드의 숨겨진 단서—예: 비정상적인 트래픽 페이지, 알고리즘으로 인해 순위가 떨어진 키워드, 해커가 삽입한 은밀한 경로—등은 놓칩니다.

“보안 및 수동 조치” 리포트를 확인하세요

  • 콘솔 왼쪽 메뉴에서 “보안 및 수동 조치” > “수동 조치”를 클릭해 구체적인 위반 유형(예: ‘스팸 콘텐츠’, ‘위장 페이지’)이 있는지 확인합니다.
  • 알림이 있다면 안내에 따라 해당 페이지를 수정합니다. ‘문제 없음’으로 표시된다면 알고리즘 자동 판정일 수 있으니 추가 조사가 필요합니다.

“성과 보고서”에서 비정상 트래픽을 필터링

  • “성과 보고서”로 들어가서, 기간을 “최근 28일”로 설정하고 “검색결과 표시” 탭을 선택하세요.
  • CTR(클릭률)을 낮은 순서로 정렬하고 CTR이 1% 미만이거나 노출 수가 급증했지만 클릭이 거의 없는 페이지를 찾아보세요. 이런 페이지는 구글이 ‘저품질/스팸 콘텐츠’로 판단했을 가능성이 있습니다.

“페이지 색인” 상태 데이터를 내보내기

콘솔의 “색인” 탭에서 “페이지 색인 상태” 보고서를 다운로드하고 아래 항목을 중점적으로 확인하세요:

  • 제외된 페이지 (예: ‘중복 콘텐츠’, ‘noindex 태그 포함’).
  • 예상치 못한 404 페이지 (해킹으로 인해 생성된 무효 URL일 수 있음).

“링크” 탭에서 외부 링크 위험 추적

“링크” > “외부 링크”로 들어가서 최근에 앵커 텍스트가 반복되거나, 출처 도메인 신뢰도가 매우 낮은 링크가 급증했는지 확인하세요. 이런 링크들은 ‘스팸 외부 링크’ 제재를 유발할 수 있습니다.

최근 웹사이트에 의심스러운 변경사항이 있었는지 확인

Google Search Console에서 명확한 단서가 없다면, 문제는 최근 사이트의 변화에서 비롯됐을 수 있습니다—예: 신규 플러그인의 취약점, 과도한 SEO 설정 변경 등이 알고리즘에 저촉됐을 수 있습니다.

SEO 전략이 너무 과도하지 않았는지 점검

  • 키워드 남용: 최근 제목, 본문, Alt 태그에 같은 키워드를 과하게 반복하지 않았나요? SEOquake 같은 도구로 키워드 밀도를 분석하고 5% 이상이면 조정하세요.
  • 저품질 콘텐츠의 대량 생성: AI 도구로 만든 콘텐츠를 사람의 검토 없이 그대로 올렸나요? Copyscape로 가독성과 중복도를 확인하세요.

플러그인/테마 업데이트로 인한 취약점

  • 최근 설치한 플러그인: 특히 자동 수집형 플러그인이나 사용자 등록 기능은 악용되어 스팸 페이지가 생성될 수 있습니다.
  • 코드 삽입 위험: 테마 파일의 functions.phpheader.php에 의심스러운 코드(예: 리디렉션 스크립트, 숨겨진 링크)가 삽입되지 않았는지 확인하세요.
  • 임시 조치: 최근 추가한 기능이나 플러그인을 비활성화하고 구글 경고가 사라지는지 확인하세요.

외부 링크 급증 또는 앵커 텍스트 이상 현상

  • AhrefsSemrush를 통해 “새 외부 링크” 출처를 확인하세요. 도박, 의료 등 사이트와 무관한 산업에서의 링크가 급증했나요?
  • 앵커 텍스트가 수상한 경우: 예를 들어 “무료 다운로드”, “저가 구매대행” 등의 스팸 키워드가 많이 쓰인 경우.

서버 로그에서 수상한 접근 기록 추적

지난 한 달간의 로그 파일(경로: /var/log/apache2/access.log)을 중심으로 다음 항목을 확인하세요:

  1. 관리자 로그인 페이지(wp-admin 등) 반복 접근.
  2. 비정상 경로로의 POST 요청 (예: /upload.php).
  3. 404 오류 다수 발생 (해커가 취약점을 탐색 중일 수 있음).

핵심 팁

  • 위험성이 높은 변경사항부터 되돌리기: 의심스러운 플러그인을 삭제하거나 수정된 코드를 이전 버전으로 복원해보세요.
  • 사용자 생성 콘텐츠(UGC)는 스팸의 온상: 댓글, 사용자 프로필 페이지에 스팸이 있는지 확인하고, 반드시 검수 기능을 활성화하세요 (추천 플러그인: Antispam Bee).

도구로 전체 사이트 페이지를 스캔하고 ‘사각지대’ 놓치지 않기

수백에서 수천 개 페이지를 수작업으로 점검하는 건 거의 불가능합니다. 특히 스팸 콘텐츠는 사용자 등록 페이지, 동적 URL, 테스트용 디렉토리 같은 곳에 숨어있을 수 있습니다.

이런 ‘사각지대’는 구글이 크롤링하지만, 운영자는 전혀 인식하지 못할 수 있습니다.

크롤러 도구로 전체 링크 수집

Screaming Frog (무료 버전은 500개까지 크롤링): 사이트 URL을 입력하면 모든 페이지를 자동으로 크롤링합니다. 결과를 내보내서 의심스러운 링크를 필터링하세요:

  1. 의심스러운 파라미터가 포함된 URL: 예: ?utm_source=spam, /ref=123ab
  2. 비정상적인 디렉토리: 예: /temp/, /old/, /backup/

Checkbot (브라우저 확장 프로그램): 죽은 링크, 해킹된 콘텐츠, 중복된 제목을 자동으로 감지합니다.

콘텐츠 중복/도용 대량 확인 도구

  • Siteliner (무료): 도메인을 입력하면 내부 콘텐츠 중복률이 높은 페이지를 보고서로 보여줍니다 (예: 비슷한 상품 설명 등).
  • Copyscape Premium: 유료지만 정확도가 높으며, 외부 사이트에서 도용한 콘텐츠 여부를 확인할 수 있습니다 (또는 당신이 타인의 콘텐츠를 쓴 경우도 확인).

꼭 점검해야 할 ‘숨은 스팸 구역’

사용자 생성 콘텐츠 (UGC):

  1. 댓글 영역: site:도메인.com inurl:comments로 검색하여 스팸 댓글이 있는지 확인합니다.
  2. 사용자 프로필: /author/john/, /user/profile/ 등 경로에 접속하여 비정상 콘텐츠가 있는지 직접 확인합니다.

RSS 구독/API 경로:

WordPress 사이트라면 /feed/, /wp-json/ 경로에 스팸 텍스트가 삽입되어 있지 않은지 확인합니다.

페이지네이션 및 필터 기능:

/category/news/page/99/ 등 뒤쪽 페이지는 내용이 없거나 중복된 경우가 많습니다.

서버 로그 분석을 통한 이상 징후 확인

최근 30일간의 로그를 grep 또는 Excel로 필터링해서 확인:

  • 이상하게 자주 방문되는 낯선 페이지 (예: /random-page.html).
  • 이상하게 자주 접근하는 검색 엔진 봇 (해커들이 Googlebot으로 위장하는 경우도 있음).

핵심 팁

  • 동적 파라미터 페이지 주의: /product?id=xxx처럼 쓸모없는 파라미터로 중복 페이지가 대량 생성될 수 있습니다.
  • 해킹된 페이지의 특징: 도박, 음란 관련 키워드가 제목에 포함되어 있거나, 숨겨진 텍스트/리디렉션 코드가 있는 경우.
  • 문제성 페이지가 많다면 우선 Google Search Console에서 ‘스냅샷 제거 요청’을 통해 임시 차단하는 것이 좋습니다.

오래된 콘텐츠와 테스트 페이지 등 숨은 스팸 정리

이미 다 삭제했다고 생각한 오래된 글이나 테스트 페이지가 사실은 Google 눈엔 “스팸 콘텐츠”일 수 있습니다.

오랫동안 관리되지 않거나, 해킹으로 인해 숨겨진 링크가 삽입되었거나, 내용이 오래돼 사용자에게 잘못된 정보를 줄 수 있기 때문에 사이트 전체 평가에 악영향을 줄 수 있습니다.

만료된 콘텐츠: 삭제하거나 “가치 없음”으로 표시

  • 오래된 상품 페이지/블로그 글: Screaming Frog 등의 도구로 1년 이상 업데이트되지 않은 페이지를 찾아 삭제하거나 noindex 태그를 추가합니다.
  • 만료된 프로모션 페이지: /promo/, /sale/ 경로의 링크 상품이 품절이라면, 유사한 새 제품 페이지로 301 리디렉션 합니다.
  • 중복 콘텐츠 집합 페이지: 예: 날짜 기반 아카이브 (/2020/)의 경우, 트래픽이 없다면 noindex 처리합니다.

개발 중 남은 테스트 페이지

  • 임시 디렉토리 스캔: /test/, /demo/, /temp/ 같은 경로가 인덱싱되었는지 확인 (site:도메인.com inurl:test 검색).
  • 폐기된 기능 테스트 페이지 삭제: 예: /booking-test/ 같은 예약 테스트 페이지. 파일을 완전히 삭제하고 죽은 링크로 등록합니다.

해킹으로 생성된 스팸 파라미터 페이지

비정상 파라미터 URL 점검:

  • site:도메인.com intext:도박|대리모|세금계산서 검색어로 변조된 페이지 찾기
  • 서버 로그에서 접속 빈도가 높은 이상한 파라미터 URL (예: ?ref=spam)을 찾아 삭제하고 파라미터 규칙 차단

보안 취약점 수정: DB 비밀번호 변경, 플러그인/테마 최신 버전으로 업데이트

저품질 사용자 콘텐츠 (UGC)

  • 사용자 프로필 페이지 대량 정리: WordPress에서 /author/username/ 경로를 체크하고, 글이 없거나 정보가 없는 계정을 삭제합니다.
  • 스팸 댓글 경로 차단: robots.txt 파일에 Disallow: /*?replytocom= 추가하여 댓글 페이지가 인덱싱되지 않도록 합니다.

핵심 팁

  • 이미 Google에 인덱싱된 페이지 우선 정리: site:도메인.com + 디렉토리명으로 검색. 예: site:도메인.com /test/
  • 삭제만 하지 말고 업데이트도 제출: 정리 후 Google Search Console의 “URL 제거 도구”에 제출하여 빠르게 재인덱싱되도록 합니다.

주의: Google의 수동 심사는 보통 1~3주 걸릴 수 있습니다. 이 기간 동안 사이트 콘텐츠를 꾸준히 업데이트하면서 추가 문제 발생을 막는 것이 좋습니다.