Nginx reverse proxy + Apache(mod_php)環境でmod_pagespeedを動かしてみた

出立ての頃に少し触ってすっかり忘れてたのに突然存在を思い出したので、js/css/html minifyあたりがカジュアルに使えるようになってると良いなと思いつつ。

本当はちゃんとアセットパイプラインとかやるべきなんだろうけど、そこまで手を入れられない動いているアプリケーションに次善の策として検討できると便利なんじゃないかと。

とはいえ何度も何度もminifyするのは無駄遣い感が凄いので、Apacheにmod_pagespeedを入れてminifyした結果をnginxにキャッシュさせようという戦術で、とりあえずwordpressが動いている環境にmod_pagespeedデフォルト。これはそれっぽく動いているようには見えたんだけど、JSやCSSのURLが変わってしまう(style.cssがstyle.css.pagespeed.abcd.cssのような感じに)のが嫌な感じなので元々のURLを維持しつつ、画像の最適化系まで入れるとカジュアルじゃなくなってくるので、また今度にしたい。ということで入れてみた設定が以下。
# nginx 1.1.10, apache 2.2, mod_pagespeed 1.11.33

続きを読む Nginx reverse proxy + Apache(mod_php)環境でmod_pagespeedを動かしてみた

zenbackを実験的に外してみます

いつ入れたかも正確には覚えていないという状況なんですが、確か、入れるだけで流入があるの?というのを試してみようと思ったんだったと思います。

しかも、旬な時期を外したというか、zenbackキーワーズが検索結果でオリジナルコンテンツより上に出てきちゃって困る。みたいな話が出てきて、有力なブログでzenbackを外すところが出てきはじめてから入れたんです。確か。

そんな感じですが、ある程度の期間試したので一旦まとめということで。

続きを読む zenbackを実験的に外してみます

imagickを使ってpdfを画像に変換する

PHPのImagick(ImageMagick)を使ってPDFファイルを画像に変換することができます。

$imagick = new Imagick();

$imagick->readimage($pdf_file_name);

for ($i = 0; $i < $imagick->getImageScene(); $i++) {
  $imagick->setIteratorIndex($i);
  $imagick->setImageFormat('jpeg');
  $imagick->writeimage($image_file_path . '-page' . $i . '.jpg);
}

これ、結構リソース使うんですよね。ページ数の多いPDFを変換しようとしたら、memory_limitやmax_execution_timeに引っかかって…という経験ありませんか?

特定ページだけを画像化したい場合限定(1ページ目だけ変換したいとかありますよね?)ですが、次のコードでサクッとできます。

続きを読む imagickを使ってpdfを画像に変換する

PubSubHubbubに対応すると、Googleが早くインデックスしてくれるかどうか実験

PubSubHubbub(パブサブハブバブ)に対応すると、「すぐにGoogleがインデックスしてくれる」と書いているブログをちょいちょいみかけるので、実際にどんなものか試してみました。

続きを読む PubSubHubbubに対応すると、Googleが早くインデックスしてくれるかどうか実験

Jetpackの拡張配信を使うと、どんな効果があるの?

Jetpackの拡張配信(Enhanced Distribution)とは、Wordpress.comを利用して運営されているブログと、Jetpackで拡張配信を有効にしているWordpress.org(自分でサーバーにインストールして使うタイプのwordpress)の投稿やコメントを、Wordpress.com firehoseというのに含めてくれる機能のようですね。

続きを読む Jetpackの拡張配信を使うと、どんな効果があるの?

appendChild()ではなくinsertBefore()を使ってスクリプトをロードするのはなぜ?

Google Analyticsのコードが使っているような、サードパーティのスクリプトを非同期にロードする方法を「createElement-insertBeforeパターン」と言うことくらいは知っていました。けど、ふと「なんでappendChildじゃ駄目なんだ?」と思って調べたのでメモ。

続きを読む appendChild()ではなくinsertBefore()を使ってスクリプトをロードするのはなぜ?

document.write()を止めるためにはFriendly iFrameを使うのが良さそう

Chromeの開発者ツールを開くとコンソールに何か出てるな。というのは気になってたんだけど、スルーしてたらこんな投稿があることを教えてもらった。
遅い通信だとChromeはdocument.writeで外部のスクリプトを読み込んでも動かなくなるらしい(A Parser-blocking, cross-origin script …)

続きを読む document.write()を止めるためにはFriendly iFrameを使うのが良さそう

CentOS 7のbind(named-chroot)は/var/named/chroot以下にファイルを置くと起動しない

自分で設定したヤツじゃなかったので、yum updateしたら上がらなくて焦った…

以前はそんなことなかったと思うんだけど、以下のファイルを /var/named/chroot 以下にマウントしようとして、同名のファイルがあるとエラーになり、起動できないようになったようです。

続きを読む CentOS 7のbind(named-chroot)は/var/named/chroot以下にファイルを置くと起動しない

低品質なコンテンツの品質を上げる実験(記事マークアップ改善)

最近グーグルにインデックスしてもらえる投稿が減ってしまっているので、低品質なコンテンツの品質を上げるにはどうしたら良いのか試してみようという試み。

2008年くらいに自宅サーバーで細々とMovableTypeを動かしていた時代の投稿をいくつかピックアップして見比べてみたら、マークアップの改善で品質が改善したことになるかどうか試すのにちょうど良いのがあったので、これをどうにかしてみる。

続きを読む 低品質なコンテンツの品質を上げる実験(記事マークアップ改善)

九月のgoogle検索順位変動はペンギンアップデート?

順位変動を観測しているサービスによると、九月に入ってからずっと順位変動が大きい状態で、23日夜にはペンギンアップデートがコアアルゴリズムに組み込まれたとの発表があった。

このブログは元々ほとんどトラフィックが無いと言っても良いくらいなんだけど、9/19あたりからそれでもわかるくらい検索からの流入が減っていた。

続きを読む 九月のgoogle検索順位変動はペンギンアップデート?