CMS設計時に必須のSEO考慮点12項目


ある程度以上のサイトになると、自社でCMSを構築することが必須になってくる。

CMS:コンテンツマネジメントシステム(Content Management System)

コンテンツの更新を簡単にするためのシステムのこと。
WordPress・MovableTypeなどが一般的によく知られているが、独自開発されたシステムも多数存在する。
ある程度以上の規模のサイトになると独自CMSの構築はほぼ必須である。

大規模サイトの独自CMSの例 楽天/OKWave/クックパッド/2ちゃんねる

ところが、CMSの設計・開発にあたってSEOのエンジニアが関与していないケースが多い。
SEOの考慮がなかったためにシステムが完成してからアクセスが集められず苦労しているケースがよく見られる。
構築費で数千万以上かかっているであろう、大手サイトでも正しいSEOについての考慮がない残念なサイトも時々ある。

システムが完成してしまうと、容易に変更できない。それゆえにそのまま運用せざるをえないという場合も往々にしてある。
また、なぜアクセスが集められないのか?という理由すらわかっていないこともあり得る。

独自のCMSの構築には、設計段階からSEOのエンジニアの関与が必須だ。
出来上がったシステムの品質を最も大きく左右するのが、上流工程とも呼ばれている設計の工程である。
下流工程と呼ばれるプログラミングに、いくら優秀なプログラマーを集めたとしても、設計自体の品質が悪ければ修正の方法がない。また上流工程の些細なミスを、下流工程において修正をかけるのは非常に大掛かりな作業になる。

SEOの内部施策はたいてい完成したシステムに対して、修正という形でなされている。
言い換えれば上流工程のミスを下流工程において修正するという作業だ。
これは本来あってはならないことである。

もう一度言う。

設計段階からSEOの考慮を正しく盛り込むべきだ。

とはいえ、実際に社内にはSEOのエンジニアがいるということはまれだ。
また、外部のSEOのコンサルタントを依頼するのは、コストがかかりすぎて難しいというケースが多い。
あるいは、SEであれば当然SEOの知識を持っていると、サイト企画者側が勘違いをしているということもある。

このような場合、SEOについての専門でないエンジニアがSEOの考慮を行わなくてはならない。
今回の記事は、そんなエンジニアのために最小限のSEOの考慮点を記載したものだ。
前回の記事「ホームページ制作会社に必要な11項目のSEO知識」と重複する部分があるが、今回も列挙してみることにする。

1.内部施策の基本を理解する
2.検索エンジンスパムを回避する
3.CSSを正しく使う
4.正しくHTMLのコーディングを行う
5.論理的にマークアップする
6.tableやframeを使わない
7.URLの正規化をする

上記1~7については前回の記事をご覧頂きたい。
これにプラスしてCMSならではの幾つかの考慮点がある。

8.クローラビリティを考慮する

1)基本的にJavaScript内のリンクをGoogleは見ていて、リンク先をクローリングすることができるがあまり好ましくはない。
できる限りたどる必要のあるリンクはHTMLの中に記述すべきである。

2)Ajaxはユーザーフレンドリーなサイトを作るための優れた手法であるが、生成される個々のコンテンツはクローリングさせるべきURLが存在しないため特別な配慮が必要になる。
SEMリサーチにあるコンテンツが参考になるので紹介したい。
要点を抜粋して記載する。

クローラブルなAJAXにするための解決策 概要
(1) クローラが #! 形式の pretty URL を見つけます。
(2) クローラはこの形式のURLを”AJAX crawlable”なものと判断します。
(3) クローラは、pretty URL を ugly URL (_escaped_fragment_) に変換した上で、サーバにコンテンツをリクエストします
(4) サーバは、ugly URL 形式のリクエストを「クローラからのリクエストだ」と認識した上で、該当するコンテンツのHTMLスナップショットを作成して、クローラに返します。
(5) クローラは受け取ったHTMLを解析しますが、同時に URLを _escaped_fragment_ から原型となる #!mystate に戻してインデックスに格納します

3)sitemap.xmlを更新するようにする

9.ほぼ同一内容のページを多数インデックスさせない

この点は、CMSを作る場合の大きな落とし穴である。
期せずしてほぼ同一のページができてしまう場合があるので、下記のような場合がないかどうか設計段階で精査して慎重に検証を行う必要がある。

1)一部の属性だけが違うといったページが多数存在してはならない。
このようなケースはよくあり得る。
・旅行サイトで、出発日だけあるいは利用航空会社が違うだけといったケース。
・ファッションの通販サイトで、色だけあるいはサイズだけが違うといったケース。

重複コンテンツと検索エンジンからみなされる可能性があるため、以下のような処理を行う必要がある。

類似商品を全て1ページにまとめたページを作り、このページに全ての個々のページからcanonicalで正規化するようにする。この手法はある意味手堅いが、ページが縦に長くなりすぎたり、あるいはソースが巨大になってレスポンスが極端に悪化する可能性がある。

