XserverのXアクセラレータ(エックスアクセラレータ)について
-
投稿者投稿
-
2019年3月1日 11:54 AM #87292takahouse参加者
——————————————-
WordPress のバージョン:5.0.3
Welcart のバージョン:Version 1.9.15
Welcart専用の拡張プラグイン:Multi Price /Order List Widget/Reports/Widget Cart
ご利用のテーマ:nova
症状を確認したブラウザ:全般
サーバー:エックスサーバー
SSLの利用:常時SSL
WordPress のパーマリンク設定:(/%category%/%postname%.html)
——————————————–
エックスサーバーのXアクセラレータ(エックスアクセラレータ)が標準装備されておりますが、こちらの機能をonにしてWelcartを使用しても問題ないでしょうか?Xserverの公式ページには
「Xアクセラレータ」はWebサイトを高速・安定化させるための機能です。
Xアクセラレータ Ver.1 … 静的ファイルの高速化(キャッシュ)
Xアクセラレータ Ver.2 … 静的ファイルの高速化(キャッシュ)+PHPプログラムの高速化とあります。
使用可能でしょうか?
2020年12月26日 2:26 PM #91878mai参加者takahouse さん
回答ではありませんが、私も同じ疑問で質問しようと
検索した結果こちらの投稿を見つけた次第です。
その後、対応策は見つかったでしょうか?
対応策があればお教え頂けないでしょうか。現在の私が考えでは、会員の登録ページとかcartに関するページの場合は
htmlを出力する前にhead部分に例えば
<meta http-equiv=”Cache-Control” content=”no-cache”>
の様なタグを挿入するようにfunctions.phpに組み込めばあるいは、header.phpにダイレクトに
会員の登録ページとかcartに関するページなら
<meta http-equiv=”Cache-Control” content=”no-cache”>とりあえずカートとか個人情報等にかんするページはno-cacheにすれば
Xアクセラレータ Ver.2をonに設定しても問題ないのではと???
なにぶん素人の考えなので基本的に間違っているかも?新たにトピックをたてようかと思いましたが、
こちらの質問がテーマ以外はドンピシャなので便乗させて頂きます。どなたか情報をお持ちの方がいらっしゃいましたら
アドバイス頂けないでしょうか?
宜しくお願いいたします。2020年12月28日 6:30 PM #91902sagawaキーマスターこんにちは。
私どももこちらに関しましては、情報がございません。
もし実際に利用されている方がおられましたら、情報共有いただけると幸いです。2020年12月29日 1:56 PM #91910Konoha参加者こんにちわ。
Xアクセラレータ Ver.2が出来てから、色々ありましたが、
私は現在このように設定しています。<?php if(is_page('usces-cart') || is_page('usces-member')){ ?> <meta name="robots" content="noindex,nofollow,noarchive,noodp,noydir" /> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <?php } ?>
カートページとメンバーページではキャッシュもインデックスもしない設定にしています。
今のところ、私の環境では問題はでていません。ご参考程度に。
2020年12月29日 5:23 PM #91911mai参加者Konoha 様
前回に続けて有り難うございます。
大変助かります。早速ですが、
本日この件でXserverに問合せをしました。内容はご回答をいただきましたのと同じ様なものです。
ただhtml5の場合は<meta http-equivの指定いができないかも?
との解説がどこかのサイトであったため、
if文の中を
header(‘Cache-Control: private,no-store,must-revalidate’);
この様にすると、キャッシュがされないのではと質問を致しました。
まだ現時点では返信がないため成否についてはわかりません。Xserverより回答があればこちらに書き込みをさせて頂きます。
今後とも宜しくお願いいたします。
有り難うございます。2020年12月29日 10:46 PM #91913Konoha参加者maiさま
上記はご指摘のとおりhtml5では効かないかもしれません。(expiresが抜けてましたが…)
phpならご察しの通り、
header('Cache-Control:no-cache,no-store,must-revalidate,max-age=0'); header('Pragma:no-cache'); header('Expires: Tue, 1 Jan 2019 00:00:00 GMT'); header('Last-Modified:' . gmdate( 'D, d M Y H:i:s' ) . 'GMT'); header('Cache-Control:pre-check=0,post-check=0',false);
こんな感じのをusces-cartやusces-memberに指定するといいかもしれませんね。
Xserverから回答頂けるといいですね♪
2020年12月30日 12:50 PM #91915mai参加者Konoha 様
今回も詳しくアドバイス頂きまして
有り難うございます。今回Xserverへの質問に対する回答がきましたので
掲載させて頂きます。私の質問メール
現在XアクセラレータVer.2の設定をonにすべきかどうか迷っています。
現在ワードプレスにてwelcartを導入してショッピングサイトを運営をしています。
そのためカートの中身とかお客様の個人情報をキャッシュできない様にして、
他の固定ページのスピードアップができないかと思案をしている所です。仮にXアクセラレータVer.2の設定をonにして
php にて、header部分にカートに関するページなら下記の様にする
header(‘Cache-Control: private,no-store,must-revalidate’);
この様な設定をするとカートに関するページはキャッシュされないのでしょうか?
それとも、XアクセラレータVer.2はドメインにたいしての指定のため
例外なくどのページもキャッシュされてしまうのでしょうか?ショッピングサイトでXアクセラレータVer.2の設定を有効にして
安全に運営する方法がございましたらご教示頂けないでしょうか
宜しくお願いいたします。Xserver からの回答
Xアクセラレータのキャッシュに関しましては
「静的ファイルの高速化(キャッシュ)」が行われますので
ご懸念されているような情報のキャッシュは行われないかと存じます。※ 恐れながらPHPの記述についてはサポートの対象外となり
精査した上でのご案内や記述での除外の可否を含めて
ご案内がかないませんことをご了承ください。ただ、そのため訪問者ごとに表示内容が異なるようなページ
(会員制サイトやショッピングサイト)等では、
当機能による高速化や負荷軽減の効果が出づらい場合があります。▼ご参考URL:Xアクセラレータについて
https://www.xserver.ne.jp/manual/man_program_php_ver.phpPHPプログラムの高速化という点では効果が見込める可能性はございますが
上記につきましては予めご了承くださいますようお願いいたします。
-----------------
字面を読む限りは、
静的ファイルの高速化(キャッシュ)とのことで
ご懸念されているような情報のキャッシュは行われない動的なphpで描かれるhtmlはキャッシュしない?
ただし、Xアクセラレータについてを読むと
意図しない方がキャッシュを読む恐れがあると書かれてある?PHPプログラムの高速化という点では効果が見込める。
やはり個人情報等のページでは、headerにキャッシュはダメとの記述は必要と思います。
Konoha 様のコードそのままですがhtml4の場合
<?php if(is_page(‘usces-cart’) || is_page(‘usces-member’)){ ?>
<meta name=”robots” content=”noindex,nofollow,noarchive,noodp,noydir” />
<meta http-equiv=”Pragma” content=”no-cache”>
<meta http-equiv=”Cache-Control” content=”no-cache”>
<?php } ?>html5の場合
<?php if(is_page(‘usces-cart’) || is_page(‘usces-member’)){ ?>
header(‘Cache-Control:no-cache,no-store,must-revalidate,max-age=0’);
header(‘Pragma:no-cache’);
header(‘Expires: Tue, 1 Jan 2019 00:00:00 GMT’);
header(‘Last-Modified:’ . gmdate( ‘D, d M Y H:i:s’ ) . ‘GMT’);
header(‘Cache-Control:pre-check=0,post-check=0’,false);
<?php } ?>このコードをheader.phpに記載することと致します。
Konoha 様有り難うございました。takahouse 様の投稿に便乗させて頂き申し訳ありませんでした。
2020年12月30日 5:18 PM #91916mai参加者訂正
html5の場合
<?php if(is_page(‘usces-cart’) || is_page(‘usces-member’)){
header(‘Cache-Control:no-cache,no-store,must-revalidate,max-age=0’);
header(‘Pragma:no-cache’);
header(‘Expires: Tue, 1 Jan 2019 00:00:00 GMT’);
header(‘Last-Modified:’ . gmdate( ‘D, d M Y H:i:s’ ) . ‘GMT’);
header(‘Cache-Control:pre-check=0,post-check=0’,false);
} ?>
1行目 ?>
7行目 <?phpを削除2020年12月31日 8:31 AM #91917Konoha参加者maiさま
お問い合わせのご報告ありがとうございます。
Xserver側では「影響は出にくい」というニュアンスが伺えますが、
私の経験上、Xアクセラレーターが設定されてから、
クライアントから商品の重複購入についての報告を多数うけました。そのため、キャッシュされては困る、またはインデックスされても困る、
というページには、なるべくno-cache設定をするようにしています。その後はほとんど同様の報告がなくなったため、
そのまま様子を見ている、という感じです。このフォーラム内でも重複購入についてのご意見を色々拝見していますが、
解決策のひとつになればと思っております。
(100%の解決ではなく、外部リンク型のクレジット決済などでは、どうしても重複してしまいますが…)以上、ご参考いただけましたら幸いです。
※追伸
HTML4の場合には、expiresを入れたほうがいいですね。
<meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0">
ちなみに
<meta name="robots" content="noindex,nofollow,noarchive,noodp,noydir" />
これはページをインデックスさせたくない場合の表記です(HTML4・5共通)
失礼致しました。
2021年1月5日 7:27 AM #91922mai参加者Konoha 様
今年も宜しくお願いいたします。
早速ですが下記のラインを追加いたしました。
<meta name=”robots” content=”noindex,nofollow,noarchive,noodp,noydir” />noindex,nofollowに関しては
固定ページのカート、会員ページの設定において済ませていたのですが
noarchive,noodp,noydirは気がつきませんでした。
助かりました。noindex,nofollowのメタタグが二重になっても問題はなさそうなので
上記の通りのラインを追加させて頂きました。
有り難うございました。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。