Subscribe

워드프레스 robots.txt 설정, 꼭 필요한 것만 정리

2026-06-18워드프레스 robots.txt 설정, 꼭 필요한 것만 정리 - 섬네일

워드프레스 블로그를 운영하다 보면 처음에 한번은 robots.txt 제대로 작성해 놓는 것이 좋다. robots.txt 자체가 검색 노출에 대단히 중요한 부분은 아니다. 하지만 rss구독 같은 기능을 쓰지도 않는데 feed까지 로봇들이 크롤링해가면 중복 콘텐츠로 인식될 가능성도 있다. 또한 불필요한 URL에 대한 크롤링을 줄이면 검색 엔진이 실제 콘텐츠에 집중할 수 있고, 사이트 규모가 커졌을 때 서버 자원 낭비를 줄이는 데도 도움이 된다. 보통 초기의 홈페이지에는 큰 영향이 없겠지만, 오래 운영하고 작성한 글이 많고 또 방문자가 많은 홈페이지의 경우에는 이런 것들도 도움이 된다.

이번에는 내가 주로 쓰기 위해 설정하는 robots.txt를 간단히 정리해본다.

나의 robots.txt

Plaintext
User-agent: *

# 관리자 페이지 차단 (단, ajax 처리는 허용)
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

# 중복 콘텐츠 및 무의미한 페이지 수집 방지
Disallow: /*?s=
Disallow: /search/
Disallow: */feed/

# 내 사이트맵 주소 하나만 명시 (Rank Math / Yoast 기준)
Sitemap: https://example.com/sitemap_index.xml

robots.txt의 목적

건물 앞에 있는 안내판 같은 것이다. 이곳에는 가지 말아 달라고 부탁하고, 대신 이 건물의 지도는 여기 있으니 참고하라고 알려주는 역할이라고 생각하면 이해하기 쉽다.

“이 경로는 굳이 크롤링하지 않아도 됩니다.” 라고 알려주는 가이드 역할을 한다.

결과적으로 여기서 관리자 관련 페이지는 긁어가지 말아줘 부탁이야! 이렇게 말해도 긁어 갈 수는 있다. 그래도 이렇게 부탁을 하면 대부분의 검색엔진 크롤러들은 긁어가지 않는다고 한다.

이것은 보안 도구가 아니니 확실히 하는 것이 좋다.

wp-admin은 차단하지만 admin-ajax.php는 허용하는 이유

워드프레스 관리자 영역은 검색 결과에 노출될 이유가 없다. 따라서 검색 엔진이 이 영역을 크롤링하는 것도 의미가 없기 때문에 차단하는 것이 일반적이다.

하지만 admin-ajax.php는 예외다.

일부 플러그인과 테마가 AJAX 요청을 처리할 때 사용하는 파일이며, 검색 엔진이 사이트를 정상적으로 렌더링하는 과정에서 필요할 수도 있다.

쓸데 없는 페이지들 차단

검색결과 차단

Disallow: /*?s=
Disallow: /search/

이런 워드프레스 내의 검색 결과는 차단하는 것이 낫다.

/?s=python 과 같은 검색결과를 보여주는 페이지는 대부분 기존 콘텐츠를 조합해서 보여주는 형태이기 때문에 중복 콘텐츠 문제가 발생하기 쉽기 때문이다.

검색 결과 페이지를 차단하면 검색 엔진이 실제 콘텐츠 페이지에 집중할 수 있다.

또한 사이트 규모가 커질 경우 불필요한 URL에 대한 크롤링 요청을 줄여 서버 자원 낭비를 방지하는 데도 도움이 될 수 있다.

Trackback 차단 (요즘은 필요 없음)

Disallow: */trackback/

예전 워드프레스는 글을 쓰면 주소 뒤에 자동으로 /trackback/이라는 가상 주소를 생성했는데 이 기능이 스팸 봇들의 놀이터가 되어서 사이트에 악영향을 주기 시작했다. 그래서 스팸 봇의 접근을 줄이기 위해 적었는데, 요즘 워드프레스들은 어차피 거의 쓰지 않는 기능이니 넣을 필요는 없다.

Feed 차단

Disallow: */feed/

RSS Feed를 활용하고 있지 않은 블로그라면 차단하는 것이 좋다.

/post-name/feed/
/category/python/feed/

이런 예시의 페이지들은 본문 일부 또는 전체를 그대로 다시 보여주는 경우가 많아 중복 콘텐츠로 인식될 가능성이 있다. RSS 구독자를 운영하지 않는다면 굳이 검색 엔진이 크롤링할 필요가 없기 때문에 차단을 하는 것이 좋다. 다만 RSS 구독자를 실제로 운영하고 있다면 이 설정은 제외할 수도 있다.

