블로그에 사이트맵, 로봇 텍스트 추가하기

 ・ 4 min

photo by Alexander Lunyov on Unsplash

블로그에 remarkrehype 플러그인 추가해서 그에 맞게 개발을 끝낸 뒤, 블로그에 붙인 구글 GA를 봤는데 거의 저만 들어온 것 같았어요(방문자수 1-2명 🥲). 그래서 SEO를 통해 노출될 수 있도록 Next.js가 제공하는 방식을 추가했어요.

sitemap 생성하기#

NEXT.js - sitemap.xml에 설명된 것 중 Generating a sitemap using code (.js, .ts) 를 통해 만들었어요. 맨 처음에는 Generating multiple sitemaps도 적용했는데 상세 페이지를 갖는 posts, books 메뉴에 sitemap.ts를 만들었으나 제대로 되지 않더라구요. 그래서 방법을 찾다가. app/sitemap.ts 파일을 변경했어요.

import { allBooks, allPosts } from "@/.contentlayer/generated";
import { BASE_URL } from "@/app/lib/definitions";
import { MetadataRoute } from "next";
 
export default function sitemap(): MetadataRoute.Sitemap {
  return [
    {
      url: `${BASE_URL}/`,
      lastModified: new Date(),
      changeFrequency: "yearly",
      priority: 1,
    },
    {
      url: `${BASE_URL}/about`,
      lastModified: new Date(),
      changeFrequency: "monthly",
      priority: 0.8,
    },
    {
      url: `${BASE_URL}/tags`,
      lastModified: new Date(),
      changeFrequency: "weekly",
      priority: 0.5,
    },
    {
      url: `${BASE_URL}/get912000won`,
      lastModified: new Date(),
    },
    ...allPosts.map((post) => ({
      url: `${BASE_URL}/posts/${post.slug}`,
      lastModified: post.date,
    })),
    ...allBooks.map((book) => ({
      url: `${BASE_URL}/books/${book.slug}`,
      lastModified:
        book.start_read_date === book.finish_read_date
          ? book.start_read_date
          : book.finish_read_date,
    })),
  ];
}

저는 contentlayer를 사용하고 있어서 이미 마크다운으로 작성한 게시글들에 대한 정보를 담은 객체들이 있어요. 그래서 편하게 allPosts와 allBooks를 불러와서 글을 데이터를 추가할 수 있었어요.

robots 생성하기#

NEXT.js - robots.txt에 설명된 것 중 Generate a Robots file를 사용했어요. sitemap 설정할 때보다 더 쉬워요.

app/robots.ts 파일에 아래와 같이 만들었어요.

import { MetadataRoute } from "next";
 
export default function robots(): MetadataRoute.Robots {
  return {
    rules: {
      userAgent: "*",
      allow: "/",
    },
    sitemap: "https://get6.github.io/sitemap.xml",
  };
}

검색엔진 사이트에 등록하기#

AI 답변을 통해 알게된 건 이렇게 만들면 끝나는 게 아니라 이제 크롤링될 수 있도록 검색엔진 사이트에 추가해야 한다고 하더라구요.

그래서 여러 검색엔진 사이트에 직접 등록해야해요. 자동으로 수많은 검색엔진에 등록해주는 서비스가 있는 것 같으나 제대로 해주는 지 테스트해보지 않았어요. 그래도 인터넷상에서 유명한 사이트에 추가할 수 있는 링크를 아래에 제공할게요!

  1. 구글 - Google Search Console
  2. 네이버 - Search Advisor
  3. 빙 - Webmasters Tools
  4. 바이두 - 百度站长工具
  5. 얀덱스 - Webmaster

저는 일단 구글과 네이버만 추가했어요. 모든 사이트들은 로그인 후 진행하는 걸 기본으로 하고 있어요. 원하는 사이트가 있다면 회원가입을 하시고 진행해주세요!

저는 구글과 네이버 모두 HTML 태그를 추가하는 형식을 골랐어요. HTML 파일을 업로드하는 방식은 NGINX 같은 웹 서버용에 해당한다고 생각돼요.

일반적이라면 태그를 header 태그 사이에 추가하면 되지만 저는 Next.js를 사용하고 있어서 따로 설정해줘야 했어요.

export const metadata: Metadata = {
  // ...다른 설정들은 생략
  verification: {
    google: "복사하라고 알려준 태그에서 content 부분",
    other: {
      // 복사하라고 알려준 태그에서 name 부분을 왼쪽에 적어주세요.
      'naver-site-verification': "복사하라고 알려준 태그에서 content 부분",
    },
  },
};

호스팅되는 곳에 태그들이 올라간 뒤, 소유자 확인 버튼을 눌러주시면 완료돼요!
이후 각 사이트에서 제공하는 웹마스터 도구를 보면서 수집되는 데이터로 어떤 글이 인기가 많은지 보셔도 좋을거예요.


God gave us the gift of life; it is up to us to give ourselves the gift of living well.

— Voltaire


Other posts
cover_image
 ・ 2 min

2024년도 예비창업패키지 탈락하고 쓰는 글

cover_image
 ・ 2 min

창업이 처음인 청년이라면 사업자 등록 혜택을 받아봐요!

cover_image
 ・ 2 min

인천대학교 INU 스타트업 아카데미 후기