Googleウェブマスターツール/ Search Consoleで、タイトルタグとメタ説明の重複に関するエラーが表示されます。
問題のWebサイトは静的なHTML Webサイトです。すべてのドキュメントには、.html
拡張子があります。すべてのドキュメントから.html
を削除するために、。htaccessファイルで以下のコードを使用しています。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
たとえば、http://example.com/about.html
はhttp://example.com/about
になります。Googleは、ページについては2つに分かれていると考えています。誰かがこれを解決する方法を説明できますか?
URLを変更したときに.html
のURLが既にインデックス化されていた(そして.html
拡張子を削除した)場合、SEOを保持し、取得から重複コンテンツを避ける唯一の方法は、.html
URLから目的のURLへの301リダイレクトを実装することです。
(これは、アプリケーションのすべてのURLを目的の「拡張機能のない」URLに変更したことを前提としています。)
.htaccess
ファイルの上部にある次のようなもの:
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule (.+)\.html$ /$1 [R=301,L]
REDIRECT_STATUS
に対するチェックは、書き換えられた要求(.html
へ)がリダイレクトされないようにすることでリダイレクトループを回避することです(内部書き換えがトリガーされると、REDIRECT_STATUS
は200
に設定されます)。
すべてのドキュメントから
.html
を削除するために、。htaccessファイルで以下のコードを使用しています
Aside:これはおそらくあなたがそれをどのように説明しているのかと思いますが、実際にはそのコードの断片はそうではありません。アプリケーションでURLを物理的に変更することにより、(.html
ではなく)URLから「.htaccess
を削除」します。次に、.htaccess
を使用して内部書き換え URLを実際のファイルシステムパス(.html
拡張子付き)に戻します。これが、コードスニペットが行うことです。 .html
拡張を再追加しますが、削除はしません。
Www.example.com/aboutを割り当てましょう-Googleでインデックスを作成するメインURLとそのURLです。
そしてwww.example.com/about.html-重複したURLであり、Googleでインデックスを作成したくない。
したがって、2つの完璧なソリューションがあります。いずれかまたは両方を使用できます。
1) 1リダイレクトを使用 example.com/about.htmlからexample.com/aboutへ。したがって、GoogleはURLの最終バージョンまたはリダイレクトバージョンのみをインデックスに登録します。
2) キャノニカルリンクタグを使用 ヘッドセクション。
ページが重複しているため、正規リンクタグはこれらのすべてのページで同じになります。
www.example.com/about/
www.example.com/about
www.example.com/about.html
www.example.com/about/index.html
そのため、正規リンクタグの下に配置すると、すべてのURLでWebページのタイトル/説明が同じであるように、上記のすべてのページに同じ正規リンクタグが継承されます。
<link rel="canonical" href="https://www.example.com/about" />
そのため、ここではGoogleはその正規リンクタグのみをインデックスに登録し、他のページは重複していると見なし、Googleはそれをインデックスに登録しません。