Tag: nginx sitemap 404

  • [Fixed] Why Does Yoast Not Generate A Sitemap – Sitemap_index.xml 404

    [Fixed] Why Does Yoast Not Generate A Sitemap – Sitemap_index.xml 404

    So I have been struggling to fix a problem with my sitemap. It was working properly before, until I moved the server.

    The problem is I didn’t know up until this morning. I moved my site to the new server two weeks ago.

    And Google noticed that too:

    sitemap-404 error

    That doesn’t look good, does it?

    So I, like you guys right now, search the web for a solution. I was running Rankmath. I tried to change to Yoast SEO and other sitemap plugins but still the 404 error persisted.

    By the way, my site is on an Nginx server.

    Yoast SEO  has a post here showing the solution or half of the solution. They provided the code below but didn’t tell where to put the code:

    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?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?xsl=video last;
    }

    I put it in the server block, didn’t work.

    Then I tried to put this inside the location / block inside the server block and the problem was solved.

    nginx configuration to fix sitemap 404 error

    Remember to put the configuration block inside location /

    And that’s all the fix needed to make your sitemap.xml working again.