2026年5月21日
2026年5月21日
WordPressのRSSフィードにエラーが出る場合
はじめに
この記事では、WordPressサイト上でRSSフィードが正しく機能しない場合のトラブルシューティング方法と対策について解説します。RSSフィードはブログを読むための重要な要素であり、問題が発生した際には迅速に対処することが重要です。
症状・背景
このテーマが必要になる主な場面:
- RSSフィードにアクセスしようとした際に404エラーが出る
- RSSフィードのURLをブラウザで開くと「RSS feed is not valid XML」などのエラーメッセージが表示される
- サイトのRSSフィードをRSSリーダーなどに登録しようとしても正しく動作しない
- WordPressダッシュボード上でRSSフィード関連のオプション設定を行った後、問題が発生する
手順・設定方法
ステップ1: ファイルパーミッションを確認/変更
# WordPressサイトのルートディレクトリへ移動します。
cd /path/to/wordpress
# .htaccessファイルとwp-config.phpファイルの権限を確認し、必要に応じて修正します。
ls -l .htaccess wp-config.php
# もしこの2つのファイルが適切な権限を持っていない場合、以下のように変更します:
chmod 644 .htaccess wp-config.php
ステップ2: RSSフィード関連のプラグインを確認/再インストール
# WordPressプラグインページへ移動します。
wp plugin list --status=active | grep rss
# RSS関連のプラグインが有効化されていない場合、適切なRSSフィード生成機能を持つプラグインをインストールします。
wp plugin install wp-rss-feeds --activate
ステップ3: フィルターハックの存在チェック
# WordPressサイトのwp-contentディレクトリ内にある可能性のあるフィルターハックファイルを探し出します:
find /path/to/wordpress/wp-content -name "*.php" -exec grep -l 'filter_var_array' {} \;
# 疑わしいPHPスクリプトが見つかった場合、それを削除または修正します。
rm wp-content/themes/twentytwentyone/functions.php
ステップ4: .htaccessファイルの内容を確認/修正
# WordPressサイトのルートディレクトリ内の.htaccessファイルを開きます:
nano /path/to/wordpress/.htaccess
# その中に適切なRSSフィードのエントリが存在するか確認します。以下のような行が含まれていることを確認します:
RewriteRule ^feed/?$ /index.php?feed=rss2 [QSA,L]
# 設定が不足している場合、それを追加します。
echo 'RewriteRule ^feed/?$ /index.php?feed=rss2 [QSA,L]' >> .htaccess
注意事項
- ファイルの権限を変更する際は、サイト全体に影響が出ないように注意してください。
- RSSフィード関連のプラグインの再インストールには十分なバックアップを取ってから行うことをお勧めします。
- フィルターハックを探す際は、サイトが正規機能でない可能性があるスクリプトを探し出すことが目的です。不審なファイルを見つけた場合は、その動作を理解した上で削除または修正してください。
- .htaccessファイルの変更は慎重に行い、バックアップを取ることが重要です。
まとめ
1. ファイルパーミッション: RSSフィードが表示できない場合、まずファイルの権限を確認します。必要に応じて適切な権限に設定してください。
2. プラグインの状態: RSSフィードの生成に関連するプラグインが正しく動作しているか確認し、不足している場合は再インストールを行います。
3. フィルターハックのチェック: .htaccessファイル内にある可能性のあるハックを検出し修正します。これがエラーの一因となっている場合があります。
4. .htaccess設定: RSSフィードが正しく機能しない場合、.htaccessファイル内の適切なリライトルールがあることを確認します。
関連記事: