2010/09/30

ASP.NET 에서 Googlebot, msnbot, Yahoo slurp 같은 크롤러(Crawler) 체크

ASP.NET 에서는 Request.Browser.Crawler 를 통해서 Bool 값으로 체크가 가능합니다.
하지만, 체크할려면 어떤게 검색엔진인지 아닌지 구분할수 있는 데이터가 있어야 하는데, 그것을 지정하는 것이 web.config 에서의 browserCaps 섹션 입니다.
 
< configuration>
    < system.web>
        < browserCaps>
            < filter>
                < !--Google Crawler-->
                    < case match="Googlebot">browser=Googlebot crawler=true </case> 
< !-- Yahoo Crawler -->
                            <case
 match="http\:\/\/help.yahoo.com\/help\/us\/ysearch\/slurp">
browser=YahooCrawler crawler=true
 </case>
                            
< !--MSN Crawler-->
                                <case match="msnbot">
browser=msnbot crawler=true
 < /case>
 </filter>
 < /browserCaps>
 </system.web>
 < /configuration>

위와 같은 형식으로 지정후에 다음과 같은 방법으로

System.Web.HttpBrowserCapabilities myBrowserCaps = Request.Browser;

if (((System.Web.Configuration.HttpCapabilitiesBase)myBrowserCaps).Crawler)
{
    labelText = "크롤러.";
}
else
{
    labelText = "크롤러가 아님.";
}

검색엔진인지 아닌지 판별합니다.


 

댓글 없음:

댓글 쓰기

가장 많이 본 글