2006/12/27

MSN サイト作成ガイドライン

MSN のSite Owner Helpに、ウェブマスター向けのサイト作成における注意事項が公開されています。
いかにまとめます。

技術的な注意事項



  • 体裁の整ったHTMLを用いる。タグは正しく閉じ、リンク切れを起こさない。
  • ページを移動した場合はリダイレクトを設定し、さらにそれが Permanent(恒久的)なのかTemporary(一時的)なのかも明示する。
  • MSNbot がブロックされていないことを確認する。
  • robots.txt を使って、どのファイルやフォルダはインデックスしてはいけないか、正しく伝える。
  • URL は簡潔かつ固定に。複雑なURLや頻繁に変更されるURLはユーザにとってもロボットにとっても良くない。


コンテンツガイドライン



  • ページにはユーザが検索に用いると思われるキーワードを含める。
  • ページのサイズを抑える。一つのページには一つのテーマのみ記述し、容量は150kB程度に抑える。
  • どのページにも少なくとも一つの静的リンクが存在するようにする。
  • インデックスに含まれてほしい単語は、画像に含めずにテキストとして記述する(altは見ない、ということ?)。
  • サイトマップを用意する。
  • ページ階層は平らにする。つまり、どのページもトップページから1から3クリックで到達できるようにする。


非推奨テクニック



  • 無関係なキーワードをちりばめるなどのキーワードスパム。
  • 隠しテキストや隠しリンク。
  • リンクファームのような、人工的にリンクを増やすテクニック。

2006/12/26

完璧なHTML

Google group のこのスレッドにおける、Adam Lasnik (Google の
Search Evangelist )曰く、
クローラーにとって、HTML が完璧(タグのくずれなどが無い?)であるかどうかは
あまり重要ではありません。
ブラウザで表示してみて問題なく表示できる程度であれば、クローラーもうまく処理できます。

それよりもむしろ Google のガイドラインに従うことが重要です。

2006/12/25

linkbaitingについて

最近、 linkbaiting という言葉を主にブログ上でよく見かけます。
これは一体どういう意味の言葉なのでしょうか。

まず、link というのはいわゆる HTML のリンクです。
baiting というのは「餌付け」「餌まき」という意味です。

検索エンジンの世界では、ページの順位を上げるためには
沢山のリンクを外部からもらうことが重要なのですが、
そのようにリンクを沢山張ってもらうためには、
面白い内容のページを「餌」として用意しなければいけません。
そのような、リンクが沢山寄ってくるような、
良い「餌」となるページを意識的に書いていくことを
linkbaiting あるいは link bait と呼んでいるようです。

20 Linkbaiting Techniquesという記事に、
その代表的なテクニックが書かれています。


  1. Tool(道具):他のBloggerにとって役に立つようなツールを公開する。
  2. Quiz(アンケート):例えば「あなたのブログ暦は?」のような、4択程度の簡単なアンケート。
  3. Contest(コンテスト):ゴッゴルのようなコンテスト。目標を定め、商品を与える。
  4. Be First(一番乗り):何か新しいことを最初に行う。
  5. Scoops(スクープ):すっぱ抜く。
  6. Expose(暴露):不正行為、悪事をすっぱ抜く。
  7. Award(賞):2006 Best Blogのような賞を与える。
  8. Lists(リスト):何か価値の有るリンクのリストなど(digg やはてなブックマークのようなもの)。
  9. Humor(ユーモア)
  10. Make someone famouse:自分が有能だと思っているけれど、まだあまり知名度の高くない人を紹介する。
  11. Create belonging/community (コミュニティつくり)
  12. Design:ブログのテンプレートなどを公開する?(よく意味がつかめませんでした)
  13. Rants(大言壮語):
  14. Controversy(反対意見):誰かのブログポストなどに対する反対意見の表明
  15. Attack(攻撃):他人に対する攻撃的批判。
  16. Shock:ショッキングな書き込み。
  17. Research and Statistics:あるトピックに関する調査や統計をまとめる。
  18. Give something away:読者に何かプレゼントする。
  19. Usefulness:役に立つ記事。
  20. Cool Factor:「Cool」(かっこいい)もの。


