hamada
bungu****@leo*****
2006年 2月 21日 (火) 09:26:16 JST
こんにちわ。 On Tue, 21 Feb 2006 01:37:38 +0900 hira <hira****@s-pag*****> wrote: > そうなんですよね、便利な反面、重複登録されてしまうのを懸念しておりました。 わ、当方以外にも気を揉んでた方が居られたみたい(^_^) SpiderKiller以降、こちらで準備した一覧ページのリンクだけでなく、osCの tep_href_link()なリンクもクローラーが追うようになった→この事自体は非常 に有り難いんですが、URLの引数部が複雑化することは避けられず、商品詳細の SEO的な価値低下がヤバいなぁとずっと感じてました。 また、以前YST初期だったかに 「“インデックスされ易さ”にはURLの長さが関係有るのかもしれない」 というオハナシがありまして、可能ならURLを短く切り詰めたかった→拙作 mklist/mklist2のリンクは既に引数を取っ払って短くしてたんですが、各種商品 一覧からtep_href_link()を追ってこられるとどうしようもないという。 ということでここ数ヶ月、mod_rewriteによるリダイレクトを実験してました。 未だ明確な結果が出た訳じゃないんですが、現時点での感触としては「悪くなさ そう」という印象です。それなりに数字が上がってます。 リダイレクトを設定している場合、どちらのURLがデータベースに登録されますか? http://help.yahoo.co.jp/help/jp/search/indexing/indexing-21.html ↑非常に重要な情報ですので、確実に押さえておかれる事を強くお勧め。 が、mod_rewriteには既述の副作用があります→このためにユーザビリティの低 下を招くのは本末転倒と感じましたんで、今回ようやくproduct_info.php側の工 事に踏み切りました次第。 > mod_rewriteを利用するよりも負荷が少なくて済むでしょうし、私も利用したいと思います。 負荷的には、tep_get_product_path()経由で再帰的にSQL投げてHDD回してる→機 械的処理のmod_rewriteよりも、かなり重くなっちゃうと思います(^^;) 当方はこういった問題を「専用サーバのスケールアップ」で力ずくに解決してる んですが、共用サーバ等でosCに割り振れるCPUパワーが少ない場合は、パース時 間等を真面目に計測されたほうが良いかも。 > また、If-Modified-Sinceについても有益な情報ありがとうございます。 頂きモノですので(^_^;) 当方はなにもしてません。ただ頂いてきただけ。 当方は現在 「売り切れた商品がいつまでもインデックスされてる」 問題がなんとか出来ないかと実験中です。SpiderKillerの判定処理と組み合わせ れば、クローラー相手にだけ404を食わせられそうな、とか。 > //商品IDがアクティブじゃない&クローラー相手なら404 > $product_info_query = tep_db_query("select products_id, products_last_modified from " . TABLE_PRODUCTS . " where products_status = '1' and products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' limit 1"); > > if (!tep_db_num_rows($product_info_query) && $spider_kill_sid) { > > header("HTTP/1.0 404 Not Found"); > exit; > > } > > > //更新時刻を取得 > $data = tep_db_fetch_array($product_info_query); > > //更新時刻を返す > doConditionalGet(strtotime($data['products_last_modified'])); ↑ということで、現時点のコード。 ただ、この処理はクローキングじゃないという確信が未だ持てませんので、お勧 め出来ません。 http://dictionary.goo.ne.jp/search/%82%AD850512961300000000/jn/5/ クローラーとクローラー以外で表示される内容が変わっちゃうと言うことなので、 「これはクローキング(=スパム)だ」と言われればそんな気もするし。 はまだ