SEO 체크리스트: 무엇을 점검하고 무료로 어떻게 진단할까
핵심 답변: SEO 체크리스트는 영향이 큰 순서대로 확인해 나가는 고정된 점검 목록입니다. 페이지를 아예 보이지 않게 만들 수 있는 문제(크롤링 차단, noindex, 잘못된 상태 코드)를 먼저 보고, 그다음 속도, 페이지 기본 요소, 콘텐츠, 기술 기반, 링크와 이미지, 다국어와 구조화된 데이터, 마지막으로 AI 크롤러 대응을 확인합니다. 아래의 8개 그룹으로 나눈 SEO 체크리스트는 대부분 SEOgrinder로 가입 없이 무료로 점검할 수 있지만, 순위를 보장하는 점검은 없으며 길을 막고 있는 오류를 찾아 주는 데까지가 역할입니다.
SEO 체크리스트란 무엇인가요?
SEO 점검(audit)은 웹사이트를 이미 알려진 요구 사항의 목록에 비추어 체계적으로 확인하는 일이고, 그 목록이 곧 체크리스트입니다. 체크리스트는 단순한 세 가지 질문에 답합니다. 검색엔진이 내 페이지에 접근해 색인할 수 있는가, 방문자가 불편 없이 페이지를 쓸 수 있는가, 그리고 검색엔진이 각 페이지가 무엇에 관한 것인지 알아볼 수 있는가입니다.
점검이 아닌 것도 분명히 해 둡니다. 점검은 키워드 조사도, 순위 리포트도, 약속도 아닙니다. 기술적 기반과 페이지 자체에 있는 오류와 빈틈을 찾아낼 뿐입니다. 고친 페이지의 순위가 실제로 오를지는 체크리스트 밖의 많은 요소에 달려 있으며, 어떤 순위도 누구 하나 보장할 수 없습니다. 체크리스트가 주는 것은 피할 수 있는 문제를 하나씩 지워 나갈 방법입니다. 결과가 신통치 않더라도 그 원인이 막혀 있는 파일이나 망가진 리디렉션은 아니도록 만드는 것입니다.
SEO 체크리스트는 어떤 순서로 점검해야 하나요?
점검하기 쉬운 순서가 아니라 영향이 큰 순서로 진행합니다. 모든 페이지에 완벽한 title 태그를 달아도 robots.txt가 페이지 접근을 막고 있다면 얻는 것이 없습니다. 권장하는 순서는 다음과 같습니다.
- 페이지를 찾고 색인할 수 있는가? 크롤링, noindex, 상태 코드, 사이트맵입니다. 여기서 막히면 나머지는 중요하지 않습니다.
- 페이지를 편하게 쓸 수 있는가? 모바일과 데스크톱 모두에서 속도와 안정성을 봅니다.
- 페이지가 자신이 무엇인지 분명히 말하는가? title 태그, 메타 설명, canonical, 헤딩(H1~H6), 언어입니다.
- 색인할 만한 콘텐츠인가? 충분한 내용이 있는지, 중복은 없는지, 누가 언제 썼는지 알 수 있는지 봅니다.
- 기반이 튼튼한가? HTTPS, 압축, 캐시, 보안 헤더입니다.
- 링크와 이미지가 제대로 동작하는가? 깨진 링크, 빠진 대체 텍스트, 공유 미리보기 이미지입니다.
- 다국어 설정과 구조화된 데이터가 제대로 갖춰졌는가? hreflang과 JSON-LD입니다.
- AI 시스템이 페이지에 접근해 읽을 수 있는가? AI 크롤러 규칙과 JavaScript 없이도 읽히는 HTML입니다.
SEOgrinder의 리포트도 같은 생각으로 만들어져 있습니다. 할 일 목록이 영향이 큰 순서로 정렬되어 있으므로 맨 위 항목부터 처리하면 됩니다.
8개 그룹으로 보는 SEO 체크리스트
표마다 열이 두 개입니다. 점검 항목과 ‘좋은 상태’의 기준입니다. 숫자는 공개된 출처가 제시한 경우에만 적었습니다.
1. 크롤링과 색인
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| robots.txt | /robots.txt가 상태 200으로 응답하고, 정말 막으려는 것만 막습니다. 가장 구체적으로 일치하는 규칙이 적용되며, Allow와 Disallow의 구체성이 같으면 Allow가 이깁니다(RFC 9309). 접근을 보호하는 수단이 아니라, 규칙을 지키는 봇에게 가지 말라고 부탁하는 파일일 뿐입니다. |
| noindex | 색인에서 빼려는 페이지에만 붙어 있습니다. 중요한 페이지에는 noindex가 들어간 robots 지시문이 없습니다. |
| 사이트맵 | 색인되길 바라는 페이지를 담고 있으며, robots.txt의 Sitemap: 줄에 전체 주소로 알려 둡니다. 파일 하나에 주소는 최대 50,000개, 압축하지 않은 크기로 50MB까지입니다(sitemaps.org). |
| 상태 코드 | 살아 있는 페이지는 200으로 응답합니다. 이전한 페이지는 301로 응답하며 동등한 새 페이지를 가리킵니다. 사라진 페이지는 404 또는 410으로 응답합니다. |
| 리디렉션 체인 | 리디렉션이 한 번에 최종 주소로 이어집니다. Google은 기본적으로 최대 10단계까지 따라가지만, 단계가 하나 늘 때마다 시간만 낭비됩니다. 301과 308은 강한 신호이고 302와 307은 약한 신호입니다(Google). |
| 소프트 404 | ‘찾을 수 없음’을 보여 주는 페이지는 상태 404도 함께 보냅니다. 200으로 응답하면서 오류나 빈 화면을 보여 주면 Search Console이 소프트 404로 보고합니다. 자세한 내용은 소프트 404 오류에 관한 글에서 다룹니다. |
2. 속도
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| LCP (Largest Contentful Paint) | 2.5초 이하 |
| INP (Interaction to Next Paint) | 200밀리초 이하. INP는 2024년 3월부터 FID를 대신하는 Core Web Vitals(코어 웹 바이탈) 지표입니다. |
| CLS (Cumulative Layout Shift) | 0.1 이하 |
| 평가 방식 | 페이지 로드의 75번째 백분위수 기준이며, 모바일과 데스크톱을 따로 평가합니다(web.dev) |
| 실험실 데이터와 실제 방문자 데이터 | 둘 다 보세요. 실험실 실행(PageSpeed Insights의 Lighthouse)은 테스트가 본 결과를, 실제 방문자 데이터(CrUX)는 사람들이 실제로 겪은 결과를 보여 줍니다. |
3. Google에서의 페이지
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| title 태그 | 모든 페이지가 그 페이지만을 설명하는 고유한 title 태그를 가집니다. |
| 메타 설명 | 모든 페이지가 사람을 위해 쓴 고유한 짧은 요약을 가집니다. |
| canonical | 각 페이지가 색인되어야 할 단 하나의 주소를 밝힙니다. |
| H1 | 페이지당 H1을 하나 쓰는 것이 일반적이며, H1은 주제를 말해 줍니다. |
| 헤딩 순서 | H1 아래에 H2, H2 아래에 H3가 옵니다. 헤딩은 글을 구조화하는 도구이지 글자 크기를 정하는 수단이 아닙니다. |
| lang 속성 | <html lang="ko">가 페이지의 언어와 일치합니다. 브라우저와 보조 기술에 도움이 됩니다. Google은 언어를 판별할 때 이 속성을 쓰지 않습니다. |
| URL 품질 | 불필요한 매개변수가 없고, 읽기 쉬우며, 쉽게 바뀌지 않는 주소입니다. |
4. 콘텐츠
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| 본문 분량 | 페이지가 다루는 질문에 답하기에 충분한 분량입니다. 고정된 최소 분량이 입증된 바는 없으니 억지로 늘리지 마세요. |
| 핵심 키워드 | title 태그, H1, 첫 문단만 봐도 주제가 분명합니다. 키워드를 더 자주 반복한다고 도움이 되지는 않으니 독자를 위해 쓰세요. |
| 중복 | 같은 title 태그, 같은 메타 설명, 같은 H1을 쓰는 페이지가 없고, 거의 똑같은 페이지는 하나로 합쳐져 있습니다. |
| 빈약한 페이지 | 내용이 거의 없는 페이지는 보강하거나, 더 나은 페이지로 합치거나, 알맞은 상태 코드로 제거합니다. |
| 가독성 | 짧은 문단, 쉬운 단어, 분명한 구성입니다. |
| 작성자와 날짜 | 글에 누가 언제 썼는지 밝혀 둡니다. 신뢰를 주는 페이지(소개, 연락처, 사업자 정보, 개인정보처리방침)가 있고 링크되어 있습니다. |
5. 기술 & 보안
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| HTTPS | 사이트 전체가 유효한 TLS 인증서와 함께 HTTPS로 제공됩니다. |
| 페이지당 주소 하나 | http와 https, www가 붙은 주소와 없는 주소가 모두 하나의 버전으로 모입니다. |
| 혼합 콘텐츠 | https 페이지에 http 리소스(이미지, 스크립트)가 없습니다. |
| HTTP/2 | 서버가 HTTP/2를 제공합니다. |
| 압축 | HTML, CSS, JavaScript 같은 텍스트 파일을 압축해서 보냅니다. |
| 캐시 | 정적 파일에는 캐시 헤더가 붙어 있고, HTML을 얼마나 오래 캐시할지는 의도를 갖고 정합니다. |
| 보안 헤더 | 서버나 플랫폼의 문서에 따라 설정합니다. |
6. 링크와 이미지
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| 내부 링크 | 없는 페이지(4xx나 5xx)를 가리키는 링크가 없고, 링크가 리디렉션을 거치지 않습니다. 최종 주소를 직접 가리키세요. |
| 찾기 쉬움 | 중요한 페이지는 모두 내부 링크로 도달할 수 있습니다. 내부 링크가 하나도 없는 페이지는 고아 페이지이며, 클릭을 여러 번 해야 나오는 깊은 곳의 페이지는 찾기 어렵습니다. Google은 내부 링크를 콘텐츠를 쉽게 찾을 수 있게 하는 기본 요소로 꼽습니다(AI 기능 문서). |
| 이미지 | 모든 이미지 파일이 로드됩니다. |
| 대체 텍스트 | 의미 있는 이미지에는 짧고 사실적인 대체 텍스트를 넣습니다. 순수한 장식 이미지는 alt 속성을 비워 둡니다. |
| 공유 이미지 | og:image는 https로 시작하는 절대 주소입니다. Facebook은 1200 × 630px 이상, 가로세로 비율 약 1.91 : 1, 파일 크기 8MB 이하를 권장합니다(Facebook). OG 태그에 관한 글을 참고하세요. |
7. 다국어와 구조화된 데이터
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| hreflang | 각 언어 버전이 자기 자신과 다른 모든 버전을 https://가 붙은 전체 주소로 밝힙니다. 상호 링크는 필수이며, 없으면 정보가 무시될 수 있습니다. x-default는 그 밖의 모든 언어를 위한 대체 페이지를 가리킵니다. 방식은 하나면 충분합니다. HTML head, HTTP 헤더, 사이트맵 중 하나를 쓰고, 여러 개를 함께 써도 검색에서 이점은 없습니다(Google). |
| 언어 코드 | 유효한 코드를 씁니다. ISO 639-1 언어 코드에, 필요하면 ISO 3166-1 Alpha-2 지역 코드를 덧붙입니다. |
| 본문 언어 | 본문의 실제 언어가 선언한 언어와 일치합니다. |
| 구조화된 데이터 | JSON-LD나 Microdata를 읽을 수 있고, 의도한 유형이며, 빠진 필수 항목이 없습니다. |
8. AI 준비도
| 점검 항목 | ‘좋은 상태’의 기준 |
|---|---|
| AI 크롤러 규칙 | robots.txt에서 봇마다 의도를 갖고 결정합니다. OpenAI와 Anthropic은 학습, 검색, 사용자 요청에 쓰는 봇을 각각 따로 문서화해 두었습니다. |
| JavaScript 없는 HTML | 본문과 링크가 서버가 보내는 HTML 안에 있습니다. Google은 JavaScript를 실행하지만, Vercel과 MERJ가 2024년에 분석했을 때 GPTBot, ClaudeBot 같은 주요 AI 크롤러는 JavaScript를 실행하지 않았습니다(출처). 이는 2024년 시점의 결과이며 그 후 다시 확인된 바는 없습니다. |
| llms.txt | 선택 사항입니다. 효과는 입증되지 않았습니다. |
| Google의 AI 기능 | Google은 AI 개요와 AI 모드에 일반적인 SEO 기본 요소 외의 추가 요건이 없다고 밝힙니다. 페이지가 색인되어 있고 스니펫과 함께 표시될 수 있어야 합니다. 자세한 내용은 AI 개요에 관한 글을 참고하세요. |
SEOgrinder로 SEO 체크리스트를 한 번에 점검하는 방법
SEOgrinder는 무료이고 계정이 필요 없으며, 위 항목 대부분을 한 번의 실행으로 점검합니다. 스캔 자체는 잠깐이면 끝나고, 고치는 데 걸리는 시간은 무엇이 발견되는지에 달려 있습니다.
- 주소 입력. SEOgrinder를 열어 공개된 페이지의 주소를 입력하고 분석을 시작합니다.
- 점수와 할 일 목록 읽기. 리포트는 점수 하나와, 영향이 큰 순서로 정렬된 할 일 목록을 보여 줍니다. 리포트는 속도, Google에서의 페이지, 접근성, 기술 & 보안, AI 준비도, 웹사이트의 6개 영역으로 나뉩니다.
- 「할 일」 탭의 맨 위부터 시작. 앞쪽 항목부터 고치고 목록을 따라 내려갑니다. 중복된 제목, 거의 같은 페이지, 고아 페이지처럼 사이트 전체에 걸친 문제는 리포트가 사이트를 순회해서 찾아낸 내용을 목록으로 보여 줍니다.
- 필요한 내용 남기기. 리포트를 PDF로 공유를 누른 다음 브라우저의 인쇄 창에서 「PDF로 저장」을 선택합니다(표기는 브라우저마다 다를 수 있습니다). 이렇게 하면 리포트를 고객, 동료, 개발자에게 건넬 수 있습니다.
- 고친 뒤 다시 확인. 리포트는 최대 24시간 동안 캐시에 보관됩니다. 다시 확인을 누르면 새로 실행하므로 수정이 효과가 있었는지 볼 수 있습니다. 확인 대상 웹사이트에 요청이 너무 많이 가지 않도록 이 버튼은 횟수가 제한될 수 있으며, 그럴 때는 리포트가 알려 줍니다.
- 선택: 코딩 어시스턴트에 넘기기. AI에 넘기기는 리포트를 Markdown 작업 지시서로 바꿔 줍니다. 각 과제에는 확인할 수 있는 「완료 조건」이 들어 있습니다.
Google Search Console을 쓰고 있다면 SEOgrinder는 Search Console에서 내보낸 파일도 분석할 수 있습니다(API 직접 연동은 SEOgrinder를 자신의 컴퓨터에서 실행할 때만 가능합니다). 그러면 실제 검색자들이 Google에서 내 페이지를 어떻게 찾고 클릭하는지까지 더해서 볼 수 있습니다.
한계도 분명히 밝혀 둡니다. SEOgrinder는 기술적 기반을 점검합니다. 순위를 추적하지 않으며, ChatGPT, Gemini, Perplexity가 내 브랜드를 언급하는지도 측정하지 않습니다. 그런 일을 하는 서비스가 따로 있고, 그것은 다른 종류의 작업입니다.
SEO 점검은 얼마나 자주 해야 하나요?
이상적인 주기가 입증된 바는 없습니다. 실무에서 통하는 대략적인 기준은 다음과 같습니다.
- 전체 점검: 출시, 리뉴얼, 사이트 이전, CMS나 호스팅 교체 뒤에 합니다.
- 짧은 점검: 템플릿, robots.txt, 리디렉션, 사이트맵을 바꿀 때마다 합니다.
- 정기적인 확인: Search Console을 꾸준히 살펴봅니다. 시간이 지나면서 생기는 문제가 거기에 나타납니다.
자주 하는 실수
- 한꺼번에 다 고치려는 것. 항목이 쉰 개인 목록은 계획이 아닙니다. 맨 위 세 개를 고치고, 다시 확인하고, 반복하세요.
- 영향보다 수고를 앞세우는 것. 메타 설명 백 개를 바꾸는 일은 쉽지만, 막혀 있는 디렉터리가 훨씬 더 큰 관심을 받아야 합니다.
- 종합 점수만 보는 것. 점수는 요약이고, 무엇을 해야 하는지는 과제가 알려 줍니다. 점수가 같은 두 사이트도 문제는 전혀 다를 수 있습니다.
- 다시 확인을 건너뛰는 것. 검증하지 않은 수정은 추측입니다. 다시 점검하세요.
- 체크리스트를 순위 보장으로 여기는 것. 체크리스트는 장애물을 치워 줍니다. 수요, 권위, 좋은 콘텐츠를 만들어 주지는 않습니다.
- 홈페이지만 점검하는 것. 템플릿은 반복됩니다. 템플릿 하나가 깨지면 수백 개의 페이지가 함께 깨집니다.
- 실수로 막아 버리는 것. 테스트 서버에서 복사해 온, 모든 것을 막는 robots.txt는 사이트 전체를 보이지 않게 만드는 대표적인 경로입니다.
자주 묻는 질문
SEO 체크리스트만으로 순위를 올릴 수 있나요?
아니요. 체크리스트는 피할 수 있는 오류를 찾아 줍니다. 순위는 콘텐츠, 경쟁, 그 밖의 많은 요소에 좌우되며, 어떤 순위도 보장할 수 없습니다.
SEO 점검에는 시간이 얼마나 걸리나요?
시간의 대부분은 스캔이 아니라 과제를 처리하는 데 들어갑니다. 얼마나 걸리는지는 발견된 내용과 사이트의 규모에 달려 있습니다.
유료 도구가 필요한가요?
이 글의 점검 항목에는 필요하지 않습니다. SEOgrinder는 무료이고 계정이 필요 없습니다. Search Console과 PageSpeed Insights가 이를 보완합니다.
어떤 점검 항목이 가장 중요한가요?
1번 그룹, 크롤링과 색인입니다. 검색엔진이 페이지에 접근하거나 색인할 수 없다면 목록의 나머지는 아무 도움이 되지 않습니다.
이 체크리스트가 AI 검색도 다루나요?
기술적 기반은 다룹니다. AI 시스템이 내 페이지에 접근해 읽을 수 있는지입니다. 어시스턴트가 나를 언급하는지는 알려 주지 않습니다. Google은 AI 개요에 일반적인 SEO 기본 요소 외의 추가 조치가 필요 없다고 밝힙니다.
다음 단계
SEOgrinder로 내 웹사이트의 무료 스캔을 실행하고, 목록 맨 위의 과제 세 개를 고친 다음 다시 확인을 누르세요. 그런 다음 다음 세 개로 같은 과정을 반복합니다.