ただその日の日常をだらだらと書くよりは、
意図的に注目を浴びるような記事を書いたほうがよい、ということです。

linkbaiting は悪か?という議論もあるようですが、
ほとんどの項目は、
素直に従おうとすると良い記事を書かざるを得ないという点で、
建設的な競争が行われるようになっているので、良いことだと思います。

2006/12/21

重複コンテンツ

Google Official Webmaster Central Blogにて、重複コンテンツの扱いに関する記事がポストされています。

まず、記事によると、重複コンテンツとは同一ドメイン内、複数ドメイン間にかかわらず、
完全に同一、あるいは非常に似通っている一塊のコンテンツである、としています。
また、同一内容であっても、異なる言語で書かれている場合は重複とはみなされないとのことです。

さらに、これらの重複コンテンツに対する Google 側の対応としては、
通常単に重複コンテンツのうちどれか一つのみ表示するにとどまり、
明らかな Spam 目的の重複コンテンツでない限り、ペナルティを課すことはないようです。

Google の関心はユーザに同一内容のページばかり表示された検索結果を出さないようにすることであり、
Spam を排除することではない、からだそうです。

2006/12/19

linkbaiting

linkbaiting という言葉をよく見かけるので、意味を調べようとしたのですが、
google の日本語ページで linkbaiting を検索しても、
英語のブログを機械翻訳しただけのブログが沢山ヒットしてしまいました。

日本語として全く意味を成していない文章を
ウェブに公開するのは本当にやめてほしいのですが。。。

2006/12/17

TrustRank と mixi

TrustRank というものがあります。
1年ほど前に話題になったもののようですが、
私が SEO を勉強し始めたのは先月のことなので、
今まで知りませんでした。あまり耳にしないような気がするのは
あまり使われていなさそうなのか、私が勉強不足なだけなのか。。。

この TrustRank とは簡単に言ってしまうと次のような方法で
スパムページとそうでないページを分類するための方法です。

  • まず、確実に Spam でないことがわかっているページでかつ沢山リンクを持っているもの(例:Dmoz)を「Seed」として選ぶ。
  • Seedから辿ることができるページは Spam でないと判断。Seedからどうやっても辿れないページは Spamである可能性が高い。


このように、最初に少しだけ人の手を入れることで
Spam ページを効率的に排除することができる、というものです。


さて、これと似た話をどこかで聞いたことがないでしょうか。
私はこの話を聞いたときに、 mixi が採用しているモデルを連想しました。
これは大雑把に言うと「良い人の友達は、良い人である」という考えを背景に持つものです。
確かにTrustRank と似ています。

ここでさらに連想するのは、mixi のこのモデルが最近はうまく働いていないということです。
参加人数が大きくなるに従って、悪意を隠さない人の割合が無視できなくなり、
いくつかの事件が起こったことは、皆さんの記憶にも新しいと思います。

これをTrustRankに当てはめると、最初は白いページから始めても、
いくつかリンクを辿るうちにだんだん黒くなってきて、最後には真っ黒なページにたどり着く、
ということでしょうか。
まぁ、確かにスパムページはそうでないページにお金を払ってリンクを張って貰うなどすれば
有る程度白に近づくことはできますよね。

このように単純な TrustRank は悪意を持ったページに対して脆弱です。
ひとつの(すぐに思いつく)対策は、
Spam ページにリンクを張ったページにはペナルティを課すなどの
逆方向の TrustRank (SpamRankと呼びましょう)を導入することでしょう。
これは mixi の場合、Ban されたユーザの友達もまとめて Ban されることに相当します。

