バージョン選択

フォーラム

メニュー

オンライン状況

55 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 55
もっと...

サイト内検索

質問 > フロント機能 > 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
居住地:
投稿: 7365
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。
手元の環境だと、ヘッダーはこんな感じです。


Date: Tue, 15 Nov 2011 04:44:17 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT


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


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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
居住地:
投稿: 7365
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。
やりたいことは、この辺りですかね。
http://www.arielworks.net/articles/2004/0125b


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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
居住地:
投稿: 7365
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。
> ヘッダーのphpを変更したらいいのか、ヘッダーのtplに何か追記をしたらいいのかまったく分からず、お分かりになるのでしたらご教授願いたいです…。

サイト全体だとしたら、LC_Page#sendResponse の末尾とかかな。


> 尚、もちろん当たり前のことかもしれませんが…test.htmlというファイルを作ってそちらの最終更新日時を確かめたところ、正常な日時が表示されます。

うん。当たり前ですね。(笑)
ですが、サーバが腐っていないようで、安心ですね。

そうなると、PHP か EC-CUBE の処理という事になりますが・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

seasoft
投稿日時: 2011/11/17 0:07
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7365
Re: SEO対策にて、ページ更新日時が1970年1月1日と表示されてしまう。
> frontparts/bloc/login.php
> frontparts/bloc/login_header.php
>
> を消去した場合のみ、正常にlastModifiedでの日付が取得出来ることがわかりました…。

よく、そこにたどり着きましたね。istn 様の分析能力に感服です。

分かりました。
多分、LC_Page#httpCacheControl です。

しかし、ログインブロックとなると、範囲が広くて、困りましたね・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.