# robots.txt

> A teszt azt nézi, elérhető-e a /robots.txt 200-as válasszal, és nem tiltja-e le az egész oldalt minden robotnak. Itt a mérés, a javítás és az ellenőrzés.

A `robots.txt` egy szöveges fájl az oldal gyökerében, amellyel a keresőrobotoknak megmondod, mely részeket ne járják be, és hol találják a sitemapet. Fontos, hogy nem hozzáférés-védelem, és nem is indexelés-tiltás: az RFC 9309 szerint ezek a szabályok nem hozzáférés-engedélyezési eszközök. A Google dokumentációja szerint a bejárás tiltása nem akadályozza meg, hogy az oldal címe megjelenjen a találatok között (snippet nélkül); az indexelést a [noindex](https://hub.hellowp.io/hu/report/seo/indexelheto/) tiltja.

## Hogyan mérjük

A riport lekéri az oldal végső gazdagépének `/robots.txt` fájlját (legfeljebb két átirányítást követve).

- **Megfelelő:** a válasz kódja 200, és a `User-agent: *` csoportban nincs pontosan `Disallow: /` sor.
- **Hiba, hiányzik:** a válasz nem 200 (például 404).
- **Hiba, szerverhiba:** a fájl 5xx kóddal válaszol. Ez a hiányzó fájl egyik esete, a riport külön üzenetet ad rá.
- **Hiba, mindent tilt:** a `User-agent: *` csoportban `Disallow: /` szerepel.
- **Nem mérhető:** a másodlagos lekérések időkerete vagy kérésszáma elfogyott, mielőtt a fájlra sor került volna.

A teszt súlyossága a riportban: közepes. Mit nem néz a teszt:

- Csak a `*` csoportot értékeli. Egy külön, például `Googlebot` nevű csoport tiltását nem veszi észre.
- Csak a pontosan `/` tiltást tekinti hibának; részleges tiltásokat (`Disallow: /blog/`) nem.
- A hiányzó fájl hiba a riportban, bár a Google 4xx esetén úgy viselkedik, mintha nem lenne korlátozás (lásd lent).

### Mit csinál a Google a különböző válaszkódokkal

A Google dokumentációja szerint:

- 2xx: a fájlt úgy dolgozza fel, ahogy a szerver adja;
- 4xx (a 429 kivételével): úgy veszi, mintha nem lenne robots.txt, vagyis nincs korlátozás;
- 5xx: az első 12 órában leáll a bejárással, de újra próbálkozik, utána akár 30 napig a tárolt példányt használja.

Az RFC 9309 szerint a 4xx "nem elérhető" állapot (a robot bármit elérhet), az 5xx pedig "elérhetetlen" (a robotnak teljes tiltást kell feltételeznie). Ezért érdemes a szerverhibát sürgősen javítani: a fájlnak 200-zal vagy 404-gyel kell jönnie.

## Hogyan javítsd

### A fájl hiányzik

Készíts `robots.txt` fájlt az oldal gyökerébe. A Google szerint a fájl neve `robots.txt`, UTF-8 kódolású szöveg, és a webhely legfelső szintjén kell lennie (alkönyvtárban nem keresik). A riport mintája minden robotnak megenged mindent, és megadja a sitemap címét (ha találtunk ilyet):

```text title="robots.txt"
User-agent: *
Disallow:

Sitemap: https://pelda.hu/sitemap.xml
```

A `Sitemap` sorban teljes cím legyen, protokollal és gazdagépnévvel. Az üres `Disallow:` sorral a Google dokumentációja nem foglalkozik; a lényeg, hogy semmit nem tilt le. Ha biztosra mennél, a `Disallow` sort el is hagyhatod, és csak a `User-agent` és a `Sitemap` sort tartod meg.

### A fájl mindent tilt

Töröld a `Disallow: /` sort a `User-agent: *` csoportból (vagy cserélj tiltást csak a tényleg kihagyandó útvonalakra). WordPressben a Beállítások → Olvasás oldalon a "Keresőmotorok kizárása" jelölőnégyzetet is nézd meg: a WordPress dokumentációja szerint az 5.3-as verziótól ez noindex robots meta sort ír ki, a régebbi verziók `Disallow: /` sort adtak a robots.txt-be. Részletek az [Indexelhető](https://hub.hellowp.io/hu/report/seo/indexelheto/) oldalon.

### Szerverhiba (5xx)

A hibát a szerver oldalán kell megkeresni: a webszerver és az alkalmazás hibanaplójában látszik, miért nem tudja kiszolgálni a `/robots.txt` kérést. A cél, hogy a fájl 200-zal jöjjön.

## Hogyan ellenőrizd

1. Futtasd újra a riportot.
2. Parancssorból a státuszkód és a tartalom:

```bash title="Terminál"
curl -sI https://pelda.hu/robots.txt | head -n 1
curl -s https://pelda.hu/robots.txt
```

3. A Search Console jelzi, ha a robots.txt bejárása hibás, és a Sitemaps jelentésben is látszik, ha a robots.txt blokkolja a sitemapet ([hogyan használd](https://hub.hellowp.io/hu/knowledge-base/useful-tools/google-search-console/)).