ただ、これは検索エンジンの場合、あまりうまくいきません。
TrustRank のときは少数の Seed を選ぶだけで、後は芋づる式に
大量のページがシロであると判定できますが、
SpamRank の場合、ひとつの SpamSeed を決めても
そこにリンクしているページがそれほど大量にあるとは思えません。
ひとつのSpamあたり、ほんの少しのページしか Spam であると判定することができないのではないでしょうか。
ですので、このやり方で Spam を排除するには大量の SpamSeed が必要となると思います。
なお、mixi ではBan対象のユーザがいないか常に監視して、一人一人(その友達も含めて)削除しているそうです。

何かいいアイデアが思いつけばお金になるなぁ、と思って
しばらく考えているのですが、そうそう思いつくものではないですね。
もうちょっと考えたいと思います。

2006/12/16

チェックポイント

SEOmoz のHow Does that Page at Bruce Clay Rank So Well?というポストで、
Bruce Clay のサイトがなぜ高ランクなのか、についての説明があります。

その中で、ウェブページが高ランクである理由を分析するときにどういうポイントをいつも見ているか、がリストアップされていました。

私の英語力ではいまいち理解できないところがあったのですが、
とりあえず載せておきます。

* Page Strength
* Yahoo! Site Explorerで調べたドメインへのリンク数
 * そのリンクのうち、上位2-300件の中のドメイン数(重複ドメインは省く)
 * 上位リンク/下位リンクの割合。通常手作業で調べる。
 * リンクテキスト(neat-o toolが必須)
* 本人のサイトからのリンク数
* 外部サイトからのリンク数
* Technoratiで検索にヒットするリンク数
 * どの程度の頻度でブログからの新しいリンクが現れるか
 * そのリンクがどの程度のオーソリティを持つか
* キーワード密度(訳に自信なし)
* Google の PageRank (重要ではないが、ひとつのシグナル)
* Ask.com でのランク
* TOP 10 にランクしている全てのページの Strength(Top Ten Analysis SEO Tooを使うと良い)

2006/12/15

Page Strength

SEOmozのこのページで、Page Strengthというものを計測してくれます。
これは、Google の順位や外部リンク数など、
さまざまな情報を自動で取得して、総合的なページの重要度を
数値化してくれるものです。

どういう計算をしているのかはわかりませんが、
まぁ、参考までに。

2006/12/14

SEO 便利ツール

Search Engine Journal に、SEO ツールがいくつか紹介されていました。

そのうちいくつかはリンクをクリックしても
Internal Server Error が出てしまっていたので、
しばらくしてからまたアクセスしてみたいと思います。

とりあえず、動作が確認できたものをまとめます。
なお、いずれも日本語を入力する場合は
ページの文字コードを UTF に設定しなおす必要があります。

1. Top Ten Analysis SEO Tool
検索語句を入力すると、Google でのその語句に関する上位10ページの
統計情報を表示してくれます。
表示される情報は、Yahoo, MSN での順位、Google にインデックスされているページ数、
サイトへの外部リンク数、ドメインへの外部リンク数などです。

4. Common Backlinks Tool
最大10個までの URL を入力すると、
その URL の共通のリンク元を表示してくれます。
Yahoo! 対策に良いですね。

5. Sitemap Tool
URL を入力すると、そのサイトの sitemap (xml)を生成してくれます。
フォーマットはROR形式です。

6. Top Competitor Tool
入力されたキーワードで上位に検索されるページのリストアップ。
10件の URL が表示されますが、どういうルールで並べているのかは不明。

15. Search Combination Tool
入力されたキーワードの全てのコンビネーションを使った場合の
各種検索エンジンへのリンクを生成。

2006/12/11

Google Toolbar と インデックスの関係

すでにSEM リサーチでも触れられていますが、
Mutt Cutt's で、Google Toolbar とインデックスの関係について説明されています。

氏によると、Google Toolbar がインストールされたブラウザから、
どこにもリンクされていない秘密のページにアクセスしても、
そのページがインデックスされることは無いとのことです。

秘密にしているはずのページがいつの間にかインデックスに含まれているのは、
そのページから外へのリンクに含まれるリファラー情報などが漏れているため、とのことです。

2006/12/10

Jon Kleinberg の HITS アルゴリズム

HITS と呼ばれるアルゴリズムをご存知でしょうか。
Jon Kleinberg が考案した、ページの順位付けのためのアルゴリズムです。
Google の PageRank のようなものだと思ってもらってかまいません。

この HITS アルゴリズムが、Yahoo! の検索エンジンに採用されている、
という噂があります。
真偽のほどはわかりませんが、そこかしこでまことしやかに囁かれている割には
あまり日本語の解説記事が無いようなので、
今回はこの HITS アルゴリズムについて説明してみたいと思います。
参考にしたのは Authoritative sources in a hyperlinked environment. という論文です。
論文のドラフトPDFが彼のサイトから入手できます。

背景


まずは HITS アルゴリズムが生まれるための背景について説明します。
この論文が書かれたのは1997年の、まだインターネットが一般には普及していない時代です。
私の記憶を掘り起こしてみても、当時の検索エンジンはお世辞にも精度が良いといえるものではありませんでした。
おそらく、単純にキーワードの出現回数が多いものを上位に表示するようなことをしていたと思います。

当然、この方法では現実的には色々と問題が出てくることになります。
まず第一に、キーワードの出現回数とページの重要度には一般には強い相関関係はありません。
例えば Harvard で検索を行っても、必ずしも Harvard 大学のサイトがトップには表示されません。
Harvard 大学のサイト以外に Harvard という文字列を含むサイトはいくらでも存在しうるからです。
次に、「検索エンジン」というキーワードで検索した場合を考えてください。
このとき、Yahoo は上位に表示されるでしょうか?
Yahoo のページ中に「検索エンジン」という文字列は含まれていないため、残念ながらヒットしません。
このように、ページ内部のテキスト情報だけでそのページを評価するのは限界があります。


ハブとオーソリティ


そこで、Kleinberg はページを評価するのにリンク構造を用いることを考えました。
その際に重要な役割を果たすのが「オーソリティ」「ハブ」という概念です。

オーソリティとは、キーワードに関連するページの中で重要度の高いページのことです。オーソリティとなるページは検索結果の上位に表示されることになります。

ハブとは、多くのオーソリティにリンクを張っている、「物知り」サイトのことです。物知りサイトがリンクを張っているページは重要なページだと推察できるため、このページ自体は検索結果の上位に表示されるかどうかはわかりませんが、オーソリティを発見するために重要な役割を果たしています。

私たちの目的はオーソリティを発見することですが、そのためにはハブを見つける必要があるため、Kleinbergのアルゴリズムでは、このオーソリティとハブを同時に探していきます。

アルゴリズム


それでは具体的なオーソリティの発見方法について説明します。
Google の PageRank の計算方法をご存知の方は、すんなり理解していただけるのではないかと思います。

まず最初に、探索対象となるページを制限します。これは、単純にWWW上の全てのウェブページからオーソリティを探すのは非常に時間がかかるため、余計なページを最初から除去して計算時間を短縮することが目的です。
そのために、既存の検索エンジンなどを使い、与えられたキーワードで検索を行います。そして、そのとき上位に出てきたページを200件ほど、rootページとして取り出します。
この中にオーソリティが含まれていればよいのですが、上で議論したように、一般にここにはオーソリティが含まれているかどうかはわかりません。
したがって、次に、この root ページから/にリンクが張られているページを全てリストアップし、
このページを探索対象とします。

さて、ここからオーソリティを探すのですが、その際の基本的なアイデアは以下のようなものです。

  • 良いオーソリティに沢山リンクを張っているハブは、良いハブである
  • 良いハブから沢山リンクが張られているオーソリティは、良いオーソリティである。

Google の PageRank となんとなく似ていますね。
ですので、ここから先の計算方法も似通っています。

