URLの多言語を削除したい、つまりsite.com/page
、en.site.com/page
、およびsite.com/en/page
の代わりにsite.com/page?lang=en
を取得したい.
動機は次のとおりです:人間はものを必要としません。ドイツ語のフレーズを検索するか、ドイツ語圏のコミュニティを閲覧することで、page?lang=de
リンクを取得できます。 Accept Language
は何を持っていますか?そのため、SEが唯一のパーティであり、Accept Language
のサポートが不十分(不足)であるため、乱雑なURLを必要とします。検索エンジンはすべての言語を理解しようとしますが、人間は必要な言語を知っています。クローラー専用の乱雑なURLを保持し、可能な限りきれいなURLを人間に見せたいです。
質問:
window.location
を考慮しますか? JS経由でURLバーをクリーニングするのは危険ですか?<link rel="alternate" hreflang="...
がページのコード内にあることを望んでいます。これらのタグをwindow.location
と同期する必要がありますか?URLをクリーンアップしたいというあなたの願望には何も問題はありませんが、ここではいくつかのことを指摘します...
Accept Language
設定が適切に設定されていません。これは、そのコントロール(パブリックまたはビジネスコンピューター)がないか、その方法を理解していないためです。Googleがサポートするオプションの1つでもある一般的な方法は、言語コードにサブドメインを使用するか、国コードのトップレベルドメインを使用することです(Webサイトの翻訳ごとにドメイン名を購入する必要があるため、より高価です) )。また、ファイルにrel="alternate" href-lang="..."
メタを含めて、翻訳バージョンにリンクします。また、ヘッダーをチェックしてAccept Language
ヘッダーが存在するかどうかを確認し、デフォルトのサイト言語以外のものである場合、代わりに翻訳サイトに移動するオプションをユーザーに提示します。