검색엔진의 크롤링과 인덱싱의 차이
크롤링 제어는 robots.txt
인덱싱 제어는 < meta name="robots" content="noindex">
검색엔진이 검색 키워드에 대한 검색결과를 사용자한테 제공하기 위해서는 크롤러가 끊임없이 온라인 상의 문서를 수집해야하고, 크롤러가 수집한 문서를 인덱서가 잘 정리해서 인덱스 서버에 색인해 둬야 합니다.
많은 분들이 헷갈려 하는 부분인데 크롤러나 인덱서는 서로 하는일이 약간 틀립니다.
말그대로 크롤러는 단순히 사이트와 사이트 사이의 링크를 타고다니며 문서를 수집하는 역할만 하며, 인덱서는 수집된 문서를 검색엔진이 사용자에게 결과물을 좀더 빠르고 쉽게 제공할수 있도록 색인 또는 인덱스하는 역할을 합니다.
마찬가지로 크롤러를 제어하는 방법과 인덱싱을 제어하는 방법이 다릅니다.
크롤링을 제어하려면 사이트의 루트 디렉토리에 robots.txt 파일을 사용해서 제어해야 하고,
인덱싱을 제어하려면 각각의 페이지 내에 < meta name="robots" content="noindex,nofollow"> 같은 메타 로봇 태그를 사용해서 제어해야 합니다.
robots.txt 파일을 사용해서 크롤링을 제어하는 방법
예를 들면 브라우저에 http://www.seo-korea.com/robots.txt 를 입력하면 파일을 읽을수 있어야 합니다.
http://www.seo-korea.com/myfolder/robots.txt 는 유효하지 않습니다.
검색엔진의 크롤러로 부터 모든 문서수집을 차단하려면 아래와 같은 내용을 robots.txt에 삽입합니다.
User-agent: *
Disallow: /
반대로 모든 문서를 허용하려면
User-agent: *
Disallow:
특정 폴더만을 차단하려면
User-agent: *
Disallow: /members/
Disallow: /search/
Disallow: /images/
특정 검색엔진 크롤러를 차단하려면 (구글만 차단)
User-agent: Googlebot
Disallow: /
또는 특정 검색엔진 크롤러만 허용하려면 (구글만 허용)
User-agent: Google
Disallow:
User-agent: *
Disallow: /
특정 페이지를 차단하려면
User-agent: *
Disallow: /members/personal_info.html
robots.txt 파일에 사이트맵 명시
User-agent: *
Disallow:
Sitemap: http://www.seo-korea.com/sitemap.xml
meta robots 태그를 사용해서 인덱싱을 제어하는 방법
사용 가능한 content 로는 index, noindex, follow, nofollow 가 있습니다.
index와 noindex는 페이지의 인덱스 여부를 말해주며 follow, nofollow는 페이지내의 링크를 크롤러가 따라갈수 있느냐 없느냐의 여부를 말해줍니다.
index와 noindex중 하나 그리고 follow와 nofollow중 하나를 섞어서 함께 사용할수 있습니다.
웹 문서에 < meta name="robots"> 태그의 기본값은 index와 follow이며 아래와 같은 형식으로 사용할수 있습니다.
< meta name="robots" content="index,follow" />
< meta name="robots" content="index,nofollow" />
< meta name="robots" content="noindex,follow" />
< meta name="robots" content="noindex,nofollow" />
robots.txt 파일과 meta robots 태그를 혼용해서 사용하는 경우
위의 두가지를 잘 사용하면 검색엔진의 사이트 접근을 효과적으로 차단하거나 허용할수 있고, 검색엔진 결과에 인덱스 되는것 또한 컨트롤 할수 있습니다.
하지만 robots.txt와 meta robots 태그의 역할을 잘못 이해해서 원하지 않는 결과를 초래할수도 있습니다.
모두 공개하기 위해 크롤러와 인덱스를 모두 허용해 놓았다면 별문제 없겠지만 다른 경우의 수에서는 원하지 않는 결과가 나올수 있으니 유의하시기 바랍니다.
크롤러 허용, 인덱스 차단
User-agent: * Disallow: |
< meta name="robots" content="noindex" /> |
robots.txt에 크롤러의 접근을 허용했지만 meta robots 태그에 인덱스를 허용하지 않은 예입니다.
크롤러는 문서만 수집할뿐 검색엔진에 문서의 인덱스 여부는 meta robots 태그가 결정합니다.
그러므로 이같은 경우는 크롤러가 방문을해서 수집하기는 하지만 meta robots 태그에서 인덱스를 차단한것을 인지하고 인덱스하지 않으며, 혹시라도 인덱스가 되어있으면 자동 삭제하게 됩니다.
이 방법이 검색결과에서 문서를 삭제하는데 가장 효과적인 방법입니다.
크롤러 차단, 인덱스 허용
User-agent: * Disallow: / |
< meta name="robots" content="index" /> |
위와 같은 경우 인덱스는 허용했지만 크롤러를 차단하고 있습니다.
크롤러는 사이트의 robots.txt파일을 먼저 읽기 때문에 일단 크롤러는 컨텐츠를 읽을수 없습니다.
그러므로 인덱스가 허용되었는지 안되었는지 크롤러는 알수 없습니다.
하지만 robots.txt파일에서 크롤러를 차단했음에도 불구하고 페이지가 인덱스되어 검색결과에 나타나는 경우가 종종 있습니다.
이러한 경우는 다른 사이트에서 들어오는 인바운드 링크에 의해 인덱스가 만들어진 경우입니다.
대부분의 검색엔진들이 실제 페이지를 크롤링하지 않고도 링크를 통해서 해당 페이지의 색인을 만들수 있기때문에 가능합니다.
이럴경우 검색결과의 타이틀에는 문서의 타이틀 대신 URL이 나오게 되고 스니펫(검색결과의 문서요약)에는 아무것도 나오지 않게 됩니다.
결국 robots.txt 파일로 크롤링을 차단한다고 해도 그것이 검색결과에 문서가 인덱스 되는것을 차단시키지는 못하며, 인덱스를 허용해놓아도 이를 완벽하게 인덱싱 하지 못합니다.
크롤러 차단, 인덱스 차단
User-agent: * Disallow: / |
< meta name="robots" content="noindex" /> |
위의 경우는 크롤러와 인덱스 모두를 차단한 상황으로 일단 크롤러가 차단되었기 때문에 페이지 컨텐츠를 읽지 못합니다.
그러므로 인덱스를 차단하도록 설정을 해놓아도 크롤러는 이를 알수 없습니다.
하지만 [크롤러 차단, 인덱스 허용]의 경우와 마찬가지로 인바운드 링크들로 인해 문서가 인덱스되는 경우가 있습니다.
이렇게 검색결과에 인덱스된 경우 또한 검색결과의 타이틀에는 URL이, 스니펫(검색결과의 문서요약)에는 아무것도 나오지 않게 됩니다.
결국 크롤링과 인덱싱을 모두 차단하도록 설정을 했더라도 크롤링은 차단하되 인덱싱을 막지는 못합니다.
검색엔진에서 인덱스를 없애기 위해 가장 좋은 방법은 크롤러를 허용하고 인덱스를 차단하는 것입니다.
그래야 크롤러가 인덱스를 차단하라는 것을 감지할수 있고 이를 검색결과에 반영하게 됩니다.
그렇기 때문에 크롤링과 인덱싱의 역할, 그리고 robots.txt 파일과 meta robots 태그의 사용방법을 잘 알아야 하며, 인덱스의 차단하는 역할은 < meta name="robots" content="noindex"> 가 robots.txt보다 우위에 있다는걸 숙지해야 합니다.
검색엔진의 크롤링과 인덱싱의 차이 (robots.txt 파일과 meta robots 태그의 차이점)的更多相关文章
-
Robots.txt 协议详解及使用说明
一.Robots.txt协议 Robots协议,也称为爬虫协议.机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”.网站通过Robots协议告诉搜索引擎哪 ...
-
不可不知的robots.txt文件
robots.txt基本介绍 robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容. 当一个搜索机器人(有的叫搜索 ...
-
robots.txt协议-互联网robots搜索规范
最近在看搜索爬虫相关的,挺有趣的,记录一些信息备用. robots.txt官方说明网站 http://www.robotstxt.org/ robots.txt原则 Robots协议是国际互联网界通行 ...
-
robots.txt网站爬虫文件设置
目录: 什么是robots.txt robots.txt使用误区 robots.txt使用技巧 什么是robots.txt? robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.Robo ...
-
robots.txt禁止搜索引擎收录
禁止搜索引擎收录的方法 一.什么是robots.txt文件? 搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息. 您可以在您的网站中创建一个纯文 ...
-
网站robots.txt &; sitemap.xml
1. 如何查看网站的robots.txt 网址/robots.txt, 比如小米 https://www.mi.com/robots.txt sitemap.xml
-
Robots.txt 不让搜索引擎收录网站的方法
有没有担心过自己的隐私会在强大的搜索引擎面前无所遁形?想象一下,如果要向世界上所有的人公开你的私人日记,你能接受吗?的确是很矛盾的问题,站长们大都忧虑“如何让搜索引擎收录的我的网站?”,而我们还是要研 ...
-
网站的robots.txt文件
什么是robots.txt? robots.txt是一个纯文本文件,是爬虫抓取网站的时候要查看的第一个文件,一般位于网站的根目录下.robots.txt文件定义了爬虫在爬取该网站时存在的限制,哪些部分 ...
-
笔记-爬虫-robots.txt
笔记-爬虫-robots.txt 1. robots.txt文件简介 1.1. 是什么 robots.txt是用来告诉搜索引擎网站上哪些内容可以被访问.哪些不能被访问.当搜索引擎访问一 ...
随机推荐
-
2015 - 准备读书List
时刻提醒自己,不进步意味着倒退. 2015年准备读完的技术书籍: 1. <Redis设计与实现>
-
解决ubuntu下安装mysql使用service无法启动问题
启动的时候发现service mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) ...
-
PHP session 失效不传递的解决办法
PHP中,session不能传递到下一个页面去,一般有两种情况: 我们先写个php文件:<?=phpinfo()?>, 传到服务器去看看服务器的参数配置. 转到session部分,看到se ...
-
关于Hbase的cache配置
关于Hbase的cache配置 在hbase中的hfilecache中,0.96版本号中新添加了bucket cache, bucket cache通过把hbase.offheapcache.perc ...
-
POPTEST老李分享session,cookie的安全性以及区别 3
如何查看服务器端输送到我们电脑中的这些Cookie信息: 点开IE浏览器或其他浏览器,在菜单栏中有工具选项,点开有InterNet选项: Cookie名称.来源.文件格式( ...
-
ArrayList和Vector区别
java基础之ArrayList和Vector的主要区别: List接口下一共实现了三个类:ArrayList,Vector,LinkedList. LinkedList主要保持数据的插入顺序的时候使 ...
-
使用Update Strategy组件无法进行delete操作
问题: Update Strategy组件根据字段值对目标表进行DD_DELETE操作时失效 同时,session log中报错:Target table [XXXXXXXX] does not al ...
-
Elasticsearch - Scroll
Scroll Version:6.1 英文原文地址:Scroll 当一个搜索请求返回单页结果时,可以使用 scroll API 检索体积大量(甚至全部)结果,这和在传统数据库中使用游标的方式非常相似. ...
-
Coprime Arrays CodeForces - 915G (数论水题)
反演一下可以得到$b_i=\sum\limits_{d=1}^i{\mu(i)(\lfloor \frac{i}{d} \rfloor})^n$ 整除分块的话会T, 可以维护一个差分, 优化到$O(n ...
-
nginx 重定向与反向代理
server{ listen 80; server_name dianxi.test.net; #将地址重定向为新的ip地址 #rewrite "^/env ...