# Oldaltérkép: gyorsítótár-kizárás és Apache átírási szabályok

> Hogyan zárd ki az oldaltérképeket a gyorsítótárból (W3 Total Cache, WP Super Cache, WP Rocket), és mikor kellenek Apache átírási szabályok.

## Az oldaltérképek kizárása a gyorsítótárból

A legtöbb gyorsítótár-bővítmény alapból nem tárolja az oldaltérkép-fájlokat. Ritkán előfordul, hogy a bővítményed vagy a szervered mégis gyorsítótárazza őket. Ilyenkor vegyél fel kivételt az oldaltérképekre a gyorsítótár-bővítményben. A lépések bővítményenként mások.

A beállítás után ürítsd a gyorsítótárat a bővítményben, a sablonban, a szerveren, a böngészőben és a CDN-ben (például Cloudflare). Ha nem tudod, hogyan kell a szerver gyorsítótárát üríteni, kérdezd a tárhelyszolgáltatódat. Az oldaltérkép frissülési problémáiról lásd az [Oldaltérkép: frissítés, 404 hiba és tartalom kizárása](https://hub.hellowp.io/hu/plugins/wordpress-seo-premium/kereses-megjelenes-oldalterkep-hibak/) fejezetet.

### W3 Total Cache

Alapból a W3 Total Cache nem gyorsítótárazza a Yoast oldaltérképeit, de bizonyos funkciók bekapcsolása miatt mégis megtörténhet.

1. Ha bejelölted a **Do not process 404 errors for static objects with WordPress** lehetőséget, add hozzá az alábbi kódot a következő lépés szerint.
2. A **404 exception list** (404-kivételek listája) mezőbe írd be a kódot:

   ```
   sitemap(_index)?\.xml(\.gz)?
   [a-z0-9_\-]*sitemap[a-z0-9_\-]*\.(xml|xsl|html)(\.gz)?
   ([a-z0-9_\-]*?)sitemap([a-z0-9_\-]*)?\.xml
   ```

3. Kattints a **Save Settings** gombra.
4. Nyisd meg a **Minify** oldalt.
5. A **Never minify the following pages** mezőbe írd be ugyanezt a kódot.
6. Kattints a **Save Settings** gombra.

### WP Super Cache

1. A WordPress vezérlőpulton nyisd meg a **Beállítások → WP Super Cache** oldalt.
2. A **Speciális** (Advanced) fülön keresd meg a **Rejected URL Strings** mezőt.
3. Írd be a kódot:

   ```
   index\.php
   sitemap(_index)?\.xml(\.gz)?
   [a-z0-9_\-]*sitemap[a-z0-9_\-]*\.(xml|xsl|html)(\.gz)?
   ([a-z0-9_\-]*?)sitemap([a-z0-9_\-]*)?\.xml
   ```

4. Kattints a **Save Strings** gombra.

### WP Rocket

A WP Rocket képes az oldaltérkép előtöltésére (preload). Hogy ne tárolja gyorsítótárban az oldaltérképeket:

1. Nyisd meg a **Beállítások → WP Rocket** oldalt.
2. Nyisd meg a **Speciális szabályok** (Advanced Rules) fület.
3. A **Never Cache URL(s)** (soha ne gyorsítótárazott URL-ek) mezőbe írd be:

   ```
   /(.*)sitemap(.*).xml
   /(.*)sitemap.xsl
   ```

4. Kattints a változások mentésére.

### Más gyorsítótár-bővítmény vagy szerveroldali gyorsítótár

Ha más bővítményt használsz, vagy a gyorsítótárazás a szerver szintjén zajlik, fordulj a bővítmény fejlesztőjéhez vagy a tárhelyszolgáltatódhoz.

## Az oldaltérkép Apache szerveren

A Yoast SEO az oldaltérképeket dinamikusan állítja elő, amikor bekapcsolod az oldaltérkép funkciót. Előfordulhat, hogy Apache szerveren szerverszintű átirányításra van szükséged, ha szerverhibát vagy rossz oldalt kapsz az XML-oldaltérképek betöltésekor. NGINX szerveren más szabályok kellenek. Ha nem tudod, melyik szerverre van szükséged, kérdezd a tárhelyszolgáltatót.

### Honnan tudod, hogy kellenek az átírási szabályok?

Az oldaltérkép szép (pretty) címe `example.com/sitemap_index.xml`, a háttérben viszont ugyanez a térkép elérhető a csúnya címen is: `example.com/?sitemap=1`. Ha a csúnya címen betöltődik az oldaltérkép, de a szépen nem, a szervered nincs beállítva az átirányításra, és szabályokat kell hozzáadnod.

### Az Apache átírási szabályai

Add hozzá a következő kódot a `.htaccess` fájlodhoz, **a WordPress fő átírási szabályai elé**. Ha nem tudod, hogyan kell, a tárhelyszolgáltatód segít. Ha a WordPress almappában fut (például `/wordpress/`), a szabályokat az almappához kell igazítanod.

```
# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
RewriteRule ^locations.kml$ /index.php?sitemap=wpseo_local_kml [L]
RewriteRule ^geo_sitemap.xml$ /index.php?sitemap=geo [L]
RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]
RewriteRule ^([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 [L]
# END Yoast SEO - XML Sitemap Rewrite Fix
```

Ha a szabályok hozzáadása után a szép címek mégsem töltenek be, a hiba valószínűleg a szerver más beállításaiban van: fordulj a tárhelyszolgáltatódhoz vagy a szerver üzemeltetőjéhez.
