ウェブ制作.net
MovableTypeのプラグイン

このWebサイトの制作、更新を通じてWeb制作について学んだことと、Web制作会社に仕事をお願いするに当たって学んだことを書いていきます。

SubmitSitemap 0.7.5

色々テストをしたので今度こそ大丈夫です!
SubmitSitemapを更新しました。
SubmitSitemap_075.zipに最新版があります。

今回からタグの記述方法が若干かわりました。
今まで同様にSitemapのテンプレートに入れるのですが、
<!-- <MTSubmitSitemap destSite="Google" template="sitemap" interval=3600> --> とか
<!-- <MTSubmitSitemap destSite="Yahoo" template="yahoo_sitemap" interval=3600 YahooAPI_ID="YahooAPIのID"> -->
といった感じで、テンプレートの一番下に書いてください。


Sitemapをちゃんと送信できたかの確認は生成されたSitemapを見れば分かるように変更しました。
成功時のメッセージ:
<!-- SubmitSitemap Ver:0.7.5 Message:Submit sitemap to Google is Successed at Tue Dec 12 23:10:09 2006 -->
<!-- SubmitSitemap Ver:0.7.5 Message:Submit sitemap to Yahoo is Successed at Tue Dec 12 23:10:09 2006 -->

sitemap送信頻度が高すぎるときのメッセージ:
<!-- SubmitSitemap Ver:0.7.5 Message:Too short to Submit sitemap to Yahoo at Tue Dec 12 23:00:51 2006 -->
<!-- SubmitSitemap Ver:0.7.5 Message:Too short to Submit sitemap to Google at Tue Dec 12 23:00:50 2006 -->

失敗時のメッセージ:
<!-- SubmitSitemap Ver:0.7.5 Message:Submit sitemap to Google is failed at Tue Dec 12 23:10:09 2006 Reson:○○○○○○ -->
<!-- SubmitSitemap Ver:0.7.5 Message:Submit sitemap to Yahoo is failed at Tue Dec 12 23:10:09 2006 Reson:○○○○○○ -->
※○○○○○○にシステム的な理由が表示されます。


完成したと言ったのにいい加減なレベルだったみたい・・ごめんなさいm(_ _)m


いいな!と思ったら投票をお願いします。
SubmitSitemap 0.6.6

SubmitSitemapを使ってSitemapを更新するとうまく生成されないことがあると分かりました。
恐らく理由は、送信が成功したかどうかをログに落とす処理をいれていたことによると思われます。
取りあえずのAd-Hocな対応としては、ログ保存の処理をコメントアウト・・・。

暫くはSubmitSitemap_066.zipをお使いください。


いいな!と思ったら投票をお願いします。
SubmitSitemap 0.6.5

出してすぐですが、SubmitSitemapを更新しました。

SubmitSitemap_065.zipをお使いください。
実験的に入れていたコードに問題があることが分かりました。。。


いいな!と思ったら投票をお願いします。
Sitemap送信プラグイン完成!!

色々調べながらSitemapを送信するプラグインを作っちゃいました。


さて、作ったプラグインの使い方ですが、プラグインページにある
Yahoo sitemap自動化への道 001Yahoo sitemap自動化への道 003
Google sitemap自動化への道 001Google sitemap自動化への道 002
書いた内容が出来ている前提で簡単に書き記します。

使い方は簡単です。
まず、 mt/plugin/SubmitSitemap.plとなるようSitemapを送信するプラグインを設置します。

で、MovableTypeのテンプレートからsitemapかyahoo_sitemapを選んで、以下のような感じでタグを好きなところに挿入します。

<MTSubmitSitemap destSite="Yahoo" template="yahoo_sitemap" interval=3600 YahooAPI_ID="YahooAPIのID">

記述のルールは以下です。
destSiteにはYahooかGoogleが入ります。
 大文字、小文字チェックが厳しいのでコピペが良いかと。

templateにはテンプレート名が入ります。
 今回の例では、sitemapyahoo_sitemap が入ります。

intervalにはsitemapの送信頻度が入ります。単位は秒です。
 sitemapの送信が成功した時間をプラグインで保存しているので、この時間との差分を計算する仕組みです。
 ただし、1時間(3600秒)より短く指定しても、1時間はsitemapを再送しないようにしてあります。

YahooAPI_IDにはYahoo sitemap自動化への道 003で取得したAPIのIDを入れます。
 Google sitemapの時にはこの値は読まれません。

なのでGoogleの場合には、
<MTSubmitSitemap destSite="Google" template="sitemap" interval=3600>
と書く感じです。

恐らく、無事に動いてくれている・・・と思いますがテストしてくださる方、フィードバックをお願いします。
このプログラム自由に使っていただいて構いませんが、再配布の際には入手元が分かるようにしてください。
*改造・改変をされる際には、事前にご一報ください。
著作権?はわたくしcoremine にあり、放棄はしません。


