WordPress静的HTML生成プラグイン

WordPress静的HTML生成プラグインmake-cacheの開発ページです。

最新版:http://www.4web8.com/wp-content/makecache.zip

バージョン:0.81b
最終更新:2010/05/25 15:43

—————————————————-

  • 0.81b
    miyabijinさんからのご要望、iPhoneからのアクセスはmake-cacheを通さないように修正を行いました。
  • 0.81a
    URLが日本語の場合、get_permalinkで取得すると小文字を得てしまう瞬間があり、大文字の方が望ましい結果が得られるので、そのようにしました。
  • 0.81
    WordPressのアドレス
    ブログのアドレス
    が異なる場合も、しっかりキャッシュを生成、参照するようになりました。
  • 0.8
    なんと、記事を更新した際などに、サイドバー(sidebar.php)も再構築可能にしました。
    これを可能にするためには、sidebar.phpにこちらの指定コメントタグを入れて頂き、いったん全てのファイルを再構築する必要があります。
    詳細はhttp://www.4web8.com/601.htmlを。

    2010/03/24 追記

    サイドバーを更新する仕様は、トップページのサイドバーを利用して作業を行います。
    従って、トップページにサイドバーが表示されていないのと、上手く動作しません。

  • 0.78
    WordPressフォーラムのmasaruさんから頂いたアイディアとshokun0803さんから頂いたアイディアを反映させました。
    編集がかかった際の記事更新に関して、更新箇所を指定する機能と、管理者だった場合はキャッシュ機能を使わず、普通のWordPressを表示させ る機能です。
    投稿場所の指定は、誰もが全てにチェックを入れそうですが、チェックが少ないと再構築が早いです。
    ログインしている場合は、管理画面へのアクセスリンクを用意させたい場合などは『キャッシュは使わない』
    を指定してみてください。
  • 0.77
    サーバによってはファイルの作成権限が一緒だったり、異なったりと、違う場合があります。
    FTPファイルアップの権限はaiueoで、
    WEBアクセス(つまり管理画面)はapacheだったり、
    FTPもWEBアクセスもaiueoだったり。
    make-cacheプラグインが生成するファイルは、基本的にWEBアカウントですので、apache権限で動いている場合もあります。
    そうなると、FTPでは削除が出来ない。という問題がユーザによってはあることが判明致しました。
    WordPressフォーラムのfixdotさんからご指摘頂きました。
    その他にもこのブログにコメントしてくれていたhuuraiさんも、同様のお話をされておりましたが、その時点ではこの事実にまで気付きませんでした。
    そこで今回、再構築やトップページだけを再構築する場所に
    『キャッシュ削除』
    というものを準備しました。
  • 0.76
    管理者がコメントを投稿すると、すぐにキャッシュに反映されず、
    いちいち記事を更新しないと反映されない。
    というmasaruさんからのご指摘で、自分自身それを再現してみると、
    確かにチョーめんどー!
    でしたので、早急に直しました。
    現在は、
    ・管理者が投稿した場合は即反映(承認済みなので)
    ・管理者じゃない場合は反映されず(未承認なので)
    ・未承認のコメントは編集しても反映されず(未承認なので)
    ・承認済みのコメントを編集したら即反映(承認済みなので)
    という動きにしております。
  • 0.75
    ご協力頂いているmasaruさんからのご指摘で、エラーログに吐かれるWarningの問題を解決させました。
    またKtai Styleに標準で対応(?)させました。
    オプション指定でKtai Styleに対応させる。を選択すると、携帯からのアクセスの際には無条件でKtai Styleに流します。
  • 0.7
    masaruさんご提案により、ゴミ箱に記事を送った時、ゴミ箱から戻した時、記事の公開・非公開の時にもページを再構築するようにしました。
    なお自動再構築における『全てを再構築』は、現実的では無いと思い、外しました。
    記事を投稿する度に全部が再構築してたら遅くて仕方無いですし、
    今後の目標は、『全体を再構築』はインストール時に1回。あとは基本的に個別の再構築を行えば、十分運用が出来る。というレベルにまで持っていきたいです。
    現在はカスりもしていませんが。
    なお記事の公開状態から下書き状態、下書き状態から公開へ
    の時は、少々パーマリンクの作成タイミングの問題で、現在うまくいっておりません。
    もし記事を見せなくしたい場合は、現状は『非公開』にして更新してもらえると、
    サイトから消え、あれ?動的かな?とソースの最下部を見ると、make-cacheが作成したキャッシュを見ている。という事になります。
    夜更けで日本語が何だか変なのでこれくらいにします。寝ます。
  • 0.63
    WordPressフォーラムのmasaruさんとの二人三脚により発見したバグの修正。及びファイル数が多いとメモリオーバーで終了してしまう箇所を発見したので修正。
  • 0.6
    コメントの承認・非承認・ゴミ箱 の際の自動再構築
    トラックバック受付時の自動再構築
    の2つの機能の実装を致しました。オプションで指定出来ますのでお好みに合わせてお使いください。
    なおトラックバックはWordPress上ではほぼコメントと同じ扱いらしいので、
    トラックバックを承認・非承認・ゴミ箱 などは、コメントと同じ動きに入ります。
  • 0.5
    トップページと記事ページのみを自動で再構築する機能に関して、該当する記事が所属するカテゴリ の『トップページ』と、年月日等で示されるアーカイブページ
    2010/02/12
    なども再構築するようにしました。
  • 0.44
    バージョンアップの連番にさせるのもおこがましい感じですが、バグフィックスをしました。
    http://pc.freeblo.com/blog
    というように、ドメインの下にディレクトリを用意し、そこにWordPressを展開していた場合、うまい事キャッシュを参照しないバグがありました。
    WordPressフォーラムでこの問題を指摘してくれましたmasaruさんに大感謝です。この構造のブログを運営していて、当プラグインにちょっとでも興味を抱いていてくれた方は、ぜひmasaruさんに投げキッスを。心の中で。
  • 0.43

