サポート » マルチサイト » Nginxでマルチサイト化したサイトのsitemap.xmlがエラーになる件

  • 解決済 Sekido

    (@sekido)


    お世話になります。初めて投稿させて頂きます。
    先日、マルチサイトにて運用しているサイトが重くなってきたため、AWSに引っ越しを行いました。
    引っ越し先のAWSでは「網元」を使い、インスタンスを構築し、マルチサイト化いたしました。
    マルチサイト化の設定やデータの移行は全てうまく行ったのですが、
    sitemap.xmlが表示されず、404エラーになってしまいます。
    サイトマップの作成には「Google XML Sitemaps」を使っております。
    自分なりに調べてみたところ、この網元で使っているウェブサーバー「Nginx」の設定によるようなのですが、「Nginx」の知識は全くなく、困っております。
    環境は以下の通りです。

    • WordPress 3.6
    • nginx 1.2.8
    • Google XML Sitemaps 4.0beta11

    エラーページはNginxの404ページが表示されている状態です。
    また、同様の環境でもマルチサイト化していない別のサイトでは問題ありません。
    引っ越し前は、Wordpress3.5 + Apache + Google XML Sitemaps では問題なく動作しておりました。

    どなたか解決方法が分かりましたらご教授お願いします。
    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック投稿者 Sekido

    (@sekido)

    ちなみに、「網元」の配布元にも問い合わせましたが、個別のプラグインによるトラブルには対応しておらず、プラグインの作成者に問い合わせするように言われてしまいました。
    英語ができませんので、「 Google XML Sitemaps 」の作成者の方にも問い合わせできません。
    何卒よろしくお願いします。

    モデレーター gatespace

    (@gatespace)

    Google XML Sitemaps は現行バージョンではマルチサイトに対応していません。

    (英文ですが)公式ディレクトリにもあるように、マルチサイトで使いたい場合はベータ版をダウンロードして使うようになります。
    マルチサイト化したときもプラグインからそのような警告が出るはずです(というか出ました)

    This release is not compatible with the new multisite feature of WordPress 3.0 yet. The plugin will remain inactive as long as this feature is enabled. If you are using this feature, try out the new Beta version which fully supports multisite mode as well as network activation!

    英語ができませんとのことですが、Google翻訳などを使ってがんばりましょう

    なお、現行バージョンのGoogle XML Sitemapsでは sitemap.xml の実ファイルを作成しますが、マルチサイト対応のベータ版では仮想ファイルとなります。
    もし、sitemap.xmlがサーバー上にあるならば削除しておいてください。

    ちなみに同じ環境(網元 + マルチサイト)でサイトを運用していますが、Google XML Sitemapsのベータ版は動作していますよ。
    その際、Nginxで特別な設定は行いませんでした。

    http://gatespace.jp/sitemap.xml

    トピック投稿者 Sekido

    (@sekido)

    gatespace様
    上記にも記載させて頂いておりますように、私もご指摘のベータ版を使っております。
    Google XML Sitemaps 4.0beta11
    問題なく動作しているとのことですが、何か設定されているのでしょうか?

    モデレーター gatespace

    (@gatespace)

    元々マルチサイトじゃなかったので、そのとき作ったsitemap.xml を削除しただけです。
    あとはNginxのキャッシュを削除しているぐらいですかね。

    「Nginx Cache Controller」は有効化してますよね?

    トピック投稿者 Sekido

    (@sekido)

    gatespace様

    「Nginx Cache Controller」は有効化してますよね?

    はい。有効にしたり、停止したり、キャッシュをクリアしてみたり、いろいろな組み合わせを試してみております。
    sitemap.xmlはもともとマルチサイトでしたので、リアルなファイルはありませんでした。
    念のため確認しましたが、やはりないようです。

    いろいろ調べてやってみますので、何か新しい情報などありましたらご教授ください。

    モデレーター gatespace

    (@gatespace)

    違いと言ったら、私ははじめから網元でマルチサイトにしている=他のサーバーからデータベースを含めて引越をしていない、と言うぐらいですかね。

    念のため。

    参加サイトのダッシュボードの設定>XML-Sitemapで設定画面に入ると、タイトルの下に「Result of the last ping, started on 2013年xx月xx日 xx:xx.」というタブ(ウィジェット)があると思います。
    その中が

    The URL to your sitemap index file is: http://example.com/sitemap.xml.
    Google was successfully notified about changes.
    Bing was successfully notified about changes.
    If you encounter any problems with your sitemap you can use the debug function to get more information.

    と言う表示になっていますか?

    また、この文章の中の「debug function」のリンクをクリックすると、デバッグのページに遷移します。
    このページの一番下に「Rebuild or Return」というリンクがあります。
    この「Rebuild」をクリックした後に変化はありますか?

    トピック投稿者 Sekido

    (@sekido)

    gatespace様

    お忙しいところ、何度もありがとうございます。
    ご指摘の部分も頂いた表示のように、問題ないメッセージになっております。

    1つ進捗がありましたので、ご報告いたします。
    再度、gatespace様のサイトなどを参考に手順を再確認したところ、肝心なこちらの手順を怠っておりました。
    http://ja.megumi-cloud.com/2012/12/17/amimoto-multiple-blogs/
    確認不足で申し訳ありません。
    表向きは正常に表示されていたので、つい確認せずに進めてしまっていたようです。

    こちらを行い、Ngixを再起動したところ、404エラーはでなくなったのですが、別の問題が発生してしまいました。
    「http://***/sitemap.xml」を表示しようとすると、
    「http://***/sitemap.xml/」というURLにリダイレクトされてしまい、
    表示されるページの内容はトップページになってしまいます。
    再度キャッシュを削除したり、再起動してみたりしましたが、症状は変わりません。
    他に適当な「http://***/***.xml/」というURLをたたいてみると404になるのですが、
    「http://***/sitemap.xml」だけがこのようになってしまいます。

    このページの一番下に「Rebuild or Return」というリンクがあります。
    この「Rebuild」をクリックした後に変化はありますか?

    こちらも試してみましたが、症状は変わりません。

    面倒な質問になってしまいましたが、何かヒントがありましたらよろしくお願いします。

    トピック投稿者 Sekido

    (@sekido)

    再度進捗のご報告です。

    先ほどの「http://***/sitemap.xml/」というURLにリダイレクトされてしまう件、
    Google XML Sitemapsの「Debug Function」をじっくり確認してみたところ、
    だいたいの原因が分かりました。

    先ほど目ではご報告していなかったのですが、
    404エラーが発生していた際、いろいろと試してみていたのですが、
    その際、別のsitemap生成プラグイン「Better WordPress Google XML Sitemaps」も試してみておりました。
    結局こちらでも解決せず、すぐにアンインストールしたのですが、
    このプラグインの設定がどこかに残ってしまっているようで、それが原因のようです。
    まだ解決には至っていませんが、あとはその部分を探すだけなので何とかなりそうです。

    結論としましては、今回sitemap.xmlが404エラーになってしまっていたのは、
    Nginxの「backend.conf」にてマルチサイト化する設定を行っていた事が直接の原因 のようです。
    それでいろいろやっているうちに問題を複雑にしてしまっていたという事でした。

    一応目途がつきましたので、これにて解決済みとさせていただきます。

    gatespace様
    お忙しいところ、いろいろアドバイス頂き、本当にありがとうございました!

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「Nginxでマルチサイト化したサイトのsitemap.xmlがエラーになる件」には新たに返信することはできません。