遅延メタ更新
Silktide は、カウントダウンの後にページを自動的に再読み込みしたり、訪問者を別のページへリダイレクトしたりするコードがページに含まれていないかチェックします。訪問者には、このカウントダウンを一時停止したり延長したりする方法がないため、ページではこの機能を使用しないでください。
問題の原因となるコードは、遅延時間を指定したメタ更新タグです。
<!-- 問題: 訪問者が制御できない状態で、5秒後にリダイレクトされる -->
<meta http-equiv="refresh" content="5;url=https:\/\/example.com\/new-page">
<!-- 問題: 30秒ごとにページが再読み込みされる -->
<meta http-equiv="refresh" content="30">
重要な理由
一定時間が経過すると自動的に変化するページは、読む速度が遅い人や、を使用している人、画面を拡大している人の進行を突然妨げます。リダイレクトが読み終わる前に実行される可能性があり、再読み込みによって入力途中のフォームが失われたり、スクリーンリーダーがページの先頭に戻されたりすることがあります。遅延時間はページのに固定されているため、訪問者が自分のペースに合わせて延長することはできません。
遅延リダイレクトは、適切なサーバー側リダイレクトと比べて検索エンジンによる処理に一貫性がないため、検索エンジンを混乱させることもあります。
修正方法
- リダイレクトの場合は、メタ更新をサーバー側のリダイレクト(HTTP 301 または 302 レスポンス)に置き換えてください。サーバー側のリダイレクトは即座に実行され、カウントダウンも必要ありません。ほとんどのホスティングプラットフォームや CMS には、リダイレクトの設定機能があります。
- サーバー側のリダイレクトが不可能な場合は、遅延時間を
0に設定してリダイレクトを即時実行してください。即時リダイレクトであれば、このチェックに合格します。 - コンテンツを自動的に再読み込みしている場合は、更新機能を削除し、代わりにを使ってページ内でコンテンツを更新してください。できれば、訪問者が更新を一時停止できるコントロールも用意してください。
Silktide によるテスト方法
- 各ページにあるすべての
<meta http-equiv="refresh">タグを見つけます。 content属性から秒数を読み取ります。- 同じページを再読み込みする場合でも別のページへリダイレクトする場合でも、遅延時間が 0 より大きければタグを報告します。
- 遅延時間が 0 秒のタグ(即時リダイレクト)は報告しません。