これらの選択肢のうち、Google検索エンジンに対する否定的なものはどれですか?
<h1>
<a href="#" title="Company Name">
<img src="img/logo.png" alt="Logo" title="Company name" />
</a>
</h1>
または
<h1>
<a href="#" title="Company Name">
Company Name
</a>
</h1>
を伴う
h1 { background-image: url('../img/logo.png'); }
h1 a { text-indent: -9999px; }
または
h1 { background-image: url('../img/logo.png'); }
h1 a { color: transparent; user-select: none; }
ロゴはコンテンツであり、プレゼンテーションではありません。したがって、CSSではなくHTMLに含める必要があります。したがって、img
要素を使用することが適切な選択です。
ただし、alt
値の「Logo」を使用しないでください。代わりに会社名(ロゴの略称)を使用してください。そして、title
属性を省略できます。 (そして、title
要素のa
属性は、会社名を繰り返す代わりに、おそらく「ホームページへ」のようなものを言う必要があります。)
<img src="img/logo.png" alt="ACME Inc." />
また、HTML5ドキュメントのアウトラインを気にする場合、サイト名(ロゴまたはテキスト)は、body
セクショニングルートに属するh1
要素に含める必要があります(そのため私は同意しませんこれを行うべきではないことを述べた文)。¹そうでない場合は、アウトラインにラベルのないトップレベルエントリを取得します(セクション要素を常に明示的に使用する必要があります。そうしないと、アウトラインが間違ってしまいます)。
<body>
<!-- this represents the document heading, which should not be confused with the main content heading -->
<h1>
<a href="#" title="To ACME’s homepage">
<img src="img/logo.png" alt="ACME" />
</a>
</h1>
<main>
<article>
<!-- this represent the main content heading -->
<h2>…</h2> <!-- may also use <h1> instead -->
</article>
</main>
</body>
¹詳細については、他の回答をご覧ください。
これはさまざまなスタックでさまざまな形式で何度も尋ねられていますが、Googleはbackground
を使用するときにtext-indent
の使用法を理解しているため、正しい答えも間違った答えもありません...
ALTタグを使用して適切な画像を使用することは、コードのセマンティックを維持し、アクセシビリティを向上させるためのより良い方法であると広く同意されています。たとえば、2009年のStack Overflowに関するこの回答には、同じ質問に対する最大の賛成票(170以上)が含まれています。
オプションがありません:
<h1> <a href="http://stackoverflow.com"> <img src="logo.png" alt="Stack Overflow" /> </a> </h1>
GoogleのMatt Cuttsは、YouTubeのQ&Aビデオでこれについても議論し、基本的にはALTタグを使用してテキストインデントを使用しない方が良いと述べました。
YouTubeトランスクリプト:オーケーリチャードMオーストラリアからの質問:「サイトに会社のロゴがある場合、含める最善の方法は何ですか? SEO目的のためのロゴへのテキスト、すべてのタグCSSの非表示または重要性」
はい、CSSを隠しているように、すべてのタグで使用する方がはるかに良いことは問題ではありません、それまでに9000ピクセル以上が地獄タグが多かれ少なかれ構築されていることを知っています誰もが公平になりますが、ええ、何年も前に進みます。これは、これが私のロゴ検索エンジンでそれを読んで使用できるテキストであることを知っているという素晴らしい方法です。
CSSなどを使用して非表示にするのは、完全に有効で完全に有効な方法である場合、うまく機能しますか?.
SEOではなくPNGスプライトのテキストインデント
しかし、多くの人が言っているように、多くのWebサイトは、主にページ圧縮にPNGスプライトを使用しているため、テキストインデントを使用し続けています。たとえば、Pro Webmastersはテキストインデントを使用します。
ヘッダーでテキストインデントを使用しないでください、なぜですか?なぜなら...
したがって、text-indentを使用することは避けるべきだとは言いませんが、ヘッダータグを使用する場合は避けるべきであることに同意します。これは、 your logo ヘッダーがある場合、はヘッダー ...ではなく、あなたのロゴです。ページタイトルは実際のテキストベースのヘッダーでコンパイルする必要があります。
同じ神を繰り返してくそーh1の
h1 > a > img
形式を使用すると、すべてのページで繰り返される可能性が高く、ページで複数のh1を使用する場合に問題が発生します...?それが、今日多くのトップ企業がa > img
を使用している理由です。なぜなら、最も正しい方法だからです...
h1 > a > img
またはh1 > a
をtext-indent
とともに使用するのは、純粋にあなたの試みがランクを高く/すべてのページで同じフレーズをスパムするキーワードは、a
対h1
の場合、Googleが使用する数百のシグナルの1つであり、最も古い日付のSEOアドバイスである場合、ランクを上げることはできません。 h1が最も重要であることがわかります。単にそうではありません...マークアップのないプレーンテキストは、他のファクタリングシグナルでも同様にランク付けできます。
理想的にはコード
より最新の理想的な例は、次のようなものです。
<div itemscope itemtype="http://schema.org/Organization">
<a itemprop="url" href="http://www.example.com/">
<img itemprop="logo" src="http://www.example.com/logo.png" alt="Example" />
</a>
<div>
概要
背景画像ソリューションではなく、<img>
ソリューションを使用する必要があります。ほとんどのサイトには、ロゴの背景ではなくロゴ画像があります。Googleはそれを完全にサポートしています。標準の画像ソリューションは、アクセシビリティでも最適に機能します。
背景画像ソリューションでは、非表示のテキストやキーワードの詰め込みに対してペナルティを科せられる可能性があります。 (あなたのサイトが実際にあなたの会社名のためのものである場合、特にロゴの画像に会社名があるが、自動化されたアルゴリズムを使用している場合、あなたは決して知らないでしょう。)
会社名やロゴの周りにH1タグを使用しないでください。 h1タグは、ページごとに異なる必要があります。通常、ロゴと会社名はすべてのページで使用されます。とにかくランキングの目的でH1に会社名を使用する必要はありません。以下の理由により、あなたのサイトはあなたの会社の名前に対してはほとんど努力を払うことなくランク付けされます。
最も最適化されたバリエーションとして、ほとんどのSEO関連信号を含むバリエーションを検討します。これは私の意見ではこれです:
<div itemscope itemtype="http://schema.org/Organization">
<a itemprop="url" href="http://www.example.com/" title="My Firm">
<h1 itemprop="name">My Firm</h1>
<img itemprop="logo" src="http://www.example.com/logo.png" alt="Example" title="My Firm"/>
</a>
</div>