ショッピングカートSEO対策
ショッピングカートCGIとSEO対策[Google対策]
ショッピングカートCGIの比較検討
ショッピングカートCGI
ダウンロードの申込み
アフィリエイト参加
ショッピングカートCGIとSEO対策[アクセスUP] ショッピングカートCGIとSEO対策[アクセスUP]

ショッピングカートCGIとSEO対策[Google対策]

cgi(perl)を使ったページのSEOは難しい面を含んでいます。便利ではありますが、検索エンジンがインデックスしにくいという問題点があるのです。せっかく、豊富な商品情報を含んでいても検索エンジンは拾ってくれないかもしれません。
そこで、いろいろな方法が考えられています。下記は代表的な方法です。

  1. sitemaps.orgサイトマップの活用
  2. 正規化(canonical)の活用
  3. 静的なページの生成
  4. RSSの活用
  5. mod_rewriteの活用
これらの方法の活用法やそのためのプログラムについてこれから順に説明したいと思います。 ※グーグル(Google)の指針を引用しながら解説している、こちらのサイトも参考にして下さい。⇒SEO対策/ショッピングカート設置塾

sitemaps.orgサイトマップの活用法(Google推奨)
サイトマップを作成することにより、検索エンジンに拾わせるようにする方法はかなり有効です。サイトマップには、sitemaps.org形式のサイトマップやRORサイトマップなどがあります。これらは、Yahoo、Google、MSNで効果が実証されています。
サイトマップを用いた方法は、CGIの良さを保ったままSEO対策ができる方法で、一番のお勧めです。それで、reserve~Contents-Cartでsitemaps.org形式のサイトマップ、及び、RORサイトマップの自動生成の機能を標準装備しました。(現在、RORオフィシャルサイトで障害が発生しており、RORサイトマップは使えないようです。)
下記のURLがサイトマップ上に簡単に生成されます。

/shop/
/shop/index.cgi?t=*
・・・・・
/shop/shop.cgi?id=**
・・・・・
/shop/shop.cgi?class=**
・・・・・
/shop/k_shop.cgi?id=**
・・・・・
/shop/k_shop.cgi?class=**
・・・・・


なお、Googleの場合、モバイルサイトマップの形式が異なります。それで、Googleモバイル用のサイトマップも生成できるようにしました。

これにより、商品詳細ページと商品一覧(分類)のページは検索エンジンの対象になり、商品情報を生かすことができます。

実際、~.cgi?****** の*****の部分が比較的短いのであれば検索エンジンにインデックスされており、サイトマップの作成によりそれを確実に実現することができるのです。

サイトマップを有効にするためには、次の内容のrobots.txtファイルをルートディレクトリーにUPすればOKです。
Sitemap: http://(ドメイン名)/shop/sitemap.xml
Sitemap: http://(ドメイン名)/shop/google_mobile_sitemap.xml


詳しくはこちらを参考にしてください。
サイトマップの XML 形式

モバイル サイトマップの作成
サイトマップの作成

RORサイトマップの活用法
sitemaps.org形式のサイトマップ

上記の方法は、CGIのよさを保ったままSEOが簡単にできる優れた方法です。下記に示すように静的ページの生成やmode_rewriteの活用も1つの方法ですが、あまり実際的ではありません(かなり時間が無駄になる!)。Googleなどでもすすめている上記の方法を用いながら、HTMLにしろ、CGIで生成されるページにしろ、その内容を充実したものにすることに時間をかけることが、正しいSEOであるに違いありません。検索エンジン側も当然そのように考えるはずですね。

正規化(canonical)機能(Google推奨)
検索エンジンが正規化(canonical)の機能をサポートするようになりました。これは動的なページにとっては大変有利な機能で、Googleも推奨しています。
canonical ページとは、複数の類似した内容のページの中で優先されるページのことで、下記のように指定します。この<link>要素を全ての類似のページの<head>セクションに記述します。

たとえば、分類のページには類似のページがたくさんあります。価格や人気順によるページや複数ページにまたがる場合などです。このような場合、優先するページを下記のようにcanonical ページを指定してあげることにより、より効果的にインデックスされるようになります。

<link rel="canonical" href="http://www.example.com/shop.cgi?class=**"/>

それで、ショッピングカートPCtoMobile、Contents-Cartでは、類似のページに自動的に<link>要素を出力する機能を搭載しました。出力パターンは下記の通りです。

