# A robots.txt fájl szerkesztése

> A virtuális robots.txt bekapcsolása és szerkesztése, a változatok összehasonlítása és visszaállítása, a szerkesztés letiltása.

A SEOPress PRO-val a WordPressből szerkesztheted a robots.txt fájlt. A beállítás helye: **SEO → PRO → robots.txt**.

![A PRO robots.txt füle](./kepek/oldalterkepek-robots-txt.webp)

*A PRO robots.txt füle* (https://minta-bolt.hu/wp-admin/admin.php?page=seopress-pro-page)

A képen a kapcsoló, a szerkesztőmező, a **Nézd meg a robots.txt fájlodat** és a **Változatok** gomb, alul a kattintható szabálysablonok látszanak.

## Bekapcsolás és szerkesztés

1. Nyisd meg a **SEO → PRO** oldalt, és válaszd a **robots.txt** fület.
2. Kapcsold be a fül tetején lévő kapcsolót.
3. Kapcsold be a **Robots bekapcsolása** sorban az **A robots.txt virtuális fájl engedélyezése** beállítást.
4. A **Virtuális robots.txt-fájl** mezőbe írd meg a fájl tartalmát. Alatta a szabálysablonokra (például **ChatGPT Bot**, **AhrefsBot**, **WooCommerce-szabályok**, **Webhelytérkép hozzáadása**) kattintva a szabály a kurzor helyére kerül; az **AJÁNLOTT** címkéjű szabályok a legtöbb webhelynek megfelelnek, az információs ikon részleteket mutat.
5. Kattints a **Save changes** gombra.

A fájlt a **Nézd meg a robots.txt fájlodat** gombbal, vagy a `https://example.com/robots.txt` címen nézheted meg.

Fontos tudnivalók:

- A fájl virtuális: nem a szerveren tárolódik, hanem menet közben jön létre.
- Ha a szerveren fizikai robots.txt fájl van, azt a virtuális fájl **nem** írja felül.
- Egyes tárhelyek maguktól létrehoznak egy fizikai fájlt, amelyet csak saját fizikai robots.txt fájllal lehet felülírni. Ilyenkor sem a WordPress, sem a SEOPress virtuális fájlja nem használható (például az Infomaniaknál).
- Multisite esetén a hálózati adminisztrációban, a **SEO → robots.txt** fülön szerkesztheted.

## Változatok: összehasonlítás és visszaállítás

A SEOPress PRO minden mentéskor automatikusan változatot rögzít a fájlról, és az utolsó 30-at megtartja. Ha egy módosítás elront valamit, egy kattintással visszaállíthatod a korábbit, a WordPressből kilépés nélkül.

### A változatok megnyitása

1. Menj a **SEO → PRO → robots.txt** oldalra.
2. Kattints a **Változatok** gombra a **Nézd meg a robots.txt fájlodat** mellett. A jelvény mutatja, hány változat van.
3. Egy ablak nyílik a változatok listájával: szerző, dátum, méret, és a jelenlegi változaton egy **Current** jelvény.

### Két változat összehasonlítása

Jelölj ki két változatot a listában: az összehasonlítás automatikusan megjelenik alatta. A régebbiből törölt sorok, az újabbhoz hozzáadott sorok látszanak, így pontosan látod, mi változott.

### Korábbi változat visszaállítása

1. Kattints a kívánt változat melletti **Restore** gombra.
2. Erősítsd meg a **Replace current file?** kérdésnél.

A szerkesztő azonnal frissül a visszaállított tartalommal. A visszaállítás is új változatot rögzít, így mindig visszamehetsz: semmi sem vész el.

## A szerkesztés letiltása

Ha meg akarod akadályozni, hogy a robots.txt és a .htaccess fájlt az adminisztrációs felületről szerkeszteni lehessen, add hozzá a `wp-config.php` fájlhoz a megfelelő sort.

A robots.txt fül szerkesztésének tiltása:

```php
define( 'SEOPRESS_BLOCK_ROBOTS', true );
```

A .htaccess fül szerkesztésének tiltása:

```php
define( 'SEOPRESS_BLOCK_HTACCESS', true );
```

## A fájl tartalmának szűrése hookkal

A virtuális robots.txt tartalmát kódból is módosíthatod. Ha az **A robots.txt virtuális fájl engedélyezése** be van kapcsolva, a SEOPress PRO a mentett szöveget a WordPress `robots_txt` szűrőjén át adja ki, és előtte átengedi a `seopress_robots_txt_file` szűrőn. A szűrő a fájl teljes szövegét kapja meg, és a módosított szöveget kell visszaadnia. A hook a 3.7.4-es verziótól érhető el. A kódot a gyermeksablonod `functions.php` fájljába vagy egy saját bővítménybe tedd.

```php
add_filter( 'seopress_robots_txt_file', 'sajat_robots_txt' );
function sajat_robots_txt( $robots ) {
    // Egy saját szabály hozzáfűzése a mentett tartalomhoz.
    $robots .= "\nDisallow: /privat/\n";
    return $robots;
}
```

A szűrő csak akkor fut le, ha a virtuális fájl engedélyezve van.
