WordPressサイトを長く運営していれば、いつかはエラーに遭遇するもの。更新を行ったり、コードスニペットを使用したりした後、エラーがポップアップで表示されるというのはよくあるパターンです。
また、サードパーティAPIやフォーム変数を使用したり、HTMLを編集したりした際にエラーが起こることもあります。いずれにせよ、突然エラーが発生すれば、頭を抱えるのも当然です。
エラーに遭遇しても、慌てる必要はありません。解決モードに切り替えて、早速トラブルシューティングに取り掛かりましょう。今回の記事では、WordPressエラー「辿ったリンクは期限が切れています(The Link You Followed Has Expired)」の概要、原因、そして解決方法をご紹介します。
「辿ったリンクは期限が切れています」エラーの解決方法について動画での解説もご用意しています。
「辿ったリンクは期限が切れています」エラーの原因
「辿ったリンクは期限が切れています」は、一般的なWordPressエラーの1つで、WordPressにプラグイン、テーマ、メディアファイルをインストールまたはアップロードする過程で不具合があると発生します。メッセージは以下のとおりです。
通常、アップロードしたファイルが、サーバーで設定されているアップロードサイズの上限を超えるとこのエラーが発生します。このような問題を回避するために、サーバーでは余裕を持って上限を設定しているものですが、通常よりも大きなファイルをアップロードする際に、この制限を超えてしまうことがあります。
アップロードサイズの上限は、WordPressの管理画面で確認可能です。「メディア」>「新規追加」で、メディアファイルをアップロードするエリアの下に「最大アップロードサイズ」が表示されます。
上のスクリーンショットの例では、アップロード可能な最大ファイルサイズは、512MBに設定されており、これはかなり大きな数値です。訪問者数が多いサイトを運営していて、画像や動画のアップロードを最適化してサイトのパフォーマンスを向上させるには、この上限を下げることをお勧めします。
また、テーマやプラグイン以外のファイルをアップロードする際には、「Maximum Execution Time Exceeded(最大実行時間を超えました)」というエラーメッセージが表示されます。メッセージの内容は異なりますが、原因は同じです。
他の場所や異なる状況で、この「辿ったリンクは期限が切れています」エラーが表示された場合は、プラグインの干渉によって引き起こされている確率が高いです。
WordPressでこの問題を処理することができず、デフォルトのエラーメッセージにフォールバックしているせいで、このエラーが表示されているのかもしれません。
「辿ったリンクは期限が切れています」エラーの解決方法
サイズの大きいテーマをアップロードしたい場合でも、サーバーで設定されている最大ファイルサイズの値が小さすぎる場合でも、他の一般的なエラー同様、数行のコードで簡単に解決可能です。
解決方法は主に4つ。実践する前に、まずはいくつか確認を行いましょう。
- アップロードサイズの上限とファイルサイズの確認:あるファイルをアップロードする際にこのエラーが発生した場合は、そのファイルのサイズをメモしておくこと。また、現在のアップロードサイズの上限も確認してください。
- WordPressサイトのバックアップを作成:このエラーの解決方法では、コードを編集することになります。潜在的な問題、データの損失、さらなるエラーを回避するため、サイトのバックアップを取りましょう。
このエラーの解決策では、サイトのコアファイル内の以下の値を変更します。
- upload_max_filesize:アップロードを許可する最大ファイルサイズ
- max_post_size:投稿の最大ファイルサイズ(この上限が低すぎると、ファイルサイズの上限を引き上げても意味がありません)
- max_execution_time:ファイルのアップロードに費やす時間の上限
upload_max_filesizeの値を増やす際には、max_execution_timeの変更も必要になります。
使用する値(推奨値)
それぞれの推奨値は以下の通りです。
- upload_max_filesize: 64 MB
- max_post_size: 64 MB
- max_execution_time: 300
動画や超高解像度の画像を頻繁にアップロードするのであれば、ファイルサイズの上限を引き上げてもOKですが、基本的には100MB未満に設定することをお勧めします。
アップロードサイズ上限の引き上げすぎに注意
あまりに高い値を設定することでエラーが発生する可能性がありますので、ご注意ください。今回のエラーが解決する程度に数値を増やすのが得策です。
超大容量ファイルのアップロードや長時間の実行を許可すると、以下のような問題が発生する可能性があります。
- 大容量ファイルの処理によって、サイトの速度が大幅に低下する可能性がある。
- サイトのバックエンドの動作が停滞する恐れがあり、複数人で同時に作業をする際には特に問題に。
- アップロードサイズの上限を引き上げすぎると、ハッカーが悪意のあるコードや大規模なマルウェアをアップロードする機会を与えかねない。
大抵の場合、最大アップロードサイズの上限を大きく引き上げても問題が生じることはありませんが、可能性はゼロではありません。上記を踏まえて、サイトに適した許容ファイルサイズを設定してください。
なお、これからご紹介する解決策を実行してもエラーが表示され続けるようであれば、サーバー側でアップロードサイズを制限している可能性があります。その際には、ご利用のサーバーや管理者に直接問い合わせてください。
場合によっては、アップロードサイズの上限を引き上げるために、ホスティングプランのアップグレードが必要になるかもしれません。もしくは、より多くのリソースを使用できるサーバーに移行するのも手です。
それでは、早速解決方法を見ていきましょう。
1. functions.phpを使用する
「辿ったリンクは期限が切れています」エラーの1番簡単な解決方法は、サイトのfunctions.phpファイルに少し手を加えること。このファイルは、テーマエディターですぐに開くことができます。
WordPress管理画面で「外観」>「テーマエディター」に移動すると、まずテーマのスタイルシートエディターが表示されます。
今回は、例としてTwenty Twenty-Twoのファイルを編集します。画面右側にある「テーマのための関数(functions.php)」をクリックしましょう。
functions.phpの編集は簡単ですが、テーマの更新時に変更内容が消えてしまう点にはご注意ください。テーマに直接その他の変更を加える場合も同様です。そのため、テーマを更新しても影響を受けないように、子テーマを使用することをお勧めします。
functions.phpファイルを見つけたら、以下のコードをコピー&ペーストし、ファイルサイズ、投稿最大サイズ、実行時間の値を変更しましょう。
@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );
以下のように表示されればOKです。
「ファイルを更新」をクリックして、変更を保存します。これで、エラーが消えるはず。
子テーマを使用しない方法もあります。何らかの理由でこれが利用できない場合には、次にご紹介するサイトの.htaccessファイルを使った方法を選択してください。更新を行っても上書きされることがないファイルなので、今回編集する内容が消えてしまうことはありません。
2. .htaccessを使用する
2つ目は、.htaccess ファイルを編集する方法です。これを行うには、FTPでサイトのファイルにアクセスします。
まずは、利用しているサーバーのアカウントにログインし、cPanelまたはファイルマネージャにアクセスします。サイトのルートディレクトリにある.htaccessファイルを見つけてください。見当たらない場合には、非表示になっている可能性があります。public_htmlフォルダを選択して、右上にある「設定」をクリックします。
「非表示のファイルの表示(dotfiles)」にチェックを入れ「Save」で保存しましょう。
.htaccessファイルを見つけたら、お好きなテキストエディターでファイルを開きます。ファイルの一番下に以下のコードを貼り付けてください(値は適宜調整)。
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
変更を保存したら、編集した.htaccessファイルをサイトのルートディレクトリにアップロードします。その後、サイトに戻って、エラーが消えているか確認してみてください。エラーはもう表示されないはずです。
3. php.iniを使用する
次に、php.iniファイルを編集してエラーを解決する方法をご紹介します。.htaccessファイルに触れる必要はありません。Kinstaユーザー向けの選択肢です。
先ほどと同じ手順で、サイトのルートディレクトリにアクセスします(利用しているサーバーのアカウントからcPanelまたはファイルマネージャに移動し、ルートディレクトリ、public_htmlを開く)。
php.iniファイルがあれば、このディレクトリで見つかるはずです。共用サーバーを利用している場合は、このファイルが存在しない、またはファイル自体は存在していても編集できない可能性があります。そのような理由で操作ができない時には、空のphp.iniファイルを自分で作成して、サイトのルートディレクトリにアップロードしてください。
cPanelで、トップナビゲーションバーの左側にある「+File」をクリックし、新規ファイルの名前を入力します。サイトのルートディレクトリ(public_html)内に作成される設定であることを確認し、「Create New File」ボタンをクリックします。
php.iniファイルをダウンロードして、以下のコードをファイルに貼り付けてください(値は適宜調整)。
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
以下のようになればOKです。
変更を保存したら、サイトのルートディレクトリにアップロードします。
すると、以下のようにファイル一覧に表示されます。
WordPressサイトに戻って、再びファイルをアップロードして(またはエラーが発生した作業を再現して)、エラーが解決されているかどうかを確認してください。
4. プラグインの干渉を確認する
ファイルのアップロード時以外にこのエラーが発生した場合には、プラグインの干渉が原因であると考えてほぼ間違いないでしょう。プラグインの更新時に発生したと思われます。一見すると面倒ですが、この場合も解決可能なのでご安心を。
手っ取り早い解決方法は、エラーが消えるまですべてのプラグインを1つずつ無効にすることです。あるプラグインを停止してエラーが消えれば、そのプラグインが原因です。もしくは、2つのプラグインが衝突していることも考えられます。
このようなプラグインの問題を診断するには、チェックリストを使って、1つずつ確認するのが効果的です。例えば、プラグインA、B、C、Dを順に無効して、プラグインDを停止した時にエラーが消えれば、次にEを無効に、Cを有効にして、エラーが再度発生するか確認します。続けて無効化したプラグイン間に相互作用があるか調べていきます。
1つのプラグインが原因になっていれば、まずそのプラグインを停止して、問題の原因となった更新をロールバック(過去のバージョンに戻す)してから再度有効化し、エラーが表示されるかどうかを確認してください。WordPressコミュニティで、最新のプラグインのテストがまだ十分に行われてないだけで、今後バグの修正によってエラーが改善されるかもしれません。
まとめ
WordPressサイトのエラーは気が滅入りますが、今回の記事を通して、「辿ったリンクは期限が切れています」エラーの解決方法は把握できたはずです。トラブルシューティングを行う前には、サイトのバックアップをお忘れなく。
Kinstaのホスティングプランなら、専用コントロールパネルのMyKinstaで、期限切れのリンクなどの問題を簡単に見つけることができます。