발행일 : 2025-08-25
개인 블로그나 홈페이지를 운영하면서 검색엔진에 잘 노출되려면, 구글 서치 콘솔과 네이버 서치어드바이저 등록은 필수입니다.
이번 글에서는 제가 실제로 블로그를 등록하면서 진행한 과정을 정리했습니다.
중간중간 스크린샷은 참고용으로 넣어두었으니 따라 해보시면 쉽게 완료하실 수 있을 거예요.
1. 구글 서치 콘솔 등록
1-1. 사이트 추가
- Google Search Console에 접속합니다.
- “도메인” 혹은 “URL 접두어” 방식 중 선택할 수 있습니다.
- 도메인 방식:
example.com전체를 소유권 인증. - URL 접두어 방식: 특정 URL(
https://example.com)만 인증. - 당연히 도메인 방식으로 진행
- 도메인 방식:

1-2. DNS TXT 레코드 추가
구글은 보통 TXT 레코드를 이용한 소유권 확인을 권장합니다.

도메인 호스팅 사이트로 이동합니다.

- 유형: TXT
- 호스트 이름:
@(루트 도메인일 경우) - 값:
google-site-verification=xxxxxxxxxxxx - TTL: 180 ~ 300
DNS 레코드 인증은 수분에서 수시간이 걸릴 수 있으니, 조금 기다렸다가 [확인] 버튼을 누르면 됩니다.
1-3. 사이트맵 제출
소유권 확인 후에는 사이트맵을 제출합니다.
- sitemap 생성이 선행되어있어야 합니다.
- 주소 예시:
https://devmle.kr/sitemap.xml - 색인생성 > Sitemaps 메뉴에서 제출

1-4. 색인 요청 & 정보 확인
- 새 글을 발행했을 때 빠르게 색인을 생성하고 싶으면 “URL 검사” 에서 해당 url을 입력하면 색인 요청을 할 수 있습니다.
- 시간이 충분히 지나서 데이터가 수집되면 "유용한 정보"와 "실적"에서 분석된 데이터들을 볼 수 있습니다.
- 아래의 사진은 제가 전에 만든 동물병원 홈페이지 입니다.
- “유용한 정보”와 "실정"에서는 클릭수, 노출수, 내 사이트로 유도되는 검색어 등을 확인할 수 있습니다.

2. 네이버 서치 어드바이저 등록
2-1. 사이트 추가
- 네이버 서치어드바이저 접속
- 사이트 주소 입력 후 등록

2-2. 소유권 확인 방법
네이버는 두 가지 방법을 제공합니다.
✅ 방법 1. HTML 파일 업로드 (권장)
- 네이버에서 제공하는 HTML 파일 다운로드
- Nextjs 프로젝트 public폴더에 업로드
- 소유권 확인 버튼 클릭

✅ 방법 2. HTML 메타태그 삽입
import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import "./globals.css";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
});
const geistMono = Geist_Mono({
variable: "--font-geist-mono",
subsets: ["latin"],
});
export const metadata: Metadata = {
other: {
"naver-site-verification": "xxxxxxxxxxxxxxxxx", // 이곳에 "content"입력
},
};
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="ko" suppressHydrationWarning>
<body
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
>
<main>
{children}
</main>
</body>
</html>
);
}
2-3. 사이트맵 & RSS 제출
네이버는 RSS를 함께 제출하면 새 글 색인이 더 빨라집니다.
-
사이트맵 제출: "요청" 👉 "사이트맵 제출", https://devmlee.kr/sitemap.xml 입력 후 [확인]
-
RSS 제출
- feed 라이브러리 설치: rss파일을 쉽게 만들어주는 라이브러리
pnpm install feed - RSS 라우트 생성: app/rss.xml/route.ts 파일을 만들고 아래 코드를 작성합니다.
import { fetchPosts } from "@/lib/supabase/service/posts"; import { Post, PostCategory } from "@/types/post"; import { Feed } from "feed"; export async function GET() { const siteUrl = process.env.NEXT_PUBLIC_SITE_URL!; // supabase로직이니 그냥 흐름만 보시면 됩니다. const categories: PostCategory[] = ["vet", "dev"]; let posts: Post[] = []; for (const category of categories) { const catPosts = await fetchPosts(category); posts = [...posts, ...catPosts]; } // 최신순 정렬 posts.sort( (a, b) => new Date(b.published_at!).getTime() - new Date(a.published_at!).getTime(), ); const feed = new Feed({ title: "DEVM LEE 블로그", description: "수의사 개발자의 개발 & 수의학 블로그", id: siteUrl, link: siteUrl, language: "ko", favicon: `${siteUrl}/favicon.ico`, copyright: `© ${new Date().getFullYear()} DEVM LEE`, }); posts.forEach((post) => { feed.addItem({ title: post.title, id: `${siteUrl}/posts/${post.slug}`, link: `${siteUrl}/posts/${post.slug}`, date: new Date(post.published_at!), description: post.description, }); }); return new Response(feed.rss2(), { headers: { "Content-Type": "application/xml; charset=utf-8", }, }); } - "요청" 👉 "RSS 제출", https://devmlee.kr/rss.xml 입력 후 [확인]
- feed 라이브러리 설치: rss파일을 쉽게 만들어주는 라이브러리
2-4. 색인 요청 & 정보 확인
- 새 글을 발행했을 때 빠르게 색인을 생성하고 싶으면 “요청” 👉 "웹페이지 수집" 에서 색인 요청을 할 수 있습니다.
- 시간이 충분히 지나서 데이터가 수집되면 "리포트"와 "요약정보"에서 분석된 데이터들을 볼 수 있습니다.
3. 정리
- 구글은 DNS TXT 인증 + 사이트맵 제출이 핵심
- 네이버는 HTML 파일 업로드(추천) or 메타태그 인증 + 사이트맵 제출 + RSS
- 색인 요청과 성능 리포트를 통해 검색 노출을 꾸준히 관리하면 됩니다!! 👏👏👏