PHPでサイトマップを動的に生成する方法
2024/05/22
WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイトにサイトマップを設置したかった。WordPressだとプラグインでいけるし更新の少ないサイトであれば以前メモしたような以下のようなサイトを使えば良い。
サイトマップを作成してくれるツール
https://taitan916.info/blog/archives/2228
ソースコード
今回は自動更新だったので動的に生成する場合のメモ。ライブラリとかは使わず最低限のものを直プログラムで書いた。
$sitemap = '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <url> <loc>http://hoge.com/</loc> <priority>1.0</priority> <changefreq>daily</changefreq> </url> '; //データベース等からページ情報を引っ張ってきてURLのところに貼る。何ページかをループで回す $sitemap .= ' <url> <loc>http://hoge.com/?pid=xxx</loc> <priority>0.8</priority> <changefreq>daily</changefreq> </url> '; $sitemap .= '</urlset>'; file_put_contents($_SERVER["DOCUMENT_ROOT"].'/sitemap.xml', $sitemap); //これだとhttp://hoge.com/sitemap.xmlにサイトマップが置かれる
自動更新のついでに上記ソースが動くようにしておけば良い。
サイトマップを置くことでSEO的にどれぐらい効果あるのかは知らないけど、置かないよりは置いておいた方がよさそう。
関連記事
-
-
LINEのURLプレビューを表示させないようPHP側で制御する方法
公開中の特定のページのみLINEのURLプレビューを表示させないよう制御したいと ...
-
-
PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...
-
-
PHPMailerを使ってメールをSMTP送信する方法(Composer無し)
PHPでメールをSMTP送信したかった。また、レンタルサーバだったのでCompo ...
-
-
PHPで住所や名前のテキストをランダム生成するライブラリFakerPHPの使い方
PHPでランダムなデータを生成したい際に値段や点数等の数値やパスワード等のランダ ...
-
-
PHPでtwitterとfacebookのいいねやフォローのカウント数を取得する方法
PHPでtwitterとfacebookのいいねやフォロー数を取得して表示させた ...