ローカルのWordPressで生成した静的サイトにRSSフィードを設置

サーバーの制約によりWordpressが使えない,あるいは,表示スピードを高めるため,静的サイトで運用したいといった場合,ローカルでWordpress環境を立ち上げ,「Simple Static」などのプラグインで静的HTMLに変換後,FTPでアップロード,という運用方法があります。多くはないでしょうが,そういう人もいるようです。

今更ながら,そのようなサイトに簡易的なRSSフィードを設置しました。以下,その流れ。

wordpressが動いているlocahostのトップページアドレスが

http://localhost/my_wp/

アップ先のトップページアドレスが

http://honban.net/

である場合,ローカル環境でのRSSフィードのURLは

http://localhost/my_wp/feed/

となります。そこで,トップページにRSSアイコンを設置し,このURLにリンクを貼ってみました。

この状態で,Simply Static で静的サイトを生成すると,feedフォルダ内にindex.xmlが生成されます。このxmlファイルにRSSの情報が保存されているため,RSSリーダーでこのindex.xmlまでのフルアドレスを指定すると,RSSフィードを取得することができます。しかし,設置したRSSアイコンのリンク先は

http://honban.net/my_wp/feed/

なので,このアイコンをクリックすると

http://honban.net/my_wp/feed/index.html

を探しにいき,File not found という結果に……。これでは体裁が悪い。

ローカル環境でRSSアイコンのリンク先を

http://localhost/my_wp/feed/inde.xml

とすると,今度は Simply Static が index.xml を生成してくれません。

そこでさらに,トップページの最後(例えばfooter直前など)に隠しリンク

<a href="http://localhost/my_wp/feed/" style="display:none;">RSSフィード</a>

を追加。ちょっと反則技ですが,これでアイコンからのリンクもうまくいき,feedフォルダ内にindex.xmlも作成されました。ただ,最後の隠しリンクは,当然リンク切れになるので,SEO的にはまずいかもしれません…。また,スマホ等でRSSアイコンをタップしてもRSSリーダーアプリが起動してくれない(PCでクリックするとブラウザのRSSリーダーが立ち上がるのだが)。あくまで緊急避難的な方法です。