その計算方法ですが、まず、全てのページにオーソリティポイント ai とハブポイント hi というものを割り当てます。
このポイントが高いものがそれぞれ良いオーソリティあるいはハブとなります。
初期値はいずれも1とし、以下の計算を繰り返し、それぞれのポイントを更新していきます。

  1. 各ページ p に対して、そのページリンクしているページのオーソリティポイントの総和を計算し、p のハブポイント hp を、その総和で置き換える。
  2. 各ページ p に対して、そのページリンクしているページのハブポイントの総和を計算し、p のオーソリティポイント ap を、その総和で置き換える。


例えば、あるページがハブポイント1,3,4 のページからそれぞれリンクされていたとすると、そのページのオーソリティポイントは 1+3+4=8となります。
また同様に、あるページがオーソリティポイント2,4,1 のページにリンクを張っていたとすると、そのページのハブポイントは 2+4+1=7 となります。
このような計算を繰り返していくと、次第に一定の値に収束していきます。

そうして得られたオーソリティポイントの順番で、ページの順位付けが行われます。

最後に


あまりうまい説明になっていないような気がしますが、理解していただけたでしょうか。
大体の雰囲気はつかんでいただけたのではないかと思います。

もちろん、以上は1997年に公表された Kleinberg のアルゴリズムの話であり、
実際に Yahoo! で使用されているアルゴリズムとは全く違うかもしれませんし、
ベースは同じだとしても、色々と修正を加えていることでしょう。
もしこのアルゴリズムが大筋で採用されているのであれば、
Yahoo 対策には Google 対策とは少し異なる方法を用いる必要があることになります。

まぁ、参考程度にしてください。

2006/12/07

URL中のハイフンとアンダースコア

URL をどのように命名するか、もSEOにとって有る程度の意味を持ちます。
それは、URL の中の文字列も検索対象となるためです。

例えば "google" という文字列を検索して表示された結果を見ると、
URL中の "google" という文字がハイライトされているのがわかります。
もちろん、ただ単にハイライトされているだけ、という可能性もありますが、
URL 中にキーワードを含む場合上位に表示されやすくなる、と考えるのが自然でしょう。
ただ、実際のところどれほど影響があるのかはわかりません。
単にテキスト中にひとつキーワードが増えただけ、程度のものかもしれません。

なお、これは日本語にも対応しています。
京都 site:wikipedia.orgを見てください。
検索結果の URL の中に「京都」という文字が含まれており、しかもハイライトされていることがわかります。
ただし、これを有効にするには URL に日本語を含ませないといけないため、
ブラウザのアドレスバーに表示される URL などの可読性は悪くなってしまいます。

さて、ではURLにキーワードを含ませようとして、
よく出てくる問題が、単語の間を何で区切ればよいのか、という問題です。
通常のテキストであればスペースで区切ればいいのですが、
URL にはスペースを含むことはできないので、そういうわけにはいきません。
通常はハイフンまたはアンダースコアが単語の区切りとして用いられるのをよく見ます。

ですが、実はこれらはそれぞれ google にとって意味が異なるそうです。
現時点で、ハイフンは単語の間の区切りとして意味を持ちますが、
アンダースコアは単純に無視されてしまいます。
つまり、
kyoto-hotel.html
は kyoto hotel という二つの単語からなる URL であると認識されますが、
kyoto_hotel.html
という URL の場合、 kyotohotel というひとつの単語であると認識されてしまうのです。

私はこれまでずっとアンダースコアを使っていましたし、
アンダースコアのページのほうが良く見かけるような印象だったのですが、
google にとってはあまりよくないことだったようです。
これを知ったときは結構なショックをうけてしまいました。
まぁ、英語のキーワードで検索されるようなことはあまりないですし、
日本語の場合は形態素解析があるため、あまり私たちには関係のない話ではあるのですが。

2006/12/06

SEO ビデオチュートリアル

SEO 入門ビデオチュートリアル(英語)

初心者向けということであまり有用なものはなかったのですが、せっかく見たのでまとめておきます。

1. Check Out the Video on Title Tags Here
タイトルタグは以下の理由から重要

  • google の検索にヒットしたときに一番大きく表示される
  • ロボットに対するページの要約になっている
    以下のようなタイトルを心がけるべき
  • 63 文字以内(google の結果でタイトルが全部表示される文字数)
  • 重要なキーフレーズを含める
  • 全てのページに異なるタイトル