wp-content, plugins, themes는 차단하지 않는 이유

Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/

예전에는 이와 같은 설정을 많이 썼다.

하지만 현재는 권장되지 않는다. 검색 엔진은 페이지를 평가할 때 CSS와 JavaScript 파일도 함께 확인한다. 그런데 테마와 플러그인 디렉터리에 대한 접근을 차단하면 페이지 구성에 필요한 리소스에 접근하지 못할 수 있다. 따라서 검색 엔진 렌더링에 불필요한 제약을 만들 필요가 없기 때문에 이제는 빼는 것이 좋다.

wp-json은 왜 막지 않을까?

Disallow: /wp-json/

은 워드프레스 REST API 경로다.

1. wp-json (REST API)이 대체 뭘까?

워드프레스 내부의 데이터(글 목록, 카테고리, 사용자 정보 등)를 외부 프로그램이나 플러그인이 컴퓨터가 읽기 좋은 데이터 형태(JSON)로 쉽게 주고받을 수 있도록 만들어 놓은 ‘데이터 통로’다.

과거의 웹사이트는 단순히 화면을 보여주는 역할만 했지만, 현대의 워드프레스는 수많은 프로그램이 이 통로를 통해 통신하며 작동한다.

2. robots.txt에서 무조건 차단하면 안 되는 이유

Rank Math, Yoast SEO, WooCommerce 같은 플러그인들은 REST API를 활용하는 경우가 많다.

  • 플러그인 오작동: 최근 워드프레스와 다양한 플러그인들은 REST API를 활용하는 경우가 많다. wp-json을 robots.txt에서 무조건 차단한다고 해서 SEO에 직접적인 문제가 발생하는 것은 아니지만, 일부 기능이나 외부 연동 서비스가 정상적으로 동작하지 않을 수 있다. 특별한 이유가 없다면 굳이 robots.txt에서 차단할 필요는 없다.
  • 불필요한 차단: 일부 검색엔진은 REST API 자체를 문제로 보지 않는다. 따라서 특별한 이유 없이 robots.txt에서 wp-json을 차단하면 검색엔진 입장에서는 사이트 구조를 파악하는 데 필요한 정보를 불필요하게 제한하는 것으로 볼 수도 있다. 실제로 이것만으로 검색 순위에 불이익이 발생한다고 알려진 것은 아니지만, 특별한 이유가 없다면 굳이 차단할 필요는 없다.

Sitemap은 반드시 하나 등록

Sitemap: https://example.com/sitemap_index.xml

사이트맵은 검색 엔진에게

  • 어떤 페이지가 존재하는지
  • 어떤 콘텐츠를 우선적으로 수집해야 하는지

알려주는 역할을 합니다.

특히 워드프레스에서 SEO 플러그인을 사용한다면 대부분 자동 생성되므로 robots.txt에 한 줄 추가하는 것만으로 충분합니다.

중복으로 여러 개를 등록하기보다는 실제 사용하는 사이트맵 하나만 지정하는 것이 깔끔합니다.

결론

내 사이트의 회원 정보나 민감한 데이터가 노출될까 봐 걱정된다면, robots.txt에 “보지 마세요”라고 써붙이는 것은 아무런 보호 효과가 없다. 나쁜 로봇이나 해커는 어차피 robots.txt를 무시하고 들이닥치기 때문이다.

따라서 진짜 올바른 보안 대책은 다음과 같아야 한다.

  • robots.txt 방식 (하책): 문앞에 “도둑놈 출입금지” 표지판만 붙여놓음 (도둑은 무시하고 들어옴, 정작 네이버, 구글 봇만 못 들어감).
  • 서버/플러그인 방식 (상책): 기능 자체에 자물쇠를 채우거나 불필요한 통로를 폐쇄함 (보안 플러그인 등을 통해 인증되지 않은 접근은 아예 데이터 요청 단계에서 에러를 뿜게 만듦).

최근 워드프레스 SEO에서는 robots.txt를 복잡하게 만드는 것보다 필요한 영역만 최소한으로 제어하는 방식이 선호된다.

robots.txt는 이러한 기반 위에서 검색 엔진의 불필요한 크롤링만 줄여주는 보조 도구 정도로 이해하는 것이 가장 적절하다.

Related posts

Determined woman throws darts at target for concept of business success and achieving set goals

댓글 남기기