【PCの場合】
商品一覧
<link rel="canonical" href="http://www.example.com/shop.cgi?class=**"/>
<link rel="canonical" href="http://www.example.com/shop.cgi?keyword=**"/>
<link rel="canonical" href="http://www.example.com/shop.cgi"/>
商品詳細ページ
<link rel="canonical" href="http://www.example.com/shop.cgi?id=**"/>
HOME、TOP1~10
<link rel="canonical" href="http://www.example.com/"/>
<link rel="canonical" href="http://www.example.com/index.cgi?t=*"/>
その他
<link rel="canonical" href="http://www.example.com/shop.cgi?mode=law"/>
<link rel="canonical" href="http://www.example.com/shop.cgi?mode=howto"/>
<link rel="canonical" href="http://www.example.com/shop.cgi?mode=look"/>


【携帯の場合】
商品メニュー
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=menu"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?class=**&mode=menu2"/>
商品一覧
<link rel="canonical" href="http://www.example.com/k_shop.cgi?class=**"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?keyword=**&mode=goods"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=goods"/>
商品詳細ページ
<link rel="canonical" href="http://www.example.com/k_shop.cgi?id=**"/>
HOMEとTOP1~5
<link rel="canonical" href="http://www.example.com/k_shop.cgi"/>
(又は、<link rel="canonical" href="http://www.example.com/"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=top*"/>
その他
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=law"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=how"/>
<link rel="canonical" href="http://www.example.com/k_shop.cgi?mode=look"/>

※この正規化の機能を使わない場合は、set.plの約32行目のところで1を設定します。また、携帯のHOMEのURLをドメインにするかk_shop.cgiにするかをset.plの約35行目あたりで選択できます。この場合、index.cgiの12行目と一致させる必要があります。初期値は、正規化の機能を使い、携帯HOMEをドメインにする設定になっています。

携帯SEOの注意点(Google推奨)
Googlebotにサイトが認識されるためには、携帯の場合、特別の注意が必要になります。
まず、携帯用のGooglebotはUserAgentに'Googlebot-Mobile'を含んでおり、Googleはそれのみで判断するように勧めています。Yahooの場合は、'Y!J-SRD/1.0','Y!J-MBS/1.0'です。さらに、携帯サイトとして認識されるためには、DTDを携帯端末向けの宣言にする必要があります。

これまで、Googleでは携帯端末を装ってクロールしてきましたが、UserAgentを予告なく変更すると述べていますので、'Googlebot-Mobile'のみで判断する必要があります。それで、最新版のReserve~Contents-Mallでは、下記の機能を実装いたしました。
  • UserAgentが「'Googlebot-Mobile','Y!J-SRD/1.0','Y!J-MBS/1.0'」の場合、FOMAのDTDを出力。
  • <!DOCTYPE html PUBLIC '-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/1.0) 1.0//EN' 'i-xhtml_4ja_10.dtd'>
また、モバイル検索でPC版のページが出てくる場合があります。そのような場合、対応する携帯ページにリダイレクトする機能を取り入れました。これは、Googleがスターターガイドで勧めているもので、PCtoMobile以上のショッピングカートで搭載しました。
  shop.cgi⇒⇒(携帯からアクセスした時、対応するページにリダイレクト)⇒⇒k_shop.cgi

上記の点に関しましては、下記のGoogleの資料を参考にしてください。
Google のモバイル クロールで・・・・
Google検索エンジン最適化スターターガイド
モバイル版Yahoo!検索の検索エンジン

※FireFoxを使うと、上記の機能をテストすることができます。UserAgentをいろいろ変えてテストしてみてください。⇒User Agent Switcher  ⇒サンプル

SEOの基本(titleタグなど)
さて、SEOの基本として次のものが上げられています。
  1. キーワードを含むタイトル(全角20文字、半角40文字)
  2. キーワードを選ぶ(無視されることが多いようです。ただし、Yahooでは効果あり!)
  3. 紹介文(全角100文字、キーワードをうまく配置)
  4. 商品説明にキーワード(画像のalt属性に記述)
ショッピングカートはこれらを自動で以下のように設定します。

top1~top5のページ
  • タイトル=(指定のもの)
  • キーワード=(指定のもの)
  • 紹介文=(指定のもの)
商品詳細のページ
  • タイトル=商品名+[商品記号]
  • キーワード=商品名+[商品記号],(指定のもの)
  • 紹介文=商品名+[商品記号]...+(指定のもの)
  • 商品画像のalt属性=商品名[記号]
分類のページ
  • タイトル=大分類-小分類 | +(指定のもの)
  • キーワード=大分類,小分類,(指定のもの)
  • 紹介文=大分類 小分類...+(指定のもの)
  • 商品画像のalt属性=商品名[記号]
カテゴリー(キーワード検索)のページ
  • タイトル=カテゴリー | (指定のもの)
  • キーワード=カテゴリー,(指定のもの)
  • 紹介文=カテゴリー...+(指定のもの)
  • 商品画像のalt属性=商品名[記号]
このような設定はSEOの基本である「検索エンジンユーザー最適化」にもつながります。つまり、キーワードで検索した目当てのものと一致したページを探すことができ、それが購買につながるといことです。つまり、ロボット型検索エンジンとユーザーの両方に適化されているのです。

PCtoMobile、Contents-Cartの場合は、携帯ショッピングカートでもMETAタグのタイトルやキーワード、紹介文、及び、商品画像のalt属性が同じように生成されます。

SEOについてSEOの施策(h1,h2,pタグなど)
SEOで重視されているのは下記の点です。
  • タイトル
  • h1、h2、h3、p、strongの活用
例えば、次のようなページ構成が勧められています。(【注】もっとも、STRONGタグは重視されなくなりつつありますし、多用すると逆効果になります。HTMLを記述する際、STRONGタグの多用に注意してください。)(SEOの施策 SEO塾

タイトルが、○○○○□□□□◇◇◇◇ の場合

<H1><STRONG>○○○○</STRONG></H1>

<H2><STRONG>○○○○</STRONG></H2>
<P><STRONG>○○○○</STRONG>
 :  :
○○○○</P>
<H3><STRONG>○○○○</STRONG></H2>
<P><STRONG>○○○○</STRONG>
 :  :
○○○○</P>

<H2><STRONG>□□□□</STRONG></H2>
<P><STRONG>□□□□</STRONG>
 :  :
□□□□</P>
<H3><STRONG>□□□□</STRONG></H2>
<P><STRONG>□□□□</STRONG>
 :  :
○○○○</P>


それで、Reserve~Contents-Cartの Ver.10.00以降 では、スタイルシートを充分に用いながら、上記の施策を実施いたしました。組み込まれたスタイルシートを活用し、サンプルのようにHTMLを記述することにより、自動的にSEO対策が可能となります。(スタイルシートの活用法

また、最新のReserve~Contents-Mallでは、ヘッダーのカスタマイズに変数 $pagekeyword を使えるようにしました(システム設定【13】)。この変数は表示ページに応じて下記のような値を出力します。
  • 商品名[商品記号]・・・・(商品詳細ページ)
  • 分類名・・・・(分類一覧ページ)
  • キーワード検索のキーワード・・・・(キーワード検索結果のページ)
  • TOP1~TOP10のタイトル・・・・(TOP*のページ)
それで、システム設定【13】のところで、この変数$pagekeywordをサンプルのようにh1、h2、h3、pタグなどに配置することによりSEO対策を施すことができます。

また、PCtoMobile以上では携帯でもサイトのロゴ画像のALT属性にページごとのキーワードを出力し、かつh1タグを用いるようにしました。

ソーシャルメディアへの登録
ソーシャルネットワーク(Facebookやツイッターなど)やソーシャルブックマーク(はてなブックマークなど)へ登録すると被リンクが得られます。したがって、SEO効果が期待できます。しかも、これはGoogleが推奨している『自然なリンク』の増加になります。
ショッピングカートPCtoMobile~Contents-Mallでは、下記の4つの代表的なソーシャルメディアに登録するボタンが自動的に表示されるようになっています。  
  • Facebookの「いいね」ボタン
  • Google+1ボタン
  • ツイッターのツイートボタン
  • はてなブックマークボタン
詳しくは下記のページをご覧ください。
 ⇒ Facebookやツイッターボタンの自動表示機能

静的ページの自動生成
静的ページを生成するためにプログラムhtml_makerの使用方法を説明いたします。(ショッピングカートreserve以降ではhtml_makerが標準添付されています。)

HTML_MAKER VER2.00 (ショッピングカートSPシリーズ対応)は、トップページHTML、TOP1~TOP5のページのHTMLを自動で生成するためのCGIです。生成されたHTMLファイルはホームページビルダーなどで加工することができ、SEO対策のために活用することができます。 VER.2.00以降では、生成されたHTMLはカートと同じフォルダに生成されます。システム設定の変更なしに生成できます。

【注意】別のフォルダで使用したいときには、生成されたHTML内のスタイルシートや画像のフォルダのパスを修正する必要があります。これは、特に、cgi-bin下でのみcgiが動くサーバの場合、生成されたhtmlファイルを適切な場所に移動する時などに必要となります。

mod_rewriteの活用RSSの活用
新着情報をRSSとして提供することはSEO対策になると考えられています。そこで、商品番号を指定して商品情報のRSSを自動で生成するプログラムRSS-GENERATORを用意しました。これによりRSS1.0及びRSS2.0を自動生成することができます。

【使用方法】
ショッピングカートのフォルダにUPして、rss_generator.cgiを呼び出して使用します。これによりRSS1.0及びRSS2.0を自動生成することができます。

また、ホームページのHTMLファイルのhead要素内に下記の1行を追加してください。これによりRSSが提供されていることをブラウザなどに伝えることができます。また、カートのhead要素内に記述するには、システム設定【36】でスタイルシートを記述するところに挿入してください。

<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://**/rss20.xml">

【生成されたRSSの例】
このプログラムによりショッピングカートのフォルダにrss10.xml又はrss20xmlが生成されます。下記は、rss2.0の生成例です。

<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>★★★タイトル★★★</title>
<link>http://*****/</link>
<description>簡潔にホームページをアピールします。</description>
<language>ja</language>

<item>
<title>サングラス [\5,000(税込)]</title>
<link>http://*****/shop.cgi?id=1</link>
<description>耐衝撃性、視覚機能、軽量性、耐久性をそなえたサングラス。ブランドショップならではの高品質を心行くまでお楽しみください。</description>
<content:encoded><![CDATA[<p><a href="http://*****/shop.cgi?id=1"><img src="m_image/1.jpg" style='margin-right:20px;' border='0' align="left" alt="" width="120"></a>耐衝撃性、視覚機能、軽量性、耐久性をそなえたサングラス。ブランドショップならではの高品質を心行くまでお楽しみください。</p>]]></content:encoded>
</item>

</channel>
</rss>



参考資料:
RSSの構文
RSSの公開
RSSフィードをSEOに生かすための12のポイント

mod_rewriteの活用mod_rewriteの活用

mod_rewriteというのは、perlモジュールで、正規表現を使ってURLを書き換えるものです。これを活用すると、CGIで動的に生成されたページを、あたかも静的なページであるかのように見せることができ、検索エンジンに有利になります。

【注】しかし、これはGoogleでも指摘しているように高度な作業であり、不正確に行われた場合は、クロール関連の問題を引き起こす原因となる可能性があります(GoogleSEOスターターガイド8ページ)。という訳で、この方法が努力に見合うかどうかを考慮するのは賢明なことです。

例えば、カート用フォルダshop内にPCtoMobileをUPしたとしましょう。それから、ルートディレクトリーに.htaccessをUPします。

【フォルダ構成】
  http://ドメイン/
           .htaccessファイル
           shop(カート用フォルダ)
               shop.cgi
               ・・・・・・・

【.htaccessの内容】
RewriteEngine on
RewriteRule shop/class/(.*)/$ /shop/shop.cgi?class=$1&keyword=&superkey=1&FF=0
RewriteRule shop/categry/(.*)/$ /shop/shop.cgi?class=all&keyword=$1&FF=0
RewriteRule shop/goods/(.*)/$
   /shop/shop.cgi?class=all&keyword=&superkey=1&id=$1&mode=p_wide
RewriteRule shop/top1/ /shop/shop.cgi?mode=top1
RewriteRule shop/top2/ /shop/shop.cgi?mode=top2
RewriteRule shop/top3/ /shop/shop.cgi?mode=top3
RewriteRule shop/top4/ /shop/shop.cgi?mode=top4
RewriteRule shop/top5/ /shop/shop.cgi?mode=top5


こうすることにより、ページはCGIで生成されているのですが、あたかも静的なページに見え、検索エンジンに対して有利になるのです(検索エンジンからは静的ページに見える)。

【注】この場合、生成されたページが正しく機能するためには、スクリプトや画像フォルダのパスが相対パス(./~)ではなく、フルパスや絶対パスで指定されていなければなりません。(システム設定の【2】スクリプト&ファイルのパス)

  1. スクリプトのパス・・・・ http://~(フルパス)
  2. 画像フォルダ・・・・ 読み込み用:http://~(フルパス)、convert.cgi使用の場合は相対パスのままでよい。 
SEOお役立ちツールSEOお役立ちツール

被リンクチェックツール
SEO診断ツール
検索数予想ツール
  キーワード出現頻度解析
サイト診断ツール集
シンプルWEB
319サイトからの被リンク獲得!

Copyright (C) 2012  WEBインベンター All rights reserved.