Znaczniki <body>...</body>
oraz <meta />
określają pewne informacje na temat strony jako całości. Polecenie BODY powinno wchodzić w skład każdego dokumentu HTML. Stanowi ono właściwą treść, czyli tzw. ciało, w którym zawierają się wszystkie inne znaczniki, dotyczące formatowania, a także zwykły tekst. Podając dodatkowe atrybuty dla znacznika BODY, można określić niektóre cechy wyglądu całej strony, takie jak kolor tła oraz tekstu lub szerokość marginesów. W jednym dokumencie może się znajdować tylko jeden znacznik <body>
- zaraz po nagłówku strony (<head>...</head>).
Natomiast znacznik <meta />
stanowi tzw. metainformację, pozwalającą określić pewne ogólne wiadomości, dotyczące dokumentu, m.in. sposób kodowania znaków, opis zawartości strony, jej autora czy język, w którym została napisana. Metainformacje nie wpływają bezpośrednio na wygląd dokumentu, lecz cechy które podają, są równie ważne. Chociaż nie są one wymagane, warto je stosować, ponieważ może to np. pomóc w odszukaniu strony przez wyszukiwarki sieciowe. Każdy dokument powinien zawierać obowiązkowo przynajmniej deklarację strony kodowej, bez której polskie litery na stronie mogą zostać błędnie wyświetlone! W pojedynczym dokumencie znajduje się zwykle kilka znaczników <meta />
- każdy dotyczy innej wiadomości - wszystkie muszą znajdować się wewnątrz nagłówka strony (<head>...</head>). Ponadto w tym rozdziale opisane zostaną również inne przydatne znaczniki, które można umieścić w nagłówku dokumentu, opisujące sam dokument, a nie wyświetlające jakieś treści.
Oczywiście nie ma obowiązku stosowania dokładnie wszystkich atrybutów BODY oraz META, które zostały przedstawione w tym rozdziale. Autor strony powinien sam wybrać te, które mu odpowiadają lub przekazują według niego ważne informacje. Jednak nigdy nie należy zapominać o wstawianiu deklaracji strony kodowej, natomiast podanie tytułu strony jest wręcz obowiązkowe! Zaleca się również wpisanie opisu zawartości strony oraz wyrazów kluczowych.
Większość edytorów (X)HTML posiada specjalne generatory sekcji BODY oraz META, w których podaje się wszystkie atrybuty oraz informacje dotyczące dokumentu, dzięki czemu nie trzeba tego robić ręcznie. Z takiego generatora możesz skorzystać również tutaj.
<body text="kolor">...</body>
Polecenie pozwala określić kolor tekstu na Twojej stronie internetowej (domyślnie zwykle jest to czarny). Staraj się używać barw, które będą się dobrze wyróżniały na kolorze tła.
Edytory (X)HTML posiadają często specjalny selektor kolorów, za pomocą którego można w prosty sposób wybrać barwę o dowolnym odcieniu.
Równocześnie z kolorem tekstu strony powinniśmy koniecznie określić odpowiedni kolor tła, nawet jeśli odpowiada nam domyślny. Pamiętaj, że użytkownik może zmienić domyślny kolor tła w swoim systemie operacyjnym, a wtedy istnieje prawdopodobieństwo, że będzie on podobny do koloru tekstu ustalonego na Twojej stronie, co wywoła brak możliwości odczytania treści lub bardzo utrudni czytanie.
Atrybut TEXT jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
<body bgcolor="kolor">...</body>
Polecenie pozwala określić kolor tła na Twojej stronie internetowej (domyślnie zwykle jest to biały). Pamiętaj, że nie powinno się używać barw bardzo jaskrawych jako kolory tła. Sprawiają one, że oczy szybko się męczą i dodatkowo zaciemniają treść strony. Dodatkowo należy pamiętać, aby na ustalonym kolorze tła, tekst był dobrze widoczny.
Równocześnie z kolorem tła strony powinniśmy określić odpowiedni kolor tekstu, nawet jeśli odpowiada nam domyślny. Pamiętaj, że użytkownik może zmienić domyślny kolor tekstu w swoim systemie operacyjnym, a wtedy istnieje prawdopodobieństwo, że będzie on podobny do koloru tła ustalonego na Twojej stronie, co wywoła brak możliwości odczytania treści lub bardzo utrudni czytanie. To samo dotyczy koloru odsyłaczy hipertekstowych.
Atrybut BGCOLOR jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
<body background="ścieżka dostępu do obrazka">...</body>lub
<body background="ścieżka dostępu do obrazka" bgproperties="fixed">...</body>(tło nieruchome - znak wodny - nie obsługuje Firefox!)
Jeśli znudziły Ci się już strony o jednolitym kolorze, możesz umieścić w tle dowolny obrazek. Dzięki temu strona może wyglądać dużo lepiej. Ponadto drugie z podanych poleceń pozwala zdefiniować tło obrazkowe które jest nieruchome, tzn. nie przesuwa się wraz z tekstem, gdy przewijamy zawartość okna.
Pamiętaj jednak, że obrazki o dużych rozmiarach spowalniają wczytywanie strony. Dlatego staraj się używać pliki tylko w formacie *.jpg (dla zdjęć wielokolorowych) lub *.gif (dla rysunków). Są to formaty skompresowane, zajmujące dużo mniej miejsca niż zwykłe mapy bitowe *.bmp. Trzeba również pamiętać, aby obrazek w tle nie był zbyt jaskrawy - spowoduje to tylko zaciemnienie zawartości strony i utrudni czytanie.
Zauważ, że nie ma potrzeby stosowania obrazka tła o rozmiarze takim jak strona, ponieważ jego kopie są ustawiane obok siebie tak, że zajmują cały obszar strony. Dlatego wystarczy wyciąć mały powtarzający się wzór, który zostanie następnie powielony przez przeglądarkę.
Należy unikać stosowania w tle dużych obrazków wyciętych ze zwykłych zdjęć. Tło powinno: mieć łagodne kolory (pastelowe, blade albo całkiem ciemne, ale nie jaskrawe; szczególnie odradza się jednoczesnego stosowania barw jasnych oraz ciemnych, ponieważ uniemożliwia to dobranie odpowiednio czytelnego koloru tekstu), składać się z powtarzalnych wzorów o niezbyt wielkich rozmiarach oraz być nieco rozmyte - nieostre (można to uzyskać w dowolnym bardziej rozbudowanym programie graficznym - odpowiedni efekt nazywa się zwykle: Rozmywanie albo Blur). Dobrym pomysłem są tła imitujące strukturę jakiejś powierzchni.
Jeśli nie masz zacięcia artystycznego, nie musisz samodzielnie rysować obrazków tła. W Internecie na pewno znajdziesz wiele stron, gdzie możesz je darmowo pobrać. Często są one dostępne również w edytorach HTML (np.: FrontPage) oraz programach graficznych.
Równocześnie z atrybutem background="..."
często podaje się dodatkowo zwyczajny kolor tła strony. W takim przypadku, jeśli obrazek będzie niedostępny lub użytkownik wyłączy wyświetlanie obrazów, tło przyjmie podany kolor. Ponadto jeżeli obrazek posiada przezroczystość (np. format *.gif), zostanie ona zastąpiona podanym kolorem.
Jeśli ustalimy kolor tekstu strony (text="...") zbliżony do domyślnego koloru tła (zwykle biały), wskazane jest podanie dodatkowo takiego koloru tła (bgcolor="..."), aby tekst był na nim czytelny. Jeżeli tego nie zrobimy, a obrazek nie zostanie wyświetlony, może wystąpić sytuacja typu: "biały tekst na białym tle".
Może się to zdarzyć np. gdy obrazek w tle strony jest dość ciemny. Wtedy określa się zwykle jasny kolor tekstu, zapominając o ustaleniu równocześnie ciemnego koloru tła - jako zabezpieczenie. Dopóki obrazek jest widoczny, wszystko jest w porządku, lecz jeśli nie zostanie on wyświetlony, tło przyjmie najczęściej kolor biały (jako domyślny) i w ten sposób otrzymamy stronę, której nie można przeczytać :-(
Atrybut BACKGROUND jest zdeprecjonowany przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
Atrybut BGPROPERTIES nie wchodzi w skład specyfikacji HTML 4.01 - zaleca się stosowanie stylów.
<body link="kolor nowych" vlink="kolor odwiedzonych" alink="kolor aktywnych">...</body>
Polecenie pozwala określić kolor odsyłaczy na stronie. Staraj się używać barw, które będą się dobrze wyróżniały na kolorze tła oraz odróżniały od koloru tekstu (aby odsyłacze były dobrze widoczne).
Równocześnie z kolorem odsyłaczy hipertekstowych powinniśmy określić odpowiedni kolor tła, nawet jeśli odpowiada nam domyślny. Pamiętaj, że użytkownik może zmienić domyślny kolor tła w swoim systemie operacyjnym, a wtedy istnieje prawdopodobieństwo, że będzie on podobny do koloru odsyłaczy ustalonego na Twojej stronie, co wywoła brak możliwości odczytania lub bardzo utrudni czytanie.
Atrybuty LINK, VLINK i ALINK są zdeprecjonowane przez specyfikację HTML 4.01 - zaleca się stosowanie stylów.
Aby bardziej urozmaicić wygląd odnośników tekstowych, można posłużyć się poleceniami stylów CSS. Pozwalają one swobodnie zmieniać kolor i inne cechy odsyłaczy po wskazaniu ich myszką. Jeśli usuniemy wskaźnik myszki znad takich łączy, zostanie im przywrócony pierwotny wygląd.
<style type="text/css"> /* <![CDATA[ */ a:hover { color: kolor } /* ]]> */ </style>
Przykład:
zmień kolor<style type="text/css"> /* <![CDATA[ */ a:hover { background-color: kolor } /* ]]> */ </style>
Przykład:
pokaż tło<style type="text/css"> /* <![CDATA[ */ a:hover { color: kolor1; background-color: kolor2 } /* ]]> */ </style>
Przykład:
zmień kolor i pokaż tło<style type="text/css"> /* <![CDATA[ */ a { text-decoration: none } /* ]]> */ </style>
Przykład:
odsyłacz bez podkreślenia<style type="text/css"> /* <![CDATA[ */ a { text-decoration: none } a:hover { text-decoration: underline } /* ]]> */ </style>
Przykład:
pokaż podkreślenie<a href="adres.html" style="text-decoration: none">opis</a>[Zobacz: Odsyłacze]
Aby dowiedzieć się więcej, zobacz: Selektory pseudoklas.
<body leftmargin="x1" rightmargin="x2" topmargin="y1" bottommargin="y2">...</body>
<body marginwidth="x" marginheight="y">...</body>
Polecenie to pozwala ustalić szerokości marginesów na stronie, czyli odstępów tekstu od poszczególnych krawędzi strony.
Ponieważ Internet Explorer wprowadza inne atrybuty niż Netscape/Mozilla/Firefox, najbezpieczniej jest określić margines przy użyciu obu powyższych sposobów jednocześnie!
Atrybuty LEFTMARGIN, RIGHTMARGIN, TOPMARGIN, BOTTOMMARGIN, MARGINWIDTH i MARGINHEIGHT nie wchodzą w skład specyfikacji HTML 4.01 - zaleca się stosowanie stylów.
Przykład:
(tylko Internet Explorer 5.5 lub nowszy oraz Opera 7 przy niestandardowych ustawieniach!)
<html style="scrollbar-base-color: kolor">...</html>
W niektórych przypadkach polecenie to można wstawić do znacznika <body>...</body>
.
Polecenie to pozwala zmienić kolor suwaków na stronie, na której się znajduje. Dzięki niemu można dopasować ich barwę do koloru tła strony. Aby dowiedzieć się więcej, zobacz: Suwaki.
UWAGA!
Interpretacja polecenia różni się w zależności o zastosowanej deklaracji DTD (łącznie z zupełnym brakiem interpretacji w pewnych warunkach) - więcej informacji w rozdziale Suwaki.
UWAGA!
Polecenie nie wchodzi w skład specyfikacji stylów CSS 2 i jest wyłącznie rozszerzeniem przeglądarki Internet Explorer 5.5 lub nowszej (ale nie MSIE 5.0)!
<head> <title>Tytuł strony</title> </head>
Każdy dokument (X)HTML (podstrona serwisu) posiada własny tytuł. Może on zawierać dowolny tekst, zaleca się jednak, aby nie był zbyt długi (najwyżej kilka wyrazów). Powinien on również odnosić się do treści zawartych na danej stronie. Tytuł pojawia się na belce tytułowej przeglądarki internetowej (na samej górze okna programu), a także w wyszukiwarkach sieciowych, po odnalezieniu Twojej strony - dlatego właśnie nie może on być zbyt długi. Trafny tytuł może również zachęcić internautów do obejrzenia Twojej strony.
Taki sam tytuł na wszystkich podstronach serwisu nie jest dobrym pomysłem, a tytuły w stylu "Strona główna" czy "Bez tytułu" są już bardzo nietrafne. Oczywiście w tytule wszystkich podstron można umieścić ten sam fragment z nazwą serwisu, ale oprócz tego każdy dokument powinien zawierać dalszą część tytułu, opisującą jego zawartość.
Tytuł strony jest znacznikiem obowiązkowym. Pominięcie go stanowi błąd!
Ponadto treść tytułu nie może zawierać żadnych znaczników.
<head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> ..... </head>
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ..... </head>
Polecenie jest deklaracją strony kodowej, czyli sposobu w jaki będą zapisane w formie cyfrowej znaki na naszej stronie WWW. Zamiast iso-8859-2 można wpisać: windows-1250, ale jest to mocno odradzane, ponieważ polecenie takie deklaruje inną, niestandardową stronę kodową. Obsługują ją tylko przeglądarki w systemie MS Windows - jeśli użytkownik będzie posiadał inny system operacyjny, prawdopodobnie spowoduje to pojawienie się u niego na ekranie zupełnie nieprzewidzianych znaków! Czy chcesz, aby Twoja strona WWW wyglądała nieprofesjonalnie? Z tego powodu nie jest polecane stosowanie innej strony kodowej jak ISO lub UTF.
UWAGA!
Absolutnie nie należy pomijać tego wpisu i powinna to być koniecznie deklaracja kodowania ISO lub UTF a nie WINDOWS, gdyż wtedy mogą wystąpić problemy z wyświetlaniem polskich znaków (nawet jeśli na Twoim komputerze wszystko jest w porządku)! Wstawienie odpowiedniej deklaracji strony kodowej to nie wszystko! Trzeba również stosować właściwy edytor (X)HTML - zobacz: Polskie znaki.
Jeśli Twoja strona WWW ma być napisana w innym języku niż polski, musisz zadeklarować odpowiednią inną stronę kodową (pamiętaj również o podaniu właściwego skrótu nazwy języka).
Więcej na temat stron kodowych możesz dowiedzieć się w rozdziale pt.: Strony kodowe.
<head> <meta name="Description" content="Tu podaj opis twojej strony" /> </head>
Polecenie to należy wstawić między znacznikami: <head>
oraz </head>
. Pozwala ono opisać co znajduje się na Twojej stronie. Z informacji tej korzystają wyszukiwarki sieciowe, dlatego staraj się tutaj wpisać tekst, który jak najlepiej opisze zawartość strony i zachęci do jej odwiedzenia. Ciekawy, ale niezbyt długi, opis może zachęcić internautów do obejrzenia Twojej strony!
UWAGA!
W treści wszystkich atrybutów content="..."
nie należy używać znaków cudzysłowu. Jeśli musimy to zrobić, należy zamiast nich wpisywać: "
<head> <meta name="Keywords" content="wyraz1, wyraz2, wyraz3..." /> </head>
Polecenie to należy wstawić między znacznikami: <head>
oraz </head>
. Pozwala Ci ono podać wyrazy kluczowe, z których korzystają wyszukiwarki sieciowe. Dlatego staraj się tutaj wpisać wyrazy, które jak najlepiej opiszą zawartość Twojej strony. Dobrze dobrane wyrazy kluczowe, pomogą wyszukiwarkom odnaleźć Twoją stronę!
<head> <meta http-equiv="Content-Language" content="język" /> </head>
Polecenie to należy wstawić między znacznikami: <head>
oraz </head>
. Pozwala ono podać, w jakim języku jest napisana Twoja strona internetowa, np.: pl - polski, en - angielski, de - niemiecki, fr - francuski, it - włoski, es - hiszpański, ru - rosyjski i inne [zobacz: Skróty nazw jezyków].
Nie należy również zapominać o zadeklarowaniu odpowiedniej dla wybranego języka strony kodowej.
<head> <meta name="Author" content="Tu wpisz swoje imię i nazwisko" /> </head>
Polecenie to należy wstawić między znacznikami: <head>
oraz </head>
. Pozwala ono podać informację, kto jest autorem strony.
<head> <meta http-equiv="Last-Modified" content="data" /> </head>
Czas w formacie GMT jest określany dla Greenwich (południk "0"). W Polsce strefa czasowa jest przesunięta o +1 godz. (czas zimowy) lub +2 godz. (czas letni). Dlatego w przypadku tworzenia daty GMT, należy odjąć od czasu lokalnego odpowiednio: 1 lub 2 godziny.
Komenda wprowadza informację, kiedy dany dokument był ostatnio zmieniany. Może to być sygnał dla przeglądarki, że trzeba wczytać go ponownie. Polecenie może być wstawione tylko w treści nagłówkowej dokumentu - między znacznikami: <head>
oraz </head>
.
Datę i czas w formacie GMT możesz otrzymać w generatorze poniżej:
<head> <meta http-equiv="Expires" content="data" /> </head>
Komenda wprowadza informację, kiedy dany dokument traci ważność. Może to być sygnał dla przeglądarki, że trzeba wczytać go ponownie. Polecenie może być wstawione tylko w treści nagłówkowej dokumentu - między znacznikami: <head>
oraz </head>
.
<head> <meta http-equiv="Refresh" content="s" /> </head>
Polecenie to pozwala na automatyczne odświeżanie strony, co pewien określony przedział czasu (podany w sekundach). Powinno być wstawione w treści nagłówkowej dokumentu - między znacznikami: <head>
oraz </head>
.
Nie należy przesadzać z odświeżaniem strony, ponieważ irytuje to użytkowników, a nawet może uniemożliwić czytanie!
Przykład:
<head> <meta http-equiv="Refresh" content="s; url=Tu podaj adres strony lub ścieżkę dostępu" /> </head>
Polecenie to pozwala na automatyczne wczytanie podanej strony. Załadowanie nastąpi po określonym przez nas czasie (podanym w sekundach). Powinno być wstawione w treści nagłówkowej dokumentu.
Polecenie to jest często stosowane, w razie przeniesienia serwisu pod inny adres, w celu automatycznego przekierowania tam użytkownika.
Przykład:
(tylko Internet Explorer 4.01 lub nowszy!)
<head> <meta http-equiv="sposób" content="blendTrans(Duration=s)" /> </head>
<head> <meta http-equiv="sposób" content="revealTrans(Duration=s,Transition=n)" /> </head>
Polecenie to pozwala na efektowne graficznie przejście między dwiema stronami. Pierwszy sposób (blendTrans) powoduje płynne przejście. W drugim przypadku (revealTrans) można wybrać odpowiedni rodzaj filtru graficznego: od 0 do 23 (dla Transition=23 będzie to efekt wybrany losowo).
Jeśli zastosujemy "Page-Enter", nastąpi graficzne przejście do strony, na której znajduje się powyższe polecenie (po jej wczytaniu). Natomiast po wpisaniu "Page-Exit", przejście będzie przy wyjściu z danej strony (kiedy klikniemy dowolny odsyłacz prowadzący na inną stronę). Różnica pomiędzy "Page-Enter/Exit" a "Site-Enter/Exit" jest taka, że w drugim przypadku przejście nastąpi tylko podczas wejścia/wyjścia z/do innej domeny internetowej, czyli innej niż nasza strony WWW.
UWAGA!
W Internet Explorerze 6, aby polecenie ("Page-Enter") było realizowane, musi znajdować się bezwzględnie bezpośrednio po znaczniku <head>
(jako pierwsze)! Wpisanie go po jakimkolwiek innym znaczniku, np. deklaracji strony kodowej, spowoduje, że nie będzie ono interpretowane.
Przykład:
<head> <meta name="Generator" content="nazwa edytora" /> </head>
<head> <meta name="Authoring_tool" content="nazwa edytora" /> </head>
Pozwala określić nazwę edytora (X)HTML, który został wykorzystany do utworzenia dokumentu.
<head> <meta name="Robots" content="dyrektywy" /> </head>
Polecenie określa sposób zachowania się robotów-indekserów, czyli specjalnych programów zbierających informacje o stronach w Internecie, wykorzystywane później przez wyszukiwarki. Stosuj noindex tylko wtedy, gdy nie chcesz, aby Twoja strona była odnaleziona przez wyszukiwarki (bo np. treści na niej zawarte są ściśle tajne :-). Niestety całkowitej pewności nie będzie nigdy, ponieważ nie wszystkie roboty interpretują to polecenie.
Pamiętaj, że domyślnym zachowaniem robotów wyszukiwarek sieciowych jest indeksowanie wszystkich dokumentów. To oznacza, że dyrektywa "index, follow" może być pominięta, a zamiast wpisywać "noindex, follow" czy "index, nofollow" zwykle wystarczy wpisać odpowiednio: "noindex" i "nofollow". W przypadku zupełnego braku znacznika <meta name="Robots" content="..." />
robot zaindeksuje wszystkie strony serwisu, dlatego dodaje się go zwykle tylko, kiedy chcemy zablokować dostęp robotowi do wybranych stron.
Zwróć uwagę, że wartość "nofollow" blokuje jedynie podążanie za odnośnikami, a to oznacza, że może nie zapobiec indeksowaniu stron, do których prowadzą linki umieszczone w dokumencie. Jeżeli na innych stronach - możliwe, że w zupełnie innym serwisie - znajdą się linki do tych stron, zostaną one normalnie zaindeksowane. Aby temu zapobiec, należy wstawić dyrektywę "noindex" na stronach, które nie powinny być zaindeksowane.
Specyfikacja HTML 4.01 wskazuje tylko następujące wartości tego elementu: all, index, nofollow, noindex. Choć inne specyfikacje jasno wskazują na dodatkowe wartości, to jeśli chcesz mieć największą pewność, że dyrektywy zostaną uwzględnione, zamiast "none" możesz użyć "noindex, nofollow".
Roboty mogą interpretować dodatkowe, niestandardowe dyrektywy (wszystkie poniższe są rozpoznawane przez robota wyszukiwarki Google):
Dyrektywa "noarchive" blokuje archiwizowanie dokumentu. Wyszukiwarki sieciowe często zapisują kopię indeksowanych stron w swojej pamięci podręcznej. Użytkownicy korzystający z wyszukiwarki mogą otworzyć taką kopię strony np. kiedy oryginalna witryna jest chwilowo niedostępna. Aby otworzyć stronę z pamięci podręcznej wyszukiwarki Google, należy na liście wyników wyszukiwania kliknąć link "Kopia".
Aby połączyć dyrektywy standardowe z niestandardowymi, nie należy wpisywać kilku osobnych znaczników <meta name="Robots" />
, ale podać pełną listę po przecinku, np.:
<meta name="Robots" content="nofollow, noarchive" />
Wyszukiwarka Google wprowadziła specjalny znacznik, który pozwala wydać dyrektywy tylko dla robota Googlebot. Na przykład aby zablokować robotowi Google dostęp do strony, ale jednocześnie pozwolić na to robotom innych wyszukiwarek, można wpisać:
<meta name="Googlebot" content="noindex, nofollow" />
Element <meta name="Robots" content="nofollow" />
powoduje, że roboty sieciowe nie będą podążać za żadnymi linkami umieszczonymi w dokumencie. Czasami jednak chcielibyśmy zablokować uwzględnianie tylko wybranych odsyłaczy. Taka sytuacja najczęściej ma miejsce, kiedy wstawiamy na swojej stronie system komentarzy. Spammerzy lub spamboty (automaty spamujące) często wpisują komentarze bez żadnej konkretnej treści, ale za to przeładowane linkami do stron, które chcą zareklamować. Aby uczynić takie linki nieistotnymi dla robota wyszukiwarki Google, należy dopisać do wszystkich odsyłaczy np. z komentarzy dodatkowy atrybut:
<a href="http://adres strony" rel="nofollow">...</a>
Takie linki zostaną zignorowane przez robota wyszukiwarki Google, zatem być może zniechęci to spammera do umieszczania ich na naszej stronie, a nawet jeśli nie, to przynajmniej nie damy mu satysfakcji i nie przyczynimy się do nieuczciwego wypromowania kolejnej bezużytecznej strony :-)
Znacznik <meta name="Robots" />
jest przydatny w celu określania dostępu przez roboty do pojedynczych dokumentów HTML. Okazuje się jednak mało praktyczny, jeśli chcielibyśmy zablokować dostęp np. do wszystkich dokumentów z określonego katalogu serwisu albo wręcz hurtowo do wszystkich plików witryny. Znacznik ten okazuje się wręcz zupełnie nieprzydatny, jeśli zależy nam na zablokowaniu indeksowania np. zdjęć z naszego serwisu (większość wyszukiwarek posiada osobne formularze do wyszukiwania plików graficznych).
Istnieje jednak możliwość określenia globalnego dostępu do wszystkich plików serwisu - nosi on nazwę: Standard Wykluczania Robotów (ang. A Standard for Robot Exclusion - Robots Exclusion Protocol). W głównym katalogu konta WWW - czyli tam, gdzie znajduje się dokument strony głównej serwisu (index.html) - należy umieścić specjalny plik pod nazwą robots.txt. W pliku tym umieszcza się tzw. rekordy - każdy zawiera grupę linijek w postaci:
Pole: wartość
Wielkość liter w nazwach pól nie ma znaczenia, natomiast zwykle ma znaczenie w wartościach pola. Oprócz typowych linijek możliwe jest również umieszczanie komentarzy, czyli tekstu, który nie zostanie wzięty pod uwagę przez roboty. Komentarz rozpoczyna się znakiem "#", a kończy na końcu linijki.
W jednym pliku robots.txt może się znajdować dowolna liczba rekordów rozdzielonych pustymi linijkami - każdy musi się rozpoczynać linią User-Agent
, wskazującą do których robotów odnoszą się dalsze linijki danego rekordu:
# Ten rekord odnosi się tylko do robota "Googlebot": User-agent: Googlebot
Pojedynczy rekord może zawierać więcej niż jedną linię User-Agent
:
# Ten rekord odnosi się tylko do robotów "Googlebot" i "MSNBot": User-agent: Googlebot User-agent: MSNBot
Specyfikacja HTML 4.01 wyraźnie zabrania umieszczania kilku linii User-Agent
jednej pod drugą, jednak standard (nieopracowany przez W3C) mówi na ten temat zupełnie co innego. Googlebot interpretuje wielokrotne linijki tego typu.
Wielkość liter w nazwach robotów nie ma znaczenia. Lista istniejących robotów wyszukiwarek sieciowych znajduje się na stronach:
Zamiast nazwy robota można wpisać również znak gwiazdki ("*"), co wskazuje każdego istniejącego robota. Kiedy robot danej wyszukiwarki odwiedza witrynę, najpierw sprawdza czy istnieje plik robots.txt. Jeśli tak, szuka w nim rekordu (grupy linii), który pasuje do jego nazwy. Jeśli taki znajdzie, odczytuje linie z wybranego rekordu i pomija wszystkie inne. Jeżeli nie znajdzie, szuka rekordu z linią User-Agent: *
. Jeżeli takiego nie znajdzie, indeksuje bez ograniczeń wszystkie dokumenty serwisu. Zwracam uwagę, że jeśli robot znajdzie przeznaczony specjalnie dla niego rekord, to w ogóle nie zajmuje się rekordem User-Agent: *
.
W rekordach poniżej User-Agent
musi się znajdować jedna lub więcej linii Disallow
, wskazujących ścieżki do plików, do których robot nie ma dostępu. Każda ścieżka musi rozpoczynać się od znaku ukośnika ("/") i powstaje poprzez wycięcie pierwszego członu adresu URL. Na przykład aby zablokować dostęp do pliku http://www.example.org/index.html, należy wpisać:
User-Agent: * Disallow: /index.html
Pusta wartość Disallow
oznacza brak ograniczeń w indeksowaniu dokumentów:
User-Agent: * # Wszystkie dokumenty serwisu będą normalnie indeksowane: Disallow:
Aby zablokować dostęp do wszystkich plików z jakiegoś katalogu i ewentualnie wszystkich jego podkatalogów, wystarczy wpisać samą nazwę tego katalogu, która koniecznie musi kończyć się znakiem ukośnika ("/"):
User-Agent: * # Żaden plik z katalogu "prywatne" nie zostanie zaindeksowany: Disallow: /prywatne/
Aby zablokować dostęp do wszystkich plików całego serwisu, jako ścieżkę należy podać sam ukośnik:
# Ten serwis w ogóle nie będzie indeksowany przez roboty: User-Agent: * Disallow: /
Standard Wykluczania Robotów został rozszerzony o dodatkową dyrektywę - Allow
, której działanie jest przeciwne do Disallow
, czyli wskazuje ścieżki, które robot może indeksować:
# Tylko strona główna tego serwisu zostanie zaindeksowana: User-Agent: * Disallow: / Allow: /index.html
Dyrektywa Allow
może nie być interpretowana przez niektóre roboty wyszukiwarek (jest rozpoznawana przez robota Google)
Co zrobić, jeśli chcemy zablokować indeksowanie wszystkich zdjęć serwisu, ale jednocześnie zezwolić na indeksowanie samych dokumentów HTML? Najlepiej byłoby umieścić wszystkie zdjęcia w osobnym katalogu:
User-Agent: * Disallow: /zdjecia/
Czasem jednak jest to niemożliwe. W takim przypadku pomocne są tzn. wzorce dopasowania, czyli znaki specjalne, które pozwalają dopasować ścieżki na podstawie ogólnych warunków. Googlebot rozpoznaje następujące znaki specjalne w ścieżkach dyrektyw Disallow
oraz Allow
:
User-Agent: Googlebot # Nie indeksuj plików graficznych: Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.gif$ Disallow: /*.png$ # Nie indeksuj dokumentów z identyfikatorami sesji: Allow: /*?$ Disallow: /*?
Różnica pomiędzy /*.gif$ a /*.gif jest taka, że w drugim przypadku zablokowane zostaną również pliki: /nazwa.gift, /nazwa.gif/nazwa.html, co raczej nie było naszym zamiarem.
Wzorce dopasowania są rozszerzeniem standardu i mogą być nieobsługiwane przez wiele robotów sieciowych (są interpretowane przez robota Google), dlatego zaleca się nie umieszczać ich w rekordzie User-Agent: *
.
Swój plik robots.txt możesz przetestować w specjalnym generatorze.
W niemal każdym serwisie internetowym zdarza się, że ta sama treść jest prezentowana na kilka sposobów, tzn. pod różnymi adresami URL:
Teoretycznie nie powinno to przeszkadzać czytelnikom naszej witryny, jednak może stać się problemem w przypadku wyszukiwarek internetowych - takich jak np. Google. Roboty wyszukiwarek starają się eliminować duplikujące się treści ze swojej bazy zaindeksowanych stron. Oznacza to, że jeśli ta sama lub bardzo podobna treść występuje w Twoim serwisie pod kilkoma różnymi adresami URL, w wynikach wyszukiwania pojawi się tylko jedna jej wersja. Która? To zależy, którą robot indeksujący uzna za podstawową. Niestety to tyko automat dlatego może się mylić, uznając za wersję podstawową adres URL z wieloma niepotrzebnymi parametrami po pytajniku lub wersję artykułu przeznaczoną do wydruku. Może to potencjalnie obniżyć pozycję Twojej witryny w wynikach wyszukiwania oraz wywołać pewną dezorientację czytelnika, który trafił z wyszukiwarki do Twojego serwisu na niewłaściwą wersję dokumentu.
Istnieje jednak możliwość jasnego wskazania robotowi wyszukiwarki, która wersja strony jest tą podstawową - stroną kanoniczną. Aby to zrobić, na każdej wersji takiej strony, która różni się adresem URL od wersji podstawowej, należy podać bezpośredni adres prowadzący do wersji kanonicznej:
<head> <link rel="Canonical" href="adres strony podstawowej" /> </head>
Warto zwrócić uwagę, że nie należy w ten sposób oznaczać dokumentów, które nie stanowią jedynie innej wersji strony kanonicznej (podstawowej), ponieważ wywoła to tylko ich niepotrzebną eliminację z wyników wyszukiwania. Trzeba również mieć świadomość, że znacznik ten stanowi jedynie sugestię dla robota wyszukiwarki i może nie być wzięty pod uwagę, jeśli robot z innego powodu uzna, że w danej sytuacji takie oznaczenie strony kanonicznej nie będzie pożądane dla użytkownika korzystającego z wyszukiwarki.
<head> <meta http-equiv="Expires" content="0" /> <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate" /> <meta http-equiv="Cache-Control" content="post-check=0, pre-check=0" /> <meta http-equiv="Pragma" content="no-cache" /> </head>
Polecenia wstawione w treści nagłówkowej dokumentu w większości przypadków teoretycznie zabezpieczają stronę przed przechowywaniem w tzw. cache-u przeglądarki, czyli pamięci podręcznej. Cache-owanie polega na zapisywaniu dokumentów HTML, obrazków i innych elementów strony na dysku lokalnym użytkownika podczas pierwszej wizyty. Normalnie, jeśli odwiedzimy taką stronę ponownie, wczyta się dużo szybciej, ponieważ dane zostaną pobrane z dysku twardego, a nie z Internetu. Lecz w pewnych przypadkach możemy chcieć, aby treść dokumentu nie była w ten sposób przechowywana, lecz za każdym razem wczytywana bezpośrednio z Internetu (np. jeśli strona jest często aktualizowana lub nie chcemy by była zapisywana na dysku użytkownika). Wtedy przydatne okazują się te właśnie polecenia. Niestety przegladarki często po prostu ignorują powyższe polecenia, a więc całkowitej pewności nie będzie raczej nigdy :-(
Wiele osób próbuje stosować tą metodę, aby nie dopuścić do zapisania na dysku użytkownika kodu źródłowego lub obrazków ze swojej strony. Często wykorzystuje się to w połączeniu z dodatkowymi metodami ochrony stron WWW.
(interpretuje: Internet Explorer, Netscape 7/Mozilla/Firefox, Opera 7, Chrome)
<head> <link rel="Shortcut icon" href="adres ikony" /> </head>
Polecenie to pozwala dodać ikonkę (favicon.ico), która będzie widoczna w przeglądarce przy adresie naszej strony. Typowy rozmiar ikony to 16x16 pikseli. W systemie Windows jest dodatkowa możliwość umieszczenia skrótu na pulpicie - wtedy przydatna może być ikona o rozmiarach 32x32. Format *.ico pozwala zapisać dwie wersje rozmiaru w jednym pliku. Niektóre przeglądarki - nie MSIE 6 - pozwalając również używać innych formatów graficznych, takich jak np. PNG.
Ikona strony może się wyświetlić automatycznie, nawet bez potrzeby wstawiania powyższego znacznika, jeśli będzie nosiła nazwę favicon.ico i zostanie zapisana w głównym katalogu na serwerze WWW, czyli np. http://www.example.com/favicon.ico (Internet Explorer, Firefox, Opera 12-).
Niestety niektóre przeglądarki pobierają ikonę strony tylko raz, a później rzadko jest ona odświeżana (albo nawet wcale). Więc jeśli kiedyś wprowadzimy nową, może to nie dać żadnego efektu, bo np. Internet Explorer zapisuje ikonę przy dodawaniu strony do ulubionych. Dlatego zanim wprowadzimy taki dodatek, warto go wcześniej dobrze dopracować.
W Internet Explorerze 6 aby ikona była widoczna, trzeba dodać stronę do ulubionych. Aby odświeżyć ikonę, należy usunąć stronę z ulubionych, a następnie dodać ją tam ponownie (ikona będzie widoczna po ponownym otworzeniu przeglądarki). Czasem pomocne okazuje się również wyczyszczenie historii przeglądanych stron.
(interpretuje: Mozilla i Opera 12-)
Nowoczesne przeglądarki pozwalają określić bezpośrednio z poziomu strony WWW dodatkowe punkty nawigacyjne w serwisie. Są one wyświetlane na specjalnym pasku narzędzi (najczęściej Nawigacja) w postaci linków do wskazanych stron.
<head> <link rel="Start" href="adres" /> </head>lub
<head> <link rel="Top" href="adres" /> </head>
<head> <link rel="Up" href="adres" /> </head>
<head> <link rel="First" href="adres" /> </head>
<head> <link rel="Prev" href="adres" /> </head>lub
<head> <link rel="Previous" href="adres" /> </head>
<head> <link rel="Next" href="adres" /> </head>
<head> <link rel="Last" href="adres"> </head>
<head> <link rel="Contents" href="adres" /> </head>lub
<head> <link rel="Toc" href="adres" /> </head>
<head> <link rel="Chapter" title="Tytuł" href="adres" /> </head>
<head> <link rel="Section" title="Tytuł" href="adres" /> </head>
<head> <link rel="Subsection" title="Tytuł" href="adres" /> </head>
<head> <link rel="Appendix" title="Tytuł" href="adres" /> </head>
<head> <link rel="Glossary" href="adres" /> </head>
<head> <link rel="Index" href="adres" /> </head>
<head> <link rel="Help" href="adres" /> </head>
<head> <link rel="Search" href="adres" /> </head>
<head> <link rel="Author" href="adres" /> </head>
<head> <link rel="Copyright" href="adres" /> </head>
<head> <link rel="Bookmark" title="Tytuł" href="adres" /> </head>
<head> <link rel="Alternate" title="Tytuł" href="adres" /> </head>lub
<head> <link rel="Alternate" title="Tytuł" lang="język" href="adres" /> </head>lub
<head> <link rel="Alternate" title="Tytuł" media="media" href="adres" /> </head>
Najczęstszym sposobem wykorzystania tego rodzaju znacznika jest osadzanie kanałów informacyjnych (obsługiwane przez wszystkie nowoczesne przeglądarki):
<link rel="Alternate" title="Tytuł kanału" href="adres kanału" type="application/rss+xml" />
<link rel="Alternate" title="Tytuł kanału" href="adres kanału" type="application/atom+xml" />
title="..."
), ponieważ inaczej użytkownik nie będzie mógł rozróżnić, co chciałby subskrybować.<head> <link rel="Nazwa" title="Tytuł" href="adres" /> </head>
Sprawdź swoją wiedzę, nabytą w tym rozdziale, rozwiązując testowy QUIZ.