ワードプレスのサイトヘルスに「Authorizationヘッダーがありません」と表示されていました。
タブを展開すると
Authorization ヘッダーは、このサイトに対して承認されたサードパーティアプリケーションによって使用されます。このヘッダーが無い場合、アプリケーションはサイトに接続できません。
以下の操作を試してもこの警告が引き続き表示される場合は、ホスティングサービスに連絡のうえサポートを受けてください。
ワードプレスのダッシュボード→ツール→サイトヘルス→Authorization ヘッダーがありません より
このようなメッセージが表示されます。
メッセージの最後の「パーマリンクをフラッシュする」のリンクをクリックすると、ワードプレスのパーマリンク設定の画面へ行きます。
一度、パーマリンクの保存をしてみましたが、表示は消えませんでした。
「Authorizationヘッダーがありません」と表示されたサイトのサーバーやPHPの環境
まず、「Authorizationヘッダーがありません」と表示されていたワードプレスの環境ですが
- ワードプレス6.6.2
- PHPのバージョン 7.4.3 のCGI版
- Mysqlバージョン5.7.36 ※これも古いデータベースサーバーと指摘されていました
- 使用サーバー:ヘテムル
- 使用テーマ:cocoon
上記に挙げた環境が今回の「Authorizationヘッダーがありません」とは無関係かもしれませんが、一応上げておきました。
同じ症状の方の原因をまとめますと
- PHPがCGI版である
- .htaccess 内に「RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]」という記載がない
と大体ふたつ。
当方の「.htaccess」には
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}
は入っていたので、おそらくPHPがCGI版なのだと思います。
というのも、以前当ブログでご紹介したことのある「ヘテムルサーバーで最大のファイルアップロード上限を上げる方法」で、PHPのバージョンをモジュール版からCGI版へ一度変更していたのでした。
調べる限り、ロリポップサーバーでPHPがCGI版である、方に多く表示があるようですが、ヘテムルもしかり、です。
身に覚えがあるので、「PHPをCGI版からモジュール版へ変更する」ことから進めます。
なお、エックスサーバーで表示が出ている方は「.htaccessの記述方法」(上記の②)に該当する方が多いのではないかと思いますので、「.htaccess」の記載を確認してみてください。※後述します。
PHPをCGI版からモジュール版へ変更する ヘテムル
- ステップ1サーバーのコントロールパネルへログインする
- ステップ2サイドバーの「PHP」のメニューをクリックする
- ステップ3該当するサイトのドメインのバージョンを「モジュール版」を選択する
設定変更後、反映に5~10分ほど時間がかかります。
- ステップ4少し時間をおいて再度「サイトヘルス」をチェックする
少し時間をおいて再度サイトヘルスステータスをご確認ください。
中には、PHPのバージョンをあえてCGI版にしていた理由のある方もいると思います。
CGI版にしている理由が明確にある場合は、無理にモジュール版に変更する必要はないかな、と思います。一般的にはモジュール版の方がレスポンスが早いといわれていますが、それぞれの理由を加味したうえで切り替えましょう。
もしくは、CGI版とモジュール版を必要なときに切り替えて使い分ける、などが可能の場合は、面倒でもそれぞれの良さの恩恵を受けつつ、サイトを運営するのもいいでしょう。
私の場合は、これで「Authorizationヘッダーがありません」の表示は見事に消えました。
.htaccessのヘッダーを変更する方法
.htaccessに
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}
がない場合にも、「Authorizationヘッダーがありません」と表示される場合があります。
FTPソフトなどで、直接「.htaccess」データを直接編集できる人は上記コードが入っているか確認ください。
もし、不慣れな方は、以下を試してみてください。
「.htaccess」データはワードプレスを動かす上で大切なデータですので、改変は慎重に行いましょう。
All in one seoの機能を使って編集する
SEO対策で有名な「All in one seo」には、「.htaccess」の編集機能があります。(※一部表示されないサーバーもあるようです)
プラグインのインストール方法、有効化の方法はここでは割愛しますが、All in one seoをインストールすると、サイドバーにメニューが出ます。
All in one seo→ツールへ進みます。
すると、「.htaccessエディター」タブがあるので切り替えます。
現在の「.htaccess」の内容が表示されるので
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}
の表記があるか確認ください。
ない場合は、追記の上、「変更を保存」ボタンを押し、保存をしてください。
※この場合は「.htaccess」はサイトデータが同ディレクトリに入っている場合のものです。
ワードプレスのアドレスとサイトアドレスが異なる、別ディレクトリにインストールされている場合は、別に「.htaccess」データがある場合があるので、そちらもチェックしてください。
エックスサーバーの場合、サーバーパネルで「.htaccess」を編集する
「Authorizationヘッダーがありません」とサイトヘルスに表示されて、「.htaccess」の編集が必要の方がエックスサーバーを使っている場合が多いようなので、エックスサーバーの方向けに解説をします。
エックスサーバーには、サーバーパネル内に「.htaccess編集」というのがあります。
このリンクをたどることで、管理パネル内で直接「.htaccess」を編集することが可能です。
ただし、これはトップドメインのみです。サブドメインを使っていたり、ディレクトリ型のワードプレスの場合は、エックスサーバーの「ファイルマネージャー」からFTP画面へ進み、各ディレクトリに入っている「.htaccess」を編集するのが良いでしょう。
これで「Authorizationヘッダーがありません」の表示は消えましたか?
現段階で考えられる原因として、ふたつの解決策を出しましたが、これで大体「Authorizationヘッダーがありません」の表示は消えると思います。
ただ、サイトヘルスステータスに記載されている通り、「改善策」であって、それほどリスクが伴うものでもなければ、緊急性を伴うものではない、というのが正直な判断です。
時間があるときにやればいい、くらいに思っていても良いかもしれません。
コメント