現在の環境を追記します。
【環境】
サーバー さくらインターネット
WordPressバージョン 5.7.1
PHP バージョン 7.4.15
親テーマ Cocoon(子テーマを使用しています)
使用中のプラグイン
・Contact Form 7
・Elementor
・Essential Addons for Elementor
・Wordfence Security
・XML Sitemaps
停止中のプラグイン
・Better Search Replace
・ImageMagick Engine
・Regenerate Thumbnails
・Search Regex
・WP Multibyte Patch
エラーの特定が解決の近道ですので、まずはエラーログの収集をしてみると良いと思います
- WordPressのデバッグ機能をONにしてdebug.logを記録する
- PHPのエラーログを確認する
- ブラウザの開発者機能を使い、Console画面で操作時にエラーが出ていないか確認する
後は定番のチェック項目ですが
- htaccessやfunctions.phpに画像表示やアクセス制限に関わる記述が無いか確認する
- サーバのWAFなどセキュリティ機能を設定している場合は無効にしてみる
- WordPress本体ファイルをアップロードし直してみる
などなど。
moyo55様
ありがとうございます。
1)デバッグ機能をONにして確認したところ、ブログ一覧表示で下記のようなエラーが表示されました。
Deprecated: wp_make_content_images_responsive の使用はバージョン 5.5.0 から非推奨になっています ! 代わりに wp_filter_content_tags() を使ってください。 in /home/テーマ名/www/サイトURL/wp-includes/functions.php on line 4861
こちらについて調べてみたのですがこれといった方法が見つけられませんでした。
2)PHPのエラーログでは、下記がいつくか表示されていました。
[cgi:error] [pid 47976] [client (※IPアドレス)] End of script output before headers: index.php, referer: https:/サイトURL/wp-admin/post.php?post=(番号)&action=edit
こちらも調べてみたのですがこれといった方法が見つけられませんでした。
3)Console画面で操作時にエラーは出ていないようでした。
4)htaccessやfunctions.phpを確認したのですが、画像表示やアクセス制限に関わる記述がどれかなのか私にはちょっと分かりませんでした・・・。(汗)
5)サーバの「WAF」と「国外IPアドレスからのアクセス制限」もOFFにして試してみましたが、症状は変わりませんでした。
6)ダッシュボードの「更新」画面で、WordPressを再インストールはしてみたのですが、
FTPでもう一度アップロードしてみてうまくできるかチャレンジしてみます。
PHPのエラーログでindex.phpと記事投稿機能(wp-admin/post.php)に関わるエラーが記録されているようですので、これが原因であるように思います。
index.php関連のエラーで多いのは、
- ブログ移行時にWordPress直下のindex.phpを書き換えた(文字コードをUTF-8N BOMなしで保存しなかった等のミスがあった)
- アップロード時の転送設定(バイナリ/テキスト)が誤っていた
- index.phpなどphpファイルのパーミッション設定が間違っている(さくらの場合は705や755のようです)
などです。
ホスティングサービスごとにパーミッションやhtaccess等の設定等が違ってきますので、
場合によってはさくらのクイックインストール機能を使ってWordPressを新規インストールしてデータベースやメディアディレクトリ、テーマ・プラグインをインポートし直した方が解決が早いかもしれません。
(もし新規インストールする場合はテーマやプラグインなどを一個ずつ有効化して不具合が発生するかどうかチェックしてください)
—————–
wp_make_content_images_responsiveのエラーは恐らくプラグインやテーマ(子テーマのfunctions.phpに記述したコードなど)に起因するものです。
imgタグにsrcset属性やsizes属性を追加する古い記述が使われているよというエラーです。
aegis2006さんの書き込みは承認待ち状態になっていると思うのですが、
複数のリンクがあるとか記載したコードの内容とか承認待ち処理となる条件があるようです。
(私も何度も食らってます。そして承認待ちはなかなか解除されないです。)
で、恐らく解決してないということのようなので、
他に不具合の原因でありそうなのはやはりhtaccessや子テーマのfunctions.phpの記述あたりではないかと。
uploads(画像)フォルダにhtaccessファイルを置いていないか、RewriteEngine On 等の記述が無いか確認したり、
WordPressのパーマリンク設定を保存し直してみるとか。
画像関連の不具合ではuploadsフォルダや月別フォルダのパーミッションが700とかになっていたり画像のパーミッションが600になっていたりして読み込めないこともあります。
ルート直下のhtaccessファイルの場合は、さくらインターネットの必須の記述とWordPressのパーマリンク設定以外を消して確認してみてください。
SSLに関わる記述(#SAKURA SSLのような記述で囲まれているもの)や # BEGIN WordPress ~ # END WordPressで囲まれている箇所、
DirectoryIndex index.php index.html
Options -Indexes
AuthUserFile /home/アカウント名/www/.htpasswd
AuthType Basic
AuthName "Web access"
などの記述が消してはいけない物になります。
既にデフォルトテーマへの変更を試されているのでfunctions.phpの可能性は低いですが、念のために一個ずつ記述を削除して確認という作業も必要かもしれません。
moyo55様
ありがとうございます。
今回、さくらインターネットには、クイックインストール機能を使ってインストールしていました。
(それ以外の方法は、まだ知識不足で経験がありません・・・)
今更ですが、エックスサーバからデータベースとテーマ・プラグインをさくらにインポートした後、
「all in one seo pack」プラグインを有効化した際、エラーが出て管理画面も表示されなくなってしまったので、FTPで「all in one seo pack」フォルダを削除して、何とか表示されていました。
今までの流れは、さくらにあった旧サイトを、エックスサーバに移してデザインをリニューアルし、今回またさくらに移し直した、といった感じです。
エックスサーバからさくらに入れ直した際、今までのものが蓄積されたデータベースが250MBあった為か、一回のインポートではうまく行かず、テーブルごとに分けてインポートしたりと手間がかかっていました。
試しに再度all in one seo packをインストールして有効化したところ、下記のようなエラーが出てしまい、再度FTPでプラグインのフォルダを削除しました。
【エラー内容抜粋】
※これが原因かと思い削除します。
—
【モデレーターより】スパム誤判定になっていましたので、解除しました
moyo55様
ありがとうございます。
何度返信しても承認待ちになってしまうので結果だけご報告します。
最終的には、以前の内容を入れない新規のサイトを再度作成し、それをさくらインターネットにアップロードすることで、無事エラーも出ない状態になりました。
今回、私が未熟な為、moyo55様にご教示頂いたことを100%活かしきれず申し訳ないです。
ですが、今後の参考とさせて頂きます。
長文失礼いたしました。
ありがとうございました。