いいな!と思ったら投票をお願いします。
Yahoo sitemap自動化への道 003

ハイ、Yahoo sitemap自動化への道 002ではウソをつきました。。。。ごめんなさい。
YahooAPIのIDを取得する必要がありました。

Application ID request formに作成したいAPIのIDを入力して、「Submit Registration」を押します。

あっけなく終わりますが、メッセージをよく読むと確かにYahooAPIのIDが出来上がっています。
これを控えておかないとYahoo sitemapは自動化が出来ないです!!


いいな!と思ったら投票をお願いします。
Yahoo sitemap自動化への道 002

Yahooに対してsitemapを登録します。

Yahooキャプチャ
まず、Yahooアカウントの登録をします。
まぁ、それっぽく入れてください。

Yahooキャプチャ
Yahoo Site Explorerへアクセスします。

Yahooキャプチャ
ここでWebサイトのURLを入れ「Add My Site」を押します。

Yahooキャプチャ
画面の指示に従って、サイトの認証をします。
自分がそのWebサイトの管理者か否かの確認です。
画面からファイルをダウンロードして、FTPでアップロードするだけです。


Yahooキャプチャ
その後、サイトマップの登録です。ファイル名を指定して「Add Feed」を押します。
Yahoo sitemap自動化への道 001の例でいうと、y_sitemap.xmlと入れればOKです。


これで一応、準備は整ったのであとはプラグインがあれば大丈夫のはず・・です。


いいな!と思ったら投票をお願いします。
Yahoo sitemap自動化への道 001

最初にYahoo sitemapを生成します。
MovableTypeによる生成が簡単だと思います。

サンプルを書いておきます。
これをテンプレート登録すると楽チンです。

このサイトで使っているMovableTypeでは以下のように設定しています。
・テンプレート名:yahoo_sitemap
・出力ファイル名:y_sitemap.xml
・インデックス再構築時:再構築する
・テンプレートの内容:サンプル


いいな!と思ったら投票をお願いします。
Google sitemap自動化への道 002

Googleに対してsitemapを登録します。

Googleキャプチャ
まず、Googleアカウントの登録をします。
まぁ、それっぽく入れてください。

Googleキャプチャ
ウェブマスター ツールへアクセスします。

Googleキャプチャ
ここで、「サイトを追加」欄に自分のサイトのURLを入れます。

Googleキャプチャ
画面の指示に従って、サイトの認証をします。
自分がそのWebサイトの管理者か否かの確認です。
画面にある認証コードを自分のWebサイトの中に書くだけです。


Googleキャプチャ
その後、サイトマップの登録です。
Google sitemap自動化への道 001の例でいうと、http://ドメイン名/sitemap.xmlと入れる感じです。


これで一応、準備は整ったのであとはプラグインがあれば大丈夫のはず・・です。


いいな!と思ったら投票をお願いします。
Google sitemap自動化への道 001

最初にGoogle sitemapを生成します。
MovableTypeによる生成が簡単だと思います。

サンプルを書いておきます。
これをテンプレート登録すると楽チンです。

このサイトで使っているMovableTypeでは以下のように設定しています。
・テンプレート名:sitemap
・出力ファイル名:sitemap.xml
・インデックス再構築時:再構築する
・テンプレートの内容:サンプル


いいな!と思ったら投票をお願いします。
Yahoo sitemapの自動化

Yahoo!公式ブログ?Yahoo! Developer Networkによれば、
Yahooでのsitemap自動化は、
http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=APIのID&url=サイトマップのURL
にアクセスすれば良いみたいです。

APIのIDはここから取得できますが、
まずはYahoo!のアカウント登録が必要っぽいです。


つまり、Google sitemapの自動化Yahooのsitemap自動化も特定のURLにアクセスすれば良いということですな。。
よし、色々やってみよう。


いいな!と思ったら投票をお願いします。
Google sitemapの自動化

ここにある情報によれば、Google sitemapに情報を送るときには、ブラウザで
www.google.com/webmasters/sitemaps/ping?sitemap=サイトマップのURL
アクセスすれば良いみたいです。(ただし、サイトマップのURLはエンコードが必要だそうです。)

つまりGoogle sitemapの自動化は、sitemapが生成 or 再構築される時に、↑のURLへアクセスする仕組みがあれば良さそうですね!


PerlからURLにアクセスするモジュールが必要・・・。と、思ったところで検索。。。
すると、LWP::UserAgentなんていう物が見つかりました。
LWP::UserAgentは単純なWorld-Wide Web ユーザ・エージェントをPerlで実装するクラスです。」だそうです。

うん、まずは上々の滑り出し。


いいな!と思ったら投票をお願いします。