存在しないURLや404ページがページ一覧に表示されてしまいます
#概要
Autolingualは、サイトを訪問したユーザーのブラウザ上でSDKが取得したURLをもとに、ページのアクセス情報や翻訳処理の対象を判定します。
そのため、サイト上に実在しないURLであっても、404ページにAutolingual SDKが読み込まれている場合は、ページとして記録・表示されることがあります。
Autolingualが存在しないURLを新たに生成したり、サイト内にURLを追加したりすることはありません。ブラウザが実際に表示しているURLを取得し、アクセス情報として記録しています。
#なぜ404ページも記録されるのですか?
たとえば、以下のようなURLにアクセスがあったとします。
https://example.com/unexpected/path
このURLがサイト上に存在せず、サーバーが404ページを返した場合でも、404ページ内にAutolingual SDKが読み込まれていれば、SDKはブラウザに表示されているURLを取得します。
SDKは、ブラウザ上で動作するものとなっており、取得したURLに対してHTTPステータス(200、404など)を判別することができません。そのため、404ページであっても通常ページと同様にアクセス情報が記録され、除外設定に該当しない場合は翻訳処理の対象にもなり得ます。
#存在しないURLが発生する主な要因
存在しないURLへのアクセスは、たとえば以下のような要因で発生します。
- 外部サイト、広告、メール、SNSなどに誤ったリンクがある
- 過去に存在したページへのリンクや検索エンジンの登録が残っている
- URLの入力ミスがある
- ボットやクローラーが任意のパスへアクセスしている
- サイト側のルーティング設定により、存在しないパスでも共通の404画面が表示される
Autolingualはこれらのアクセス時に表示されたURLを記録するため、実在しないURLがページ一覧に表示される場合があります。
#対応方法
#1. 404ページを固定URLへリダイレクトする
存在しないURLへのアクセス時に、/404 や /not-found などの共通URLへリダイレクトする方法です。
エラーページのURLを集約できるため、多数の異なる存在しないURLが個別に記録されることを抑えられます。
SEOやHTTPステータスへの影響があるため、リダイレクト方法はサイト運用・開発担当者へご確認ください。
#2. 404ページではAutolingual SDKを読み込まない
404ページのテンプレートやレイアウトでは、Autolingual SDKのスクリプトタグを読み込まないように設定します。
SDKが実行されないため、404ページのURLはAutolingual側で記録・翻訳処理されません。
#3. 特定のパスを除外設定する
翻訳対象ページ除外機能(翻訳対象ページ除外設定 )で、特定のURLまたはディレクトリ配下を翻訳対象から除外できます。
- 特定ページのみ除外:
/example/error-page - 配下をまとめて除外:
/temporaryを「配下ページも除外する」として設定→/temporary/abcや/temporary/abc/defも除外されます。
また、URLがランダムに生成されるなど、共通のパスでまとめられない場合は、個別の除外設定だけでは対応が難しいことがあります。その場合は、固定URLへの集約または404ページでSDKを読み込まない対応をご検討ください。
#よくある質問
#AutolingualがURLを生成しているのですか?
いいえ。AutolingualがURLを生成したり、サイトにページを作成したりすることはありません。SDKが読み込まれたブラウザで実際に表示されているURLを取得し、アクセス情報として扱います。
#404ページは翻訳されますか?
404ページにSDKが読み込まれ、除外設定にも該当しない場合、ページ内のテキストが翻訳処理の対象となることがあります。
#404ページを除外すると、ページ一覧にも表示されなくなりますか?
除外設定は主に翻訳対象を制御するものです。アクセス情報の記録自体を止めるには、404ページでSDKを読み込まない、または固定URLへ集約する対応が有効です。