テキストを画像に置換する手法
これまでにテキストを画像に置換する方法で一般的だったのが、画像を背景として表示させ、テキストをtext-indent:-9999pxを用いて見えない位置に表示させる方法でした。
#test {
background-image : url("画像パス");
text-indent:-9999px;
}
こうしておけば、背景画像を表示させ、そのエリアのテキストを非表示にすることができます。
ロゴやグローバルナビゲーションなどでSEO的にテキスト形式で作成したいけど、見た目的には画像を使いたい・・・そんな時に用いられてきた手法です。
実際、私も少し前まではtext-indent:-9999pxを利用していました。
text-indent:-9999px;の孕んでいる危険性とは?
この手法は便利な反面、いくつかの危険要素を孕んでいるのです。
そのため、現在ではtext-indent:-9999px;を私は使用していません。
どの様な危険性をはらんでいるのかと言うと・・・
SEOスパムの可能性
まず、一般的によく耳にするのが、SEO的に不利だということ。
GOOGLEにSEOスパムだと判断される可能性があると言われています。
本当のところは分かりませんが、火の無いところに煙は立たないと言います。
パフォーマンスの低下
text-indent:-9999pxは、ブラウザ上に9999pxのエリアを確保するわけですから、パフォーマンスの低下が避けられません。
実感できないほどの差かもしれませんが、「塵も積もれば何とやら」バカにはできません。
text-indent:-9999pxに代わる手法をご紹介
この代替手法を利用すれば、パフォーマンスの低下を回避することができます。
ですが、SEOスパムにならないかと言うと何とも言えません。
text-indent:-9999pxと同じく、テキストを非表示にする手法だからです。
代替手法は、以下の通りです。
#test {
background-image : url("画像パス");
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
}
参考サイト:[CSS]画像置換「-9999px」のパフォーマンスを改善した新しいテクニック
text-indent:-9999px;が以下に代わりました。
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
この手法なら9999pxのエリアを確保しませんので、パフォーマンスの低下は回避できます。
SEOスパムにならないの?と疑問が残りますが、私は現在も利用しています。
GOOGLEが正式にテキストを飛ばしたらスパムですからと発表でもしない限りは、利用し続けるつもりです。SEOスパムと判断されるのかは、あくまで憶測の話ですからね。
テキストを画像に置換する手法は、便利ですし使い勝手が良いのも事実ですから。
まとめ
text-indent:-9999pxを使わずテキストを画像に置換する方法をご紹介しました。
従来のtext-indent:-9999pxを用いた手法は便利なのですが、パフォーマンスやSEOの面で不安が残ります。代替案のお探しだった方、今回のコンテンツを参考にしてください。
このコンテンツがどなたかのお役に立てば幸いです。
コメントを残す