[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


143. Essere presenti su Internet

Una volta realizzato il proprio documento in HTML, quando questo deve essere pubblicato da qualche parte su Internet, si pongono due problemi essenziali:

  1. dove trovare il posto;

  2. come rendere di dominio pubblico la sua presenza.

Spesso, il primo problema lo si può risolvere utilizzando un sito offerto gratuitamente; in alternativa si possono prendere accordi per affittare uno spazio da qualche parte, magari ottenendo anche un dominio virtuale conveniente. Per quanto riguarda il secondo, è necessario iscrivere il proprio documento presso i vari servizi che si occupano di creare gli indici pubblici. Dei due problemi, il secondo è il più delicato.

143.1 Motori di ricerca e robot

Più passa il tempo e più sono i documenti che vengono pubblicati su Internet. I motori di ricerca, ovvero i servizi che gestiscono gli indici delle pubblicazioni, sono sempre più sommersi di lavoro. In questa situazione, ognuno applica una propria politica di filtro dei documenti che vengono sottoposti per l'inclusione nel loro indice. In generale, non basta realizzare un documento HTML corretto, occorre pensare anche ai motori di ricerca.

Il documento HTML, per poter essere preso in considerazione in modo corretto dai motori di ricerca, deve avere una serie di elementi `META' nell'intestazione, contenenti alcune informazioni salienti. Ciò permette la classificazione del documento e la creazione di indici chiari per l'utente di quel servizio. Tuttavia, il problema è che non tutti i motori di ricerca utilizzano le stesse informazioni nello stesso modo; così, ci si affida generalmente all'esperienza degli altri per la compilazione di tali elementi. Qui si raccolgono solo alcune indicazioni, ritenute corrette, ma che potrebbero anche essere smentite nel futuro.

143.1.1 Elementi META

Gli elementi `META' sono vuoti, nel senso che non delimitano alcun testo, e si collocano nell'intestazione del file HTML, ovvero nell'elemento `HEAD'. Nella maggior parte dei casi, l'elemento `META' si utilizza con l'attributo `NAME' e l'attributo `CONTENT', attraverso i quali si stabilisce un nome a cui viene assegnato un contenuto.

Il DTD dell'HTML non stabilisce quali siano i nomi che si possono usare per l'attributo `NAME' e da questo nascono tutti i problemi. In particolare, c'è da considerare che alle volte i nomi e i valori abbinati non fanno differenza tra maiuscole e minuscole, altre volte pare che la facciano.

L'esempio seguente mostra un esempio tipico di utilizzo per un documento realizzato in italiano:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<HTML LANG="it">
<HEAD>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <META NAME="generator" CONTENT="ALtools">
    <META NAME="description" CONTENT="GNU/Linux e il software libero" LANG="it">
    <META NAME="description" CONTENT="GNU/Linux and free software"    LANG="en">
    <META NAME="keywords"
	CONTENT="GNU/Linux, Unix, software, software libero, free software">
    <META NAME="distribution" CONTENT="Global"                        LANG="en">
    <META NAME="rating" CONTENT="General"                             LANG="en">
    <META NAME="resource-type" CONTENT="document"                     LANG="en">
    <META NAME="classification" CONTENT="computers"                   LANG="en">
    <META NAME="revisit-after" CONTENT="7 days"                       LANG="en">
    <META NAME="ROBOTS" CONTENT="ALL">
    <META NAME="SPIDERS" CONTENT="ALL">
    <META NAME="author" CONTENT="Daniele Giacomini">
    <META NAME="copyright" CONTENT="© 1997-2000 Daniele Giacomini">
    <TITLE>Appunti Linux</TITLE>
    ...
</HEAD>
...

Il significato di queste informazioni dovrebbe essere intuitivo, salvo qualche caso, ma in particolare è necessario osservare un problema: alcune cose sono espresse attraverso sigle o parole chiave che hanno significato per la lingua inglese, mentre potrebbero essere attese parole o definizioni diverse nel caso di un documento in italiano. Nell'esempio si può osservare che l'elemento `HTML' possiede l'attributo `LANG' a cui è assegnato il valore `it', allo scopo di indicare che tutto il documento è scritto in lingua italiana. Pertanto, per modificare questo assunto negli elementi `META' in cui il linguaggio può avere importanza, è stato aggiunto nuovamente l'attributo `LANG' con il valore `en'. Può darsi che questa precauzione non serva a nulla, ma potrebbe essere importante in futuro.

Eventualmente, si potrebbe anche arrivare a duplicare alcune informazioni per diversi linguaggi. Per esempio, l'informazione denominata `description' viene fornita due volte: prima in italiano e poi in inglese.

L'elenco seguente descrive brevemente le informazioni più importanti che si possono dare in questo modo.

143.1.2 Filtro iniziale alla scansione dei robot

Nel momento in cui si è posto il problema dell'esistenza di tutta una serie di servizi di scansione della documentazione su Internet, si è pensato all'opportunità di bloccare, in certe circostanze, il lavoro di questi «robot». Gli amministratori dei servizi HTTP hanno la possibilità di realizzare il file `/robots.txt', contenente l'indicazione dei percorsi che non devono essere scanditi.

Anche se si tratta di un compito che riguarda gli amministratori, è opportuno sapere leggere le istruzioni di questo file, nel caso esista, per sapere se il proprio documento può essere raggiunto o meno dai motori di ricerca e da altri servizi simili.

Il file in questione, collocato all'inizio della gerarchia del servizio HTTP a cui si riferisce, è un file di testo normale, in cui si indicano dei commenti, preceduti dal simbolo `#', e una serie di campi nella forma:

<campo>: <valore>

Le informazioni di questo file sono suddivise in base al nome del programma robot che si vuole filtrare:

User-agent: <nome>

Uno o più campi del genere, posti di seguito, iniziano la definizione del filtro riferito ai programmi rispettivi. Se al posto del nome si indica un asterisco, si intendono simultaneamente tutti i programmi che non siano stati presi in considerazione diversamente.

Disallow: [<percorso>]

Il campo `Disallow' serve a specificare un percorso da escludere dalla scansione dei robot presi in considerazione. *1*

# http://www.brot.dg/robots.txt
User-agent: *
Disallow /tmp/
Disallow /cgi-bin/
Disallow /prova.html

Supponendo che l'esempio si riferisca al file `http://www.brot.dg/robots.txt', si mostra il caso in cui si vogliono escludere tutti i robot dal contenuto di `http://www.brot.dg/tmp/', `http://www.brot.dg/cgi-bin/' e dal file `http://www.brot.dg/prova.html'.

# http://www.brot.dg/robots.txt
User-agent: *
Disallow

In questo caso non si esclude alcunché.

# http://www.brot.dg/robots.txt
User-agent: *
Disallow /

Questo nuovo esempio esclude l'accesso a tutto il servizio.

143.2 Riferimenti

---------------------------

Appunti Linux 2000.04.12 --- Copyright © 1997-2000 Daniele Giacomini --  daniele @ pluto.linux.it


1.) Non è possibile indicare caratteri jolly: non avrebbero significato, dal momento che si intendono tutti i percorsi che iniziano nel modo indicato e proseguono in qualunque modo.


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]