모벤MOVE BEYOND

데이터·집계

외부 콘텐츠 수집 컴플라이언스 콘솔

외부 글을 모을 때 robots 규칙을 지켰는지 요청 한 줄씩 남기고, 준수율까지 계산해 보여 줍니다.

crawl-compliance-demo-157052-production.up.railway.app
외부 콘텐츠 수집 컴플라이언스 콘솔 화면

열어 보시면 이런 걸 확인하실 수 있습니다

  • 화면1에서 robots.txt 원문과 경로별 허용/차단 근거를 봅니다
  • 위험 조합 스위치 3개를 켜면 경고와 함께 429·백오프 로그가 생깁니다
  • robots.txt가 없는 타겟은 준수율 대신 '판정 불가'로 뜹니다
  • 상단 [사용법]을 열면 1분 확인 순서와 시뮬레이션 고지를 봅니다

만들면서 풀어야 했던 것

  • robots 준수 스위치를 끄면 화면1이 'Crawl-delay 지정이 없습니다'라고 표시해, 같은 패널에 떠 있는 robots.txt 원문(Crawl-delay: 2)·파싱 결과와 정면으로 모순됐습니다. 분기 조건이 준수 여부가 섞인 유효 하한 값이었던 것이 원인이라, 저희가 robots 사실(그룹의 Crawl-delay 유무) 기준 4분기로 분리했습니다.
  • 관리자 화면의 '작성' 열이 필드 화이트리스트를 우회해 원문 작성 시각을 항상 노출하고 있었습니다. 정렬용 키가 고정 수집 필드 목록에 들어가 있어 검증기까지 구조적으로 통과하던 구멍이라, 저희가 정렬 키를 렌더 대상에서 분리하고 폴백을 삭제해 꺼진 필드는 화면에 '—'로 남게 했고 관리자 경로·정렬 키 비노출·정렬 안정성을 각각 별도 어서션으로 신설했습니다.
  • '실제 네트워크 요청을 보내지 않는 결정론 시뮬레이션'이라는 고지가 설명 문서에만 있고 화면에는 한 줄도 없었으며, 오히려 '실측 간격'이라는 표기가 오독을 유도하고 있었습니다. 저희가 전 화면 상단에 상시 고지를 추가하고 문구를 '기록된 요청 간격(시뮬레이션)'으로 바꾼 뒤, '실측' 어휘가 다시 들어오면 검증이 깨지도록 어서션을 신설했습니다.

비슷한 걸 만들어 보고 싶으시다면

구간 견적으로 규모를 먼저 가늠해 보시거나, 조건을 적어 보내 주시면 범위를 정리해 회신드립니다.