勉強したことのメモ

webプログラマが勉強したことのメモ。

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的にどれぐらい効果あるのかは知らないけど、置かないよりは置いておいた方がよさそう。

 - PHP, SEO

  関連記事

AjaxのJSONP使用でPHPで作った配列をJSに返す方法

AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...

独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

PHPの文字化け対策

PHPファイルもDBも全部UTF-8で出来たらいいけど、 そうもいかない場合が多 ...

PHPの条件式でまとめて評価

PHPのソースで、 if( !($hoge || $fuga || $foo) ...

フォームからCSVファイルをアップロードしてPHPの配列に格納する方法

formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...

mb_convert_variablesとmb_convert_encodingの違い

両関数の違いについて、引数の場所というか順番が違うだけ? と思ってたけどどうにも ...

javascriptでHTML内に関数を書きたい場合

ダイアログ確認したいだけでわざわざfunctionを 書くのもアレだという時に使 ...

Opauthで「Please change the…」エラー

Opauthを使用中に「Notice: Please change the va ...

PHPで配列かどうかを調べる

配列か否かを調べたいケースがあり、確認すると ばっちりそのままの関数発見。 is ...

htmlspecialcharsを通してMySQLに格納したものを元に戻して出力

MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...