質問 > フロント機能 > SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
istn |
投稿日時: 2011/11/15 13:42
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 [EC-CUBE] 2.11.4正式版
[レンタルサーバ] さくらインターネット スタンダードプラン [OS] FreeBSD 7.1-RELEASE-p16 i386 [PHP] PHP 5.2.17 [データベース] MySQL 5.5 [WEBサーバ] Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e お世話になっております。 SEO対策をしていたのですが、ページの更新日時が1970年1月1日と読み込まれてしまい更新日時を更新することが出来ません。 尚、EC-CUBEを導入したのは1ヶ月前です。 ECサイト・SEO対策初心者の為原因がわからず困っております。 新着情報(RSS)の更新を2011年11月09日に行っても、更新日時は変更されませんでした。 index.phpの更新日時をFTPで再アップロードをし、ファイルの更新日時を変更しましたが変わりません。 原因わかる方・同じ状況になってしまった方がいらっしゃいましたら教えて頂きたいです。 |
seasoft |
投稿日時: 2011/11/15 13:45
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 手元の環境だと、ヘッダーはこんな感じです。
EC-CUBE 2.11.5-dev サーバーOS Windows NT SEVEN 6.1 build 7600 DBサーバー PostgreSQL 9.0.3 WEBサーバー Apache/2.2.16 (Win32) mod_ssl/2.2.16 OpenSSL/0.9.8l PHP/5.2.17 PHP 5.2.17 (bcmath, calendar, com_dotnet, ctype, date, filter, ftp, hash, iconv, json, odbc, pcre, Reflection, session, libxml, standard, tokenizer, zlib, SimpleXML, dom, SPL, wddx, xml, xmlreader, xmlwriter, apache2handler, curl, gd, mbstring, mysql, mysqli, openssl, pgsql, zip) GD 有効 (GD Version => bundled (2.0.34 compatible), FreeType Support => 1, FreeType Linkage => with freetype, T1Lib Support => 1, GIF Read Support => 1, GIF Create Support => 1, JPG Support => 1, PNG Support => 1, WBMP Support => 1, XPM Support => , XBM Support => 1, JIS-mapped Japanese Font Support => ) HTTPユーザーエージェント Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2
|
istn |
投稿日時: 2011/11/15 19:00
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 http://siterepair.ddo.jp/seoexamine/status_form.html
上記URLのページで自分のECサイトの最終更新日時を見たところ1970年1月1日となっており、index.phpを更新しても変わりません。 尚、「新着情報管理」から新着情報を書き込みしても変わりませんでした。 当方ecサイト・SEO対策は本当に初心者ですのでどこをどうしたらこれが改善されるのかずっと悩んでおります。 尚、当方のECサイトを開いた後にページの最終更新日時をチェックするjavascriptをInternetExplorerのURL入力部分に java script:alert(document.lastModified) と入力し、ページの最終更新日時をチェックすると 「01/01/1970 09:00:00」と表示されてしまいます。 SEO対策的にも、この更新日時はさすがにまずいと思うので解決先を見いだしているのですが全然わかりません。 どなたかご教授願います。 |
seasoft |
投稿日時: 2011/11/16 9:36
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 やりたいことは、この辺りですかね。
http://www.arielworks.net/articles/2004/0125b
|
istn |
投稿日時: 2011/11/16 18:03
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 たぶん、そのあたりかと思いますが…
どこをどう手を加えて行ったらいいのかまったくわからず困っております。 ヘッダーのphpを変更したらいいのか、ヘッダーのtplに何か追記をしたらいいのかまったく分からず、お分かりになるのでしたらご教授願いたいです…。 色々とご面倒をおかけし申し訳御座いません。 尚、もちろん当たり前のことかもしれませんが…test.htmlというファイルを作ってそちらの最終更新日時を確かめたところ、正常な日時が表示されます。 phpのどこになんの記載をしたらいいのか分からず手を焼いております…。 |
istn |
投稿日時: 2011/11/16 23:29
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 frontparts/bloc/login.php
frontparts/bloc/login_header.php を消去した場合のみ、正常にlastModifiedでの日付が取得出来ることがわかりました…。 ログインに関する何かが原因だとは思うのですが、原因が未だわかっておりません。 login.phpとlogin_header.phpが原因?だと言うことがわかったことは今回の問題の解決になる糸口かはわかりませんが…。 |
seasoft |
投稿日時: 2011/11/17 0:02
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 > ヘッダーのphpを変更したらいいのか、ヘッダーのtplに何か追記をしたらいいのかまったく分からず、お分かりになるのでしたらご教授願いたいです…。
サイト全体だとしたら、LC_Page#sendResponse の末尾とかかな。 > 尚、もちろん当たり前のことかもしれませんが…test.htmlというファイルを作ってそちらの最終更新日時を確かめたところ、正常な日時が表示されます。 うん。当たり前ですね。(笑) ですが、サーバが腐っていないようで、安心ですね。 そうなると、PHP か EC-CUBE の処理という事になりますが・・・
|
seasoft |
投稿日時: 2011/11/17 0:07
対応状況: −−−
|
神 ![]() ![]() 登録日: 2008/6/4 居住地: 投稿: 7342 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 > frontparts/bloc/login.php
> frontparts/bloc/login_header.php > > を消去した場合のみ、正常にlastModifiedでの日付が取得出来ることがわかりました…。 よく、そこにたどり着きましたね。istn 様の分析能力に感服です。 分かりました。 多分、LC_Page#httpCacheControl です。 しかし、ログインブロックとなると、範囲が広くて、困りましたね・・・
|
istn |
投稿日時: 2011/11/17 2:19
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 LC_Pageのどれを見たらいいのかわかりませんが…とりあえず片っ端から見てみたのですが、どう手を加えたらよろしいのか全くわからず教えて頂いたページ等と長時間睨めっこしてみましたが全く解決致しませんでした。
どれを見てみたらいいのか私には全く分かりませんでしたので、それらしきLC_Page_FrontParts_Bloc_Login.phpを開いてみたところ下記の通りでした。 すると、確かにHttpCacheControlなるものとsendResponseが存在しているのですがどうしたよいのか…という感じです。 // {{{ requires require_once CLASS_REALDIR . 'pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php'; /** * ログイン のページクラス. * * @package Page * @author LOCKON CO.,LTD. * @version $Id:LC_Page_FrontParts_Bloc_Login.php 15532 2007-08-31 14:39:46Z nanasess $ */ class LC_Page_FrontParts_Bloc_Login extends LC_Page_FrontParts_Bloc { // }}} // {{{ functions /** * Page を初期化する. * * @return void */ function init() { parent::init(); $this->tpl_login = false; $this->tpl_disable_logout = false; $this->httpCacheControl('nocache'); } /** * Page のプロセス. * * @return void */ function process() { $this->action(); $this->sendResponse(); } /** * Page のアクション. * * @return void */ function action() { $objCustomer = new SC_Customer_Ex(); // クッキー管理クラス $objCookie = new SC_Cookie_Ex(COOKIE_EXPIRE); // ログイン判定 if($objCustomer->isLoginSuccess()) { $this->tpl_login = true; $this->tpl_user_point = $objCustomer->getValue('point'); $this->tpl_name1 = $objCustomer->getValue('name01'); $this->tpl_name2 = $objCustomer->getValue('name02'); } else { // クッキー判定 $this->tpl_login_email = $objCookie->getCookie('login_email'); if($this->tpl_login_email != '') { $this->tpl_login_memory = '1'; } // POSTされてきたIDがある場合は優先する。 if( isset($_POST['login_email']) && $_POST['login_email'] != '') { $this->tpl_login_email = $_POST['login_email']; } } $this->tpl_disable_logout = $this->lfCheckDisableLogout(); //スマートフォン版ログアウト処理で不正なページ移動エラーを防ぐ為、トークンをセット $this->transactionid = SC_Helper_Session_Ex::getToken(); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } /** * lfCheckDisableLogout. * * @return boolean */ function lfCheckDisableLogout() { $masterData = new SC_DB_MasterData_Ex(); $arrDisableLogout = $masterData->getMasterData('mtb_disable_logout'); $current_page = $_SERVER['PHP_SELF']; foreach($arrDisableLogout as $val) { if($current_page == $val) { return true; } } return false; } } |
istn |
投稿日時: 2011/11/17 15:47
対応状況: −−−
|
常連 ![]() ![]() 登録日: 2011/11/10 居住地: 投稿: 31 |
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。 seasoft様のご返答を得て自分で色々してみたところ、data/class/pages/LC_Page.phpの294行目・301行目の
header('Last-Modified:'); を削除してみたところ、ページの最終更新日時が正常に表示されました。(login.php,heade_login.phpを削除せずに) 買い物かご・ログインのキャッシュも正常に動作しているのでこのままで大丈夫なのかなとは思うのですが、SEO対策的にheaderのLast-Modifiedを消すのはどうかな…と思っています。 この方法で大丈夫なのか、もしくはこの事によりにクロールされたキャッシュが永遠と残るのではないかという心配もあります。 一応、問題はseasoft様の的確なご協力により解決致しましたが…headerのLast-Modifiedを削除してしまっても大丈夫でしたでしょうか? |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |