レ点腫瘍学ノート

pukiwikiカスタマイズ箇所/2020/サイトマッププラグインを少し修正する の履歴差分(No.2)


#author("2020-09-14T23:58:03+09:00;1970-01-01T18:00:00+09:00","default:tgoto","tgoto")
#author("2020-09-15T00:14:49+09:00;2020-09-15T00:00:27+09:00","default:tgoto","tgoto")
#ref(https://oncologynote.com/img/5b74253bf0.jpg,nolink,サイトマッププラグインを少し修正する)

pukiwikiにはサイトマッププラグイン(sitemap.inc.php)があり、これを設置しておけば自動的にサイトマップが生成されます。当サイトのサイトマップは[[こちら>https://oncologynote.com/?cmd=sitemap]]。

これだけでも最低限の働きをしてくれますし、Google Search Consoleへの登録もこれでOKですが、短縮URLへの対応やページタイトルの記載追加を行ってみます。

**短縮URLへの対応

69行目のrawurlencodeをget_short_url_from_pagenameに変更し、70行目の''?''を削除します

 $r_page = rawurlencode($page); //変更前
 $link = $script . '?' . $r_page; //変更前
>$r_page = rawurlencode($page); //変更前
$link = $script . '?' . $r_page; //変更前

 $r_page = get_short_url_from_pagename($page); //変更後
 $link = $script . $r_page; //変更後
>$r_page = get_short_url_from_pagename($page); //変更後
$link = $script . $r_page; //変更後

**ページタイトルの追加

サイトマップは単純なXML文書なので、URLの上の段にページタイトルを追加するだけで済みます。106行目付近に下記の「この行を追加するだけ」の行を足せばOKです。$pageはページタイトルを出力するPukiwikiの変数。

 if($show) {
 $urls .= "  <url>\n";
 if($page != '') $urls .= "    <title>$page</title>\n"; //この行を追加するだけ
 if($link != '') $urls .= "    <loc>$link</loc>\n";
 if($date != '') $urls .= "    <lastmod>$date</lastmod>\n";
 if($changefreq != '') $urls .= "    <changefreq>$changefreq</changefreq>\n";
 if($priority != '') $urls .= "    <priority>$priority</priority>\n";
 $urls .= "  </url>\n";
 $count--;
 }
>if($show) {
$urls .= "  <url>\n";
if($page != '') $urls .= "    <title>$page</title>\n"; //この行を追加するだけ
if($link != '') $urls .= "    <loc>$link</loc>\n";
if($date != '') $urls .= "    <lastmod>$date</lastmod>\n";
if($changefreq != '') $urls .= "    <changefreq>$changefreq</changefreq>\n";
if($priority != '') $urls .= "    <priority>$priority</priority>\n";
$urls .= "  </url>\n";
$count--;
}

サイトマップはどこかのページを書き換えてタイムスタンプを更新させないと生成されませんので、プラグインを修正した後は試しにPukiwikiのどこかのページを書き換えてみてサイトマップに修正が反映されたかどうかを確認します。