素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【StaticPress】sitemap関連のファイルが出力されない場合の対処方法

投稿日:

スポンサーリンク

336×280




StaticPressでsitemapが転送されない

あれ、sitemapが無い・・・?

先日、WordPressサイトにおけるsitemapファイルの自動生成プラグインの導入方法について紹介しました。

基本的にはこのプラグインを利用していれば問題は無いのですが、StaticPress等を利用してS3バケットでサイト運用をする際は、そのままだとsitemapファイルやrobots.txtファイルが転送されません。

sitemapがないと、検索エンジン正しくサイトコンテンツを解析してくれないので、PVが伸びにくくなってしまいます。
アドセンスアフェリエイトをやっている方だとPVの伸び悩みは深刻な問題ですよねorz

現状の確認

試しに、sitemap.xmlが生成されている状態で、管理画面から再構築ボタンをクリックし、出力ディレクトリを確認したところ、確かにsitemap関連のxmlとrobots.txtが対象ディレクトリに出力されていませんでした。

確かに出力されていませんね。

このままだと、StaticPressS3を使ってS3バケットに転送されないので、SEO対策が足りていない状態となります。
また、GoogleSearchConsoleへの登録も出来ません。

原因は既存バグ?

原因を特定するために、pluginのソースを読んで見たところ、class-static_press.phpに原因がありました。

まずは、658行目辺りをみると、sitemap.xmlやrobots.txtをクローリングするための関数は定義されています。
ここではSEO関連ファイルをseo_filesというグループで定義しています。

では、次に実際にファイル出力をしているところを確認してみました。
373行目辺りを見ていると、クローリング対象のファイルを出力している部分があるのですが、ここで先ほどの関数で定義したseo_files出力対象として指定されていませんでした。

手順

スポンサーリンク

336×280




一行追加するだけ

では、原因は特定出来たので、問題を解決するために以下の一行をcase句に追加してみましょう。

確認

修正が終わったら、もう一度再構築ボタンをクリックしてみましょう。

正常に出力されるようになりましたね♪
もちろんS3バケットにも転送がされています。

終わりに

以上のように、プラグインのソースコードを修正しないと直らない問題でした。

原因さえ分かれば1行の修正で直るので、もし同じようにハマって困っている方がいましたらこの記事を参考にしてみてください。

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , , , ,

blogenist

Author: blogenist