Simply Staticを使ってWordPressを静的化して運用しているこちらのブログのRSSフィードにアクセスした時に表示されず、「あれ?RSSフィードが生成されていないかも?」と。
でも調べてみたら、Simply Staticで生成したサイトでは、RSSフィードのURLが feed/index.xml
になることが分かりました。
じゃ、どうやったらいい?
ということで、リダイレクトすればいいのだけど、今回のケースでは、Cloudflare Pagesを利用したサーバレスで運用しているサイトなので、.htaccessファイルは使えないわけで。
で、Cloudflare Pagesでのリダイレクトの設定方法を探して解決しました。
今日はそんな流れを紹介します。
Simply Staticって、WordPressサイトを静的なファイルに変換してくれるプラグインなんですが、RSSフィードのパスが少し特殊で、https://example.com/feed/index.xml
という形で生成されるんですね。
多くの方は /feed
とURLバーに入力すると思うので、「あれ?RSS無いよ」と感じるかもですし、もし、URLを知っていても、毎回 この長いURLを打つのは大変ですよね。
そこで、リダイレクト設定が必要になります。
今回のサイトはCloudflare Pagesで構築しているので、Netlify互換の _redirects
ファイルを使うとリダイレクトを設定できるそうで、、、
具体的な手順はこんな感じです:
まず、_redirects
というテキストファイルを作ります。
ここで注意というか、僕がハマったのが、MacのCotEditorなどを使って、最初に「.txt」拡張子付きで保存して、後からFinderで拡張子を消しても、裏側では「.txt」が残っていることがあるんです。これだとCloudflare Pagesが認識できず、ファイル名が本当に _redirects(拡張子なし)になっているか、「情報」を表示して確認が必要です。
そして、_redirects
ファイルに以下のようなルールを書きます:
/feed /feed/index.xml 301
/feed/ /feed/index.xml 301
この設定で、https://example.com/feed
にアクセスすると、自動的に https://example.com/feed/index.xml
にリダイレクトされるようになります。(あと、一部 RSSリーダーは feed/ を探す様子なので、2行目にそれを書いてあります)
振り返ってみると、最初は「RSSフィードが生成されていない?」と不安になりましたが、正しいURLを確認できたことで解決の糸口が見えてリダイレクト設定で解決できました。