PHPでサイトマップを動的に生成する
WordPress等のCMSは使っておらず、自動更新するサイトがあり、そのサイトにサイトマップを設置したかった。WordPressだとプラグインでいけるし更新の少ないサイトであれば以前メモしたような以下のようなサイトを使えば良い。
■サイトマップを作成してくれるツール
https://taitan916.info/blog/?p=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的にどれぐらい効果あるのかは知らないけど、置かないよりは置いておいた方がよさそう。
関連記事
-
-
PHP7.4でAPCuとOPcacheをインストールする方法
先日本ブログのサーバをCentOS6系から7系に移行し、その際にMySQLのバー ...
-
-
incファイルとかtplファイルとか
初めて見るサーバーのファイルを見ていると incファイルとかtplファイルとか見 ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
PHPの日付・時刻関連
使えそうなものをまとめてメモ。 【関数】 ----------- ■date 日 ...
-
-
WordPressで自動でmetaタグのkeywordsとdescriptionを表示
metaタグのkeywordsとdescriptionにて、基本的にはAll i ...
-
-
さくらvpsでPHPのエラーログ設定
PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...
-
-
自動的に定義される定数
PHPファイルを解析中__LINE__という記述があり、 定数? とその場は思っ ...
-
-
クロスドメインな状況でiframeがIEのみ挙動がおかしくなる場合
iframeで別のドメインのサイトを表示させた場合に、firefoxやchrom ...
-
-
お名前.comの共用サーバー(SD)でのphp設定
画像のアップロードフォームを作っていて、そういえば最大ファイルサイズは? と思っ ...
-
-
PHPのカレンダー関数
カレンダー関数で使えるかもしれないものをメモ。 ■cal_days_in_mon ...