« クリスマスケーキ1 |
サーバー構築からDVDまで
| googleサイトマップ作成ツール PHP版 »
google サイトマップ ツール 自作PHP版の使用方法
月曜日, 12, 05, 2005
googleサイトマップ作成ツール PHP版 なるものを作ってみました。
ちょっとテスト的に作ってみようと思ったら、特に難しいところもないのでそのまま最後まで作成。
一応、私の環境ではちゃんと思惑通りに動作していますが、他のところではどうなんでしょう。
私は全くと言っていいほどXMLの知識がないので、作成された書式が正しいのかわかりませんが、googleにアップしてもエラーがでないので一応は正しいんじゃないかと。
公開しておきますんで、使いたい方は使ってください。
そんな難しくはないと思いますが、余計なところをいじるとサーバーをクラッシュさせる事態になりかねないので注意。
なんかあっても、私は責任は持ちません。
googleの配布しているgoogleサイトマップジェネレーターは、
・ページのURL
・ページの最終更新時間
・ページのサイトにおける重要度(0.5000)
を記述するようになっていますが、私の作成したものは
・HTMLファイルのみ(拡張子がhtmlかhtm)マップに登録
・パスに「 index 」という文字列が入っている場合は、更新時間ではなく
<changefreq>daily</changefreq>
<priority>0.8</priority>
という属性(?)を記述するようにしました。更新頻度が高いindexファイルは、こちらの設定の方がいいんじゃないかなぁ。と思います。
だいたい1万を超えるファイル・ディレクトリでも3~4秒で終わると思います。
が、何度も言いますが、私以外の環境では試していないので他の環境ではサッパリわかりません。
もしうまくいった方は、このページにでもコメントくれるとうれしいです。
なお、もし反響がよければ、今度は更新したファイルのみ拾ってサイトマップに記録、さらにgoogleにアップデートしてくれるようなものを作りたいと思います。
私の場合はさらに改良して使用しています。こちらをみて頂ければ欲しくなるかも?(w
googleサイトマップ作成ツール 実行後画面
googleサイトマップ作成ツール PHP版
一応、ページ下部のテキスト入力欄の内容をコピーして、エディタか何かに貼り付け、必要な箇所を修正し、ファイル名を「walkDir.php」にして、文字コード「UTF-8」で保存してください。
保存後、サーバーにアップ。
サイトマップファイルを作成するので、ディレクトリのパーミッションを「777」か「757」にしてください。(作成後はパーミッションを戻してかまいません)もしくは、FTPかなにかで、なにも書かれていない「sitemap.xml」をアップして、このファイルのパーミッションを「777」にしてもOKです。
この作業は、はじめてサイトマップを作成するときだけです。
アップしたページにアクセスし、パスワードを入力して、送信ボタンを押せば出力されると思います。
投稿者 campanella : 2005年12月05日 23:22 | SEO対策 | 編集
![]()
□□□ トラックバック □□□
このエントリーのトラックバックURL:
相互リンク募集

自動相互リンクツール公開しています。
相互リンクしませんか?
SEO対策
- google ショック
- ぽすれん 5位!!
- ウイルスバスター でランクダウン
- スランプ
- ぽすれん で4位?
- ぽすれん、ウイルスバスターで変化が
- Yahoo!カテゴリーに登録されるには
- 自動相互リンク
- アクセスアップの秘訣
- ブログはじめました
- ぽすれんで7位
- ウイルスバスター SEO対策の第一歩
- ウイルスバスター で上位表示 その2
- ウイルスバスター で上位表示 その1
- HTML文法とSEO対策
- 中村堂ゼラチンパウダー
- 検索サイトからの訪問者データを公開
- ブログテーマ
- バックアップとオンラインストレージ
- 手のひら工房?
- Seesaa をハックする
- サイトインデックス数チェックツール 改良
- Yahoo!にインデックス化されるためには
- ブログ作成 FC2とSEO
- タイピング de 10位
- ブログ作成 比較
- SEO対策 検索サイトから
- YahooのSEO対策の今と昔
- ブログランキング
- クローリング申請は効果があるか
- 被リンク SEO対策
- 魔物
- pingサーバー一覧
- SEO対策 Yahoo対策 ページの更新
- ブログ 作成 サブドメイン方式と検索サイト
- ブログ 作成 ディレクトリ方式と検索サイト
- ブログ 作成 サブドメイン方式とディレクトリ方式
- トラックバックは効果
- トラックバックの効果
- タイピング ゲーム でYahoo!ダンシング?
- SEO対策 サイトの内容を充実させる
- レンタルサーバー選びのポイント アクセス解析
- 自動相互リンク
- クローリングが盛ん
- 携帯待ち受けや画像でランクアップ
- 間違ったSEO対策
- SEO 実験 大量のページでの違い
- Ask Jeeves クローリング
- 効果的なSEO対策 サイトの充実 2
- 効果的なSEO対策 サイトの充実
- トラックバックセンター一覧
- google サイトマップ ツール実行結果
- google サイトマップ ツール 自作PHP版の使用方法
- トラックバックを効果的に
- google サイトマップのインデックス
- google サイトマップ ツールの使い方2
- SEO対策 劇的なアクセスの伸び
- google サイトマップ ツールの使い方
- 検索単語が・・・
- タイピングが熱い
- SEO対策 Yahoo!サイトを利用
- googleダンス
- 各検索サイトにクローリングされるには
- SEO対策 過去最高のアクセス数
- RewriteRule 動的なページを静的なページに
- SEO対策 ドメインの登録期間
- ブログランキング参加中
- SEO対策 - 壁紙をキーワードとした場合の動き
- SEO対策 - Yahoo!に登録されるとどうなるか
- SEO対策 - Yahoo!に登録された!!
- 壁紙・素材・携帯待ち受け SEO調査 05/10/26
- SEO対策 - 効果的なSEO対策とは 4
- SEO対策 - 効果的なSEO対策とは 3
- SEO対策 - google page rank があがった!
- SEO対策 - 検索サイトからの訪問者数を振り返る
- 壁紙・素材・携帯待ち受け SEO調査 05/10/20
- 壁紙・素材・携帯待ち受け SEO調査 05/10/19
- 壁紙・素材・携帯待ち受けサイト構築記 SEO調査
- SEO対策 - タイピングゲーム キーワードアドバイス
- SEO対策 - 壁紙/素材/携帯待ち受け
- SEO対策 - 私の考えは間違っていた!その2
- SEO対策 - 私の考えは間違っていた!その1
- SEO対策 - 264万件中17位!!?
- SEO対策 - 不正進入かっ!?
- SEO対策 検索サイトとロボット 2005年09月分
- SEO対策 - google とある実験のつづき・・・
- SEO対策 - 2005年09月のアクセス記録
- SEO対策 - 効果的なSEO対策とは 2
- SEO対策 - google とある実験をしました
- SEO対策 - 効果的なSEO対策とは
- SEO対策 - SEO対策の不思議
- SEO対策 - google 1000件までしか表示できない
- SEO対策 - 減った検索サイトのインデックス 05/09/16
- SEO対策 - 一日の来訪者数100人突破
- SEO対策 - google えっ!?どういうこと?!
- SEO対策 - google 現在のインデックス 05/09/06
- SEO対策 検索サイトとロボット 2005年08月分
- SEO対策 - 2005年08月のアクセス記録
- SEO対策 - yahoo! に登録されているインデックス
- SEO対策 - google に登録されているインデックス
- SEO対策 - googleへ登録
- SEO対策 検索サイトとロボット その後 050825
- SEO対策 相互リンクサイトに登録 相互リンクドクター
- SEO対策 ブログタイトルの変更 検索サイトとロボット

□□□ コメント □□□
はじめまして。
「アフィリエイトは儲かんないってば」さんの所から来ました、あきんどさんといいます。
これ便利かもと思い、早速使わせてもらいました。
が、レンタルサーバーにアップして、いざ使おうとクリックしたら、うまくいきませんでした。
87行目が
<form action="./walkDir.php" method="POST" name="form1">
となっていて「walkDir.php」がありませんとエラーが出ます。
どのようにしたらいいのか、お手すきの時にでも教えていただけませんでしょうか?
よろしくお願いします。
投稿者 あきんどさん : 2005年12月07日 13:37
さっそく使って頂きありがとうございます。
すいません説明不足でした。えっと、ツールのソースをコピーしたら、「walkDir.php」という名前で保存してください。
で、サーバーにアップ後、今の「walkDir.php」にアクセスします。あとは、そのままパスワードを入力して送信すれば動作すると思います。
投稿者 カンパ : 2005年12月08日 08:31
php版のスクリプトが無いかと探していたところ、貴サイトのこのスクリプトをちょこちょこ弄り、自サイト用に巧くカスタマイズできました。ありがとうございます。
一つ気になることですが、"</head>"が抜けているのではないでしょうか。
投稿者 ペペロンチーノ : 2006年01月13日 19:12
ご指摘ありがとうございます。
(*^_^*)
実は、私自身はこれをかなりカスタマイズして使っていていまして。
こっちは置き去りのままになっていました。
(^ ^;ゝ
細かいバグ等があるようなので適当に修正して使ってください。
また、効果があった場合等ももしよければ、お知らせください。
m(_ _)m
投稿者 カンパ : 2006年01月15日 09:29
快適に利用させて頂いております。私のサイトはあまりファイル数が少く無いのですが(1000弱)大変助かりました。まだ細かい設定ページの重要度とかは、解かりませんがチャントページを見に来てくれてます。有難う御座いました。
投稿者 ファン : 2006年02月17日 02:31
少ないとはいえ、1,000弱はすごいですね。
全てブログでしょうか?
で、googleサイトマップ作成ツールですが、私はさらに改良して使っています。というより、この記事を作成した頃に使ったっきり、今現在はなにもしてない。という状況ですが。
(^ ^;ゝ
一応、当サイトの場合は頻繁にgoogleがクローリングしてくるので、あまりメリットを見いだせないでいます。
googleサイトマップが、β版から正式なサービスに移行したら、もう少し改良したものを公開したいと思っています。
投稿者 DVDからサーバーまで:カンパ : 2006年02月17日 02:46
サイトマップ用のスプリクトを探しててココにたどり着きました。
簡単で使いやすく非常に良いのですが
1つだけ教えていただきたい事があります
HTMLファイルのみ表示を押した段階で
一部のcgi等で700のパーミッションの関係だと思われるのですが、Warningが表示され途中で止まってしまいます
回避する方法はありませんでしょうか?
お手数ですが宜しくお願いいたします
投稿者 さと : 2006年09月01日 18:11
どういった警告が出ていますか?
ディレクトリが開けない。とかそんなエラーでしょうか?
載せられる範囲で、コピペして投稿してみてください。
投稿者 DVDからサーバーまで:カンパ : 2006年09月01日 18:22
Warning: opendir(./○○/○○/○○/): failed to open dir: Permission denied in /○○/○○walkDir.php on line 155
Fatal error: Call to undefined function: clsedir() in /○○/○○walkDir.php on line 206
ディレクトリが開けないって感じですね。
パーミッションを755に直せば回避出来るのですが、サーバー等で700にしないと今度はcgiの方がエラーになってしまいます
スルーするような回避策があれば良いのですが。
宜しくお願いいたします
投稿者 Anonymous : 2006年09月02日 10:12
一応、修正しました。
具体的には、開けないディレクトリがあってもエラーをださないようにしました。
あるいは、CGIを動作させるディレクトリに「HTMLファイル」がなければ、
/* 記録させないパターン */
$nonSave = array("webalizer" , "test" , "docs" , "error");
の部分に、CGIを動作させるディレクトリ名を記入するとそのディレクトリの中は参照しないようになります。
例)
/* 記録させないパターン */
$nonSave = array("cgi" , "test" , "data");
URLに「cgi」か「test」か「data」が含まれるようなディレクトリやファイルをマップに追加しない設定です。
投稿者 DVDからサーバーまで:カンパ : 2006年09月02日 12:58
上記の書き込みは「さと」です。
名前を入れるのを忘れたみたいです
すみません。
投稿者 さと : 2006年09月02日 15:34
修正ありがとうございました
試したのですが、やっぱりダメでした
「記録させないパターン 」にも登録し、
エラーがでないようにはなりましたが、
そのエラーになるフォルダの所で読み込みがストップしてます。
(途中までの表示になってしまう)
何度も何度も投稿して申し訳ございません
投稿者 さと : 2006年09月03日 15:15
了解です。
ちょっと当方で、ディレクトリのパーミッションを変更したものをつくって試してみます。
ちょっと時間がかかるかもしれないので、もしよければメールアドレスを教えてもらえますか。
http://fstyle.ddo.jp/formmail.html
の方から、フリーのメールアドレスでもかまわないので、教えてください。
きちんと動作するまで突き詰めてみましょう。
では。
投稿者 DVDからサーバーまで:カンパ : 2006年09月03日 16:37
修正完了。
一応、ディレクトリがオープンしなくても停止しない仕様に変更してみました。
【修正箇所】
関数から0が返ってきても処理を続ける仕様に変更。
投稿者 DVDからサーバーまで:カンパ : 2006年09月03日 22:30
ご親切に色々として頂きましてありがとうございます
今、修正のを試しました。
バッチリです
念のため、フォルダ(700)で止まっていたのを755に変えて最後まで読み込んでいるかと
もう一度、フォルダを700に戻し
最後まで読み込んでいるかを確認をしまして一致しました。
本当にご親切にありがとうございました
投稿者 さと : 2006年09月04日 10:54
こちらこそ、何度も手間をかけさせてしまって申し訳ない。
きちんとはじめからこっちで同じ状況をつくって実行していれば、1発で修正できたものの・・・、どうしても以前作ったプログラムに目を通すというのは(たぶんどのプログラマーも)おっくうになってしまって・・・。
(^ ^;ゝ
いずれにしても、きちんと動作するようになったので、私も一安心です。
一応、このツールで出来たサイトマップはYSTでも使えると思います。
おためしあれ。
投稿者 DVDからサーバーまで:カンパ : 2006年09月04日 11:13
あのw
何度も投稿して申し訳ございません。
最後に1つお聞きしたいのですが
プログラム的に難しかったら、出来ないって言っていただいて構いません。アップ後に修正してアップ致しますので。
priorityでindexは0.7他は0.5と設定されてましたが
例えば、追加して○○○(ファイル名)は0.6、○○○(ファイル名)は0.3のように設定するには
どの様に修正したらよいのでしょうか?
全く知識がないのに、ココラヘンかと思い修正をしたらエラーがでてしまいました(戻しましたがw)
if (strstr($fileName , "index"))
$lastmod = "<changefreq>daily</changefreq>\n<priority>0.7000</priority>";
else
$lastmod = "<lastmod>{$time}</lastmod>\n<priority>0.5000</priority>";
の
if (strstr($fileName , "index"))
$lastmod = "<changefreq>daily</changefreq>\n<priority>0.7000</priority>";
の下に追加して
if (strstr($fileName , "○○" , "○○"))
$lastmod = "<changefreq>daily</changefreq>\n<priority>0.3000</priority>";
else
$lastmod = "<lastmod>{$time}</lastmod>\n<priority>0.5000</priority>";
$temp = <<<EOF
と入れたらエラーでした。難しい。
プログラムに知識が無いのに色々言ってすみません。
それと、YSTでも登録しましたら殆どのページが拾われて感謝感激です。
投稿者 さと : 2006年09月05日 21:40
えっと、その場合、
else if (strstr($fileName , "○○"))
$lastmod = "<changefreq>daily</changefreq>\n<priority>0.3000</priority>
となります。
2つ以上の条件分岐は、「else if」となり、日本語的に言えば、「そうではなく~であれば」という意味になります。
ちなみに「else」だけだと「上以外ではない条件であれば」という意味になります。
また、「strstr」という関数は2つの引数(今回で言えば、「$fileName」と「○○」)なので、エラーが出たのは引数を3つ指定していたからでしょう。
YSTでも効果ありましたか。
私の方は効果があるんだかないんだか・・・。まぁ変化はでてきましたが・・・。
投稿者 DVDからサーバーまで:カンパ : 2006年09月05日 22:20