CloudFrontを利用して静的コンテンツを高速化する

このブログサイトをCloudFrontを使って高速化してみた。
早くなったかどうかはちょっとわからないが、Googleからのリクエスト速度は間違いなく上がっているので、検索順位向上には寄与している(と思いたい)。
CloudFrontはCDN(Content Delivery Network)のサービスだが、EC2やLamdaなどのAWSのサービス以外にも利用できる。
昔はCDNなんてakamaiぐらいしかなく、個人が使えるようなサービスではなかった。
CloudFrontを独自ドメインで利用するメリットは下記が挙げられる。
1.全世界からのアクセスが高速化できる。(CDNの導入目的と同じ)
例えば、当ブログサイトのドメインに割り当てられているアドレスd2p33equgohrri.cloudfront.netを正引きすると以下のように8つのアドレスが返される。
このアドレスは、リクエスト元の地域(リージョン)によって変わることになる。
>nslookup -q=A d2p33equgohrri.cloudfront.net
権限のない回答:
名前: d2p33equgohrri.cloudfront.net
Addresses: 54.230.111.20
54.230.111.187
54.230.111.227
54.230.111.55
54.230.111.251
54.230.111.57
54.230.111.220
54.230.111.238
2.Webサーバへのリクエストを減らすことが出来る=負荷を軽減できる。(CDNの導入目的と同じ)
3.(D)Dos攻撃にも耐えられる。(CDNの導入目的と同じ/但し、リクエスト数が増大するので、課金がかさむことになる)
4.CloudFrontをSSL化しておいて、CloudFront→Webサーバ 間をHTTP通信にすることにより、昨今のセキュリティ要求に対応しながら、SSL通信にかかる負荷を軽減できる。
5.SSL証明書が無料で利用できる(CloudFront独自のメリット/但し、IPベースにすると毎月600ドル課金されるので注意)
6.AWSの無料枠の対象なので、気軽に試せる(CloudFront独自のメリット)
7.HTTP/2に対応できる。(CloudFront独自のメリット?/リクエストが高速になる)
SSL証明書はLet’s Encryptを利用する方法もあるが、CloudFrontを利用すると証明書の期限が13ヵ月になっているうえ、更新が自動で行われる点がビジネス目的に耐えられる点で優れている。
CloudFrontを利用するにはWebの画面だけで完結できるが、日本語化されておらず少しハードルは高い。
ただ、WordPressサイトをCloudFrontで配信するの説明が非常に分かりやすい。
上記サイトでは、WordPressサイトの登録を変更していたが、
Origin Domain Name には、CDN用のエイリアスFQDN(例:cdn.blog.development-network.net)
Alternate Domain Names には、オリジナルのFQDN(例:blog.development-network.net)
を登録し、cdn.blog.development-network.netのCNAMEに登録後に表示されるDomain Name(例:d2p33equgohrri.cloudfront.net)をDNSに登録すればよい。
SSL証明書の発行手順は、認証がメールベースになっているので、独自ドメインのメールエイリアスを登録できるようになっている必要がある。
SSL証明書を発行しても、すぐに独自ドメイン用のSSL証明書に切り替わらず、証明書エラーが表示されるので、少し焦るがCloudFrontのStatusがDeployedになるまでは待ってみることをお勧めする(焦った)

linkオプションで見る検索エンジンのロジックについて

多くの検索エンジンにはlinkオプションを利用して被リンク数を調べることが出来る。
たとえば、このブログの被リンク一覧は次のとおりである。→Google, MSN, Yahoo
ただ、検索サイトごとにlinkオプションで検索できるサイト数が異なっているが、ここにロジックの違いがあると推測できる。
まずlinkパラメータで検索される基準だが・・・
いずれも被リンク先はインデックスされている必要がある。インデックスされていなければ、そもそも認識されていないということになるわけだから当たり前の話。
Googleではどうか?
アンカー指定されている文字列とリンク先のコンテンツがマッチしている必要がある(アンカー指定された文字列が含まれていれば良い?) なお、非リンクページにリンクが多すぎるとただのリンクサイトとみなされ、非リンクとしてはカウントされない。
MSNやYahooではどうか?
とりあえずリンクさえされていれば良いようだ。
いずれも被リンクページはnofollow指定されていないことが前提なので、これを元に被リンク数を上げるための施策を考えることが重要となる。

トラックバックの有効性

