
Zen Cart内部のURL構造のSEO最適化しました。
重複するURLを作らないために、モジュールを修正しました。
重複コンテンツが引き起こすSEOトラブルを防ぐために
Googleウエブマスター向けガイドライン(品質に関するガイドライン)には複数のページ、サブドメインやドメインで同じコンテンツを公開しない。という記述があります。
URL書き換え日本版のエントリにも書きました。
重複ページを持つサイトはSEO的に大きなマイナスとなり、検索順位を下げることになる
Zen-cartの仕様では商品ページは単一ではない
しかし、Zen-cartの仕様だと、URLの形成基準が一定でなく、商品ページが2種類出来る場合があります。
http://XXX.com/index.php?main_page=product_info&cPath=カテゴリID&products_id=商品ID
http://XXX.com/index.php?main_page=product_info&products_id=商品ID
前回のように、robot.txtとインデックスの削除で重複ページを検索させないようにすることも出来ますが、内部リンクが分散されてしまうことで、リンクポピュラリティが低下することに繋がります。
特に商品ページはサイトにとって重要な部分ですので、URLの短縮化をおすすめします。
追加モジュールで重複コンテンツが出来る – URL書き換え日本語版
パン屑リストのカテゴリページ生成ルール
/category/categories/[カテゴリID].html
/category/categories/[親カテゴリID]_[カテゴリID].html
全カテゴリー表示SideBoxを利用している場合、サイドに表示されるサブカテゴリのリンクは
/category/categories/[カテゴリID].html
になるので、サブカテゴリの前に親カテゴリが入るように修正します。
修正前
includes/classes/categories_all.php 77行目
if ($level == 0) {
$result .= $this->root_start_string;
}
$result .= str_repeat($this->spacer_string, $this->spacer_multiplier * $level) . '<a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $category_link) . '">';
$result .= $category['name'];
$result .= '</a>';
修正後
includes/classes/categories_all.php
if ($level == 1) {
$result .= str_repeat($this->spacer_string, $this->spacer_multiplier * $level) . '
<li id="cat_' . $category_link . '"><a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $parent_id . '_' . $category_link) . '">';
$result .= $category['name'];
$result .= '</a></li>';
} else{
$result .= str_repeat($this->spacer_string, $this->spacer_multiplier * $level) . '
<li id="cat_' . $category_link . '"><a href="' . zen_href_link(FILENAME_DEFAULT, 'cPath=' . $category_link) . '">';
$result .= $category['name'];
$result .= '</a></li>';
}






