PHPで自動でサイトマップを作成するスクリプト XML Sitemap PHP script と 検さぽのサイトマップ自動生成ツール
ちょうど静的なHTMLのサイト(一部PHPでインクルード)を使ったサイトを作っていて、CMSみたいにプラグインで動的にサイトマップを作れたらいいなっと思って調べてみたら 2つのPHPでそれを実現するスクリプトを見つけました。
PHPで動的に自動でサイトマップを作るスクリプト
ひとつは Joost de Valkさんの XML Sitemap PHP script
ひとつは 検さぽさんの サイトマップ自動生成ツール
この2つを見つけました、両方ともちゃんと使えました
この際なので両方の使い方を紹介します
XML Sitemap PHP script の使い方
ファイルをダウンロード
https://yoast.com/xml-sitemap-php-script/
ページの下の方にあるdownloadからダウンロードするかGitHubの方からもダウンロード出来ます
ダウンロードして解凍して出てきたファイルの内必要なのは次の3つ
config-sample.php → config.php リネーム
xml-sitemap.php
xml-sitemap.xsl
まず、config-sample.phpをconfig.phpにリネームします
リネームしたconfig.phpを開きます
基本的にはURLの指定 http://www.example.com/ のところをトップページのURL入力
サイトマップに含める拡張子を決めるだけで動きます
これらのファイルをルートディレクトリに入れます
あとはサイトの http://URL/xml-sitemap.php にアクセスすればサイトマップが表示されます
これをGoogleのウェブマスターツールに登録すればOKです
見た目はxslのファイルのデザインが適応されます
検さぽのサイトマップ自動生成ツールの使い方
ファイルをダウンロードします
http://www.kensapo.com/sitemaps.html
ダウンロードというのを見つけてダウンロードします
ダウンロードして解凍したらファイルsitemap.phpひとつ出てきます
これを設定します
日本語なので説明は殆どいりませんと思いますが
トップページのURLの指定、ファイルタイプの指定、これだけで基本的OKです
あとはこれをルートディレクトリにアップロードして
http://サイトのURL/sitemap.php にアクセスすればOKです
このURLをウェブマスターツールに登録すればサイトマップの送信が出来ます
2つを使い比べて
検サポ のサイトマップ自動生成ツールは日本語なので扱いやすいし、ファイルもひとつで手軽
ただ出力されたサイトマップに トップページのURLと index.htmlの方のURL両方載ってしまうのでダブりが生じる問題がある
XML Sitemap PHP script の方はダブリなく表示できる、ただサブフォルダの優先度の設定が出来ない
またこちらも index.htmlの方のURLが出力される
両方共トップページやディレクトリのページのURLがindex.htmlで出力される問題点がある
URLの正規化でindex.htmlを使わないようにしている場合には使いづらいかな。
改良すれば、多分対応できると思うのですが
今のところ私にはそこまでのPHPの知識が無いので対処出来ませんが
気が向いたら調べてみたいですね
XML Sitemap PHP script の方だったらxslの方でゴリ押しでやれそうな気もする
COMMENT