2. Watch the SEO Basics Video on the Site Command

  • google で site:your.domain.com とすると、自分のサイトがどれだけインデックスに含まれているかわかる。
  • allintitle:keyword では、keyword をタイトルに含むページ数がわかる
  • ~(チルダ)を検索ワードの前につけると、そのキーワードに関連したさまざまなキーワードに関連したページを検索できる。
  • cache:your.domain.com でキャッシュを見ることができる
  • allinanchor:keyword ではリンクにキーワードを含むページの一覧が見れる

2006/12/05

クラックされたサイトがGoogleから除外

Matt Cutts: Gadgets, Google, and SEOで、クラックされてしまったあるサイトがインデックスから除かれ、そして再度インデックスされるまでの流れが掲載されています。

まとめると以下のような話。

* talkorigins.orgというサイトがクラックされ、ページがポルノサイトへのリンクなどに置き換えられた。
* Google がそれに気づき、サイトをインデックスから削除
* Google は info, webmaster などのアドレスにメールを送信して通達(しかし、管理者には届かなかった模様)
* その後サイト管理者が事態に気づき、「Googleは黙ってインデックスを削除した」と激怒
* Slashdot に飛び火
* MuttCutt で google 技術者?が反論
現在は、サイト管理者はインデックスの復活申請を行い、
24~48時間のうちに復活するだろう、とのことです。

読んだ感想としては、クラックされたサイトの管理者にいちいちメールを送るあたり、Google は頑張ってるな~、という感じです。
なお、Google Console にサイト管理者としてメールアドレスを登録しておけば、今後このような事態が起きたときに Google とのコミュニケーションがスムーズに進むとのことです。

2006/12/04

バッドノウハウ

先日の sitemap.xml に関するエントリで、
> これまでの、ロボットが理解しやすいHTMLを作成するという
> バッドノウハウ的SEO対策から脱却するための良い一歩だと思っています。
と書いたのですが、これについて少し触れておきたいと思います。

まず、sitemap.xml ですが、
これは明らかに「セマンティックウェブ」の理念に基づいて考えられたものです。

セマンティックウェブがどういうものかについて詳しくはWikipediaなどで調べていただくとして、
ざっくり簡単に述べておくと、
「HTMLは人間が目で見たときにわかりやすいように作られたデータフォーマットで、
 ロボットが読むには難しすぎる。
 ロボットにはロボットが読みやすいファイル(メタデータ)を別途用意すべきだ。
 そして、世の中全てのHTMLにメタデータが付加されれば私たちのネットライフはうんと良くなる」
という考えです。非常にもっともな考えですね。

HTML の meta タグにある Keyword や description などもひとつのメタデータです。
HTML をロボットが読んでキーワードを抽出したり、概要をまとめることは、
全く不可能ではないでしょうが、時間がかかりますし、HTML作成者の意図通りに解釈してもらえる保障はありません。
一方で、私たちが書いたmetaタグの keyword を読むだけなら簡単です。
これはセマンティックウェブの考えに非常に忠実です。

ですが、検索エンジンのロボットは、metaタグだけを見るわけではありません。
実際には、先ほど難しいと述べた HTML の解析を頑張って行っているのです。
HTML 文書の構造を解析して、重要な部分とそうでない部分を切り分けます。
そうしてページの中で重要なキーワードを抽出して、重み付けを行っているのです。

しかしですね、上で書いたように、HTML の解析はやっぱり難しいんです。
その理由は、HTMLは「人間が見やすいように」文書が配置されているということや、
多くのブラウザは、HTMLの文法が若干崩れていてもうまく表示してしまうため、
文法の崩れた HTML が数多く存在すること、などです。
そこで自然とロボットが読みやすい HTML とロボットが読みにくい HTML がでてくるわけで、
ロボットが読みにくいページでは、HTML製作者の意図がうまくロボットに伝わらず、その結果あまり検索結果が芳しくないことになります。
そうなってくると、私たちサイト管理者のとり得る対策としては、
「ロボットが読みやすいHTMLを作る」ということになります。
また、ロボットがどのタグを重視しているかを推測して
「重みが最大になるようなタグ付けを行う」というテクニックも横行することになります。

