Versiunea pentru tiparit a acestui topic

Click aici pentru a vizualiza acest topic in formatul original

HanuAncutei.com - ARTA de a conversa _ Motoare de cautare si optimizare _ [Tutorial] Fisierul Robots.txt

Trimis de: Mihai pe 17 Sep 2003, 07:51 PM

Tutorial Robots.txt
-prima parte-


Motoarele de cautare sunt ‘o comoara de aur’, atat pentru cei care doresc sa gaseasca o informatie pe Internet, cat si pentru realizatorii de pagini web, numerosi vizitatori fiind referiti de SE-uri precum Google, Altavista sau Lycos.
Deseori insa dorim ca anumite cuvinte cheie sau chiar pagini ori directoare din cadrul site-ului pe care il administram sa nu fie inregistrate de spiderii motoarelor de cautare (spider=programul principal utilizat de motoarele de cautare pentru a include pagini web in baza lor de date; este intalnit si termenul de robot, un program care, asemenea unui browser, descarca pagini de pe Internet). Pentru a limita accesul spider-ilor este folosit un fisier, intitulat Robots.txt; spider-ii vor cauta in directorul principal al site-ului acest fisier, urmand standardul de excludere prezentat.
Din ce se compune acest fisier special ? Din inregistrari, fiecare cuprinzand doua campuri : User-agent=numele spider-ului (spre exemplu, in cazul Google=googlebot si Googlebot-Image pentru Google-imagini, Altavista=scooter, Lycos=t-rex, Northern-Light=Gulliver, AllTheWeb=Fast wink.gif si una sau mai multe informatii de restrictie (Disallow).
User-agent este descris sub forma : ‘User-agent : googlebot’, pentru Google. In general, termenul rezervat User-agent este urmat de numele spider-ului. Pentru a include toate motoarele de cautare se utilizeaza caracterul *.
Pentru a indica restrictiile se foloseste termenul rezervat Disallow, urmat de directivele de restrictie. Astfel, pentru a limita accesul la fisierul ‘world.xhtml’ pentru spider-ul Google scriem urmatoarele doua linii in fisierul Robots.txt :
User-agent : googlebot
Disallow: world.xhtml

Pentru a restrictiona un intreg director, se foloseste urmatoarea sintaxa: Disallow: /folder/, unde ‘folder’ reprezinta numele directorului care urmeaza sa fie restrictionat. O sintaxa de genul Dissalow: /folder, limiteaza accesul atat la directorul folder cat si la toate fisierele intitulate astfel. Sintaxa ‘Dissalow : ‘ nu are nici un efect asupra spider-ului, lasandu-i acestuia libertatea sa indexeze intreg site-ul, pe cand sintaxa ‘Dissalow : /’ restrictioneaza accesul spider-ului in intreg site-ul.
Comentariile in cadrul fiserului Robots.txt sunt precedate de caracterul ‘#’ ; este recomandabil ca fiecare comentariu sa fie scris pe o linie noua (spre exemplu, o sintaxa de genul

QUOTE
Dissalow : world.htm #acest cod limiteaza accesul la fisierul world.htm este permisa, dar este recomndata o expresie de genul :
Dissalow :world.htm
#acest cod limiteaza accesul la fisierul world.htm, deorece in primul caz unii spider-i inregistreaza comentariul ca fiind parte a sintaxei propriu-zise, aparand erori.


Exista deasemenea cazuri in care spider-ii analizeaza in mod diferit un fisier Robots.txt. Spre exemplu, in cazul urmatorului cod:
QUOTE
User-agent: *
Disallow: /
#
User-agent: {nume_spider}
Disallow:

spider-ul altavista, Scooter, nu va indexa nici o pagina a site-ului, pe cand Slurp va indexa intreg site-ul. Un alt exemplu:
Disallow: /folder1/ /folder2/ /folder3/
Unii spider-i vor ignora spatiile si se vor referi la adresa /folder1/folder2/folder3/, altii vor incerca doar /folder1, iar altii doar /folder3/. Asadar, mare atentie!
Totodata, atentie la locatia fisierului in discutie: acesta trebuie sa se afle la o adresa de genul: www.nume-domeniu.ro/robots.txt
In cadrul realizarii Robots.txt sunt intalnite numeroase greseli, precum: listarea tuturor fisierelor dintr-un director, cand poate fi restrictionat intreg directorul; antepunerea directivei ‚disallow’ in locul directivei ‚user-agent’, confuzie intre numele spider-ului si directivele de restrictie, folosirea unei directive inexistente ‚Allow’ (desi, la un moment dat, s-a discutat si despre o posibila aparitie a acestei directve, majoritatea spider-ilor nu o iau in considerare).


Va urma...

Trimis de: Mihai pe 20 Jan 2004, 07:28 PM

O noua facilitate introdusa de Google permite excluderea unor fisiere dupa extensii; astfel, o directiva de genul:

CODE
User-agent: Googlebot
Disallow: *.shtml


Nu va indexa nici o pagina cu extensia shtml. Prezenta caracterului ‚$’ la sfarsitul ultimei linii (Dissallow: *.shtml$) indica lui Google ca particula ‚shtml’ trebuie sa fie prezenta doar la sfarsitul numelui documentului.
Nota: Un regim aparte il are EmailSiphon, un spider care inregistreaza numai adresele de e-mail dintr-o pagina web, dupa care le vinde SPAM-erilor. Este recomandabil sa interziceti acestui spider accesul la site-ul dumneavoastra.
De asemenea, este recomandabil ca scrierea si editarea fisierului Robots.txt sa fie realizata intr-un editor de text simplu, spre exemplu Notepad, pentru a se evita introducerea automata de caractere straine, care vor duce la erori in cadrul citirii de catre spider-i. Deasmenea, daca termenii rezevati ‘User-agent’ si ‘Disallow’ pot fi scrisi fie cu litere mici, fie cu litere mari, in cazul numelui spider-ului si al fisierului situatia este diferita : ‘INDEX.HTML’ si ‘index.html’ sunt percepute ca doua fisiere diferite.

Ca exemple ale fisierului Robots.txt, Google restrictioneaza accesul tuturor spider-ilor la mai multe directoare (www.google.com/robots.txt):
CODE
User-agent: *
Disallow: /search
Disallow: /groups
Disallow: /images
Disallow: /catalogs
Disallow: /catalog_list
Disallow: /news
Disallow: /imgres
Disallow: /keyword/
Disallow: /u/
Disallow: /univ/
Disallow: /cobrand
Disallow: /custom
Disallow: /advanced_group_search
Disallow: /advanced_search
Disallow: /googlesite
Disallow: /preferences
Disallow: /setprefs
Disallow: /swr
Disallow: /url
Disallow: /wml
Disallow: /bsd?
Disallow: /linux?
Disallow: /mac?
Disallow: /microsoft?
Disallow: /unclesam?


In peisajul romanesc, fisierul Robots.txt poate fi intalnit la mai multe portaluri si forumuri, printre care www.softnews.ro (www.softnews.ro/robots.txt):

CODE
User-agent: *
Disallow: /cgi-bin/
Disallow: /forum/admin/
Disallow: /snadm/
Disallow: /cgi-bin/
Disallow: /include/
Disallow: /js/
Disallow: /mail/
Disallow: /cgi-bin/
Disallow: /prodadm/
Disallow: /Imag/
Disallow: /stats/


Exista fisiere care includ doar comentarii, neavand nici un efect asupra robotului, de genul: # Go ahead, take everything. :-)
Interesant este Robots.txt de la Kappa (www.kappa.ro/robots.txt), cel mai mare portal romanesc:
CODE
# hello robotz sayz webmaster@kappa.ro
User-Agent: *
Disallow:
/include/


Spider-ul va indexa fara restrictii, aparand insa erori la citirea ultimului rand (care nu este un comentariu!).
In cazul in care nu aveti acces la directorul root al serverului, puteti sa folositi META-TAG-ul ‘Robots’ in cadrul fiecarei pagini din site. Acest meta-tag va ‘spune’ spider-ilor daca sa indexeze sau nu pagina pe care o viziteaza. Robots trebuie plasat in sectiunea HEAD a fisierului HTML. Exista 4 directive care pot fi folosite cu ROBOTS: index, noindex, follow, nofollow. Index va introduce pagina vizitata in baza de date a motorului de cautare, noindex nu o va indexa, follow va urmari link-urile din pagina, nofollow se va rezuma decat la pagina in cauza. Aceste directive pot fi folosite doua cate doua : index, follow (indexeaza si urmeaza link-urile din pagina), index, nofollow (indexeaza doar pagina vizitata), noindex, follow (nu indexa, dar urmeaza link-urile din pagina), noindex, nofollow (nici o actiune).
Astfel, pentru ca spiderii sa va indexeze o anumita pagina si sa urmeaze link-urile din aceasta (atentie, link-urile din java-script-uri nu sunt luate in consideratie !) codul ar trebui sa arate astfel :
CODE
<html>
<head>
<Meta Name="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
//alte meta-tag-uri si titlul paginii
</head>
<body>
//Sectiunea body a paginii
</body>
<html>


Folosirea directivei all este echivalenta cu index, follow, iar folosirea directivei none este echivalenta cu noindex, nofollow.
Desi ar parea normal ca toti spider-ii sa aiba predefinite directivele Index, Follow, Inktomi are ca directive predefinite Index, Nofollow.
Tag-ul Robots nu este CASE-Sensitive (poate fi scris fie cu caractere mari, fie cu litere mici).
Fisier-ul Robots.txt si meta-tag-ul Robots nu sunt singurele metode de a ‘tine departe’ un spider sau chiar o adresa IP de un anumit site. Puteti folosi script-uri Cgi-Perl, fisierul .htaccess, sa folositi pagina de exludere a site-urilor de la Google sau chiar sa provocati o bannare, prin folosirea excesiva a unor cuvinte cheie care nu sunt prezente in paginile site-ului.


-Va urma-

Trimis de: menthoru' pe 21 Jan 2004, 06:33 PM

Mersi Mihai, desi stiam de chestia asta cate ceva, informatiile tale imi sunt de real folos. 10x man.

Trimis de: sus pe 3 Mar 2004, 05:03 PM

Mersi pentru informatie.

Intrebare

De unde se poate lua toata lista cu spider?

Si daca ii pui pe toti in robots.txt marimea fisierului nu influenteaza negativ?

Bine scriu eu 10 spideri in robots.txt dar sunt sigur ca mai sunt atunci care e rezolvarea?

Eu cred ca e mai bine de dat acees la toti siderii si pentru cei care vrei sa inchizi accesul sai mai scrii odata cu restrictii asa ceva va merge?

Si ce se poate de facut cu .htaccess ?

Trimis de: Mihai pe 3 Mar 2004, 10:18 PM

O lista de User-Agents poate fi gasita la http://www.psychedelix.com/agents.html

QUOTE
Si daca ii pui pe toti in robots.txt marimea fisierului nu influenteaza negativ?


Nu.

QUOTE
Bine scriu eu 10 spideri in robots.txt dar sunt sigur ca mai sunt atunci care e rezolvarea?


In general 'Disallow' pentru cei care consuma trafic fara sens.

QUOTE
Eu cred ca e mai bine de dat acees la toti siderii si pentru cei care vrei sa inchizi accesul sai mai scrii odata cu restrictii asa ceva va merge?


Nu, nu merge. smile.gif

QUOTE
Si ce se poate de facut cu .htaccess ?


.htaccess nu prea are legatura cu robots.txt.
In curand voi publica un tutorial pentru .htacces! spoton.gif

Trimis de: Mihai pe 13 Jun 2004, 09:16 PM

Microsoft a introdus pentru motorul sau de cautare o noua sintaxa pentru fisierul Robots.txt
Astfel, spider-ul msnbot recunoaste comanda Crawl-Delay - aceasta reprezentand timpul (in secunde) pe care trebuie sa-l astepte spider-ul inainte de a citi o alta pagina de pe server.

Exemplu:

CODE
User-Agent: msnbot
Crawl-Delay: 10


In acest caz, spiderul intervalul de asteptare inainte de a vizita o noua pagina pe server este de 10 secunde.

O comanda foarte utila, mai ales pentru site-urile foarte vizitate, comanda introdusa pentru prima data pentru crawler-ul Inktomi. smile.gif

Tehnic:Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)