Noindex X-robots-tag
Noindex kan foretages på mange måder, og her har jeg testet x-robots-tag som er noindex via htaccess, for at se om den kan bruges.
x-robots-tag er en anden måde at sørge for at sider og filer ikke bliver indekseret. Det er fx vigtigt hvis du har PDF filer du ikke vil have indekseret, eller hvis din hjemmeside ikke har muligheden for at benytte robots metatagget til noindex.
Jeg har gennem noget tid testet om det er muligt at benytte sig af X-Robots-Tag header, til at udelukke sider og filer fra googles indeks. Søgemaskiner som Google, indekserer typisk kun det indhold som de må indekserer, hvorfor det er vigtigt at gøre sig nogle tanker herom.
Man kan uden tvivl godt tillade sig at bruge dette http header tag, til både at styre hvad google indekserer, men også til at sætte fokus. Jeg ved ikke om du selv har prøvet det, du har lavet en søgning på google, og lander på en PDF, du vil gerne kunne klikke dig videre for at læse mere, men der er ingen links i den PDF til hjemmesiden. Nu skal du så til at fjerne bogstaver fra adresselinjen for at kunne besøge hjemmesiden.
Det er da irriterende, og ikke særlig brugervenligt.
Hvorfor vil man ikke have indekseret alt?
Man vil ikke have alt på sin hjemmeside indekseret, det vil man ikke fordi hvis man bare får alt indekseret, så vil sider, filer mm. som reelt er indholdstynde, også blive indekseret, og det er ikke så godt for din hjemmeside at få sider i googles indeks, som kan anses som dårlig kvalitet eller dårligt indhold.
Det kan nemlig skade placeringerne. Samtidig når man undlader at indekserer alt, hjælper man google til at fokuserer på det der er vigtigt for hjemmesiden.
Hvad er x-robots-tag?
X-Robots-Tag er en anden måde at definere om en side må indekseres eller ikke, om der skal følges links og meget andet. Kort sagt fungerer X-Robots-Tag på samme måde som robots metatagget, forskellen er bare at X-Robots-Tag bliver sat som en http header, mens robots metatagget er HTML kode man indsætter mellem head taggene i sin html fil.
Det betyder også at når man skal teste om det man har implementeret nu også virker, skal man benytte sig af et headers test værktøj, som kan vise din om X-Robots-Tag bliver sat.
Hvornår bruger man x-robots-tag headeren?
Man bruger den typisk når man ikke har muligheden for at indsætte noindex robots metatagget, eller når man ikke vil bruge pengene på at få lavet det korrekt fra starten af. Grunden er samtidig også at det er ret nemt at bruge, selvfølgelig kræver det viden, men man behøver ikke kendskab til PHP, html eller anden serversidescript for at kunne benytte sig af X-Robots-Tag.
Det eneste man nok skal sætte sig lidt ind i er mod_rewrite og htaccess, og selvfølgelig hvornår man kan bruge funktionaliteten.
Der hvor jeg selv ville bruge den er ved statiske filer såsom PDF, billeder, video, css, js etc. Altså hvis det er tilfældet at Google og andre søgemaskiner ikke skal indeksere det indhold.
Samtidig skal man også være opmærksom på at Google stadig crawler siden for at se om det originale robots metatag findes på siden, og fortæller den at siden skal indekseres, ja så vælger google i mange tilfælde at indeksere siden alligevel.
Jeg er kommet frem med nedenstående eksempler på hvordan man i forskellige situationer kan bruge X-Robots-Tag.
Noindex og X-Robots-Tag eksempler
- Noindex på filtyper og bestemte filer
- Noindex på mapper
- Noindex ved querys (?x=y)
- Noindex på fiktive filer og mapper
- Noindex på domæner/subdomæner
- Brugerne har efterspurgt
Noindex på Filtyper
Der kan være mange grunde til man gerne vil sætte noindex på filtyper, det kan fx være at man har PDF filer eller for den sags skyld, txt og eller word filer man ikke vil have indekseret. Og det er bestemt også metoden jeg vil anbefale man benytter sig af, da mange stadig prøver at beskytte sådanne filer via Robots.txt filen.
Hvilket ikke er den rette metode at bruge. På denne måde kan man rent faktisk have PDF filen liggende på serveren, lade den blive crawlet og fulgt uden at den vil blive indekseret. Og det gør også at man uden tvivl kan putte indholdet af fx sin PDF ind på sin hjemmeside, hvilket jo giver flere fordele for synlighed på nettet.
Eksempel:
Skriv dette i din htaccess fil
<FilesMatch ".(doc|docx|pdf|txt)$">
Header set X-Robots-Tag "noindex, follow"
Du har med ovenstående eksempel, også sikret mod at din robots.txt fil ikke bliver indekseret, dette ses tit og irriterer rigtig mange hjemmesideejere.
Samme eksempel, på bestemte filer:
<FilesMatch "filnavn.html$">
Header set X-Robots-Tag "noindex, follow"
Noindex på mapper
Det er en god ide at vide hvordan man kan udelukke hele mapper fra indeksering, dette kan fx være administrationen for en hjemmeside, som man selvfølgelig ikke vil have indekseret i Google. Et eksempel på hvordan man kan skrive dette i sin vHost fil.
<Directory "/sti/til/mappe">
Header set X-Robots-Tag "noindex, follow"
Noindex ved querys
Ja jeg ser det tit, man har en shop eller en hjemmeside som benytter sig af querys til fx at sortere I produkter, søge på hjemmesiden, og endda også almindelige indholdssider kan have denne risiko. Men disse sider vil man på ingen måde have bliver indekseret, da de i sidste ende kan skabe uendelig risici for dobbelt indhold.
Den bedste metode til fx at undgå de værste ting er selvfølgelig en Catch All metode, men dette kræver at man har adgang til en programmør som ved hvordan dette skal programmeres. Og har man ikke en programmør der kan håndtere dette, vil alt for mange ting kunne gå galt.
Vil man ikke benytte sig af en programmør til at få sat noindex på nogle sider og canonical tag på andre sider, kan denne metode være ret god til at tage de eventuelle dobbelte sider man kan risikere at få indekseret i Google når man ikke har lukket hullet.
Eksempel:
Indsættes i htaccess
Hvis query er sat, sætter vi noindex på siden
RewriteEngine on
RewriteCond %{QUERY_STRING} !="" [NC]
RewriteRule .* - [E=QUERY_SET:1]
Header set X-Robots-Tag "noindex, follow" env=QUERY_SET
Andre query eksempler:
Query starter med id=(et eller andet tal), og sætter X-Robots-Tag hvis den er det
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule .* - [E=QUERY_SET:1]
Header set X-Robots-Tag "noindex, follow" env=QUERY_SET
Kun noindex X-Robots-Tag hvis id ikke er defineret
RewriteEngine on
RewriteCond %{QUERY_STRING} !^id=([0-9]*)$
RewriteRule .* - [E=QUERY_SET:1]
Header set X-Robots-Tag "noindex, follow" env=QUERY_SET
Noindex på fiktive filer og mapper
Hjemmesider i dag, benytter sig rigtig tit af fiktive filer og mapper for at lave det man kalder SEF-URL (Search Engine Friendly URL) på dansk Søgemaskinevenlig URL. Dette gør at det ikke altid er muligt at benytte sig af ovenstående metoder for filer og mapper. Men det er der selvfølgelig råd for
Eksempel på fiktiv mappe:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/sti/til/mappe [OR]
RewriteCond %{REQUEST_URI} ^/sti/til/anden/mappe
RewriteRule .* - [E=FIKTIV:1]
Header set X-Robots-Tag "noindex, follow" env=FIKTIV
Eksempel på fiktiv fil:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/sti/til/fil.html [OR]
RewriteCond %{REQUEST_URI} ^/sti/til/anden/fil.html
RewriteRule .* - [E=FIKTIV:1]
Header set X-Robots-Tag "noindex, follow" env=FIKTIV
Noindex på hele domæner og underdomæner
Det kan være at man vil ekskludere hele domæner fra søgemaskinernes indeks, altså gøre så hjemmeside, filer, mapper mm. På et domæne Ikke bliver indekseret.
Noindex på ALLE domæner undtagen www.domæne.dk
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domæne.dk$
RewriteRule .* - [E=DOMAIN:1]
Header set X-Robots-Tag "noindex, follow" env=DOMAIN
Noindex på specifikt underdomæne
RewriteEngine on
RewriteCond %{HTTP_HOST} ^underdomæne.domæne.dk$
RewriteRule .* - [E=DOMAIN:1]
Header set X-Robots-Tag "noindex, follow" env=DOMAIN
Brugerne har efterspurgt
Herunder vil komme de eksempler som folk og brugere har efterspurgt.
Noindex på et domænes undermapper, sider, filer, undtaget specifikke mapper
Bruges fx i forbindelse med CDN og de fejl som kan opstå i den forbindelse med dobbelt indhold
RewriteEngine on
RewriteCond %{HTTP_HOST} ^underdomæne.domæne.dk$
RewriteCond %{REQUEST_URI} !^/img
RewriteCond %{REQUEST_URI} !^/video
RewriteRule .* - [E=CDN_TEST:1]
Header set X-Robots-Tag "noindex, follow" env=CDN_TEST
Hvornår kan man ikke bruge denne metode?
Det er sådan at Google stadig crawler siden/filen/mappen, hvilket samtidig også betyder at hvis der allerede er sat et robots metatag med index,follow. Så vil Google ikke kunne vide hvilken en af de to der er den rette at følge. Og dermed risikere man at siden alligevel vil blive indekseret. Og ja det er forbavsende mange hjemmesider og hjemmesideløsninger der rent faktisk sætter et robots metatag med index, follow, selvom det som standard er sådan at Google indeksere sider, medmindre andet er sagt. Og det er bestemt en dum ide at gøre det.
Du kan læse mere om hvad Google skriver om X-Robots-Tag og robots metatag her.
Afslutning
Der er mange måder at sørge for at sider og filer ikke bliver indekseret, x-robots-tag er en af dem. Metoden virker faktisk, og gør det nemt fx at sige disse PDF filer skal du ikke indeksere kære Google. før var der ikke en metode til lige netop det, andet end at gå igennem serverside, for så at hente filen den vej igennem.