# 사이트맵 수집·정리 매뉴얼 공공저작물 실태조사 대상 기관의 홈페이지를 사이트맵 단위로 점검해 엑셀에 정리하는 작업의 **재현 가능한 절차서**. 한 기관이 끝나면 다음 기관도 이 문서만 보고 동일하게 만들 수 있어야 한다. 기준 양식: `자료_취합_예시.xlsx` (시트명 예: `04_구소영`). 완료 예시: `충청남도\1.계룡시\계룡시.xlsx`. > # ⛔ 절대규칙 — `☑️ 검수완료` 기관은 손대지 마라 > 작업 전 반드시 `작업파일\_작업현황.md`를 먼저 읽고, **`☑️ 검수완료`로 표시된 기관은 재수집·수정·재계산·일괄작업·병합 무엇도 하지 않는다(읽기만).** 일괄 스크립트는 검수완료 대상을 반드시 제외한다. (현재: 계룡·공주·금산·논산) --- ## 0. 입력·산출물 ### 입력 - **기관명** (예: "계룡시", "공주시") - **베이스 URL** (예: `https://gyeryong.go.kr/kr/`) - **저장 경로** (예: `충청남도\2.공주시\`) - (선택) **담당자명** — 시트명 접두에 사용 ### 산출물 - `{저장경로}\{광역}_{기관명}.xlsx` (예: `충청남도_계룡시.xlsx`. ★2026-06-01 파일명에 광역(도) 접두 부여 — 폴더명 `{번호}.{기관}`은 유지) - 시트명: `{번호}_{기관명}` (예: `01_계룡시`) - 행 1~2: `자료_취합_예시.xlsx`의 헤더 그대로 유지 - 행 3~끝: 사이트맵에서 추출한 데이터 --- ## 1. 단계 개요 | 단계 | 결과 | 진행 여부 | |---|---|---| | Phase 1 | 사이트맵 → D~K열 채우기 + 병합·정렬·스타일 | ✅ 정립 완료 | | Phase 2 | L(게시판형태) · M(수량) | ✅ 정립 완료 | | Phase 3 | N(저작물 유형) | ✅ 정립 완료 | | Phase 4 | O(공공누리 부착) · P(마크 부착위치) · Q(마크 하이퍼링크) | ✅ 정립 완료 | | Phase 5 | R(공공누리 연계) · S(비고) · T~W(검토) · Y~AA(완료체크) | 📝 사용자 수기 영역 | --- ## Phase 1 — 사이트맵 수집·정리 (현재 정립된 절차) > ### ⛔ 1-0. 권위 트리 = 사이트맵이 아니라 "본 페이지 메뉴(GNB/LNB)" (프리랜서2 #3·#16 — 최우선) > **사이트맵에는 중간 메뉴가 누락된 경우가 매우 많다. 무조건 실제 홈페이지 메뉴(GNB 메가메뉴 / 좌측 LNB)를 권위 트리로 삼아 전수 작성한다.** 사이트맵은 보조 참고일 뿐. 사이트맵만 믿으면 페이지·게시판 누락이 대량 발생(프리랜서2 지적 #16). > - 절차: GNB/LNB를 라이브로 펼쳐(필요 시 Playwright JS렌더) 대→중→소→세부 트리를 추출 → 사이트맵과 **합집합**(사이트맵에만 있는 것도 보존). 누락 0이 목표. > - 본문 탭(1-5b/c)·카테고리탭까지 합쳐야 진짜 전수. "사이트맵에 없으니 없다"는 금지. > - 실제 적용: 장수(41→356)·교육청 3곳·전주 GNB 4차 등 — 전부 사이트맵 누락을 GNB/LNB로 복구. ### 1-1. 사이트맵 페이지 찾기 (보조 입력) 베이스 URL의 메인 페이지 푸터/헤더에서 **"사이트맵"** 링크를 찾는다. (단 1-0대로 **본 페이지 메뉴가 권위**, 사이트맵은 보조) - 일반 패턴: `/kr/html/guide/0701.html` (계룡시 등 다수 충남 시·군) - 다른 패턴 예: `/sitemap.do`, `/html/sub06/sitemap.html`, `/sitemap.html` - 못 찾으면 메인 페이지의 모든 `a` 태그에서 텍스트에 "사이트맵" / href에 `sitemap` 이 들어가는 것을 검색 ### 1-2. 사이트맵 HTML 구조 파악 대부분의 시·군 홈페이지는 다음 두 패턴 중 하나를 따른다. **패턴 A — `dl > dt > dd > ul > li` (계룡시 형)** ``` .sitemap └─ dl (대분류 1개) ├─ dt → 대분류명 → D 메뉴명 └─ dd (중분류 1개) ├─ b > a → 중분류명 → E 카테고리(대) └─ ul └─ li > a → 소분류 → F 카테고리(중) └─ ul (중첩!) → li > a → G 카테고리(소) └─ ul → H, I, J ... ``` **패턴 B — `ul.depth1 > li.depth2 > ul.depth3` (단순 중첩 ul)** - depth 1 → D, depth 2 → E, depth 3 → F, depth 4 → G ... > **핵심**: `
  • ` 안에 `