私のウェブサイトでは、タイトルは最初にサーバーが提供するhtmlのtitleタグを介して設定されます。その後、JavaScriptを介して動的に同等に変更されます。
GoogleにHTMLで静的なタイトルとしてWebサイトのタイトルを表示したいのですが、何らかの理由で、GoogleはJavaScriptによって設定されたタイトルをリストしています。
この問題は私を長い間悩ませてきましたが、私はまだ解決策がありません。
ページは
example.com/day/date
です。それらはすべて同じベースページにリンクされていますが、日付に対して動的に変更されます。
ページ<title>
(クライアント側JavaScriptを使用)を変更して、「動的」コンテンツに特に一致させる必要があるのか、それとも一般的なキャッチオールタイトルを維持する必要があるのかを自問します。ページタイトルを変更することにより、ユーザーにどのようなメリットがありますか?ユーザーがページをブックマークすると、「動的」タイトルがブックマークされます。これが日付に基づいており、ページコンテンツに常に現在の日付に関連するコンテンツが含まれている場合、ブックマークされたページタイトルは古くなります。
<title>
を変更する場合は、 changeingURL も考慮してください(JavaScriptを使用して pushState )したがって、2つは一致します。あなたのコメント( "... pages are example.com/day/date
")はおそらくこれがすでに事実であることを示唆しているでしょうか?
必要なのは、コードに追加されたシンプルなJavaScript if
- typeステートメントだけで、どのページのタイトルも変更されないように思えます。
SEOを傷つけない唯一の解決策は、JavaScriptがその特定のページのページタイトルを変更しないようにすることです(おそらく、Warrenが述べたif
ステートメントを使用して)。
適切な経験則(およびGoogleを含む多くの検索エンジンではルール)は、ユーザーに表示するものとまったく同じものを常に検索エンジンに表示することです。検索エンジンでそのようにインデックスを作成したくない場合は、単にそのようにユーザーに表示しないでください。
あなたがしているのは cloaking の形式です。ユーザーに1つのテキストと検索エンジンに異なるテキストを表示することは、Googleのウェブマスター向けガイドラインに反しています。同じタイトルがユーザーとGooglebotの両方に表示されるようにタイトルを設定する必要があります。 Googlebotに異なるコンテンツを表示すると、Googleはサイト全体にペナルティを科し、検索結果に表示されない可能性があります。
Googleが動的タイトルを採用しているのは、GooglebotがJavaScriptを実行できるようになったためです。修正は、ユーザーとボットの両方に同じタイトルを使用することです。