Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPBカップ
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

YoastのWordPress SEOサイトマップ404エラーを修正する方法

WordPressのYoast SEOサイトマップに404エラーが表示されると、イライラすることがあります。Yoast SEOは人気のあるツールですが、プラグインの競合や誤った設定がこのエラーを引き起こすことがあります。

そのため、XMLサイトマップにアクセスしようとしたときに404エラーが表示されると、足が止まってしまいます。でもご心配なく、簡単に修正できます。

WPBeginnerでは、100回とは言わないまでも、この問題に遭遇し、解決してきました。この投稿では、Yoast SEOのサイトマップ404エラーを解決する方法を順を追って説明します。サイトマップを再びスムーズに動作させるために、ぜひお付き合いください。

Fixing Yoast SEO XML sitemap 404 error in WordPress

WordPressのYoast SEO Sitemap 404エラーの原因は?

Yoast SEO サイトマップは、検索エンジンがあなたのサイト上のすべてのコンテンツを見つけ、インデックスさせるのに役立ちます。

エラーを修正することで、検索エンジンがサイトマップにアクセスし、サイト内のすべてのページとコンテンツを発見できるようになります。これにより、検索エンジンからの視認性と順位が向上し、サイトマップがない場合よりもコンテンツの順位が早く上がります

WordPressには、Google Search Consoleやその他の検索エンジンに送信できるXMLサイトマップが初期設定されています。

このXMLサイトマップは、ブラウザーのアドレスバーに以下のURLを入力することで閲覧できます:

https://example.com/sitemap.xml

しかし、この初期設定のWordPressが生成するサイトマップは非常に基本的なものです。これを解決するために、Yoast SEOやAll In One SEOプラグインのようなWordPressのトップSEOプラグインはすべて、より多くの機能を備えた独自のXMLサイトマップを作成します。

WordPress SEOプラグインが生成したXMLサイトマップを使用すると、プラグインはWordPress XMLサイトマップの初期設定のショートカットを書き換えます。

つまり、上記のサイトマップURLは、WordPress SEOプラグインによって生成されたサイトマップにユーザーを送ることになる。

残念ながら、プラグインの競合やWordPressの設定が正しくないために、サイトによっては404エラーが 発生することがあります。

以下のセクションでは、Yoast SEOプラグインでWordPressサイトマップの404エラーを簡単に修正する方法をご紹介します。ここで取り上げるすべての方法を簡単に説明します:

準備はいいかい?さっそく始めよう。

WordPressには、パーマリンクと呼ばれるSEOに適したURL構造が用意されています。このURL構造は、リダイレクトシステムを使用して、ユーザーがブラウザーにURLを入力したときにロードするページをウェブホスティングサーバーに伝えます。

通常、これらのパーマリンク設定は、サイトに変更を加えると自動的に更新されます。

悪いニュースは、WordPressがパーマリンク構造を更新できないことがあり、Yoast SEOのサイトマップ404エラーが表示されることがあるということです。

これは、 WordPress管理エリアから設定 ” パーマリンクの ページに行き、「変更を保存」ボタンをクリックするだけで簡単に修正できます。

Update permalinks

そうすることで、WordPressのパーマリンク設定が更新されます。これでXMLサイトマップのページにアクセスして、問題が解決したかどうかを確認できます。

それでも問題が解決しない場合は、このまま読み進めても構わない。

WordPressのパーマリンク構造をリフレッシュしても404エラーが直らない場合は、手動でユーザーをYoast SEOのサイトマップページにリダイレクトするようウェブサーバーに指示することができます。

そのためには、.htaccessファイルに以下のコードを追加する必要があります。

# 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

