Blosxom による CMS 構築と SEO テクニック Tatsuhiko Miyagawa miyagawa@bulknews.net Edge, Co.,Ltd. / Shibuya Perl Mongers Shibuya.pm Tech Talks #4
アジェンダ Shibuya.pm の裏側 Shibuya.pm サイトと SEO blosxom という Blog ツール CMS としての Blog 運営をラクにするプラグインの導入 Shibuya.pm サイトと SEO Blog ツールと SEO の相性は? さらなる PageRank 向上へのテクニック
Shibuya.pm の裏側
Perl Mongers DNS サービスを利用 Shibuya.pm Web サイト Perl Mongers DNS サービスを利用 http://shibuya.pm.org/ Perl Mongers に登録されると利用できる MX レコードも向けてくれと頼んでいるが … エッジ社 iDC にて運用中のサーバにて VirtualHost (bulknews.net 等と同居)
Shibuya.pm サイトの歴史 2003年1月運用開始 mod_insert (by 小山氏) による運用 blosxom に影響をうけた(?)Apacheモジュール プラグインで拡張可能な SSI モジュール 現在開発絶賛放置中 (SF.jp modinsert) その意志は mod_blosxom へ受け継がれた セミナー受付に F4 (by キムラ氏) を利用 メンバー作ツールを使うことによる満足感
mod_insert での運用 エントリはテキストベース FTP による運用 1エントリ 1ファイル (.txt) 1行目にタイトル、2行目以降に本文 HTML タグを直接記述 FTP による運用 shibuya-pm ユーザ chroot, シェルなし (ProFTPd) 運営者がパスワード共有
blosxom への移行 2003年3月 blosxom へ移行 Trackback などのインタラクティブ性 プラグイン開発の容易さ mod_insert は C (Apache API) で開発
blosxom: zen of blogging 2002年4月 に use Perl; にて紹介 超軽量 Blog ツール (ver. 1.0 は数十行の Perl スクリプト) 1エントリ 1ファイル CGI として動作 プラグインによる拡張 (ver. 2.0 から) gnat writes "A nice counterpoint to Movable Type is Blosxom, an ultra-lightweight blogging tool. Along similar lines is Blagg, an RSS aggregator. Both are written by O'Reilly employee Rael Dornfest of Meerkat fame. (His job title really is "Maven")"
blosxom: zen of blogging (cont.) 動作原理 URL からエントリへのマッピング (PATH_INFO) http://shibuya.pm.org/blosxom/techtalks/techtalks_200310.html カテゴリ ファイル名 フレーバ techtalks ディレクトリの techtalks_200310.txt を html フレーバで表示 http://shibuya.pm.org/blosxom/books/index.rss books ディレクトリの最新 $blog_entries 件を rss フレーバで表示
blosxom: zen of blogging (cont.) プラグインによる拡張 head, start, date, story, interpolate, foot など各種フェーズにフィルタやクロージャを登録 blosxom plugins registry http://blosxom.com/plugins/ 執筆現在 187 個の登録
blosxom での運営 当初は mod_insert と同様の運用 UTF-8 化とともに、ブラウザでの編集へ 複数人による書き込み FTP によるファイルアップロード だんだんめんどくさくなる UTF-8 化とともに、ブラウザでの編集へ いいエディタがない (Mule-UCS?) wikieditish プラグイン
Shibuya.pm で利用中のプラグイン monster:/home/shibuya-pm/blosxom/plugins> ls 00config dont_use/ path_trimmed 10foreshortened entriescache ping_weblogs_com_xmlrpc 10pending fileinfo prevnextentry 20meta fix_href_amps referer 80gzip flavourdir rss10 99contentlength google_sitesearch seemore asin googled state/ blogshares interpolate_fancy storytitle bookmarklet lastmodified trackback_counts_display datadirlink links uri_escape dirinfo lwall wikieditish
wikieditish / bookmarklet プラグイン ブラウザでの Wiki-Like な編集を実現 新規エントリ追加も可能 Shibuya.pm では拡張したものを利用 Trackback Auto-Discovery + 送信 Bookmarklet 編集衝突回避 (編集前 timestamp 比較) http://blog.bulknews.net/mt/archives/000355.html
meta プラグイン エントリのメタ情報を記述 editor, contact, keywords, status エントリごとの markup 変更にも使える <a href=mailto:$meta::contact>$meta::editor</a> たいとる meta-editor: miyagawa meta-contact: miyagawa@bulknews.net meta-keywords: blosxom 本文
Publish する前のプレビュー (自作) pending プラグイン Publish する前のプレビュー (自作) meta-status: pending URL に ?pending=password を入力して閲覧 同様のプラグインに submission 等がある ファイル名 .preview などの実装が多く wikieditish との相性が悪い meta- で指定できるよう自作
prevnextentry プラグイン MT にはあるけど blosxom にない 次の記事 / 前の記事へのリンク http://blog.bulknews.net/mt/archives/000181.html
seemore プラグイン 「続きを読む …」 の実装 長文のエントリを書く際に有用 RSS の description にも利用 ニュースサイト CMS っぽさの演出
links プラグイン リンク集を簡単につくるプラグイン <links></links> の間に URL 羅列 GET で TITLE とってくる キャッシュ LL Saturday リンク集で威力発揮
まとめ blosxom は簡単導入、更新も楽なBlog CMS としての使用にはプラグインが有効 実はそうでもない ハックする楽しみ(= 手段の目的化) blosxom CMS パックとして近日リリース予定 セミナー受付もプラグイン化したい Writeback でできそう 確認画面やメール送信がメンドウで f4 のまま
CMS (Blog ツール) と SEO
SEO サーチエンジン最適化 クローラーがインデクシングしやすいようにサイト構成、HTML を最適化 コストをかけずに集客 近年 Web コンサルタントのメシのタネ CMS 導入や Web 全面リニューアルのきっかけ
「Blog と SEO は相性がよい」 という説 CMS / Blog と SEO 「Blog と SEO は相性がよい」 という説 Google で Blog が上位に来やすい現象 “iTunes Windows” で検索 上位はすべて CMS によるニュースサイトか Blog
本当に相性がよい? 技術的ファクター XHTML + CSS がクローラーに好印象 Trackback / RSS による自動リンク PageRank [tm] 向上 サイト内導線の維持 更新頻度が高い ⇒ フレッシュクロール フレッシュクロールは高ランキングになりやすい
Shibuya.pm では … HTML / サイト構成的 SEO 対策 URL に .cgi をいれない 実はあまり関係ない 有用な blosxom プラグインの利用/開発 blosxom フレーバの活用
<TITLE> タグにエントリのタイトルをいれる storytitle プラグイン <TITLE> タグにエントリのタイトルをいれる かなり重要 サイトのタイトルよりエントリのタイトルを前にいれた方がよい(某SEO本より) Shibuya.pm ではそこまでやっていない
Last-Modified:, If-Modified-Since: 対策 適切に対処すると好印象 Last-Modified でフレッシュクローラの対象に 現状 lastmodified プラグインには常に最新記事の timestamp を使用してしまう不具合あり Web ブラウザ ではキャッシュが効きすぎる /Googlebot/ の時だけ動作 (うーん …)
contentlength プラグイン Content-Length: を出力 とことん静的HTMLと同様に見えるように あまり関係ないような気がする
breadcrumbs プラグイン パンくずリスト (未導入) クローラへの導線の確保 Shibuya.pm ではカテゴリ1階層なので不要 カテゴリ深いサイトでは有用かも
referer プラグイン Referer を記録してリンク SPAM や bot を除去する設定必要 自動で関連記事にリンクするため有用 Trackback より現状ではカジュアル tDiary な日記にリンクすると …
Printer Friendly バージョン O’Reilly Net のパクリ 別に印刷するこたぁないだろうけど … 類似したページがサイト内で相互にリンクするため PageRank の相乗効果
archives フレーバ 全エントリの一覧 サイトマップとしての機能 クローラへの導線確保
googled プラグイン いつ Googlebot に見られたか記録 SEO 効果はないが、検証のため フレッシュクロールの効果確認 いつの時点でスナップショットされたか
技術面以外の SEO 特定のネタにフォーカスしたサイトに リンクされやすいコンテンツ PDF や PPT の公開 セミナー告知やレポートがほとんど リンクされやすいコンテンツ リンク集をつくる(てっとり早い) PDF や PPT の公開 クローラは賢い Yahoo! Japan へ登録
結果は … PageRank 6/10 “Lightning Talks” 1位 “Perl モジュール プログラミング” 1位 “PHP Session” 1位 “blog encodings” 1位 “プログラマの三大美徳” 1位 “Shibuya” 4位 “楽天広場” 8位
まとめ Blog ツールは SEO に有用 さらに最適化するためのプラグイン なんのための SEO かを考えよう 商売やってるわけではない Amazon アフィリエイトもあんまし … ハックする楽しみ (= 手段の目的化)