でも、これって変じゃないですか?
少なくとも、セマンティックウェブの考えとは少しずれています。

なぜなら、ひとつの HTML ファイルを人間とロボット両方が読みやすいものにしようとしてしまっているからです。
これははっきり言って不自然な努力だと思います。
こんなことをせずに、最初からロボット用のファイルを別途用意すればいいのではないでしょうか?
ページのどの部分が重要でどの部分がそうでないか、
どのリンクが重要でどの画像が重要なのか、
そのような、人間が知る必要の無い情報はロボット用のファイルに記入すればよいのです。
そうすれば、現在のように、ロボットにも人間にも読みやすいHTMLを頑張って作成して、
それをロボットが正しく解釈してくれることをじっと祈る必要もなくなります。

このような意味で、私は現在のSEOにおける一部のテクニックを
バッドノウハウである、と考えています。
「タイトルタグはロボットが最も重視するから重要なキーワードを配置する」
のようなテクニックは、ユーザを無視した(というとやや言いすぎですが)、
不自然なテクニックだと思います。

実際に、現在 Google などで検索を行うと、
上位のページのほとんどに、そのキーワードが含まれている、という状況をよく目にします。
こうなってしまうとページを区別するのにタイトルはほとんど役に立たなくなってしまいます。

人間用、ロボット用のファイルをそれぞれ別々に作るようになれば、
このような状況も改善されるのではないか、と思います。

もちろん、ロボット用のファイルに嘘のデータを記載するなどの方法で
悪用されてしまう、という可能性もあります。
ですが、現時点でページからキーワードや概要を抽出する技術はあるのですから、
逆にキーワードや概要が与えられたときに、それが HTML の内容と
合致するかどうかを Verify するのはもっと簡単にできる、と信じています。

まぁ、課題はおそらく他にも沢山あるでしょうが、
今後、より高度なセマンティックウェブの仕組みが普及してくれることを祈っています。

========================

さて、このセマンティックウェブのことを私が初めて耳にしたのは大学生のころでした。
そのときの、私を含めた皆の反応は
「誰がメタデータを作るのか?」
というものでした。
当時すでに膨大な数のウェブページが存在していましたし、
世の中の HTML 製作者がセマンティックウェブという概念を理解し、賛同し、従うとは思えませんでした。
だから、全てのページにメタ情報を付加するなんてできっこないと考えていました。

ですが、いまとなっては認識を改めています。
今現在のウェブサイト管理者、特に私たちのようなビジネスを目的として
ウェブサイトに関わっている方々は、
SEO 対策というものに非常に敏感です。
アクセスアップのためなら多少の手間を厭いません。
それこそ、自分が管理しているページ全てのメタデータなんて、
それでアクセス数がアップするなら喜んで作るでしょう。
実際のところ、メタデータは一度作ってしまえばそれほど頻繁には変動しないので、
実は長期的に見るとたいした手間ではありません。

ということで、セマンティックウェブは現時点(少なくともビジネスサイト)においては
非常に現実的なアイデアになってきたといえます。
時代は変わるものですね。

さて、そう考えると、やはり今後は上で述べたようなより高度なセマンティックウェブが
実現していくのではないかと考えています。
検索エンジンがタグの意味からページの重要度を推測するのではなく、
こちらから情報を提供できる仕組みが出来上がっていくことになると想像しています。
2年後、5年後、ウェブの世界がどう変わっているか、非常に楽しみです。

2006/12/03

sitemap.xml

若干古い話になりますが、Google, Yahoo!, MSN が共同で
sitemaps.org というサイトを立ち上げました。

