Mengatasi error XLST pada Sitemap XML WordPress
Selamat malam kawan-kawan. 🙂 Kali ini saya hanya ingin berbagi solusi yang sepele pada masalah yang mungkin terjadi kalau anda baru pertama kali hosting WordPress pakai Nginx. Spesifiknya soal file sitemap.xml/sitemaps.xml yang biasanya otomatis dibuat oleh plugin SEO.
Karena bukan Apache/LiteSpeed jelas file htaccess tidak ada dan tidak dikenali, yang dimana untuk fungsi serupa di Nginx kita harus mengedit file conf untuk virtual hostnya.
Simple saja yang saya alami, saat mengaktifkan plugin SEO ataupun fitur sitemapnya, dibuka malah muncul pesan kesalahan: Error loading stylesheet: Parsing an XSLT stylesheet failed
.
Sebelumnya pastikan kalau anda sudah menyesuaikan konfigurasi virtual host untuk domain/websitenya per plugin SEO yang anda pakai.
Yoast SEO
#Yoast SEO Sitemaps
location ~ ([^/]*)sitemap(.*).x(m|s)l$ {
## this rewrites sitemap.xml to /sitemap_index.xml
rewrite ^/sitemap.xml$ /sitemap_index.xml permanent;
## this makes the XML sitemaps work
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;
## The following lines are optional for the premium extensions
## 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;
}
AIO SEO
#rewrite rules for AIOSEOP XML Sitemap v3.1
rewrite ^/sitemap.xml$ /index.php?aiosp_sitemap_path=root last;
rewrite ^/sitemap.xml.gz$ /index.php?aiosp_sitemap_path=root last;
rewrite ^/(.+)-sitemap.xml$ /index.php?aiosp_sitemap_path=$1 last;
rewrite ^/(.+)-sitemap.xml.gz$ /index.php?aiosp_sitemap_path=$1 last;
rewrite ^/(.+)-sitemap(\d+).xml$ /index.php?aiosp_sitemap_path=$1&aiosp_sitemap_page=$2 last;
rewrite ^/(.+)-sitemap(\d+).xml.gz$ /index.php?aiosp_sitemap_path=$1&aiosp_sitemap_page=$2 last;
Setelah itu restart Nginx.
Ternyata errornya masih tetap ada? Jangan khawatir, saya juga bingung waktu itu. Ternyata kita perlu membersihkan cache.
Langkah selanjutnya adalah mengakses wp-admin dan kemudian buka menu Pengaturan > Permalink. Langsung Simpan Perubahan saja dan sitemap blog anda akan normal kembali. 😀