ブログの普及に伴い、CNETをはじめニュースサイトではトラックバックを受け付けるサイトが多くなっている。トラックバックの有用性について考えてみたい。
トラックバックをする側(ブログを書いている側)のメリット
・ユーザーの訪問者数が増える(これはGoogle Analyticsで傾向を見ていると確かに言えることだ)
SEOとしての有効性
・トラックバックをしたサイトから事実上リンクをされることになり、被リンク数が増えることでインデックスに登録されやすい。(ただし、nofollowになっていないことに注意する必要がある→関連:グーグルなど、リンクスパム対策に乗り出す–「ノーフォロー」タグを導入へ
・サイトのPageRankが高いサイトであれば、なおさら効果は大きい
トラックバックされる側(メディアやブログ)のメリット
・トラックバックが事実上サイトの支持にもなっており、賑わいを演出させることが出来る。また、関連情報を勝手にユーザーが紐付けてくれることによってメディアとしての価値が高まる。
最近はトラックバックスパムというものもはやっている。サイト製作者はメリットを重視するあまり、トラックバックスパムへの対策を怠ると大変なことになりかねない
トラックバックを受け付けている主要メディア
CNET JAPAN
IT Media News(但し、記事へのリンクがない場合には拒否される)
iza(産経新聞)

Googleサイトマップ自動作成ツールの検証

Googleサイトマップ自動作成ツールというのを見つけたので検証してみた。
ローカルのファイル一覧を取得してサイトマップ用の一覧を生成するプログラム。URLが一覧表示されるだけでサイトマップ形式になっていればまだ使えるかもしれない。ローカルのファイル一覧から取得する関係上、動的なページが多いサイトにおいては効果を発揮しない可能性が高い。

Movable Type(MT-Mobile) + Google Sitemap

MT-Mobileプラグインでモバイル用コンテンツを展開した場合にもGoogle Sitemapへ登録する方法について考えてみた。基本的にはこちらと同じ原理で追加すればよいのだが、一部異なる。

<?xml version=”1.0″ encoding=”<$MTPublishCharset$>”?>
<urlset xmlns=”http://www.google.com/schemas/sitemap/0.84″>
<MTEntries lastn=”1″><url>
<loc>(mtm.cgiのURL)?b=<$MTBlogID$></loc>
<lastmod><$MTEntryModifiedDate utc=”1″ format=”%Y-%m-%dT%H:%M:%S”$><$MTBlogTimezone$></lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url></MTEntries>
<MTEntries lastn=”1000″><url>
<loc>(mtm.cgiのURL)?m=ind&amp;b=<$MTBlogID$>&amp;e=<$MTEntryID$></loc>
<lastmod><$MTEntryModifiedDate utc=”1″ format=”%Y-%m-%dT%H:%M:%S”$><$MTBlogTimezone$></lastmod>
<changefreq>monthly</changefreq>
<priority>0.5</priority>
</url></MTEntries>
</urlset>

ちなみにこのブログのインデックスは http://blog.development-network.net/ung/mobile_sitemap.xml である。

SEO tools

今の掲載順位は各サーチエンジンでどれくらいなんだろうと毎日調べるようなことがあったらこれは骨の折れる作業だ。何か便利なツールでもないだろうかと調べていたら同僚からSEO TOOLS βなるものを教えてもらいました。
URLを入れるだけでSEOアクセス解析を行ってくれたり、キーワードでの検索結果がGoogle, Yahoo, MSNでそれぞれ何位なのかを教えてくれます。
ただ少し重たいのが難点ではありますが。。。。

tableタグを使わないでレイアウトする方法

ブロックごとに文章と写真などをレイアウトしていく時についついtableタグを利用しがちだが、これはSEO対策的にはNGらしい。理由としては複雑な入れ子になりやすいからということがある。ま、これはあくまでそうらしいということであって、クローラーのアルゴリズムを見たわけではないのでそんな確証も無いわけですが。ちなみにこのサイトではtableを使わないでdivタグを使って綺麗にレイアウトする方法を紹介しています。

Googleの時差

Googleがクロールしてから検索結果に反映されるまでPageRank0で5日程度、またPageRank3で3日程度かかっているようだ。Sitemapでクロール頻度を変更できるようにはなっているものの、PageRankによってクロール結果の反映間隔が違うことは間違いなさそうだ。なので、SEO対策した結果のチェックを行う際には、このPageRankごとのクロール結果の反映間隔を念頭に置く必要がありそう。

Google Sitemap自動生成ツール

能動的にページの存在を通知することが出来るGoogle Sitemapだが、サイトマップファイルを作るのはシステムがない限り案外面倒かもしれない。そんなときに活躍するのが自動生成ツール。Googleからもリリースされているが、pythonのため、プログラムを動作させられる環境がなければ難しい。こんなサイトを見つけてみたので、プログラムを動作させられない人には使えるかもしれない。

Urchin

Google Analyticsで提供されているログ解析は実はUrchinというエンジンが利用されているということを同僚に教えてもらった。確かにソースにはurchinTrackerという関数が呼ばれているから不思議ではないわけですが。
Urchineは株式会社プロトンが代理店として販売を行っているソフトウエア。1台あたり28.4万円もするソフトウエアなのですね。Googleの進める「ネット上にたまった富の再分配」というのはまさにこういうことなのか?