Tips」タグアーカイブ

WordPress サイトに nginx を導入する

nginxWordPress サイトにリバースプロキシサーバとして nginx を導入する際の tips。
nginx (エンジンエックス)とは、オープンソースの軽量高性能なHTTPサーバ且つリバースプロキシです。

従来の HTTP サーバのようにリクエストの処理をスレッドで行わず、非同期のアーキテクチャーを用いるイベントループモデルのサーバです、
そのため、多数のリクエストが着た場合に実行スタックをコピーする必要があるスレッドモデルのサーバと違い、1プロセスでリクエストを処理できるため、メモリ消費量が極端に少なくてすむという利点があります。
# 話題の node.js もイベントループモデルですね。

さて、そんな nginx を WordPress サイトに導入する際の tips です。
続きを読む

varnish

WordPress サイトに Varnish を導入する

varnishWordPress サイトにリバースプロキシサーバ Varnish を導入する際の tips。
リバースプロキシって何?って人は、以下のURL辺りを参考にしてください。
Insider's Computer Dictionary [リバースProxy] − @IT

通常は複数台あるバックエンドのサーバを取りまとめるロードバランサー的な使われ方をします。
しかし、一台しかサーバが無い場合でも、フロントにリバースプロキシを置いてリクエストを受けて、バックエンドで動作している Web サーバから受け取った動的コンテンツをキャッシュさせて負荷を軽減させることもできます。
この構成を取っておけば、負荷が増えてサーバがきつくなったときに、わりと手軽にアプリケーションサーバを分離できますね。
# 個人ブログで、そこまで行くとは思いませんが
続きを読む

WordCamp Yokohama 公式サイトの作り方 – その他

さて、WordCamp Yokohama 公式サイトの作り方3回目は、その他のテクニックです。
WordCamp Yokohama 公式サイトを作ったときに使った、細々としたテクニックのご紹介。
つっても、過去にこのブログでも紹介したテクニックばかりなので、あまり詳細は書きません。
それぞれの記事へのリンクを付けておきますので、気になる方はそちらをご参照くださいまし。

  • .htaccess の書き方
  • DB エラー画面、アップデート時のメンテナンス画面の変更
  • <head>部にMETA情報他を追加する

続きを読む

WordPressサイト用の.htaccess例

よりパフォーマンスの良い WordPress サイトを構築したいならば .htaccess ファイルを修正しましょう。
Webサーバに apache 2系を使用しているサイト用に、私が書いた .htaccess ファイルを元に解説します。

基本方針は

  • mod_deflate が使える場合は、有効にしてコンテンツを圧縮転送する。
  • mod_expires が使える場合は、有効にして画像ファイル等の静的ファイルをブラウザにキャッシュさせる。
  • 適切な ETag を発行して、ブラウザのキャッシュを制御する。
  • アクセスしてほしくない WordPress ファイルに対するアクセスをブロックする。
  • 存在しない静的ファイルに対してアクセスされた場合、WordPressを起動させない。

続きを読む

WordPress のメンテナンスページをカスタマイズ

Maintenance modeMaintenance modeデフォルト状態の WordPress では、管理パネルから本体のアップグレードやプラグインの一括修正を行っているときにメンテナンスモードに切り替わり、左図のような「Briefly unavailable for scheduled maintenance. Check back in a minute.」という簡素な画面が表示されます。
# 2.7.x 辺りから実装された機能
これでは、あまりにもカッコ悪いので、右図のようにちょっとカッコいいメンテナンス画面を表示してあげるための Tips です。
有名サイトでも、この画面をカスタマイズしてない所はたまに見かけるので、あまり知られていないかなと思ってエントリ (^^;;;
続きを読む

more-link の #more-xxxx を削除する

WordPress の more-link には URL の後ろに #more-xxxx が含まれるため、以前は wp-includes/post-template.php を直接修正して #more-xxxx を付加しないようにしていました。
WordPress 2.8.x からは "the_content_more_link" フィルタが追加されたので、more-link の #more-xxxx を削除するのは簡単になりました。
以下のようなコードをテーマの functions.php に追加するだけで実現できます。

<?php
// #more-$id を削除する。
function custom_content_more_link( $output ) {
	$output = preg_replace('/#more-&#91;\d&#93;+/i', '', $output );
	return $output;
}
add_filter( 'the_content_more_link', 'custom_content_more_link' );
?>

コアソースを書き換えちゃうと、アップデートが面倒になるので、できるだけフィルタフックやプラグインを使用してカスタマイズするように心がけましょう。
大抵のことは、コアソースを弄らずともできます。

追記:
すでに WordPress Codex にも乗っているテクニックだそうです。
# @ounziw 情報ありがとうございます。
「続きを読む」のカスタマイズ – WordPress Codex 日本語版

redirect_canonical フィルタを使う時の注意点

ちょっとピコンときたので、WordPress 2.3から導入された機能「カノニカルURL」を使って、短縮urlを実現するプラグインを書いてみました。
まだまだβ段階もいいところなんですが、とりあえず公開しておきます。ご要望をお寄せください。
http://dl.getdropbox.com/u/110305/New/short-link-maker.zip

このプラグインを有効化すると、シングルページの <head> 内に <link rel="shortlink" href="https://dogmap.jp/〜" /> という META タグが吐き出されます。
また、この META タグの href に対してアクセスすると、正式なURLにリダイレクトされるようになります。
Twitter や、印刷した紙に短い URL を書きたいときなんかに使ってください。
ちなみに URL は、単純に post_ID を62進数に変換しただけのものなので、カテゴリ一覧やタグ一覧などでは使えません。
あくまでも post_ID を持っているページのみに対応しています。
続きを読む

WordPress で index.html を共存させる方法

Twitter で交流のある新潟系エンジニア @yutacar さんに、「index.htmlを置きながらWPのデザインとか確認出来るでしょうか?apacheの設定?でindex.php自身が上手く表示出来ないみたいなのです。」と聞かれて、それに答えたのでせっかくだから設定方法をシェア。
既存のサイトをそのままにしておいて、裏で WordPress に移行したいとかって時に使える Tips だと思われます。
続きを読む

VMWare Converter

VMWare Converter最近、ヨメのPCが調子悪かったので買い換えました。
その際、旧環境から新環境への移行が面倒だったので、VMware vCenter Converterを使って、旧環境を保存。
新環境には VMware Player だけをインストールしておいて、いつでも旧環境が見れるようにしておきました。
マウスを2〜3回クリックするだけで、PCのイメージがそのまま VMware の仮想PCとして保存されるので、お気楽極楽。
旧PCに入っていたソフトで新PCでも使いたいのは、Officeソフト以外は年賀状作成ソフトくらいなので、年1回だけ VMware Player を起動して使えば良いです。
あと、移行し忘れたデータとかあっても、丸まる旧環境が残っているので安心。
これで、心置きなく古いPCを再インストールして他に転用できます。

WordPress のデータベースエラーページをカスタマイズ

エラー:データベースに接続できませんカスタマイズされた DBエラーページデフォルト状態の WordPress では、MySQL が落ちているなどの理由でデータベース接続できない場合、左図のような「エラー:データベース接続できません。」という簡素な画面が表示されます。
これでは、あまりにもカッコ悪いので、右図のようにちょっとカッコいいエラー画面を表示してあげるための Tips です。
有名サイトでも、この画面をカスタマイズしてない所はたまに見かけるので、あまり知られていないかなと思ってエントリ (^^;;;
続きを読む