프로젝트를 배포한 뒤 바로 끝난 줄 알았다.
도메인도 연결했고, HTTPS도 적용됐고, 사이트도 정상적으로 접속됐다.
하지만 실제 운영을 생각하면 한 가지가 더 남아 있었다.
바로 검색 노출이다.
사용자가 사이트 주소를 직접 입력해서 들어올 수도 있지만, 회사명이나 서비스명을 검색해서 들어오는 경우도 있다.
그래서 네이버 검색에 사이트가 잘 인식되도록 기본 SEO 설정을 진행했다.
이번 글에서는 네이버 서치어드바이저 등록 과정에서 확인한 메타 태그, Open Graph, robots.txt, sitemap.xml,
그리고 검색에 바로 뜨지 않는 이유를 정리해보려고 한다.
SEO 설정이 필요했던 이유
웹사이트를 배포했다고 해서 검색엔진이 바로 알아서 잘 보여주는 것은 아니다.
검색엔진은 사이트에 접근해서 페이지 내용을 수집하고, 이 사이트가 어떤 사이트인지 판단한 뒤 검색 결과에 반영한다.
이때 검색엔진이 참고하는 정보들이 있다.
사이트 제목
사이트 설명
대표 이미지
수집 허용 여부
사이트맵
페이지 구조
이 정보들이 제대로 설정되어 있지 않으면 검색 결과에서 사이트가 어색하게 보이거나, 수집이 늦어질 수 있다.
이번 프로젝트는 실제 운영될 홈페이지였기 때문에, 최소한의 SEO 기본 설정은 해두는 것이 좋다고 판단했다.
네이버 서치어드바이저 등록
네이버 검색 노출을 확인하기 위해 네이버 서치어드바이저에 사이트를 등록했다.
서치어드바이저는 네이버가 사이트를 어떻게 인식하는지 확인할 수 있는 도구다.
진행 과정은 대략 다음과 같았다.
네이버 서치어드바이저 접속
-> 사이트 등록
-> 사이트 소유 확인
-> 메타 태그 방식 선택
-> 프로젝트에 인증 메타 태그 추가
-> 배포
-> 소유 확인
-> 사이트 간단 체크
사이트 소유 확인을 위해 네이버에서 제공하는 메타 태그를 프로젝트에 추가했다.
예를 들면 이런 형태다.
<meta name="naver-site-verification" content="인증코드" />
Next.js 프로젝트에서는 일반적인 index.html 파일을 직접 수정하는 방식이 아니라,
전역 레이아웃 또는 메타데이터 설정 파일에서 처리해야 했다.
이 부분이 처음에는 조금 헷갈렸다.
정적 HTML 사이트라면 index.html의 <head> 안에 붙이면 되지만, Next.js에서는 구조가 다르다.
그래서 프로젝트의 레이아웃 파일에 네이버 인증 메타 태그를 추가하고 다시 배포했다.
배포 후 네이버 서치어드바이저에서 소유 확인을 진행했고, 정상적으로 사이트가 등록되었다.
메타 태그 설정
SEO에서 가장 기본이 되는 것은 title과 description이다.
검색 결과에서 사이트 제목과 설명으로 사용될 수 있고, 검색엔진이 사이트의 주제를 이해하는 데도 도움을 준다.
이번 프로젝트에서는 사이트 제목과 설명을 다음과 같은 방향으로 설정했다.
title: 사이트명
description: 서비스 성격을 설명하는 짧은 문장
예를 들어 설명문은 사이트가 어떤 서비스를 제공하는지 한 문장으로 이해될 수 있게 작성했다.
너무 길거나 추상적인 문장보다는, 검색 사용자가 봤을 때 바로 이해되는 문장이 좋다고 생각했다.
메타 태그를 설정하면서 느낀 점은 “검색엔진을 위한 문장”이면서 동시에 “사람이 읽는 문장”이어야 한다는 점이었다.
검색엔진만 의식해서 키워드를 무리하게 넣으면 어색해지고, 반대로 너무 감성적인 문장만 쓰면 사이트 주제가 명확하지 않을 수 있다.
그래서 짧고 명확한 설명을 우선했다.
Open Graph 설정
Open Graph는 사이트 링크를 카카오톡, 문자, SNS 등에 공유했을 때 보이는 미리보기 정보다.
대표적으로 다음 정보가 사용된다.
og:title
og:description
og:image
og:url
og:type
처음 네이버 서치어드바이저 간단 체크를 했을 때 Open Graph 제목과 설명이 없다는 진단이 나왔다.
사이트 접속 자체는 문제없었지만, 검색엔진이나 외부 서비스가 사이트 정보를 이해하기에는 부족한 상태였다.
그래서 Open Graph 정보를 추가했다.
Open Graph 제목: 사이트명
Open Graph 설명: 사이트 설명
Open Graph URL: 운영 도메인
Open Graph 이미지: 대표 이미지
Open Graph는 검색 노출뿐 아니라 링크 공유 경험에도 영향을 준다.
예를 들어 누군가 사이트 링크를 카카오톡으로 보냈을 때,
제목과 설명이 비어 있거나 엉뚱하게 나오면 신뢰도가 떨어져 보일 수 있다.
운영 사이트라면 이 부분도 기본적으로 설정해두는 것이 좋다고 느꼈다.
robots.txt 설정
네이버 서치어드바이저 간단 체크에서 처음에는 robots.txt가 존재하지 않습니다라는 메시지가 나왔다.
robots.txt는 검색엔진 로봇에게 어떤 페이지를 수집해도 되는지 알려주는 파일이다.
예를 들어 전체 수집을 허용하려면 다음과 같은 형태가 될 수 있다.
User-agent: *
Allow: /
Sitemap: <https://도메인/sitemap.xml>
이번 프로젝트에서는 검색엔진이 사이트를 수집할 수 있도록 허용하고, sitemap.xml 위치도 함께 알려주도록 설정했다.
robots.txt를 추가한 뒤 다시 진단해보니 네이버 로봇이 사이트에 접근해 정보를 수집할 수 있는 상태로 표시되었다.
이 작업을 하면서 알게 된 점은, SEO 설정은 “사이트 안에만 잘 보이면 끝”이 아니라는 것이다.
검색엔진이 접근할 수 있는 구조인지도 확인해야 한다.
sitemap.xml 설정
sitemap.xml은 사이트에 어떤 페이지들이 있는지 검색엔진에 알려주는 파일이다.
사이트맵이 없어도 검색엔진이 링크를 따라가며 페이지를 발견할 수는 있다.
하지만 사이트맵을 제공하면 주요 페이지를 더 명확하게 알려줄 수 있다.
이번 프로젝트에서는 다음과 같은 주요 페이지들이 있었다.
/
서비스 안내
견적문의
후기
자주 묻는 질문
이 페이지들을 sitemap.xml에 포함하도록 설정했다.
Next.js에서는 sitemap을 코드로 생성할 수 있다. 운영 도메인을 기준으로 각 페이지 URL을 반환하게 만들면 된다.
사이트맵을 설정한 뒤에는 네이버 서치어드바이저에서 사이트맵 제출도 진행할 수 있다.
<https://도메인/sitemap.xml>
사이트맵 제출은 검색엔진에게 “이 사이트에는 이런 페이지들이 있습니다”라고 알려주는 과정에 가깝다.
검색 노출을 보장하는 것은 아니지만, 수집을 돕는 기본 설정이라고 볼 수 있다.
네이버 검색에 바로 안 뜨는 이유
SEO 설정을 마친 뒤 가장 궁금했던 것은 “왜 검색해도 바로 안 뜨지?”였다.
사이트 등록도 했고, 메타 태그도 넣었고, robots.txt와 sitemap.xml도 정상인데 검색 결과에 바로 나타나지 않을 수 있다.
이유는 검색엔진이 사이트를 수집하고 색인하는 데 시간이 걸리기 때문이다.
흐름은 대략 이렇다.
사이트 등록
-> 검색 로봇이 사이트 방문
-> 페이지 수집
-> 검색엔진이 내용 분석
-> 색인 반영
-> 검색 결과에 노출
이 과정은 즉시 완료되지 않는다.
특히 새 도메인이나 새 사이트는 검색엔진이 아직 신뢰도를 충분히 쌓지 못했기 때문에 반영까지 시간이 걸릴 수 있다.
또 검색 결과에 뜬다고 해도 원하는 키워드에서 바로 상위 노출되는 것은 별개의 문제다.
예를 들어 회사명을 정확히 검색하면 먼저 뜰 가능성이 있지만,
일반 키워드로 검색하면 경쟁 사이트가 많기 때문에 시간이 더 걸릴 수 있다.
그래서 네이버에 바로 안 뜬다고 해서 설정이 잘못된 것은 아니다.
서치어드바이저에서 다음 항목들이 정상이라면 기본 준비는 된 것이다.
사이트 정상 접속
robots.txt 정상
로봇 메타 태그 정상
사이트 제목 정상
사이트 설명 정상
Open Graph 제목 정상
Open Graph 설명 정상
이후에는 웹 페이지 수집 요청, 사이트맵 제출, 콘텐츠 품질 개선을 통해 기다려야 한다.
SEO 설정 후 확인한 것들
SEO 작업 후에는 네이버 서치어드바이저의 사이트 간단 체크로 상태를 확인했다.
초기에는 robots.txt와 Open Graph 관련 항목에서 문제가 있었지만, 설정을 추가한 뒤 대부분 정상으로 바뀌었다.
확인한 항목은 다음과 같다.
사이트 정상 접속 여부
robots.txt 존재 여부
로봇 메타 태그
사이트 제목
사이트 설명
Open Graph 제목
Open Graph 설명
이렇게 진단 결과가 정상으로 바뀌면 기본 SEO 설정은 어느 정도 완료됐다고 볼 수 있다.
다만 이것이 곧바로 검색 상위 노출을 의미하지는 않는다.
SEO는 설정만으로 끝나는 작업이 아니라, 검색엔진이 사이트를 수집하고 사용자에게 가치 있는 콘텐츠라고 판단하는 과정까지 포함된다.
이번 작업을 통해 배운 점
이번 SEO 설정을 하면서 배운 것은 “검색 노출은 배포 이후에 챙기는 부가 작업이 아니라 운영 준비의 일부”라는 점이다.
사이트를 만들어도 검색엔진이 제대로 읽지 못하면 사용자에게 발견되기 어렵다.
특히 실제 운영 사이트라면 최소한 다음 항목은 챙기는 것이 좋다.
title
description
Open Graph
robots.txt
sitemap.xml
검색엔진 소유 확인
사이트맵 제출
이 작업들은 화려한 기능은 아니지만, 사이트를 외부에 공개할 때 기본이 되는 설정이다.
회고
처음에는 네이버 서치어드바이저 등록이 단순히 메타 태그 하나 넣는 작업이라고 생각했다.
하지만 직접 해보니 메타 태그, Open Graph, robots.txt, sitemap.xml, 도메인, 배포까지 모두 연결되어 있었다.
특히 Next.js에서는 일반 HTML처럼 index.html에 직접 태그를 넣는 방식이 아니기 때문에,
프레임워크 구조에 맞게 SEO 설정을 해야 했다.
이번 작업을 통해 배포 후에도 해야 할 일이 많다는 걸 다시 느꼈다.
사이트가 정상적으로 열리는 것과 검색엔진이 사이트를 잘 이해하는 것은 다른 문제였다.
다음 프로젝트에서는 처음부터 SEO 기본 설정을 체크리스트에 넣고 진행하려고 한다.
배포가 끝난 뒤 급하게 설정하는 것이 아니라,
개발 단계에서 title, description, sitemap, robots.txt까지 함께 준비하면 더 자연스럽게 운영 단계로 넘어갈 수 있을 것 같다.
'개발 프로젝트 > [외주 프로젝트] 첫 외주 웹사이트 제작기: 기획부터 배포까지' 카테고리의 다른 글
| 외주 프로젝트를 마무리하며: 운영 가능한 사이트를 만든다는 것 (0) | 2026.06.21 |
|---|---|
| 배포하면서 만난 문제들: Vercel, Render, Supabase, 도메인 연결 (1) | 2026.06.20 |
| 관리자 페이지와 통계 기능 만들기 (0) | 2026.06.18 |
| 후기 기능 만들기: 계정 없이 등록하고 비밀번호로 삭제하기 (0) | 2026.06.16 |
| Google Sheet를 견적 옵션 DB처럼 사용하기 (0) | 2026.06.14 |