このサイトでは sitemap.xml というファイルのフォーマットの形式を公開しています。以下のような形式です。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <url>
      <loc>http://www.example.com/</loc>
      <lastmod>2005-01-01</lastmod>
      <changefreq>monthly</changefreq>
      <priority>0.8</priority>
   </url>
</urlset> 

これは、私たちのサイトにどのような URL が存在するのか、
どのページが重要なのか、更新頻度はどれくらいかなどの情報を表したものです。
これまではこれらの情報はロボットが私たちのサイトを自動的にクロールして集めていました。
ですが、リンク切れなどで辿れないページが存在することもありましたし、
重要度、更新頻度などは検索エンジン側が推測するほかありません。
これでは私たちが本当に伝えたい情報が検索エンジンに伝わっているかどうかはよくわかりません。
そのような状況を改善するために生まれたのが sitemap.xmlです。

sitemap.xml を使えば、上記の情報を私たちの側で作成して、
google, yahoo, msn など、sitemap.xmlに対応した検索エンジンに提供できるようになります。
非常にすばらしい試みだと思います。これまでの、ロボットが理解しやすいHTMLを作成するというバッドノウハウ的SEO対策から脱却するための良い一歩だと思っています。
大手3社が参加している、ということだけを見ても、
この方式が SEO 対策において重要な位置を占めることになるだろう、ということがわかります。

とはいうものの、あくまでも sitemap.xml は検索エンジンに対する「ヒント」でしかありません。
ここにかかれた情報を参考にしますよ、というだけです。
sitemap.xml で重要度1.0(最高)とされたページの順位が上がるわけではありませんし、
更新頻度が daily だったとしても毎日クロールしにくるわけではありません。
あくまでも「ヒント」です。
私の推測では、ここに書かれている情報がどの程度信頼されるかが PageRank によって変わってくるだと思います。PageRank が非常に高いページでは、更新頻度が daily と書かれていれば本当に毎日クロールしにくるでしょうし、PageRankが低ければ実際には週一回しか見に来ない、ということになるのではないでしょうか。



さて、ひとつの sitemap.xml には url は最大50000件、ファイルサイズは10MBまでという制限があります。ファイルサイズが10MBを超えた場合は gzip 形式で圧縮して10MBに収まればそれでOKです。
上記制限をどうしても超えてしまう場合は複数の sitemap.xmlに分割することが可能です。その場合は、sitemap_index.xml というものを別途作成する必要があります。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>http://www.example.com/sitemap1.xml.gz</loc>
      <lastmod>2004-10-01T18:23:17+00:00</lastmod>
   </sitemap>
   <sitemap>
      <loc>http://www.example.com/sitemap2.xml.gz</loc>
      <lastmod>2005-01-01</lastmod>
   </sitemap>
</sitemapindex>

これは単純に、複数の sitemap.xml のファイル名を教えてあげるだけのものです。

sitemap.xmlやsitemap_index.xmlは通常サイトのトップページに配置します。
ここにおいておけば、sitemap.xml に対応したロボットが自動的にファイルを読み込んでくれます。
(追記)これうそです。ごめんなさい。各検索エンジンごとにファイルの場所を知らせてあげる必要があるみたいですね。

他のサイトを眺めた限りでは、sitemap.xml を作成することはなかなか効果があるらしいので、ぜひとも作成しておきたいですね。
Google ウェブマスター ツールで sitemap.xml を自動生成できるらしいのですが、これはまた調査したいと思います。

ご挨拶

最近とあるウェブサイトの構築に1からかかわることになりまして、これまで何度も耳にしていながらあまり気にも留めていなかった

「 SEO 対策」

こいつをちょっとまじめに勉強してみることになりました。せっかく勉強した内容も、すぐに忘れてしまいそうだし、一人で勉強するのもつまらないので、blog として公開することにしました。

基本は私の備忘録のような形になると思いますが、このサイトにうっかり訪れてしまった方々にも楽しんでいただけるように、内容がぎゅっと詰まったサイトにしていきたいと思っています。
それではよろしくお願いします。<(_)>ペコリ