自動再構築機能に関して、今までは
全体を再構築
トップページのみ再構築
の2種類だったのですが、『トップページと記事のみ再構築』と、該当記事の再構築も自動で行われるようにしました。

  • 0.42

日本語URLに関して、当初は敢えてURLデコードする形で見られるようにしていましたが、
どうも新しい構造の場合、副次的効果でこの処理が不要になったようでw
URLデコードはしないようにしました。
本来こちらが望んでいた形にいつの間にか戻ってちょっと感動です。
日本語を含むURLがうまくいかなかった人は最新版をお試しください。

  • 0.41

URLによってはキャッシュファイルのhtmlファイルに?nocacheと入ってしまう問題を修正

————————————————————————————————-

バージョン0.3未満をお使いの方は、このバージョンにアップさせてください。
make-cache.php
options.php
を上書きすれば、基本的にはバージョンアップは完了です。
すでにmake-cacheプラグインがある場合は、

not_rewrite.txtは消さないようにしてください。

このファイルは画面に指示が出たら削除してください。

0.4未満のmake-cacheは、
WordPressインストールディレクトリに対して、静的HTMLを生成しにいきます。
しかしこれは次の問題から、ちゃぶ台をひっくり返しまして、
make-cacheプラグイン用ディレクトリ内cacheディレクトリに静的HTMLは生成させ、
それを利用する仕組みに変更しました。

静的HTMLを設置するパターンに比べて、どうしてもPHPプログラムは動いてしまうのですが、
MySQLへのアクセスまではいかずに済みますので、十分キャッシュの役割は果たしております。

構造を取りやめた経緯は

make-cacheの仕様構造を変更し ました

を参照ください。

当プラグインをインストールすると、左枠に『キャッシュ再構築』というメニューが現れます。

再構築をするとAjaxによる再構築が行われます。Ajaxによる非同期通信のため、ブラウザのタイムアウトは起きません。

s再構築が完了すると、完了ページが現れ、自動で戻ります。

CORESERVERをご利用の方はご注意ください

