勉強したことのメモ

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

  関連記事

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 ...