今日は4月1日ですが、以下の記事は嘘記事ではありません。(^^;
前回は、コミュニティーサーバーのカスタマイズ概要を書きましたが、本日は引き続き実際にカスタマイズをしてみたいと思います。
カスタマイズの目的は以下の3つ。
-
トラックバックURLをブログに表示する
-
はてなブックマーク機能を組み込む
-
googleから検索されやすいようにする
他にもカスタマイズのネタはいくつかありますが、まぁそのうち。(^^;
コミュニティサーバー同士のトラックバックは、URLを本文に記載するだけでOKなのですが、他ブログからのトラックバックの際には、以下のURLにTrackBack Pingを打つ必要があります。
http://(サイトURL)/cs/blogs/(ブログ名)/trackback.aspx?PostID=(ポストID)
上記のURLは、標準では表示されていませんので、Community Serverのことを知らなければ当然わかりません。
ポストIDは、ソースを見れば探すことはできますが、さすがにそんなにマニアックなことをしてまでトラックバックを打ってくれる方は居ようもありません。
そこで、各記事のページに、以下のようにトラックバックURLを表示するようにします。
トラックバック用URL
http://daigan.dir.st/cs/blogs/blog/trackback.aspx?PostID=-1
上記のURLをクリップボードにコピーしてご使用ください。
※稀に、PostID=-1と表示されていることがあります。(バグです。原因調査中) ※その場合、トラックバックはエラーになりますが、ページのソースを見て、PostIDを検索して正しい値に置き換えればトラバできます。m(_ _)m |
Step1:Skin-DetailedPostSubscription.ascx を編集する
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
投稿記事の下の欄にある、
コメントの通知
この投稿にコメントが付いた場合にメールを受信するには、登録してください。ここ
また次のフィードから、お気に入りのRSSリーダーを使って最新の状態を知ることもできます。
コメントのRSSフィード |
という部分を置き換えてしまいます。
(この機能、使ってる人いませんからね。(笑))
おっと、編集前には必ずファイルをコピーして、オリジナルのバックアップを取っておくようにしましょう。
ファイルは、\Web\Themes\Blogs\(使ってるスキン)\Skins フォルダの中にあります。
Step2:ぜんぶ置き換える
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
面倒なので、まるごと以下のHTMLに置き換えてみてください。
| |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
<%@ Control Language="C#" %> <%@ Register TagPrefix="CS" Namespace="CommunityServer.Controls" Assembly="CommunityServer.Controls" %> <%@ Register TagPrefix="Blog" Namespace="CommunityServer.Blogs.Controls" Assembly="CommunityServer.Blogs" %> <%@ Import Namespace="CommunityServer.Components" %> <div id="postToolbar"> <h2 class="CommonSubTitle">トラックバック用URL</h2> <p><strong><font color="#0000FF"> <script type="text/javascript" language="javascript"> <!-- var jsPID = "<%=CSContext.Current.PostID %>"; document.write("http://(あなたのURL)/cs/blogs/(ブログ名)/trackback.aspx?PostID=" + jsPID); // --> </script> </font></strong></p> 上記のURLをクリップボードにコピーしてご使用ください。<br><br> ※稀に、PostID=-1と表示されていることがあります。(バグです。原因調査中)<br> ※その場合、トラックバックはエラーになりますが、ページのソースを見て、PostIDを検索して正しい値に置き換えればトラバできます。m(_ _)m </div> |
|
タイトルの箇所は、本来の作法であれば英語で書いておいて、Languagesのモジュールで変換するべきなのかもしれませんが、まぁ良しとしましょう。
上記の変更箇所でのポイントは、12行目の<%=CSContext.Current.PostID %>です。
<% ~ %>は .Netプログラミングの基本なのですが、それを用いてCommunity Serverの動作変数を取得しています。
その後、トラックバックURLに document.write で書き出している、というわけです。
#意外と簡単でしょ?(^^;
Community Server の他に使える変数は以下のURLあたりを参考にしてみてください。
http://thomasfreudenberg.com/blog/archive/2006/09/19/Updated-coComment-support-for-Community-Server-2.1.aspx
こちらは、実はあまり意味があるわけではありませんが、とりあえずページの飾り程度にどうぞ。
ファイルは Skin-EntryView.ascx を編集します。
(スキンフォルダの Skinsディレクトリの中にあります。)
このファイル中の h4 タグの中身を編集します。
<h4 class="BlogPostHeader"><asp:Literal id="EntryTitle" runat="server" /> <Blog:BlogRatePost runat="server" id="Ratings" CssClass="CommonRateControl" ReadOnlyCssClass="CommonRateControlReadOnly" ActiveCssClass="CommonRateControlActive" ImagesBaseUrl="~/Themes/default/images/common/" /></h4>
の中だけを以下のように書き換えてください。
| |
<h4 class="BlogPostHeader"> <table border="0" width="100%" cellspacing="1"> <tr> <td> <asp:Literal id="EntryTitle" runat="server" />
<Blog:BlogRatePost runat="server" id="Ratings" CssClass="CommonRateControl" ReadOnlyCssClass="CommonRateControlReadOnly" ActiveCssClass="CommonRateControlActive" ImagesBaseUrl="~/Themes/default/images/common/" /> </td> <td width="100">
<div id="hatena-bookmark"></div> <script src="http://(スクリプトのパス)/hatena.js" type="text/javascript"></script>
</td> </tr> </table> </h4> |
|
単に、表を2列にして、右側にハテナの機能を入れているだけなのですけれど。(^^;
scriptのsrcで指定している JavaScript はコチラからダウンロードしてください。
これでハテナボタンを組み込むことができます。
あと、集約ページに xxxx Users という表示(xxxxは数字)を入れられれば完璧ですね。(現在トライ中)
ただ、ここのサイト全体でも、まだブクマが数件しかないので、あわてなくてもいいかな。(^^;サミシー
ということで、集約ページへのハテナユーザー数カウンター設置は、そのうち出来上がったら方法を公開します。
| ■ google や yahoo から検索されやすいようにする |
さて、本日最後のカスタマイズ。
このカスタマイズは何をするのかというと、集約ページ(リストページ)をgoogle等の検索ロボットで検索されないように設定します。
というのは、集約ページがgoogle等の検索エンジンに検索されてしまうと、記事に直接リンクが貼られなくなってしまい、結果として検索上位にランクされずにサイトへのアクセスが減ってしまうことになります。
そこで、検索エンジンのロボット検索禁止命令である、下記の行を Skin-EntryList.ascx に組み込みます。
(ディレクトリは、\Web\Themes\Blogs\(スキン名)\Skins にあります。)
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
この行を、
<%@ Register TagPrefix="Blog" Namespace="CommunityServer.Blogs.Controls" Assembly="CommunityServer.Blogs" %>
の直後(改行して)あたりに挿入すればOK。
2~3日後に、リストページは検索エンジンから検索されないようになるので、各投稿記事へのリンクが活かされてサイトへのアクセス数か増えるかも?しれません。
さて、以上3つのカスタマイズをご紹介いたしました。
今後も当サイトはカスタマイズを続けていくと思いますが、もし Community Server をお使いの方等で、こんなカスタマイズがしたい、してほしい、というご要望がありましたら、コメント欄にご記入ください。
私のスキルで可能な範囲で、頑張って方法を考えていきたいと思います。
《参考》 CSを使っているサイトでカスタマイズに関する記事
http://blogs.wankuma.com/naka/archive/2005/04/30/11245.aspx
http://ravipen.net/cspe21/blogs/life/archive/2007/03/13/dream.aspx
http://www.yamamoworks.net/cs/blogs/yamamo/archive/2006/08/21/changed-skin.aspx
http://www.showg.org/blog/archive/2005/04/07/45.aspx
http://japan.communityserver.info/blogs/archive/2006/05/23/53.aspx