# XML-oldaltérkép NGINX szerveren

> Az NGINX átírási szabályai a Yoast SEO oldaltérképeihez, almappás és multisite telepítéshez is.

A Yoast SEO az oldaltérképeket dinamikusan állítja elő. NGINX szerveren előfordulhat, hogy szerverszintű átírási szabályokat kell megadnod, ha szerverhibát vagy rossz oldalt kapsz az XML-oldaltérkép megnyitásakor. Apache szerveren más szabályok kellenek (lásd [Oldaltérkép: gyorsítótár-kizárás és Apache átírási szabályok](https://hub.hellowp.io/hu/plugins/wordpress-seo-premium/kereses-megjelenes-oldalterkep-szerver-es-gyorsitotar/)). Ha nem tudod, melyik szervert használod, kérdezd a tárhelyszolgáltatót.

## Honnan tudod, hogy kellenek a szabályok?

Az oldaltérkép szép címe `pelda.hu/sitemap_index.xml`, a háttérben viszont ugyanez elérhető a csúnya címen is: `pelda.hu/?sitemap=1`. Ha a csúnya címen megjelenik az oldaltérkép, a szépen viszont nem, a szervered nincs felkészítve az átírásra, tehát hozzá kell adnod a szabályokat.

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

Ha nem tudod, hová kell tenni a szabályokat, kérj segítséget a tárhelyszolgáltatótól vagy a szerver üzemeltetőjétől.

### Alap kód

Ha az NGINX konfigurációjában már vannak átírási szabályok, ezt a két sort ugyanabba a szakaszba teheted:

```nginx
# Rewrites for Yoast SEO XML Sitemap
rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
```

### Bővített kód

Ha nincs még átírási szabályod, vagy a News SEO, Local SEO vagy Video SEO kiegészítőt is használod, az alábbi bővített változat kell részben vagy egészben. A „prémium kiegészítők” alatti sorokat csak akkor vedd át, ha az adott kiegészítőt használod.

```nginx
#Yoast SEO Sitemaps
location ~ ([^/]*)sitemap(.*).x(m|s)l$ {
  ## a sitemap.xml átírása a /sitemap_index.xml címre
  rewrite ^/sitemap.xml$ /sitemap_index.xml permanent;
  ## az XML-oldaltérképek működéséhez
  rewrite ^/([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 last;
  rewrite ^/sitemap_index.xml$ /index.php?sitemap=1 last;
  rewrite ^/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
  ## A következő sorok a prémium kiegészítőkhöz kellenek
  ## News SEO
  rewrite ^/news-sitemap.xml$ /index.php?sitemap=wpseo_news last;
  ## Local SEO
  rewrite ^/locations.kml$ /index.php?sitemap=wpseo_local_kml last;
  rewrite ^/geo-sitemap.xml$ /index.php?sitemap=wpseo_local last;
  ## Video SEO
  rewrite ^/video-sitemap.xsl$ /index.php?yoast-sitemap-xsl=video last;
}
```

### WordPress almappában vagy multisite hálózaton

Ha a WordPress almappában fut, vagy multisite hálózaton be van kapcsolva az almappás domain-hozzárendelés, ezt a változatot használd:

```nginx
location ~ ([^/]*)sitemap(.*).x(m|s)l$ {
  ## az XML-oldaltérképek működéséhez
  rewrite ^.*/([a-z]+)?-?sitemap.xsl$ /index.php?yoast-sitemap-xsl=$1 last;
  rewrite ^.*sitemap_index.xml$ /index.php?sitemap=1 last;
  rewrite ^.*/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
  # Szabályok wp, wpsubdir és wpsubdomain telepítéshez
  rewrite ^.*sitemap_index\.xml$ /index.php?sitemap=1 last;
  rewrite ^.*/([^/]+?)-sitemap([0-9]+)?\.xml$ /index.php?sitemap=$1&sitemap_n=$2 last;
  ## A következő sorok a prémium kiegészítőkhöz kellenek
  ## News SEO
  rewrite ^.*news-sitemap.xml$ /index.php?sitemap=wpseo_news last;
  ## Local SEO
  rewrite ^.*locations.kml$ /index.php?sitemap=wpseo_local_kml last;
  rewrite ^.*geo-sitemap.xml$ /index.php?sitemap=wpseo_local last;
  ## Video SEO
  rewrite ^.*video-sitemap.xsl$ /index.php?yoast-sitemap-xsl=video last;
}
```

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