생성한 코드를 실제 사이트에 적용할 때

robots.txt, sitemap.xml, 메타 태그를 반복 작성하는 일을 줄이려고 SEO 생성 도구를 만들었다. 버튼을 누르면 문법 형태를 얻을 수 있지만, 생성기가 내 사이트의 DB나 검색 상태까지 알고 있는 것은 아니다. 이번 기록은 여섯 도구를 적용할 때 생기는 경계와 결과 확인 방법을 정리한다.

도구 입력과 결과 운영자가 확인할 부분
robots.txt 생성기 허용·차단 경로 → 텍스트 루트 응답, 필요한 경로의 수집 가능 여부
사이트맵 생성기 URL 목록 → XML 공개 상태·canonical·실제 수정일
메타 태그 생성기 제목·설명·URL → head 태그 기본 템플릿과 중복되는지
Open Graph 미리보기 공유 정보 → 카드 모형 실제 공유 서비스의 수집·캐시
SEO Head 검사기 붙여넣은 HTML → 태그 점검 배포된 응답과 입력 HTML의 차이
hreflang 생성기 언어별 URL → 대체 언어 태그 번역 내용·상호 연결·공개 정책

사이트맵 생성기에서 놓치기 쉬운 날짜

현재 JavaScript는 입력 URL을 정리하고 중복을 제거해 <loc>를 만든다. 그러나 외부 URL을 방문해 상태 코드나 robots 메타를 조사하지는 않는다. 삭제된 글이나 noindex 글을 넣으면 사용자가 먼저 걸러야 한다.

특히 lastmod 옵션을 켜면 현재 생성기는 getToday()로 얻은 날짜를 모든 URL에 넣는다. 각 게시글의 수정일을 읽는 동작이 아니다. 오늘 실제로 수정하지 않은 문서까지 오늘 날짜로 표시되지 않도록, 정확한 날짜를 모르면 옵션을 끄고 필요한 경우 생성 후 개별 값으로 바꾼다. 글을 자주 관리하는 Django 사이트에서는 DB의 수정일과 공개 조건을 사용하는 동적 사이트맵이 관리에 더 적합하다.

아래는 가상의 대표 URL 한 개만 포함한 XML 예시다. 예제 날짜를 만들지 않기 위해 선택 항목인 lastmod는 생략했다.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/guide/</loc>
  </url>
</urlset>

Google은 priority·changefreq를 무시하며 정확한 lastmod를 참고한다고 설명한다. 옵션을 모두 채우는 것보다 목록과 날짜가 실제 페이지와 맞는지를 우선한다. Google sitemap 안내

메타 태그는 템플릿에 중복해서 넣지 않는다

이미 기본 템플릿이 title·description·canonical을 만들고 있다면 생성 결과를 그대로 추가하면 두 세트가 생길 수 있다. 새 태그를 붙이기 전에 어떤 블록과 변수가 기존 값을 만드는지 찾는다. 게시글 본문에 head 코드를 넣는 것도 배포 방식으로 사용하지 않는다.

<title>파일 압축 결과를 비교하는 방법</title>
<meta name="description" content="같은 입력 파일로 형식과 품질을 바꾸고 결과를 비교하는 절차입니다.">
<link rel="canonical" href="https://example.com/guide/">

위 태그는 예시 문구와 주소다. 실제 서비스에 적용한 뒤 페이지 소스에서 한 세트만 존재하는지 확인하고, canonical 대상의 응답도 열어 본다. 형식 검사를 통과해도 다른 글의 주소를 붙여넣었다면 의미가 잘못된 설정이다. Google canonical 안내

미리보기와 다국어 태그의 범위

Open Graph 카드 모형은 제목·설명·이미지 배치를 미리 보는 용도다. 실제 공유 서비스가 같은 이미지를 수집했는지, 오래된 캐시를 사용하고 있는지는 별도로 확인해야 한다. 작은 미리보기 화면 하나를 모든 메신저의 최종 결과라고 기록하지 않는다.

hreflang은 언어별 URL을 적는 형식을 도와준다. 번역이 검토됐는지나 두 페이지가 같은 목적의 내용인지는 생성기가 판단하지 못한다. win-j.com은 보조 언어 페이지를 검토 보류하고 있어, 생성기가 있다는 이유로 모든 언어 태그를 바로 활성화하지 않는다. 현재 운영 기준은 다국어 페이지와 검색 노출 기록에 정리했다.

복사 이후에 남는 확인

먼저 생성 결과를 파일이나 해당 템플릿에 반영하고, 다음으로 배포된 URL의 응답을 읽는다. 마지막으로 robots·canonical·sitemap이 서로 같은 공개 의도를 나타내는지 비교한다. 예를 들어 본문에는 noindex가 있는데 sitemap에 계속 들어간다면 어떤 목록 생성 조건이 빠졌는지 조사한다.

생성기의 정상 출력과 운영 설정 완료는 구분해서 기록한다. 이 글은 도구의 역할과 현재 코드의 제한을 설명한 것으로, 소개한 여섯 도구의 모든 브라우저 기능 시험을 완료했다는 뜻은 아니다.