Phpblock gsmap()

提供: GeeklogJpWiki

[3]管理方法 > 管理者が導入後すぐ試せる簡単カスタマイズ > PHPブロックでブロックをカスタマイズする > GoogleサイトマップPHPブロック

目次

Googleサイトマップ作成PHPブロック phpblock_gsmap()

このカスタム関数はGeeklog用にGoogleサイトマップ形式のサイトマップを作成します。 Geeklogの記事,静的ページ,リンク,掲示板のトピックをサイトマップに含めること ができます。生成のタイミングは、cronまたはカスタム関数CUSTOM_runSheduledTask()で呼び出すことで、毎日定期的にに書き出します。

利用方法

  1. phpblock_gsmap.phpを <geeklog>/system/custom/ に置きます。
  2. 'sitemap.xml' という名前の空のファイルをサイトのトップディレクトリに置きます。ファイル名は phpblock_gsmap.php 中の $GSMAP_CONF['sitemap_name'] 変数と同じでなければなりません。このファイルはWebサーバーから書き込めるようにパーミッションを変更しておきます(たとえば,666)。
  3. phpblock_gsmap() をcronや <geeklog>/system/lib-custom.php の中から定期的に呼び出します。後者の場合は,同梱している "add_to_lib-custpm.php" の内容を,lib-custpm.phpに追加します。

現在配布している日本語版標準パッケージ(20061121版)を利用している場合には、 "add_to_lib-custpm.php" の内容を,custom/custom_runsheduledtask.php に記述してください。これで、定期実行関数CUSTOM_runSheduledTask()により、毎日自動的にGoogleサイトマップファイルが作成されます。

(2008年 8月16日追記) phpblock_gsmapは既に開発を終了し、サイトマッププラグインDataproxyプラグインに引き継がれています

モバイル用に2つ作成する方法

PC用だけでなく、モバイルサイトとしても同時に登録するためには、ファイルをもうひとつコピーする必要があります。そのファイル名を例えばmobile.xmlとします。

まず、同様にmobile.xmlという空のファイルを作成し,Webサーバーにアップして書込許可(666)を与えておく必要があります。

さらに、phpblock_gsmap.phpを次のように修正します。

phpblock_gsmap.phpの297行目 修正前:

@chmod( $path, 0644 );

修正後:

@chmod( $path, 0644 );
copy( $path, $_CONF['path_html'] . 'mobile.xml' );

これでモバイル用に、mobile.xmlを作成することができます。

注意

サイトマップに含めることができるエントリの数は 50,000 を超えてはいけません。また, サイトマップのサイズは10Mバイト(10,485,760バイト)を超えてはいけません。そのよう な巨大なサイト用にサイトマップを作るには,phpblock_gsmap() をハックする必要があります。

個人用ツール