注: WordPressサイトがサブディレクトリまたはフォルダー(例:https://example.com/mywebsite/ )にインストールされている場合は、以下のコードを使用する必要があります。

# Yoast SEO - XML Sitemap Rewrite Fix
RewriteEngine On
RewriteBase /mywebsite/
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

mywebsite/をあなたのサブディレクトリ名に置き換えることを忘れないでください。

このコードは、ユーザーがYoast SEOのXMLサイトマップにアクセスした際に、どのページを表示させるかをウェブサーバーに伝えるだけです。

XMLサイトマップを表示し、問題を解決するかどうかを確認することができます。

3.XML Sitemapsプラグインに切り替える

上記の方法でYoast SEOのXMLサイトマップページの404エラーが解決されなかった場合は、XMLサイトマップを生成するプラグインを区切りとして使用してみてください。そして、これに適したプラグインがXML Sitemapsプラグインです。

この方法の欠点は、XMLサイトマップを生成するプラグインと、その他のSEO機能をYoast SEOに区切らなければならないことだ。

まず、XML Sitemapsプラグインをインストールして有効化する必要があります。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

Yoast SEOを使用しているため、XML SitemapsプラグインまたはYoast SEOのサイトマップ機能を無効化する通知が自動的に届きます。

Yoast SEO XML Sitemap conflict warning

そして、「Toggle Yoast SEO’s XML Sitemap」ボタンをクリックして次に進みます。

すると、SEO ” Generalの下にある’Features’タブが表示されます。ここから、「XMLサイトマップ」オプションまでスクロールダウンし、設定をオフにする必要があります。

Disabling XML sitemaps in Yoast SEO

変更を保存」ボタンをクリックして、設定を保存することを忘れないでください。

これでSettings ” XML-Sitemapページに切り替えてサイトマップを設定することができます。ほとんどのサイトでは初期設定で問題ありません。

XML Sitemaps settings

しかし、あなたのニーズに応じていつでも設定を変更することができる。

これで、XMLサイトマップのURLをGoogleサーチコンソールやその他の検索エンジンに送信できるようになりました。

Sitemap URL

4.All In One SEO for WordPressに切り替える

上記の方法がすべてうまくいかず、XMLサイトマップを生成するプラグインを区切りたくない場合は、この方法でサイトマップ404エラーの問題を解決できるかもしれません。

この方法には、All In One SEO for WordPressが必要だ。これは市場で最高のWordPress SEOプラグインであり、Yoast SEOの代替となるものだ。

詳細な違いについては、YoastとAll In One SEOの比較をご覧ください。

All-in-One SEO (AIOSEO)は、高度なXMLサイトマップと管理しやすいオプションを備えており、XMLサイトマップに含めるもの、除外するものを完全にコントロールすることができます。

まず、All In One SEO for WordPressプラグインをインストールして有効化しましょう。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

注: All In One SEOfor WordPressには無料版もあり、動画とニュースを除くほとんどのXMLサイトマップ機能が含まれています。

プラグインを有効化すると、セットアップウィザードが表示されます。セットアップ中にヘルプが必要な場合は、WordPress用All In One SEOプラグインを正しくセットアップする方法についてのガイドに従ってください。

All in One SEO setup

All In One SEOでは、Yoast SEOからSEOデータをインポートすることもできます。

これにより、以前のSEOメタ情報とタイトルがすべて変更されないようになります。

Import Yoast SEO data

初期設定後、All In One SEO ” SitemapsページでXMLサイトマップの設定を行うことができます。

サイトマップを開く」ボタンをクリックして、WordPressのサイトマップ404エラーが修正されたかどうかを確認できます。

All in One SEO sitemaps settings

その後、必要に応じてサイトマップの設定を行う。

例えば、All In One SEOでは、サイトマップに含めるものを選択することができます。投稿タイプ、タクソノミー、個々の投稿、ページを追加または削除することができます。

All in One SEO sitemaps advanced settings

All In One SEOでは、動画、ニュース、RSSサイトマップHTMLサイトマップも作成できます。

より多くの設定を行いたい場合は、タブを探せばいい。

Additional sitemaps settings

これらのサイトマップは、Google Search Consoleやその他の検索エンジンにも送信することができます。これは、検索エンジンがあなたのサイトの新しいコンテンツを素早く見つけるのに役立ちます。

専門家のアドバイス WordPressのエラーを自分で直したくないですか?ご心配なく!イライラするエラーとはおさらばして、好きなことに集中しましょう。WordPressの緊急サポートを今すぐご予約ください!

この投稿がWordPressのYoast SEO Sitemap 404エラーの解決にお役に立てば幸いです。次に、WordPressトラブルシューティングの完全ガイド、またはWordPressの一般的なエラーの修正方法もご覧ください。

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

242件のコメント返信を残す

  1. CB

    Hi, just tried the second version editing the plug ins core files and the site has disapeared?? including the backend. just a white screen?? I replaced the code withy the original and nothing.

  2. Matt Crystal

    Thank you! That worked by supplying the code in the .htaccess file, then unchecking the site map option and saving. Then, re-checking the box and saving again. Thanks!

  3. Roderick van Straten

    Added this code to the .htaccess and unchecked and checked it, but I only get a blank page now for the sitemap ..

  4. mandingo345

    yes, without fix, just uncheck save recheck and saved.

  5. Jack

    After loosing quite some time trying to find what was wrong, I got it working by your suggestion “Uncheck the sitemap option in the Yoast’s SEO plugin and ‘save’ settings. After that re-checking the sitemap’s option fixes the error.”
    tnx very much!

  6. johnny

    Thank you so much! unchecking, saving, rechecking saving did the trick!

  7. sc456a

    After I added the code to htaccess and unchecked/rechecked Sitemap in the plugin, it worked! Thanks!

  8. alireza

    it work for me too, Thanks a lot!

  9. Leo

    Uncheck then save, then go back check again and save, solved my problem. It should be at the begining before anybody try anything else! it worked for me thanks though

  10. Elle Laurel Rose

    Woohoo! Thanks. Mine probably wasn’t broken long because Google didn’t seem to mind yet. … But my site is only in a softer launch stage anyway… Slow crawls maybe. Luckily, I’m improving my site before my real projects go up (hopefully soon).

    Anyway I cannot thank you enough. :)

  11. logitaki

    I opened the class-sitemaps.php file but can’t find the section you are referring to “functiion () init code.. can you be more specific?

  12. Basie

    Editing the .htaccess file, un-checking sitemap generation, saving settings, re-checking, saving settings … fixed it for me! Thank you VERY much.

  13. Tom Atkinson

    I found my issue was actually fixed purely by turning Yoasts sitemaps on and off from UI. Which is great! :)

  14. Fernando

    Were you able to fix this one? I’m having the same problem, I get a 404 on post-sitemap.xml. I didn’t check the PHP logs on what the error is but probably would be the same you’re getting.

    • Steve

      No fix, and theres no replies to support threads on wordpress, other people are just disabling it and using another sitemap plugin.

  15. hayderabbass

    Disabling the XML sitemap and re enabling them fix this issue for me. Thanks!

  16. Ben Billson

    I was having an issue with the sitemap 404’ing when trying to access it.

    I tried adding the first ifmodule, no joy, then remembered I had another ifmodule in place to handle redirects after updating my permalink structure.

    I removed the redirect ifmodule, restarted Worpress SEO, then the sitemaps started working. Re-added the redirect ifmodule, and everything now appears to be working just fine. I’ve also checked the status in GWT and Bing WT and it’s all looking good. Thanks for the help!

  17. Rob Cooper

    I put the first Ifmodule into htaccess and it spit out some weird single line of content, with no links.

    I read through the comments

    then I rebooted Yoast’s sitemap option:

    i unchecked the “Enable XML Sitemap Here” and saved

    I re-checked it and saved

    checked my sitemap and it was there, formatted properly with xsl stylesheet being applied and links all worked

  18. chiappa

    I have no idea where to put that code. There is no line like: “function init()” in class-sitemaps.php

  19. Katrina Isabelle

    Try going into your permalink settings and saving them again. If you can’t access the back end of your site because of the 500 error, then remove that htaccess file.

  20. Katrina Isabelle

    Hello! I think you should add one more step at the very beginning: Re-save your permalink settings! I found that re-saving my permalink settings solved the issue for me. No need to go into the htaccess file.

    • EB

      Exactly, solved my problem too.

    • Alfonso

      this fixed the issue for me, re-saving the WP permalinks

  21. Steve

    I get the following error only on post-sitemap, all other sitemaps work ok:
    Fatal error: Allowed memory size../plugins/wordpress-seo/inc/class-sitemaps.php on line 713
    I tried the htaccess and wpseo-functions edits but no luck.
    I deactivated every plugin, still no luck.
    I deleted wpseo and reinstalled but still same problem and now on the wpseo dashboard and sitemaps page I get this error:
    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘wpseo_xml_sitemaps_init’ not found or invalid function name in /home/justplay/public_html/wp/wp-includes/plugin.php on line 470

    I have two sites running the same theme, plugins etc and one works ok one has this errors, wierd.

  22. Jane Hockley

    Thank you – i found just by unchecking and saving and then re-checking the site map option for the yoast plugin google webmaster was able to find my site map

    • eliascan

      Worked for me too. Thanks

    • Jared Eitnier

      Worked for me as well, good call.

    • Jesse

      This worked for me too. Thanks!

    • Brent Norris

      yep got rid of the 3 errors displayed in webmaster tools. thanks

  23. Jake Ratliff

    When I tried the htaccess method, it crashed my site. I just added this code into the htaccess file (via the Yoast plugin):

    # WordPress SEO – XML Sitemap Rewrite Fix

    RewriteEngine On
    RewriteBase /
    RewriteRule ^sitemap_index.xml$ /index.php?sitemap=1 [L]
    RewriteRule ^([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?sitemap=$1&sitemap_n=$2 [L]

    # END WordPress SEO – XML Sitemap Rewrite Fix

    And then clicked the “save changes to .htaccess” button. I can’t go anywhere without the 500 error now. What did I do wrong? Anyone know how to fix this?

  24. Jake Ratliff

    I tried the htaccess fix and now I get a 500 Internal Server Error.

  25. Tiffany Marie McAnally

    So it still doesn’t work for me… I feel like beating my head against a wall. As much as I love the plugin, I think I’m just going to lose it in favor of something that’s actually functional.

  26. Jérôme Lafforgue

    Thanks, work fine in wpseo-functions.php file @ line 461

  27. ast

    for me worked fine!
    thank you

  28. NicolasJoly

    @Matt Klein, it’s in the wpseo-functions.php file @ line 461

  29. NicolasJoly

    @Matt Klein, the ‘init’ function is now ‘wpseo_xml_sitemaps_init’ in the wpseo-functions.php, @line 461

    Add just :
    global $wp_rewrite; before the $GLOBALS define
    and
    $wp_rewrite->flush_rules(); after the add_rewrite_rule…

    /**

    * Initialize sitemaps. Add sitemap & XSL rewrite rules and query vars

    */

    function wpseo_xml_sitemaps_init() {

    $options = get_option( ‘wpseo_xml’ );

    if ( $options[‘enablexmlsitemap’] !== true ) {

    return;

    }

    // redirects sitemap.xml to sitemap_index.xml

    add_action( ‘template_redirect’, ‘wpseo_xml_redirect_sitemap’, 0 );

    if ( ! is_object( $GLOBALS[‘wp’] ) ) {

    return;

    }

    global $wp_rewrite;

    $GLOBALS[‘wp’]->add_query_var( ‘sitemap’ );

    $GLOBALS[‘wp’]->add_query_var( ‘sitemap_n’ );

    $GLOBALS[‘wp’]->add_query_var( ‘xsl’ );

    add_rewrite_rule( ‘sitemap_index.xml$’, ‘index.php?sitemap=1’, ‘top’ );

    add_rewrite_rule( ‘([^/]+?)-sitemap([0-9]+)?.xml$’, ‘index.php?sitemap=$matches[1]&sitemap_n=$matches[2]’, ‘top’ );

    add_rewrite_rule( ‘([a-z]+)?-?sitemap.xsl$’, ‘index.php?xsl=$matches[1]’, ‘top’ );

    $wp_rewrite->flush_rules();

    }

  30. Matt Klein

    There is no function init area in my class-sitemaps.php file. Could it be called something else. What line is it on?

  31. Regina Falkowski

    Added the code to .htaccess file and it worked like a charm! Thanks for the fix :)

  32. Alec Byrne

    Adding the .htaccess worked for me – thanks very much :-)

  33. Desainwebs

    Still not work for me

  34. Ollie

    Htaccess fix worked for me.

    But as Scott in the first comment above says, I needed to uncheck the XML sitemap checkbox and save. Then recheck it and save again for the sitemap to show up. I think that would be worth mentioning in the article.

  35. Steve Patterson

    Thanks this worked for me editing the .htaccess file. I unchecked sitemaps off then back on and also changed mine from 1,000 to 400. If you are on a shared server, I would use a lower number so that less CPU usage is done on your domain.

  36. scott

    Hi guys,

    I had to troubleshoot this issue too. My site is hosted in a sub directory of a main site. So I had to set the following line:

    RewriteBase /scottmortiz/

    I then had to uncheck the mina Site Map XML option in the plugin, and save. Then re-check the plugin and save. Hope this works for some of you.

    -Scott

  37. Chris

    Hi Steven,
    thank alot. This helped me, too. But to get the rewrite working I had to disable the xml function, save it, and enable (and save it) again. Seems obvious, but maybe this is worth a note in the article. I will safe this article in my personal wordpress help register.
    Thanks,
    Chris

    • Dan

      Thank you Chris! This fixed my 404 problem with Yoast’s XML Sitemap feature.

    • Jason Judge

      Ah, switch it off, then switch it back on again. Thanks:-) It is not as obvious as you think. My sitemaps also did not work (getting a 404) until I did this. I did not have to make any of the other changes described in this post.

  38. Shanthi Ganesan

    @PEKKO Hi Tried your techniques it really works well,thanks a lot for sharing….

  39. Lukas

    Nothing is working in my case – still Error 404 …

  40. Ryan

    Beauty, fixed it for me too.. thanks for putting this up

  41. lloyd

    this just broke my websites … now getting an internal server error…

  42. Rosie

    The edit to .htaccess files was just the trick. Thanks for posting this! You saved me a whole lot of time and trouble.

  43. Pekko

    I was just facing the same issue. i unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again, after that It found the sitemap again, Hope it will be there!

    • Anisa

      I use this technique, and it worked

    • John

      This worked for me, as well. Thx!

    • Cara Sherlock

      Unchecking, saving and then rechecking worked for me too. Thx!

    • Badprimer

      [..unticked the box (Check this box to enable XML sitemap functionality) — pressed save, and then ticked the box again..]

      Worked for me. Thx!! :D

    • Kerry

      Thank you! Worked for me too! So simple. The author of this article should add this too.

    • bruce

      This also worked for me. turn off sitemaps. save. turn them back on. save. fixed

    • David

      Same for me, unchecked, saved, checked, saved, voila!

  44. Steven

    I’ll just share what worked for me, by changing the ‘max entries per site map’ to 250 (ie. something less than 1000) I managed to fix the 404 error. I think the server was having issues processing 1000 entries which is the default.

    • Maggie

      Hi Steven, this is great solution! I just fixed the problem by your method. Thank you very much!

    • PromInc

      Thanks Steven – this resolved my issue as well. The ‘max entries…’ field was blank for me; simply adding any value seemed to work, which is good as I felt 250 was a bit low. Very simple but effective solution.

    • Nick Root

      That worked thanks for the tip!

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。