사이트가 검색엔진의 검색결과에 표시되지 않도록 하는 올바른 방법

Last Updated: 2024년 09월 20일 4개 댓글

사이트가 검색엔진에 완전히 노출되지 않도록 하기 위해 robots.txt 파일을 사용하여 구글, 네이버, 빙 등의 검색엔진에서 사이트를 인덱싱하지 않도록 하는 경우가 있습니다. 이 경우 어떤 식으로든 검색엔진 결과에 사이트가 노출될 수 있습니다. 사이트가 검색엔진의 검색결과에 표시되지 않도록 하는 올바른 방법은 무엇일까요?

robots.txt 파일을 사용하여 색인이 되지 않도록 하는 방법의 문제

robots.txt 파일을 사용하여 색인이 되지 않도록 하는 경우 검색엔진 결과에 사이트 콘텐츠가 노출될 수 있습니다. Google Webmasters의 "Uncrawled URLs in search results(크롤링되지 않은 URL이 검색 결과에 표시되는 이유)"이라는 영상에서 이 문제를 설명하고 있습니다.

위의 영상에 의하면 어떤 페이지가 표시되지 않도록 하는 최선 방법 중 하나는 "noindex" 메타태그를 사용하는 것이라고 합니다.

Now if you truly don't want a page to show up, one of the best things that you can do is let us crawl it and then use a "noindex" Meta Tag at the top of the page.

워드프레스 SEO 플러그인 개발업체인 Yoast에서는 indexing(색인)과 listing(검색 결과에 노출)은 다르다고 설명하고 있습니다.

So, while the most common process goes from Indexing to Listing, a site doesn’t have to be indexed to be listed. If a link points to a page, domain or wherever, Google follows that link. If the robots.txt on that domain prevents indexing of that page by a search engine, it’ll still show the URL in the results if it can gather from other variables that it might be worth looking at.

가장 일반적인 프로세스는 Indexing에서 Listing으로 진행되지만 어떤 사이트가 Listing(검색 결과 페이지에 표시)되기 위해 반드시 Index(색인)될 필요는 없습니다. 어떤 링크가 어떤 페이지, 도메인 등을 가리키는 경우 구글은 해당 링크를 따라갑니다(Follow). 해당 도메인의 robots.txt에서 해당 페이지의 색인을 금지하더라도 다른 요인에 의해 수집이 될 수 있는 경우 검색 결과에 해당 URL이 표시될 수 있습니다.

출처: https://yoast.com/prevent-site-being-indexed/

그러므로 robots.txt 파일을 통해 사이트가 검색엔진에 색인되지 않도록 하더라도 검색엔진의 검색 결과에 표시될 수 있습니다.

사이트 콘텐츠가 검색엔진의 검색결과에 표시되지 않도록 하는 올바른 방법

메타 robots 태그를 페이지에 추가하여 페이지가 검색엔진 검색 결과에 표시되지 않도록 하기

어떤 페이지가 검색엔진 결과에 표시되지 않도록 하는 방법 중 하나로 robots 메타 태그를 사용하는 것입니다. 기본적으로 다음 메타 태그를 페이지 상단(<head>...</head> 사이)에 추가하면 해당 페이지가 색인되지 않습니다.

<meta name="robots" content="noindex,nofollow">

구글에서만 사이트가 노출되지 않도록 하려면 다음 메타 태그를 추가할 수 있습니다.

<meta name="googlebot" content="noindex, nofollow">

네이버에서만 노출되지 않도록 하려면 다음과 같은 메타 태그를 삽입할 수 있습니다.

<meta name="Yeti" content="noindex, nofollow" />

워드프레스에서는 차일드 테마를 사용하여 header.php 파일의 적절한 곳에 해당 코드를 추가하거나, Insert Headers and Footers 같은 플러그인을 사용하여 헤더 부분에 메타 태그를 삽입할 수 있습니다.

워드프레스에서 특정 페이지나 글에 대한 색인을 금지하려는 경우 Yoast SEO나 All in One SEO Pack 같은 SEO 플러그인을 사용하면 편리합니다.

X-Robots-Tag HTTP 헤더 추가하기

다른 방법으로 X-Robots-Tag를 사용할 수 있습니다. 이 방법에 대한 자세한 내용은 Yoast SEO의 Playing with the X-Robots-Tag HTTP header 글을 참고해보시기 바랍니다.

워드프레스에서 설정에서 검색 엔진 접근 차단하기

워드프레스 사이트를 운영하는 경우 워드프레스 설정에서 사이트가 검색엔진에 노출되지 않도록 설정할 수 있습니다. 설정 > 읽기에서 "검색 엔진이 이 사이트 검색 차단하기"를 체크하면 됩니다.

워드프레스 사이트 검색 엔진 차단하기

이 옵션을 체크하면 다음 메타태그가 헤더에 추가됩니다.

<meta name="robots" content="noindex,follow"/>

참고로 네이버 블로그에도 위와 동일한 robots 메타태그가 추가됩니다. 이 때문에 네이버 블로그 글은 네이버에서는 노출되지만 구글 등 외부 검색엔진에서는 노출이 되지 않습니다. 하지만 일부 네이버 블로그 글은 구글에서 검색되기도 합니다("네이버 블로그와 워드프레스를 동시에 운영하기" 참고).

그러므로 워드프레스에서 자체적으로 제공하는 '검색 엔진 차단 여부' 기능을 사용하여 사이트가 검색엔진에 노출되지 않도록 하더라도 검색엔진의 검색 결과에 사이트가 노출될 수 있습니다. 검색엔진의 검색 결과에 표시되지 않도록 하려면 메타태그를 추가하는 것이 확실한 방법 같습니다.

아카이브(카테고리/태그/작성자/날짜 보관함) 페이지를 제거하는 방법

워드프레스 사이트를 시작하면 초기에는 아카이브 페이지가 개별 글보다 먼저 노출될 수 있습니다. 이런 경우 아카이브 페이지가 노출되지 않도록 제거하는 것을 고려할 수 있습니다.

참고:


4 개 댓글

Leave a Comment

  1. 궁금한 점이 있습니다! 제가 워드프레스를 부득이하게 이전하게 되어서 새로운 서버와 새로운 도메인으로 옮기고 있습니다. 이러한 상황에서 옮기는 워드프레스의 글들과 중복문서 문제를 없애기 위해서 지금까지 올렸던 모든 글들을 구글, 네이버, 빙, 다음에서 노출이되지 않게 하고 싶습니다.

    위에서 설명해주신 메타 코드는 해당 페이지만 노출이 안되게 해주는 건가요??? 아니면 워드프레스 테마 파일 편집기에서 헤드 파일에 코드를 추가하면 각각의 검색엔진에서 다 노인덱스 처리할 수 있는건가요???

    응답
    • 보통은 검색엔진이 글을 노출되면 좋지만, 드물지만 검색엔진에 노출되지 않도록 원하는 분들도 계시고, 또 글이 검색엔진에 노출되지 않도록 막아야 하는 상황도 있을 수 있습니다.

      예시:
      - 사적인 콘텐츠
      - 중복 콘텐츠
      - ...

      응답