top > ブログのカスタマイズ > mt4iモバイルサイトのサイトマップを自動更新にしてみた
2010年02月04日

mt4iモバイルサイトのサイトマップを自動更新にしてみた

前回、mt4iで作ったの携帯サイト用のモバイルサイトマップを作成して、無事Googleにもインデックスされたんですが、このモバイルサイトマップが当たり前ながら自動で更新されないんです。

普通のPC用のMovabletypeのサイトマップは記事を更新するごとに勝手に更新してくれます。モバイルサイトマップも自動で更新してくれないと、いちいち手動で更新してたんじゃ面倒くさいという事で、自動でモバイルサイトマップを更新するためのテンプレートを作ってみました。

いろんなサイトに書かれてあったのでスグできるかと思ったんですが、XMLパースエラーとかでて結構時間がかかりました。

で、できたモバイル用のサイトマップが以下の物です。

<?xml version="1.0" encoding="UTF-8"?>
<urlset
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0">
<url>
<loc><$MTBlogURL encode_xml="1"$>m/index.cgi</loc>
<mobile:mobile />
</url>
<MTEntries lastn="9999">
<url>
<loc><$MTBlogURL encode_xml="1"$>m/individual_<$MTEntryID$>.html</loc>
<mobile:mobile/>
</url>
</MTEntries>
</urlset>

これでうまく自動更新できてます。

そもそもパースエラーとかでてた原因は、もともと参考にしていたサイトマップの$MT:のところが、私のブログの場合Movabletypeのバージョン3.35だからか分かりませんが、NGでした。

なので、
$MT:BlogURL→$MTBlogURL
MT:Entries→MTEntries
$MT:EntryID$→MTEntryID
MT:Entries→MTEntries
に変更しました。

そしてmt4iのアドレスを動的な長い物から静的な短いものに変更していました。もともと
http://shin.s-ence.org/m/index.cgi?mode=individual&eid=xxx
だったのを
http://shin.s-ence.org/m/individual_xxx.html
という風に。

なので、参考にしたサイトマップの
<loc><$MT:BlogURL encode_xml="1"$>index.cgi?mode=individual&eid=<$MT:EntryID$></loc>
の部分を
<loc><$MTBlogURL encode_xml="1"$>m/individual_<$MTEntryID$>.html</loc>
に変更しました。

これで
http://shin.s-ence.org/m/m-sitemap.xml
を確認したらきちんと出力されました。


【みなさんこちらも読んでます】

コメントする

トラックバックURL

このエントリーのトラックバックURL:
http://shin.s-ence.org/mt-tb.cgi/508