代表的なコンテンツを一つ決めて、類似のコンテンツを全てnoindexにする。この方法は手堅く、かつ簡便でありレスポンスの悪化を招く危険はないが、noindexとされたページは当然ながら検索対象にならない。

代表的なコンテンツを一つ決めて、類似のコンテンツから代表的なコンテンツに全てcanonicalで正規化する。この方法は手堅く、かつ簡便でありレスポンスの悪化を招く危険はないが、ユーザーが意図した商品と異なる商品ページにユーザーがランディングしてしまう可能性がある。

rel=“next” / rel=“prev”を使う。これがこの問題に対する現在の最新の解決手法だと言っていいだろう。詳しくは、海外SEO情報ブログGoogle、パージネーション問題を解決するrel=“next”タグとrel=“prev”タグをサポート開始をご覧頂きたい。

2)コンテンツが空のページを作らない
・ブログサイトでカレンダーから未来日をクリックした場合など。コンテンツが全て空っぽの同一ページとなる。このよな場合は、未来日にはリンクが貼られないようにするか、未来日へのリンクはnofollowをつけるべきだ。

・商品が売り切れてしまった場合など、販売されていた同一URLで「この商品は売り切れました」といった表示だけにしてしまったりすると、同一コンテンツが多数のURLに存在することになってしまう。

・カテゴリで絞り込んでいった場合に、最終的に該当するコンテンツがなかった場合。
例えばタクシー会社を探すためのサイトを作ったとして、「都道府県」「市区町村」と絞り込んで行ったときに、該当の村にタクシー会社がなかった場合に、「該当件数は0件です」といったページが表示される。このようなページが多数のURLで存在してしまうといったケース。
これは重複ページにもなるし、何ページもページを遷移させてみて、初めて該当するデータがないことがわかるというインターフェースはユーザーにとって非常に不親切でもある。最初から該当のページがないのであれば、リンクそのものがないほうがよい。

10.同一URLにおけるページ内容に同一性を持たせる

動的に生成されるコンテンツについて同一URLにアクセスされるたびに、全く違う内容が表示されるということは好ましくない。それは以下の2つの理由による。

1)検索結果に表示されるページの要約を見て、ユーザーが来訪したときに全く違ったコンテンツが表示されてしまっていると直帰してしまう。

2)検索エンジンからみても好ましくない。
クローラーがアクセスしに行くたびに、まったく異なるコンテンツがあるという状態では、検索エンジンがページやサイトのテーマを正しく把握することができない。

11.キーワードを列挙しない

and検索を考慮して、andの片側になるキーワードを列挙するケースがある。しかし、これは検索エンジンから評価されないばかりか、場合によっては検索順位の下落の原因になる。
例)不動産業のサイトを作った場合。都道府県、市区町村を全ページに列挙したとする。つまり、
「不動産 港区」「中古物件 青葉区」といったキーワードの全てを検索対象にしようと、欲張った場合である。
このようなキーワードに対応するページを全て作ればいいのだが、それをせずに、
地区名を全ページに列挙することで、「ほにゃらら 地名」を全て検索対象にしようという横着をしてはいけない。

12.同一の共通コンテンツを多数ページに配置しない

例えば、ラーメン店の口コミサイト。口コミの登録ボタンが全てのラーメン店のページの下に表示されていたとする。
そして登録ボタンをクリックし、次のページへ遷移したときに最上部にラーメン店の基礎データ(所在地・電話番号など)の同意条項が表示され、その下にレビューの書き込み欄が表示されたとする。
このページのコンテンツの大半は同意条項が占めてしまう。すると、ほぼ同一のコンテンツのかたまりが多くのURLに存在してしまうようになる。
こんな場合は、
1)登録ボタンからのリンクをnofollowにする
2)同意条項が表示されるページをnoindexにする
3)同意条項は簡単な抜粋のみを表示し、同意条項のページへのリンクを貼る
といった対応をすることが望ましい。


実際のところ、この他にもSEOという観点から必要な考慮は多数存在するはずである。
しかしながら、とりあえずこの程度の知識をおさえておけば、大きな失敗はかなり防げるのではないか?と考えている。
また、この記事に書いてある程度のSEOの知識をエンジニアが持つことができれば、その他のSEOの危険を未然に回避できる可能性は飛躍的に高まるであろう。

最後に、サイトへの集客がビジネスの成否を分けるようなシステムを企画されていらっしゃる方が、もしこの文章を読んでいたら、再度強調したい。

システムの品質は、設計段階で作り込むものである。

できる限り設計段階で正しいSEOの知識を持った担当者をプロジェクトに投入するか、それが無理であれば外部のSEOコンサルタントの助力を仰ぐべきだ。

結果としてシステムが完成してからアクセスが集められないという理由で、SEOのコンサルタントにアドバイスしてもらってシステムを修正するよりはるかに安くつき、かつビジネスのチャンスを逃さないで済むからである。

タグ

2011/10/31 | コメント/トラックバック(0) |

カテゴリー:superficial

このページの先頭へ