warning: Creating default object from empty value in /var/www/drupal-5.23/modules/taxonomy/taxonomy.module on line 1418.
確かに
ウェブマスター向けのガイドライン によれば、「
サイトの主要なページへのリンクを記載したサイトマップを用意する。 サイトマップ内にリンクが 100 以上ある場合は、サイトマップを複数のページに分けます。」と書いてある。
しかし英文の方を見ると "
Offer a site map to your users with links that point to the important parts of your site. If the site map is larger than 100 or so links, you may want to break the site map into separate pages." であり、最後の部分の "you
may want to break the site map into separate pages." は日本語で
分けてもいいですくらいの意味だと思うのだが、日本語訳の方は「分けます」と、断定した訳になっている。このため誤解があるかもしれない。実際、どうなんだろう?…と思って、Drupal コミュニティの XML Sitemap の作者に聞いてみたところ、
The limit is
50,000.
という答えが返ってきた。
確かに
ウェブマスター向けのガイドライン によれば、「
サイトの主要なページへのリンクを記載したサイトマップを用意する。 サイトマップ内にリンクが 100 以上ある場合は、サイトマップを複数のページに分けます。」と書いてある。
しかし英文の方を見ると "
Offer a site map to your users with links that point to the important parts of your site. If the site map is larger than 100 or so links, you may want to break the site map into separate pages." であり、最後の部分の "you
may want to break the site map into separate pages." は日本語で
分けてもいいですくらいの意味だと思うのだが、日本語訳の方は「分けます」と、断定した訳になっている。このため誤解があるかもしれない。実際、どうなんだろう?…と思って、Drupal コミュニティの XML Sitemap の作者に聞いてみたところ、
The limit is
50,000.
という答えが返ってきた。
Posted on 2007-07-23 by yas |
私は、優秀な技術者たるもの、ウェブ 2.0 のパラダイムの流れの中で、技術の追究だけではなくてウェブ 2.0 流の SEO やマーケティングも知識として知っていなければならないと思うのだ。その急先鋒の1つが AdSense であり、これとどう付き合っていくかも技術者の課題だと思う(たとえば、自分の担当業務に関係なくても、お客様と話しているときに何か提案できることもあるかもしれない)。そしてその AdSense を自身のサイトのデザインの中にどう組み込むかが課題となるが、そのことについてはズバリ、Google の
AdSense ヘルプ センター「
Google 広告はページのどの位置に掲載すればいいでしょうか。」に詳しい。引用すると、
私は、優秀な技術者たるもの、ウェブ 2.0 のパラダイムの流れの中で、技術の追究だけではなくてウェブ 2.0 流の SEO やマーケティングも知識として知っていなければならないと思うのだ。その急先鋒の1つが AdSense であり、これとどう付き合っていくかも技術者の課題だと思う(たとえば、自分の担当業務に関係なくても、お客様と話しているときに何か提案できることもあるかもしれない)。そしてその AdSense を自身のサイトのデザインの中にどう組み込むかが課題となるが、そのことについてはズバリ、Google の
AdSense ヘルプ センター「
Google 広告はページのどの位置に掲載すればいいでしょうか。」に詳しい。引用すると、
Posted on 2007-07-17 by yas |
Google のエンジニアの方と話して知ったのだが、Google Docs & Spreadsheets に、ひっそりと GoogleLookup と GoolgeFinance 関数が追加されたようだ(でも調べてみたら 2006/11/30 の Internet Watch に「Google Docs & Spreadsheets」に“Google関数”埋め込み機能など追加 という記事があった)。そこでさっそく試してみた。
まずは GoogleLookup 関数から。
作り方は、
- Google にアカウントを持ってない人は作る。アカウントっていうのは Gmail でいい。
- Google Docs & Spreadsheets に行ってスプレッドシートを新規作成する。
- 世界の人口を知るには、セルに
=GoogleLookup("world", "population")
と入れてみよう。日本の場合は、
=GoogleLookup("Japan", "population")
- スプレッドシートを誰からも参照できるように、つまり HP として公開できるように右上のタブから Publish する。これで 5分ごとに更新されるホームページの URL が生成される。
- もしスプレッドシートを更新して Re-publish したい場合は、Automatically update every 5 minutes? のところにある Yes ボタンをクリックすると、Re-publish ボタンが有効になる。
※Re-publish すると、リンク先の HP の内容も変更されることに注目!(意図的にリロードせず、ずっと表示しているときは 5分後)
- ここのエントリーにあるように、ブログなど自分の HP に組み込む場合は <iframe> タグを使うといいだろう。参考までに上記 <iframe> タグの内容は、次のようになっている。
次に GoogleFinance 関数を試してみよう。
作り方は、
- Google Docs & Spreadsheets に行ってスプレッドシートを新規作成する。
- セルに
=GoogleFinance("GOOG", "Price")
と入れてみよう。米国の株はティッカーシンボルと呼ばれるアルファベット4文字の組み合わせで社名を表す。これは日本の銘柄コードにあたるのだが、最初の引数にそのティッカーを(この場合は Google のティッカー "GOOG")、2番目の引数に株価なら "Price"、出来高なら "Volume" と入れる。ちなみに Apple のティッカーは AAPL、マイクロソフトは MSFT、アマゾンは AMZN、アドビは ADBE、シスコは CSCO…こんなところか。後は興味のある会社があったら米国ヤフーにでも行って各自で調べてね。
- スプレッドシートを誰からも参照できるように、つまり HP として公開できるように右上のタブから Publish する。これで 5分ごとに更新されるホームページの URL が生成される。
※米国のマーケットが開いている間は5分後、もしくはマーケットが閉じてしまったら値は更新されないから明日またこのエントリー(HP)に来て数字が変わっているか確かめてみて欲しい。
- あとは GoogleLookup のときと同じ。ちなみに株価はマーケットのリアルタイム値から 20分遅れの配信です。
百聞は一見に如かず、このような関数があってはじめてオンラインアプリが活きてくるような気がする。
Google のエンジニアの方と話して知ったのだが、Google Docs & Spreadsheets に、ひっそりと GoogleLookup と GoolgeFinance 関数が追加されたようだ(でも調べてみたら 2006/11/30 の Internet Watch に「Google Docs & Spreadsheets」に“Google関数”埋め込み機能など追加 という記事があった)。そこでさっそく試してみた。
まずは GoogleLookup 関数から。
作り方は、
- Google にアカウントを持ってない人は作る。アカウントっていうのは Gmail でいい。
- Google Docs & Spreadsheets に行ってスプレッドシートを新規作成する。
- 世界の人口を知るには、セルに
=GoogleLookup("world", "population")
と入れてみよう。日本の場合は、
=GoogleLookup("Japan", "population")
- スプレッドシートを誰からも参照できるように、つまり HP として公開できるように右上のタブから Publish する。これで 5分ごとに更新されるホームページの URL が生成される。
- もしスプレッドシートを更新して Re-publish したい場合は、Automatically update every 5 minutes? のところにある Yes ボタンをクリックすると、Re-publish ボタンが有効になる。
※Re-publish すると、リンク先の HP の内容も変更されることに注目!(意図的にリロードせず、ずっと表示しているときは 5分後)
- ここのエントリーにあるように、ブログなど自分の HP に組み込む場合は <iframe> タグを使うといいだろう。参考までに上記 <iframe> タグの内容は、次のようになっている。
次に GoogleFinance 関数を試してみよう。
作り方は、
- Google Docs & Spreadsheets に行ってスプレッドシートを新規作成する。
- セルに
=GoogleFinance("GOOG", "Price")
と入れてみよう。米国の株はティッカーシンボルと呼ばれるアルファベット4文字の組み合わせで社名を表す。これは日本の銘柄コードにあたるのだが、最初の引数にそのティッカーを(この場合は Google のティッカー "GOOG")、2番目の引数に株価なら "Price"、出来高なら "Volume" と入れる。ちなみに Apple のティッカーは AAPL、マイクロソフトは MSFT、アマゾンは AMZN、アドビは ADBE、シスコは CSCO…こんなところか。後は興味のある会社があったら米国ヤフーにでも行って各自で調べてね。
- スプレッドシートを誰からも参照できるように、つまり HP として公開できるように右上のタブから Publish する。これで 5分ごとに更新されるホームページの URL が生成される。
※米国のマーケットが開いている間は5分後、もしくはマーケットが閉じてしまったら値は更新されないから明日またこのエントリー(HP)に来て数字が変わっているか確かめてみて欲しい。
- あとは GoogleLookup のときと同じ。ちなみに株価はマーケットのリアルタイム値から 20分遅れの配信です。
百聞は一見に如かず、このような関数があってはじめてオンラインアプリが活きてくるような気がする。
Posted on 2006-12-07 by yas |
このサイトはほとんどは Google の検索結果をたどって来る方が多い。ここでは、このサイトで実際に施している
SEO 対策を紹介しよう。最初に断っておくが、SEO といっても、対象となる検索エンジンは Google オンリーである。
- 3日おきに定期的に更新を目標。
本来なら 「1日ごとに更新」 とした方が格好がいいに決まっているが、どんなに技術に詳しい人でもそんなにたくさん Tips が次から次に書けるわけでもないのは最初から目に見えている。毎日更新するためには Tips を 1年で 365個用意しなければならないことを考えてみて欲しい。それを職業にするなら別の話だが、私の場合は自分の無理のない範囲で最大限の目標値とした。この目標は今のところ守っている。それが守れているのは、その日に公開するエントリーをその日に書いて公開するような自転車操業的なものではなく、ある程度エントリーを書き溜めておいて、Movable Type の 「投稿日」 - 「指定日」 として公開されるようにスケジューリングしているからだと思う。この方法は SEO 対策というよりは、モチベーションを維持する上で自分にとってはうまくいっている。
Google が一番好むのは良質なサイトから多数のリンクが貼られている(自サイトから貼っているではない)サイトだ。これはブログのエントリーの内容の質を高めることでリンクの数の増やすことができるだろうが、多数の一般サイトからリンクが貼られていればいいというわけでもなく、おそらく Yahoo! から 1つリンクが貼られるだけでそのサイトの価値が高まるだろう。自分の希望通りに価値の高いサイトにリンクが貼ってもらえるとは限らず、こればかりは粛々と良質なエントリーを書いて自サイトの価値を高めるしかない。本当に価値のあるサイトなら向こうからリンクを貼らせて欲しいと依頼やトラックバックが来るだろう。
では自分にできることは他にはないのだろうか?それは、コツコツ更新することであろう。このサイトはある時点から、エントリーが 100 になるまでは 3日 1回更新することに決めた。今はこのペースを守っている。実際には Google がそれを評価してくれているのかはわからないが、Google の出している特許を読む限りは、放置されているサイトよりは頻繁に更新するサイトの方が評価されるのは確かだろう。
- コンテンツを増やす。
上の 「100 エントリーまでは 3日置きに更新」 と関係するのだが、このサイトは Tips のサイトであるし、もともとウェブサイトはコンテンツが豊富な方が優良なサイトである。Google のサイトにもそう書いてある。従って 100 の Tips 以上にすることを目指した。
- サブドメインでアクセスできるようにした。
当初、このサイトの URL は https://twinkle.cc/perltips/ であったが、https://perltips.twinkle.cc/ に変えた。Google は、ディレクトリが 1 階層深くなるごとにそのページを重要でないとみなしていくからである。また、ドメイン名(この場合はサブドメイン名)が perltips... で始まり、サブドメイン名に perl という重要なキーワードが含まれているため、これも検索キーワードとして重要なポジションになっていると思う。
- ディレクト名にキーワードを含めた。
[続きを読む]
- デフォルトのエントリー・ファイル名は使わない。
個々のエントリーのパーマリンク (Permalink) の名前は必ず自分で考えてつける。Google は URL に含まれる文字列(英単語)もキーワードとして考える。Movable Type は、タイトルに含まれる英数字を拾って自動的にエントリー・ファイル名をつけるが、タイトルがすべて日本語だったりすると 「post」 「post_2」 などという、そっけないファイル名をつけてしまう。このサイトは技術的内容を扱うので、例えタイトルが日本語オンリーであっても、できれば検索されやすい英単語を含めたエントリー・ファイル名をつけるようにしている。
このエントリーの URL は 「https://perltips.twinkle.cc/movable_type/seo.php」 であるはずだ。URL の中に perl ・tips・movable_type・seo というキーワードが含まれていることに注目して欲しい(徹底的に気合を入れるなら、まずはドメイン名を考えるべきだ)。実際 Google で検索してこれらのキーワードがヒットした部分は、Google によって太字にされているはずだ。
- Google Sitemap に対応させる。
[続きを読む]
- 無駄なディレクトリ(archives)は省いた。
Movable Type では、デフォルトの 「アーカイブ」 の場所は archives というディレクトリになっている。しかし Google は長い URL を好まない。archives なるディレクトリを作る目的は、強いていえばサイト運営者がバックアップを取るときに管理しやすいとか、その程度のものであろう。一方、サイトに訪れる人たちは archives というディレクトリがあったとしてもそれは何の意味も成し得ない。このような理由から、archives というディレクトリは省略して、相対パスのルートにアーカイブファイルも置いてしまおう。どうせカテゴリ別にディレクトリが作成されるのだから、archives のディレクトリがある積極的な理由はみつからない。
- 個々のエントリーのタイトルは
タグにした。
Google は、見出しダグの
、
、
…で囲まれている文字列を、重要なキーワードとして重み付けする。その法則に従って、このブログの見出しもテンプレートの中ですべて
にした。Movable Type のデフォルトのテンプレートの見出しは < h3> タグである。見出しの重み付けなど、あくまでもページ内の相対的なものでしかないような気がするので、この方法が有効なのかは実はよくわからない。
- タイトルは 「×××で、」 という形で(例えばこのエントリーなら「Movable Type で、Google の SEO 対策をする。」)、重要なキーワードを含めるようにした。
エントリーのタイトルが h1 タグならば、ここには重要なキーワードが当然入らないと意味がないわけで、そのためにタイトルにはカテゴリを表すキーワードを入れた。たとえばこのエントリーであれば、「Movable Type で、…」 といった書き出しである(特にこのエントリーの内容の場合は Movable Type でなくてもいいのだが、そういうことである)。
- できるだけ指示語を使わないでエントリーを書く。
Google はエントリー中のキーワードを拾う。エントリー中にはそのテーマに関連するキーワードが多ければ多いほど Google はそのエントリーの言いたいことを解釈するという。このことからつまり Google は指示語が苦手なのではという推測が成り立つ。文章をスムーズにするために 「こそあど言葉」 があるのだが、これだとせっかくの
キーワードを指示語で置き換えてしまうことになってしまう。従って指示語はなるべく使わず、多少エントリーの文章がしつこくなっても指示語が指す言葉をあえて使うようにしている。
- AdSense だけでなくアマゾンのアフィリエイトも貼った。
Google はそのサイトが表示している広告の質も判断しているらしい。良質なスポンサーと見なすのだろう。そうすると当然 AdSense は貼るべきだが、それは何も考えずに別の実験としてすでにこのサイトには貼ってあった。しかし「広告の質も判断する」 と聞いてアマゾンのアフィリエイトも貼った次第である。ちなみに、このサイトで紹介している Perl の参考書で、実際にクリックして買った方がいたのには驚いた(いやはや、まったく期待していなかったものですから)。アマゾン恐るべし。
- ルートディレクトリに robots.txt を置いた。
Google Sitemap を使っていると、「robots.txt にアクセスできなかった」 といちいちエラーを返す。 仕方がないので以下の内容で robots.txt をルートディレクトリに置いた。
User-Agent: *
Disallow: /images/
- サイト内のリンクを増やした。
Google の SEO で肝となるのは優良サイトからのリンクだ。これは外部からのリンクだが、内部でのリンクもポイントになるという。このサイトでも(というか Movable Type のデフォルトのテンプレートだが)ページの最初のタイトル 「Perl Tips」 をクリックすればどのページからでもトップページに戻れるようになっているが、これは Google にとってはトップページが重要となることを意味する。従って一見マスターベーションのような気もするが、内部のリンクも増やした方がよいだろう。
内部のリンクとはすなわち、エントリーを書いたら関連しそうな過去のエントリーに対してトラックバックを送るということに他ならない。もちろん、外部のサイトで関連しそうな内容のブログのエントリーがあったらトラックバックを送ると、自動的にそのサイトに自分のサイトへのリンクが貼られるわけだから、これも積極的に行った方がよいだろう。しかしこの方法は時間と手間がかかるので、まずは内部のリンクを増やすことから始めてはどうだろうか、ということだ。
このサイトはほとんどは Google の検索結果をたどって来る方が多い。ここでは、このサイトで実際に施している
SEO 対策を紹介しよう。最初に断っておくが、SEO といっても、対象となる検索エンジンは Google オンリーである。
- 3日おきに定期的に更新を目標。
本来なら 「1日ごとに更新」 とした方が格好がいいに決まっているが、どんなに技術に詳しい人でもそんなにたくさん Tips が次から次に書けるわけでもないのは最初から目に見えている。毎日更新するためには Tips を 1年で 365個用意しなければならないことを考えてみて欲しい。それを職業にするなら別の話だが、私の場合は自分の無理のない範囲で最大限の目標値とした。この目標は今のところ守っている。それが守れているのは、その日に公開するエントリーをその日に書いて公開するような自転車操業的なものではなく、ある程度エントリーを書き溜めておいて、Movable Type の 「投稿日」 - 「指定日」 として公開されるようにスケジューリングしているからだと思う。この方法は SEO 対策というよりは、モチベーションを維持する上で自分にとってはうまくいっている。
Google が一番好むのは良質なサイトから多数のリンクが貼られている(自サイトから貼っているではない)サイトだ。これはブログのエントリーの内容の質を高めることでリンクの数の増やすことができるだろうが、多数の一般サイトからリンクが貼られていればいいというわけでもなく、おそらく Yahoo! から 1つリンクが貼られるだけでそのサイトの価値が高まるだろう。自分の希望通りに価値の高いサイトにリンクが貼ってもらえるとは限らず、こればかりは粛々と良質なエントリーを書いて自サイトの価値を高めるしかない。本当に価値のあるサイトなら向こうからリンクを貼らせて欲しいと依頼やトラックバックが来るだろう。
では自分にできることは他にはないのだろうか?それは、コツコツ更新することであろう。このサイトはある時点から、エントリーが 100 になるまでは 3日 1回更新することに決めた。今はこのペースを守っている。実際には Google がそれを評価してくれているのかはわからないが、Google の出している特許を読む限りは、放置されているサイトよりは頻繁に更新するサイトの方が評価されるのは確かだろう。
- コンテンツを増やす。
上の 「100 エントリーまでは 3日置きに更新」 と関係するのだが、このサイトは Tips のサイトであるし、もともとウェブサイトはコンテンツが豊富な方が優良なサイトである。Google のサイトにもそう書いてある。従って 100 の Tips 以上にすることを目指した。
- サブドメインでアクセスできるようにした。
当初、このサイトの URL は https://twinkle.cc/perltips/ であったが、https://perltips.twinkle.cc/ に変えた。Google は、ディレクトリが 1 階層深くなるごとにそのページを重要でないとみなしていくからである。また、ドメイン名(この場合はサブドメイン名)が perltips... で始まり、サブドメイン名に perl という重要なキーワードが含まれているため、これも検索キーワードとして重要なポジションになっていると思う。
- ディレクト名にキーワードを含めた。
[続きを読む]
- デフォルトのエントリー・ファイル名は使わない。
個々のエントリーのパーマリンク (Permalink) の名前は必ず自分で考えてつける。Google は URL に含まれる文字列(英単語)もキーワードとして考える。Movable Type は、タイトルに含まれる英数字を拾って自動的にエントリー・ファイル名をつけるが、タイトルがすべて日本語だったりすると 「post」 「post_2」 などという、そっけないファイル名をつけてしまう。このサイトは技術的内容を扱うので、例えタイトルが日本語オンリーであっても、できれば検索されやすい英単語を含めたエントリー・ファイル名をつけるようにしている。
このエントリーの URL は 「https://perltips.twinkle.cc/movable_type/seo.php」 であるはずだ。URL の中に perl ・tips・movable_type・seo というキーワードが含まれていることに注目して欲しい(徹底的に気合を入れるなら、まずはドメイン名を考えるべきだ)。実際 Google で検索してこれらのキーワードがヒットした部分は、Google によって太字にされているはずだ。
- Google Sitemap に対応させる。
[続きを読む]
- 無駄なディレクトリ(archives)は省いた。
Movable Type では、デフォルトの 「アーカイブ」 の場所は archives というディレクトリになっている。しかし Google は長い URL を好まない。archives なるディレクトリを作る目的は、強いていえばサイト運営者がバックアップを取るときに管理しやすいとか、その程度のものであろう。一方、サイトに訪れる人たちは archives というディレクトリがあったとしてもそれは何の意味も成し得ない。このような理由から、archives というディレクトリは省略して、相対パスのルートにアーカイブファイルも置いてしまおう。どうせカテゴリ別にディレクトリが作成されるのだから、archives のディレクトリがある積極的な理由はみつからない。
- 個々のエントリーのタイトルは
タグにした。
Google は、見出しダグの
、
、
…で囲まれている文字列を、重要なキーワードとして重み付けする。その法則に従って、このブログの見出しもテンプレートの中ですべて
にした。Movable Type のデフォルトのテンプレートの見出しは < h3> タグである。見出しの重み付けなど、あくまでもページ内の相対的なものでしかないような気がするので、この方法が有効なのかは実はよくわからない。
- タイトルは 「×××で、」 という形で(例えばこのエントリーなら「Movable Type で、Google の SEO 対策をする。」)、重要なキーワードを含めるようにした。
エントリーのタイトルが h1 タグならば、ここには重要なキーワードが当然入らないと意味がないわけで、そのためにタイトルにはカテゴリを表すキーワードを入れた。たとえばこのエントリーであれば、「Movable Type で、…」 といった書き出しである(特にこのエントリーの内容の場合は Movable Type でなくてもいいのだが、そういうことである)。
- できるだけ指示語を使わないでエントリーを書く。
Google はエントリー中のキーワードを拾う。エントリー中にはそのテーマに関連するキーワードが多ければ多いほど Google はそのエントリーの言いたいことを解釈するという。このことからつまり Google は指示語が苦手なのではという推測が成り立つ。文章をスムーズにするために 「こそあど言葉」 があるのだが、これだとせっかくの
キーワードを指示語で置き換えてしまうことになってしまう。従って指示語はなるべく使わず、多少エントリーの文章がしつこくなっても指示語が指す言葉をあえて使うようにしている。
- AdSense だけでなくアマゾンのアフィリエイトも貼った。
Google はそのサイトが表示している広告の質も判断しているらしい。良質なスポンサーと見なすのだろう。そうすると当然 AdSense は貼るべきだが、それは何も考えずに別の実験としてすでにこのサイトには貼ってあった。しかし「広告の質も判断する」 と聞いてアマゾンのアフィリエイトも貼った次第である。ちなみに、このサイトで紹介している Perl の参考書で、実際にクリックして買った方がいたのには驚いた(いやはや、まったく期待していなかったものですから)。アマゾン恐るべし。
- ルートディレクトリに robots.txt を置いた。
Google Sitemap を使っていると、「robots.txt にアクセスできなかった」 といちいちエラーを返す。 仕方がないので以下の内容で robots.txt をルートディレクトリに置いた。
User-Agent: *
Disallow: /images/
- サイト内のリンクを増やした。
Google の SEO で肝となるのは優良サイトからのリンクだ。これは外部からのリンクだが、内部でのリンクもポイントになるという。このサイトでも(というか Movable Type のデフォルトのテンプレートだが)ページの最初のタイトル 「Perl Tips」 をクリックすればどのページからでもトップページに戻れるようになっているが、これは Google にとってはトップページが重要となることを意味する。従って一見マスターベーションのような気もするが、内部のリンクも増やした方がよいだろう。
内部のリンクとはすなわち、エントリーを書いたら関連しそうな過去のエントリーに対してトラックバックを送るということに他ならない。もちろん、外部のサイトで関連しそうな内容のブログのエントリーがあったらトラックバックを送ると、自動的にそのサイトに自分のサイトへのリンクが貼られるわけだから、これも積極的に行った方がよいだろう。しかしこの方法は時間と手間がかかるので、まずは内部のリンクを増やすことから始めてはどうだろうか、ということだ。
Posted on 2006-05-13 by yas |