WordPressフォーラムより、fixdotさんからご報告がありました。
ディレクトリの権限がapacheだったり自分の所有者権限だったりで、ディレクトリが削除出来ない問題が発生している模様です。

当ブログにコメントしてくれましたhuuraiさんのご連絡により
所有者権限を変えれば消せる
http://www.4web8.com/401.html#comment-31
との事ですが、当方お金が無くてCORESERVERを試す事が出来ませんので、
この点についてご注意頂ければ幸いです。
また何らかのフィードバックが増えていけば、ピンポイントの解決策が思いつくかもしれませんので、どしどしご連絡頂ければ幸いです(?どこに?どの記事のコメント欄でも構いません)

追記:その後WordPressフォーラムより、fixdotさんから解決方法をご指南頂きました。
huuraiさんのコメントと合わせてぜひご一読をお願いします。
http://ja.forums.wordpress.org/topic/3404/page/2?replies=50

↑fixdotさんのコメントを追いかけてみてください!

パーマリンクが初期設定だと動作しません

はも。さんからご指摘頂き、初めて認識するという事態wでしたが、
パーマリンクが初期設定の状態(?~~という感じのタイプ)だと、HTMLという認識を与える事が出来ないため、
残念ながらmake-cacheプラグインを使用する事は出来ません。
思わぬところでwp-super-cacheに追いつけない仕様が発覚してしまった感じですが、
パーマリンクがディレクトリや仮想htmlだと大丈夫ですので、
そういったパーマリンクの方は、ぜひご利用ください・・・w
個人的にそろそろ自分のブログで実稼働させて1ヶ月ですが、特に問題は起きていません。

あ。トラックバックは誰もしてくれないのでwそこの動作確認は出来ていませんがww
たぶん大丈夫な気がします。コメント機能とトラックバック機能は実はほとんど一緒っぽいので。

インストール方法

[1]
WordPressをフルバックアップしましょう。
滅多にバックアップはしていないと思います。いい機会ですからぜひ。

[2]
make-cacheディレクトリをプラグインディレクトリ
wp-content/plugins
にアップロードし、make-cacheディレクトリ内にあるcacheディレクトリを書き込み可能な権限にしてください。

[3]
トップディレクトリに配置されているであろう.htaccessに

RewriteRule .*\.html/.* /index.php [L]
RewriteCond %{REQUEST_FILENAME} !^.*(jpg|gif|jpeg|png|JPG|JPEG|GIF|PNG|bmp|BMP|css|CSS).*$

を追加します。.htaccessの一例は

——————————————————–
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .*\.html/.* /index.php [L]
RewriteCond %{REQUEST_FILENAME} !^.*(jpg|gif|jpeg|png|JPG|JPEG|GIF|PNG|bmp|BMP|css|CSS).*$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
——————————————————–

です。jpgだがgifだかが書かれている行は実際には1行です。

[4]
プラグインを有効化させます。
もし0.4未満をすでに動かしていたのであれば、何らかのメッセージが出ると思います。
メッセージに従ってインストール作業を継続してください。

もし0.4未満を使用していたのに、何も出なかった場合は即ご連絡ください。
make-cacheプラグインの改造フィードバックにもなりますので、フルサポートします。
すぐお返事を返しますので!

[5]
この時点でサイトにアクセスして、普通にアクセス出来る事を確認してください。

[6]
以上で、左メニューの『投稿』の下に『キャッシュ再構築』というリンクが現れるはずです。
再構築をしていったん全て再構築してみましょう。

[7]
再びサイトにアクセスして、普通にアクセス出来る事を確認してください。
ちなみにこのアクセスはキャッシュを参照している『はず』です。

画像ファイルに404エラーがあり、.htaccessに
RewriteCond %{REQUEST_FILENAME} !^.*(jpg|gif|jpeg|png|JPG|JPEG|GIF|PNG|bmp|BMP|css|CSS).*$

が書かれていないと、MySQLアクセスが起きてしまいますので、.htaccessにこの一行を追加するのはオススメです。

こちらからあなたのアカウントを利用してTweet可能です