워드프레스 Robots.txt 파일 만들기 및 최적화하기

Last Updated: 2024년 10월 23일 27개 댓글

robots.txt 파일이 없어도 검색 엔진에서 사이트를 크롤링(Crawl)하여 색인화(Indexing)하지만 이 파일을 만드는 것이 좋습니다.  구글 웹마스터 도구에서 사이트맵 파일을 제출하지 않은 경우 구글은 이 파일에 입력되어 있는 XML 사이트맵 파일을 찾게 됩니다.

robots.txt 파일은 사이트의 루트 폴더에 위치하게 됩니다. robots.txt 파일이 없으면 컴퓨터에서 robots.txt 파일을 하나 만들어 FTP를 통해 업로드할 수 있습니다.

SEO 플러그인을 사용하는 경우 SEO 플러그인에 의해 robots.txt 파일이 제어될 수 있습니다. 만약 이 파일을 만들어 루트 디렉터리에 업로드하면 SEO 플러그인에서 robots.txt 파일을 수정할 수 없게 될 수 있습니다.

워드프레스에서 동적으로 생성되는 robots.txt

워드프레스에서는 robots 파일이 동적으로 생성됩니다. example.com/robots.txt를 브라우저 주소란에 입력하면 다음과 같은 코드가 출력될 것입니다.

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/wp-sitemap.xml

wp-sitemap.xml은 워드프레스에서 자동으로 생성되는 사이트맵입니다. 사이트에 따라 위의 코드에서 사이트맵 라인이 표시되지 않을 수 있습니다. 또한, Yoast SEO나 Rank Math와 같은 플러그인을 설치할 경우 사이트맵은 SEO 플러그인에서 생성하는 사이트맵으로 대체됩니다.

동적으로 생성되는 로봇 파일은 robots_txt 후크를 사용하여 수정이 가능합니다. 자세한 내용은 워드프레스 개발자 문서를 참고해보세요.

또한, Yoast SEO나 Rank Math의 프리미엄 버전에서는 이 파일을 편집할 수 있는 기능을 제공합니다. "워드프레스 멀티사이트 robots.txt 파일 수정하기"의 "SEO 플러그인에서 robots.txt 파일 편집하기" 부분을 참고해보세요.

하지만 아래의 설명에 따라 이 파일을 직접 만들어 루트 폴더로 업로드하는 경우에는 루트 폴더에 업로드된 파일이 우선적으로 적용됩니다.

robots.txt 파일 만들기

robots.txt 파일은 다음과 같은 형식으로 작성할 수 있습니다. robots.txt 파일은 사이트의 루트 폴더에 위치하며, 파일을 직접 만드는 경우 FTP에 접속할 수 있어야 합니다.

모든 항목 색인 허용

User-agent: *
Disallow:

- 또는 -

User-agent: *
Allow: /

모든 항목 색인 금지

User-agent: *
Disallow: /

특정 폴더 색인 금지

User-agent: *
Disallow: /folder/

Googlebot이 특정 파일을 제외한 폴더의 색인을 금지하도록 설정

User-agent: Googlebot
Disallow: /folder1/
Allow: /folder1/myfile.html

보다 자세한 내용은 이 글을 참고해보시기 바랍니다.

워드프레스에서 robots.txt 파일 만들기

워드프레스에서는 다음과 같이 일부 폴더가 검색엔진에서 색인화하지 않도록 설정할 수 있습니다.

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/

원하는 경우 /wp-admin/ 폴더를 차단할 수 있습니다. 저는 어드민 폴더를 차단하도록 추가했는데, 허용하기를 원하는 사람도 있는 것 같습니다. 그리고 /wp-content/plugins/ 폴더의 경우 위에서는 차단하도록 설정했지만 구글에서 페이지 렌더링(처리)에 필요한 Javascript나 CSS를 플러그인에서 출력할 수 있으므로 Yoast에서는 차단하지 않는다고 하네요. 많은 글에서 /wp-content/plugins/ 폴더도 차단할 것을 권장하고 있지만 허용해도 좋을 듯합니다.

사이트맵은 다음과 같은 형식으로 추가하면 됩니다.

Sitemap: https://www.example.com/sitemap.xml
Sitemap: https://www.example.com/post-sitemap.xml

SEO 플러그인을 설치한 경우 robots.txt 파일을 최적화하는 옵션을 제공하기도 합니다. 예를 들어, All in One SEO를 설치한 경우 대시보드의 왼쪽 사이드바에서 All in One SEO > Robots.txt 옵션을 선택하면 Robots.txt 파일을 생성할 수 있고 최적화할 수 있는 옵션도 제공됩니다.

Optimize your Robots file - Robots.txt 파일 최적화하기

Optimize를 누르면 All in One SEO 플러그인에서 현재 robots.txt 파일을 분석하여 변경 권장 사항을 제시합니다.

