終わりにStaticPressでsitemapが転送されないあれ、sitemapが無い・・・?先日、WordPressサイトにおけるsitemapファイルの自動生成プラグインの導入方法について紹介しました。便利ツール基本的にはこのプラグインを利用していれば問題は無いのですが、StaticPress等を利用してS3バケットでサイト運用をする際は、そのままだとsitemapファイルやrobots.txtファイルが転送されません。便利ツールsitemapがないと、検索エンジンが正しくサイトコンテンツを解析してくれないので、PVが伸びにくくなってしまいます。試しに、sitemap.xmlが生成されている状態で、管理画面から再構築ボタンをクリックし、出力ディレクトリを確認したところ、確かにsitemap関連のxmlとrobots.txtが対象ディレクトリに出力されていませんでした。確かに出力されていませんね。このままだと、StaticPressS3を使ってS3バケットに転送されないので、SEO対策が足りていない状態となります。GoogleSearchConsoleへの登録も出来ません。原因は既存バグ?原因を特定するために、pluginのソースを読んで見たところ、class-static_press.phpに原因がありました。658行目辺りをみると、sitemap.xmlやrobots.txtをクローリングするための関数は定義されています。ここではSEO関連ファイルをseo_filesというグループで定義しています。'seo_files'){・・・}では、次に実際にファイル出力をしているところを確認してみました。373行目辺りを見ていると、クローリング対象のファイルを出力している部分があるのですが、ここで先ほどの関数で定義したseo_filesが出力対象として指定されていませんでした。手順スポンサーリンク336×280一行追加するだけでは、原因は特定出来たので、問題を解決するために以下の一行をcase句に追加してみましょう。修正が終わったら、もう一度再構築ボタンをクリックしてみましょう。正常に出力されるようになりましたね♪もちろんS3バケットにも転送がされています。終わりに以上のように、プラグインのソースコードを修正しないと直らない問題でした。原因さえ分かれば1行の修正で直るので、もし同じようにハマって困っている方がいましたらこの記事を参考にしてみてください。