これまで下記URLを参考にサイトマップを生成していたのだが
以下のURLにて気になる一文が
「サイトマップには、サイト内の全ページを記入するのではなく、重要なページだけを書いておくべきだ。」(ヤフーのサクター氏)
「サイトマップ内のURL構造は非常に重要だ。サイトマップファイルでは、検索エンジンにインデックス化してもらいたいURLの、最も短くてオーソリティが高く、正規化された形を使おう。」(マイクロソフトのブジア氏)
後者の意味は理解していない(おぃ
まぁ、全ての記事のURLをsitemap.xmlに載っけるのは間違いってこったな(たぶん
というわけで改造。。。
/system/customの中の「GsmapStoryBuilder」クラスを改造。。。もちろん
VerUPしたら再度、修正しなければならないやり方である(おぃ
class GsmapStoryBuilder extends GoogleSiteMapBuilder {
function GsmapStoryBuilder( $url_rewrite, $charset,
$change_freq = GSMAP_DEFAULT_CHANGE_FREQ, $priority = GSMAP_DEFAULT_PRIORITY ) {
global $_CONF, $_TABLES, $GSMAP_CONF;
// Be sure to call the constructor of the parent class
parent::GoogleSiteMapBuilder( $change_freq, $priority );
$urlBuilder =& new UrlBuilder( $url_rewrite, $charset );
$sql = "SELECT sid, date FROM WHERE (tid <>'etc') AND (tid <>'90') AND (date <= NOW()) AND (draft_flag = 0) AND (perm_anon >= 2) ORDER BY date DESC";
$result = DB_query( $sql );
while ( $A = DB_fetchArray( $result ) ) {
$urlBuilder->start( $_CONF['site_url'] . '/article.php' );
$urlBuilder->addParm( 'story', $A['sid'], true );
$url = $urlBuilder->finish();
$lastmod = strtotime( $A['date'] );
$this->addEntry($url, $lastmod, $this->change_freq, $this->priority );
}
}
}
赤字の部分が今回、修正した部分である。
調べるとテーブル「gl_stories」の中の「tid」フィールドが「話題ID」のようだ。
このブログでは「話題」の「いろんなこと」は「etc」というIDで設定している。
また、昔使っていた「いろいろ」という「話題」は「90」というIDで設定している。
これで「いろいろ」と「いろんなこと」はsitemap.xmlに書き込まれなくなった。
確認のしかたは
Geeklogでサイトマップを自動作成する方法の下部の「確認 :」という部分を参考
特にこのブログのアクセスアップを狙っているわけではないのだが、来る本番に向けての修行だ。