hiromasa.zone : o)

2006/2/2 Thursday 投稿時の月齢:4.4  月名:五日月  潮汐:中潮 Moon:4.4[五日月]今日の心技体 : 好調期好調前不安定期低調期

Google Sitemap Generator for WordPress Extreme Hack このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加

日記 - ひろまさ @ 23:57

Google Sitemap Generator for WordPress の調子がよろしくないというレポートが、ぼくを含めると3カ所にて。

Google Sitemap 限界説@Masayan さん

ここもidは1800を越え、記事を公開するときに非常に重い。MTのリビルトくらい重い! 😆

sitemap が限界のよう@Rauru Block さん

Google Sitemap Plugin を入れて半年が経過したのですが、記事数が1000を超えたせいか、ポスト時の処理がかなり重くなってきました。

メモリ不足・・・ @hiromasa.zone

あらら、サーバプロセスがメモリ不足で落ちていました。 sitemap.php なので Google Sitemap Generator for WordPress です。 こちらの gz 圧縮する部分でダウンするようです。

Rauru Block さんでも指摘があるように、Google さんアクセス時に動的生成する方法は普通に作ると生成に時間がかかりクローラが逃げていく可能性があります。 かといって Google Sitemap のような静的作成はこのようにポストに時間がかかったり、メモリ不足で落ちたりします。

さてどうしたもんか。 おそらく、高速動的生成は Rauru Block さんでやってくれるでしょう! ということでうちでは、、

Google Sitemap Generator for WordPress ,Extreme Hack

。。 若干ネタも含まれていますが興味がある方はどうぞ。

sitemap.php に次の修正を加えます。(3.0-RC1用)

  1.  function CheckForAutoBuild($postID) {
  2.      $this->Initate();
  3.      if($this->GetOption("b_auto_enabled")===true && $this->_lastPostID != $postID) {
  4.          // execute-sitemap hack by hiromasa -->
  5.          $ping_url = get_settings('siteurl') .'/wp-content/plugins/execute-sitemap.php';
  6.          $parts = parse_url($ping_url);
  7.          $argyle = @ fsockopen($parts['host'], $_SERVER['SERVER_PORT'], $errno, $errstr, 0.01);
  8.          if ( $argyle )
  9.              fputs($argyle, "GET {$parts['path']}?postid=$postID HTTP/1.0\r\nHost: {$_SERVER['HTTP_HOST']}\r\n\r\n");
  10.          //<--
  11.          //$this->_lastPostID = $postID;
  12.          //$this->BuildSitemap();   
  13.      }
  14.  }

sitemap.php と同じ、wp-content/plugins/ ディレクトリに下記の execute-sitemap.php を追加します

execute-sitemap.php のソース(コピペ用)

おわり。 え? 😛

XML の diff くらいしかとっていませんが、たぶん動くはずです。

まさにハッキッシュなコード。ポストの処理は見かけ上高速に終わり、メモリも別プロセスになるため多くアロケートできるハズ。

笑って許してください。一応、うちでは調子よく動いているようです。

6 Comments

Trackback

  1. From: MMRT daily life - 2006/2/3 Friday Nighttime (Trackback)

    bsuite 日本語版…

    hiromasaさんがsitemapを改良してくれたので、そりゃもう、サクサク動くようになって感激。んなもんでお返し。
    >bsuite 日本語版
    なに、対価があわな (more…)

  2. From: aqua-mint - 2006/3/10 Friday Nighttime (Trackback)

    Google Sitemap プラグインの見直し…

    最近記事を投稿したあとの画面遷移がやたら遅くなったなぁ…と思いながらWordPress使いの方々のサイトを見ていたところ、以下のような記述に出会った。(hi (more…)

Comment

  1. From: kohaku - 2006/2/3 Friday Daytime (Comment)

    こんにちは。
    最近の興味深い話題だったので、大変素晴らしい出来事です。
    エントリー増えると、いろんな障害でますね。。

  2. From: ひろまさ - 2006/2/3 Friday Nighttime (Comment)

    エントリ数多くなると全件なめるだけでも厳しいですよね~。 そしてWP もだいぶでかくなってきたので、Limit 8M サーバだと動かなくなる機能も出てきそうです。 プラグイン作るときは気をつけなければ・・・:wink:

  3. From: さと@aqua-mint - 2006/3/10 Friday Nighttime (Comment)

    はじめまして。
    最近記事の投稿処理が重くなったなぁ…と思って調べているうちにこの記事にたどり着きました。
    原因はsitemapプラグインだったんですね。
    こちらの記事のおかげで改善することが出来ました。
    ありがとうございました。

  4. From: ひろまさ - 2006/3/12 Sunday Nighttime (Comment)

    さとさん、こんにちは 😀

    sitemap はエントリが多いと XML ファイル作るのに時間がかかってしまうようですね。 本来はファイルの差分アップデートできるようにするのが筋だとは思うのですがなかなか難しそうですね。

    cron のほうほう参考になりました。 cron 使えるサーバでは、さとさんの方法が一番すっきりできますね!


このサイトはコンテンツをフリーズしました。トラックバック・コメントは閉じられています。

新しいサイトは、

hiromasa.another :o)

です。 :-)

このサイトについて

このブログは引っ越しを行いコンテンツはフリーズしています。hiromasa.anotherへどうぞ。

Powerd By WordPress

We (Heart) WordPress

WordPressME Logo
WordPress Plugins

ブログ内検索

Todays Popular

WordPress Ring

はてなリング - WordPress -

情報

30 queries. 0.089 seconds.

このページの先頭へ