예시:

저는 다음과 비슷하게 만들었습니다.

User-agent: *
Allow: /wp-content/uploads/
Disallow: /wp-admin/
Disallow: /readme.html

Sitemap: https://www.example.com/sitemap.xml //실제 사이트맵 주소로 교체...

참고:


27 개 댓글

Leave a Comment

  1. 안녕하세요 .

    저는 네이버 서치어드바이저에

    Sitemap: https://블로그 주소 /sitemap.xml
    Sitemap: https://블로그 주소/news-sitemap.xml
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

    Sitemap: https://블로그 주소/sitemap_index.xml

    이렇게 뜨는데 Sitemap: https://블로그 주소/news-sitemap.xml
    이게 맞나요?

    왜 news-sitemap.xml 이라고 뜨는지 모르겠네요? 혹시 이런것 때문에 네이버 노출에 방해가 될까요? 다른 블로그는 네이버에 노출이 잘되는데. 유독 이 블로그만 모든 글이 노출이 안됩니다.

    혹시 새로 다시 robots.txt 를 설정하는 방법이 있나요?

    감사합니다.

    응답
    • 안녕하세요, 워드맨님.

      Sitemap 주소는 실제 사이트맵 주소를 입력하시기 바랍니다.

      Rank math, Yoast SEO의 경우 /sitemap_index.xml이 사이트맵 URL입니다.
      AIO SEO는 /sitemap.xml이 사이트맵 URL입니다.

      실제 사이트주소/sitemap.xml을 입력해보면 올바른 사이트맵 주소를 확인할 수 있을 것입니다.
      가령 Rank Math 사이트맵을 사용한다면 사이트주소/sitemap.xml을 입력하면 /sitemap_index.xml로 이동하게 됩니다.

      예시: https://www.thewordcracker.com/sitemap.xml 링크를 클릭하면 https://www.thewordcracker.com/sitemap_index.xml 링크로 바뀌게 됩니다.

      응답
      • 확인해보니

        1 https:// 블로그 /sitemap-1.xml 2024-06-08T14:17:01Z
        2 https:// 블로그 /image-sitemap-index-1.xml 2024-06-08T03:51:56Z

        이렇게 화면에 나오는데 문제가 없나요?

      • jetpack 플러그인에 사이트맵을 끄니

        랭크매스 사이트맵이 뜨네요.

        https:// 블로그주소 /post-sitemap1.xml
        2024-06-09 11:09 +00:00
        https:// 블로그주소 /post-sitemap2.xml
        2024-06-09 10:54 +00:00
        https://블로그주소 /page-sitemap.xml
        2018-09-08 23:41 +00:00

        저는 post 사이트맵이 2개인데 이건 맞나요?

        감사합니다

      • 저는 Rank Math SEO 를 사용합니다.

        구글에는 노출이 활발하게 잘 되는 상태고
        네이버에는 글 절반의 정도만 노출이 되는 상태입니다.
        혹시 사이트맵 2개가 원인일까요?

      • 랭크 매쓰의 사이트맵 기능을 사용한다면 사이트맵 주소는 /sitemap_index.xml입니다.
        랭크 매쓰 유료 버전을 사용한다면 아마 뉴스 사이트맵도 지원할 것 같습니다. 그런 경우 추가로 지정하면 될 것 같습니다.

        제 블로그의 경우 robots.txt에 여러 개의 사이트맵을 지정하고 있습니다.

        Sitemap: https://www.thewordcracker.com/sitemap_index.xml
        Sitemap: https://www.thewordcracker.com/simple/sitemap_index.xml
        Sitemap: https://www.thewordcracker.com/simple/jp/sitemap.xml
        Sitemap: https://ja.thewordcracker.com/sitemap_index.xml
        Sitemap: https://www.thewordcracker.com/forum/sitemap_index.xml
        Sitemap: https://www.thewordcracker.com/en-us/sitemap_index.xml

  2. 안녕하세요. 글을 정말 정성스럽게 잘쓰셨네요. 너무 멋져요~
    저는 워드프레스를 한지 얼마 안 되었어요. 그래서 읽다 보니 저는 잘 이해가 안되어서 직접 여쭈어 봅니다.
    글을 쓰고 구글서치콘솔에 색인 요청을 했더니
    "페이지 공개 상태: 페이지 색인을 생성할 수 없음: robots.txt에 의해 차단됨" 이라고 나오는데요.
    이런 경우, 워드프레스에서 robots.txt 파일 만들기에서 어떤것이 필수적으로 들어가야 해결이 될까요? 바쁘시겠지만 답변 부탁드립니다.

    응답
    • https://www.thewordcracker.com/?p=56307 글을 참고해보시기 바랍니다. 워드프레스에서 기본적으로 robots.txt 파일을 생성하므로 그대로 사용하셔도 되고, 직접 robots.txt 파일을 만들어 세밀하게 조정하셔도 됩니다. Rank Math 등 SEO 플러그인에서 robots.txt 파일을 수정하는 것도 가능합니다. "robots.txt에 의해 차단됨"이라고 나온다면 보통은 무시하셔도 됩니다. 대부분 색인되어서는 안 되는 URL일 수 있습니다.

      응답
  3. 안녕하십니까?
    늘 퀄리티 있고 훌륭한 정보 잘 보고 있습니다! ^^ 한가지 여쭤보고 싶은 것이 생겨서요.
    모든 검색봇은 허용하되 네이버봇만 차단하려고 하는데요.

    User-agent: *
    Disallow: /wp-admin/
    Disallow: /readme.html

    User-agent: Yeti
    Disallow:/

    이런식으로 작성하면 될런지요?
    바쁘신데 시간 내주셔서 감사합니다. (__)

    응답
    • 보통 웹호스팅에서 ftp에 접속했을 때, public_html 폴더(블루호스트 등 대다수)나 www 폴더 (예: 카페24) 혹은 html 폴더(예: 닷홈)가 루트 폴더가 됩니다. 경우에 따라 곧바로 루트 폴더로 접속되는 호스팅도 있습니다(예: 가비아).

      서브도메인의 경우 서브도메인의 Document Root 폴더가 루트 폴더가 될 것입니다. 서브도메인을 지정할 때 Document Root 폴더를 지정하게 됩니다. 그리고 블루호스트 등에서 애드온 도메인을 추가하는 경우에도 애드온 도메인을 추가할 때 지정한 Document Root 폴더가 루트 폴더가 될 것입니다("블루호스트(Bluehost)에서 서브 도메인 만들기/애드온 도메인 설정하기" 참고).

      응답
  4. 안녕하세요, 현재 Yoast를 사용하고 있고
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php
    이런 상태인데요
    네이버 웹마스터 도구에서 페이지 소유 확인 과정에서
    "메타태그를 찾을 수 없거나, 네이버 검색로봇이 사이트 서버에 접근을 할 수 없습니다.
    호스팅 또는 사이트 서버 관리자에게 확인 요청해 주세요."
    라는 메세지와 함께 인증이 되지 않더라구요..

    meta태그를 head 사이에 입력했는데도 말이죠.
    티스토리는 잘 등록해 놓은 상태인데 워드프레스는 잘 되지가 않더라구요.

    혹시 이 과정을 거치셨나요?
    워드프레스를 알아가고자 네이버 검색을 하면 여기가 자주 노출이 되더라구요.

    응답
  5. 안녕하세요 좋은 글 감사드립니다. 둘러보니 좋은 글이 많아 깜짝 놀랐습니다. 정말 감사합니다.

    여쭤보고 싶은 것이 하나 있는데, 저는 현재 Yoast를 사용하고 있습니다. 기본 robots.txt로

    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

    이렇게 적혀있는데, 이 경우에는 admin을 제외한 모든 페이지에 크롤링을 허용한다는 뜻일까요?

    감사합니다ㅠㅠ!

    응답
  6. 참고로 저는 robots.txt 파일을 하나 만들고 다음 내용을 추가했습니다.
    User-agent: *
    Allow: /wp-content/uploads/
    Disallow: /wp-admin/
    Disallow: /readme.html

    Sitemap: http://www.example.com/sitemap.xml //사이트맵 주소...

    응답
  7. 안녕하세요? 좋은 정보 잘 보았습니다.
    궁금한 점이 있는데, 작성글 맨 위에

    1. robots.txt 파일 작성하기
    robots.txt 파일은 다음과 같은 형식으로 작성할 수 있습니다.
    '모든 항목 색인 허용'
    User-agent: * Disallow:
    또는
    User-agent: * Allow: /
    '모든 항목 색인 금지'

    에서 Disallow와 Allow의 한글 설명이 서로 뒤바뀐 것이 아닌가요? Allow가 허용, Disallow가 불가인데, 오타가 난 것 같습니다. 선생님 글을 보고 robots.txt을 수정하고 있는데 발견하여 글 남김니다. 좋은 글 감사합니다:)

    응답
    • 안녕하세요?
      새벽인데도 제 블로그를 방문해주셔서 댓글을 남겨주셨네요.
      위의 내용은 맞는데요, 다만 광고 배너 때문에 혼동스럽게 되어 있네요.

      User-agent: *
      Disallow: /

      --> 이 경우 서버에서 모든 robots 제외

      User-agent: *
      Disallow:

      --> 이 경우 모든 robots 전면 액세스 허용

      자세한 내용은 http://www.robotstxt.org/robotstxt.html 글을 참고해보세요.

      응답