Zen-cartの重複コンテンツが作成される問題

2007.10.17

画像 - Zen-cartの重複コンテンツが作成される問題

Zen Cart内部のURL構造のSEO最適化しました。

重複するURLを作らないために、モジュールを修正しました。

重複コンテンツが引き起こすSEOトラブルを防ぐために

Googleウエブマスター向けガイドライン(品質に関するガイドライン)には複数のページ、サブドメインやドメインで同じコンテンツを公開しない。という記述があります。

URL書き換え日本版のエントリにも書きました。

重複ページを持つサイトはSEO的に大きなマイナスとなり、検索順位を下げることになる

Zen-cartのSEO対策 URLを短くクロールされやすいものにする。 : delab

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>';
}

Recommend!

PHPによるWebアプリケーションスーパーサンプル 第2版 PHPによるWebアプリケーションスーパーサンプル活用編 第2版 jQueryで作る Ajaxアプリケーション CakePHPガイドブック CakePHP ポケットリファレンス

TrackBack URL
このエントリのリンクを作成
Comment Form

スタイル指定用の一部の HTMLタグが使用できます。