XdomainでGZIP圧縮がInternalServerErrorになる理由
今回はXdomainの無料レンタルサーバーでGZIP圧縮が使えない理由をご説明します。
GZIP圧縮はサイトの表示速度を上げるためにも是非とも設定しておきたい設定なのですが、Xdomainの無料レンタルサーバーでは使用することができません。
経緯
私は以前Xdomainの無料レンタルサーバーを使用してWordpressを運用していましたがサイトの表示速度が絶望的に遅かったのです。
ページの表示速度を評価してくれるPageSpeed Insightsというサイトで計測するとパソコン表示で51、モバイルで39というエキセントリック超低スコア
使用していたテーマが重たかったというのもあるのですが基本的な高速化対策を実行していませんでした。
そこで高速化の対策として効果が高いGZIP圧縮という対策を実施しようと思ったのですが、Xdomainの無料レンタルサーバーでは設定後にInternal Server Errorで実施することができませんでした。
ということでXdomainの無料レンタルサーバーでGZIP圧縮を使用できない理由を探した結果判明しましたので紹介します。
Xdomain無料レンタルサーバーはディレクティブ制限付き
GZIP圧縮を有効にするには.htaccessに追加で記述をすることで可能になります。
検索すると大体出てくるコードを下に載せます。
SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary SetEnvIfNoCase Request_URI _\.utxt$ no-gzip #DeflateCompressionLevel 4 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php
そしてXdomainのサイトに「ディレクティブ制限」について記述されているページがあるので内容を見ていきます。ページの中に
ディレクティブの制限について
エックスドメインでは、ブラウザ等のクライアントソフトやサーバーにおいて一部の挙動を変更する下記設定(ディレクティブ)の利用を制限しています。
・SetHandler
・AddHandler
・AddType
・DefaultType
・ForceType
・AddInputFilter
・AddOutputFilter
・AddOutputFilterByType
・SetOutputFilter
・SetInputFilter
Xdomain公式サイトから引用
このディレクティブ制限の中に「AddOutputFilterByType」「SetOutputFilter」が含まれています。
そうです、この制限によってXdomainの無料レンタルサーバーはGZIP圧縮が使用することができず、Internal Server Errorとなるのです。
GZIP圧縮を使用するには?
ではどうすればGZIP圧縮を使用することができるのでしょうか?
方法は大きく分けて2つあります。
サーバーを変更する
Xdomainの無料レンタルサーバーからディレクティブ制限がかかっていないサーバーへ移動するこどでGZIP圧縮を使用することができます。
同社のXSERVER・wpx・wpxクラウドであれば使用することができます。
手動でGZIP済みのデータをアップロードする
サーバー側でGZIP圧縮をしてもらえないならこちらで圧縮したファイルをアップロードして、そちらを訪問者に読み込ませることによって高速化を試みます。
しかしやり方は少し難しいので初心者の方やパソコン関係にあまり詳しくない人は素直にサーバーを変更したほうが良いと思います。
下手をするとブログが真っ白になったり崩れたりするかもしれません。
リスクを考えると初心者の方は素直にサーバーを変更することをオススメします。
それでも挑戦したい!!
という方は一応方法が載っているブログがありましたのでリンク張っときます。
まとめ
やはり無料レンタルサーバーでは様々な制限がかかっていて窮屈ですね。
ただ全くアクセスがない状態で有料のレンタルサーバーに手を出すのはコスト的にちょっと。。。と思われる方もいらっしゃると思います。
Xdomainの無料レンタルサーバー自体は割と早い方なので、しばらくアクセスが集まるまでは様子を見てもいいかもしれません。
ディスカッション
ピンバック & トラックバック一覧
[…] テキスト圧縮が有効かされているか判定する http://www.gidnetwork.com/tools/gzip-test.php XFREEではテキスト圧縮できない https://hidari-ni-usetu.com/xdomain-gzip-cantuse/ […]