PrestaShopのSEO

PrestaShopでSEOがどのように機能するかを解説します。必須のIDトークンを含むフレンドリーURL、設定可能なcanonicalリダイレクト、制限のある標準sitemapとrobots.txt生成機能、標準のhreflangやスキーマがないこと、不足を補うモジュールのエコシステムを扱います。

初回公開:2026年6月26日 · 最終更新:2026年8月21日 · Advanced
言語

PrestaShopは自分でホスティングするオープンソース(PHP/MySQL)のECで、深い制御が得られる一方、ホスティング型の競合より多くの設定が必要です。オブジェクトごとのメタタグ、フレンドリーURL(mod_rewriteが必要)、設定可能な301のcanonicalリダイレクト、ページごとのH1を1つ、無効な商品のリダイレクト設定、robots.txt生成機能など、標準で正しく行うことも多くあります。注意点は、数値の{id}トークンがURLルートで必須(モジュールまたはルート上書きでのみ削除可能)、標準sitemapが自動更新されず多言語/画像のカバレッジが弱いこと、標準のhreflangや包括的なスキーマがないことです。ファセットナビゲーション、並べ替え、フィルターURLも自動でcanonical化されません。不足の多くはサードパーティーモジュールで補えます。重いデフォルトテーマのCore Web Vitalsは、組み込みCCC(Concatenate, Compress, Cache)で改善されます。

TL;DR — PrestaShopはセルフホスティングのオープンソースECなので、ホスティング作業と引き換えに深い制御が得られます。標準の強みは、オブジェクトごとのメタタグ、フレンドリーURL(mod_rewriteが必要)、設定可能な301/302のcanonicalリダイレクト、商品組み合わせの親URLcanonical化、ページごとのH1を1つ、無効な商品のリダイレクト設定、robots.txt生成機能です。注意すべきデフォルトは、URLルートで{id}トークンが必須(モジュールまたはルート上書きでのみ削除可能)、標準sitemapが自動更新されず、多言語とCDN画像のカバレッジが弱いこと、そして多言語、構造化データ、フィルターURLの挙動はインストール済みのバージョン、テーマ、モジュールに照らして確認すべきことです。重いデフォルトテーマのパフォーマンスは、組み込みのCCC(Concatenate, Compress, Cache)で改善できます。

Evidence for this claim PrestaShop provides configurable friendly URLs, canonical redirects, and route patterns in its traffic and SEO settings. Scope: PrestaShop 8 administration; modules and version differences can change behavior. Confidence: high · Verified: PrestaShop 8: SEO and URLs Evidence for this claim Google treats canonical declarations as signals and recommends consistent canonicalization for duplicate URLs. Scope: Google canonicalization behavior applied to ecommerce URL variants. Confidence: high · Verified: Google Search Central: Canonicalization

深い制御と増える設定

PrestaShop SEOのコンテンツの多くは、一般的なチェックリストか有料モジュールの売り込みです。役に立つ捉え方はこうです。PrestaShopは、ホスティング型SaaSプラットフォームよりも、生の制御力を大きく与えます。オープンソース、サーバーアクセス、編集可能なルートテンプレートがある一方、完成した状態で出荷される機能は少ないため、不足する部分は具体的で予測できます。 すべてを2つのバケットに分ければ、プラットフォームは謎ではなくなります。

ここで、まずバージョンについて1点。2026年半ばの時点で、PrestaShopは2つのメジャーブランチを同時にアクティブ運用しています。9.x(2026年6月時点で9.1.4)と、独自の更新を並行して提供しているv8.2.x LTSブランチ(同じく2026年6月時点で8.2.7)です。以下で説明するSEO設定は、PrestaShopのv9 SEO & URLsドキュメントで直接確認した限り、v8とv9で変わっていません。ただし、あるブランチ向けに構築・テストされたモジュールが別ブランチで動作する保証はありません。インストール前にモジュールの対応バージョンを確認し、まず自分のストアのコアバージョンを確認してください。各モジュールベンダーの「compatible with」表示が参照する番号です。

デフォルトで整っているもの: オブジェクトごとのメタタイトル/説明、フレンドリーURL、設定可能なリダイレクト付きcanonicalタグ、商品組み合わせの親URLcanonical化、ページごとのH1を1つ、パンくず、無効な商品のリダイレクト設定、robots.txt生成機能、標準sitemapモジュール。

自分で行うこと(主にモジュール経由): IDなしURL、多言語/マルチショップ向けhreflang、包括的なProduct/Breadcrumb/Organization/FAQスキーマ、ファセットナビゲーションのcanonical/noindex、自動更新する多言語画像sitemap、デフォルトテーマでのCore Web Vitals。

URL構造

URL設定はShop Parameters → Traffic & SEOにあります。「Friendly URLs」を有効にすると、product.php?id_product=27/2-music-players/27-ipod-nano-greenのような説明的なスラッグに変わります。Apacheのmod_rewrite(またはNginx相当)が必要で、必要ならURLにアクセント付き文字を残せます。

理解すべきなのはデフォルトのルートスキーマです。PrestaShopの商品ルートは{category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.htmlで、他のタイプも同じパターンに従います。

ページタイプデフォルトルート
商品{category:/}{id}{-:id_product_attribute}-{rewrite}{-:ean13}.html
カテゴリ{id}-{rewrite}
CMSページcontent/{id}-{rewrite}
サプライヤーsupplier/{id}-{rewrite}
ブランドbrand/{id}-{rewrite}

{id}トークンは必須です。 すべてのデフォルトルートに含まれるのは、PrestaShopがそのIDでデータベースからオブジェクトを検索するためです。スラッグ({rewrite})は装飾にすぎません。これはPrestaShop URLで最も誤解されている点です。設定から数字を取り除くことはできません。きれいに削除するには、IDを取り除き301リダイレクトを維持するサードパーティーモジュール(FME Pretty URL、SunnyToo、MyPresta)か、誤るとコア機能を壊しうる慎重なルートテンプレート上書きが必要です。Empirical EdgeがPrestaShopは「PrestaShop generates URLs that contain unwanted numbers and special characters, making it non-SEO-friendly. A long, complex URL decreases the possibility of higher ranking in the search results.」 (翻訳)「不要な数字や特殊文字を含むURLを生成するため、SEOに適していません。長く複雑なURLは検索結果で上位にランクされる可能性を下げます。」と指摘するのは正確ですが、IDには実際の目的があります。バグではなく、検索キーなのです。

知っておく価値のあるルートの詳細が2つあります。{category:/}トークンはデフォルトで商品のカテゴリを商品URLに挿入します(商品が複数カテゴリに属する場合の重複コンテンツ上の考慮事項です)。また、{-:ean13}はURLにEANを追加できます。v 1.7.5.1以降は「Display attributes in the product meta title」を有効にして、「Product Name Color Size」のようなタイトルを自動生成することもできます。

canonicalタグ

PrestaShopはcanonicalタグを自動生成し、Traffic & SEOの下でcanonicalへのリダイレクト設定を提供します。選択肢はリダイレクトなし、301(恒久)、302(一時)の3つです。安定した本番設定には301を使ってください。PrestaShopが生成しがちな重複URLのバリエーションを統合できます。

標準の挙動が特に優れている場所が1つあります。それは商品組み合わせです。バリエーションURL(色、サイズ、ルートの{-:id_product_attribute}部分)では、canonicalが親商品のURLを指し、URL内の属性IDが無効ならそのcanonical親URLへリダイレクトされます。そのため、サイズや色の組み合わせがデフォルトで何百ものインデックス可能な重複に分裂することはありません。

標準canonicalがカバーしないのは、フィルターパラメーター、並べ替えパラメーター、ページネーションされたカテゴリページです。PrestaShopは?order=price_ascやファセット付きの?color=red&size=M URLを、クリーンなカテゴリURLへcanonical化しません。PrestaHeroの言葉を借りれば、“Implementing canonical tags is one of the most important practices for enabling friendly URLs on PrestaShop, as these HTML tags inform search engines of the ‘master’ version of a page when duplicate or similar content exists.” (翻訳)「PrestaShopでフレンドリーURLを有効にするにはcanonicalタグの実装が最も重要な実践の1つです。重複または類似するコンテンツが存在する場合、これらのHTMLタグが検索エンジンにページの『マスター』版を知らせるためです。」ものであり、フィルターページではcanonicalモジュールまたはテーマ/コード変更による実装を自分で行う必要があります。

重複コンテンツ——本当の作業

PrestaShopで重複コンテンツが生じる原因は予測できます。FME Modulesは問題の大きさを次のようにまとめています。“Duplicate URL issues confuse search engine crawlers, waste crawl budget, and split link equity, which collectively damage SEO performance.” (翻訳)「重複URLの問題は検索エンジンのクローラーを混乱させ、クロールバジェットを浪費し、リンクエクイティを分割するため、総合的にSEOパフォーマンスを損ないます。」主な原因は次のとおりです。

  • ファセットナビゲーション?color=red&size=M形式のフィルターURL、同一またはほぼ同一のコンテンツ、標準canonicalなし。
  • 並べ替え — カテゴリURLに?order=price_ascが追加される。
  • ページネーション — カテゴリや検索の/page-2/page-3
  • IDのみのURLとスラッグURL — リダイレクトを強制していなければ、どちらも解決される可能性があります。
  • wwwと非www/HTTPとHTTPS — 適切なリダイレクト設定が必要です。
  • 印刷用URLと(古いバージョンでは)セッションID URL。

修正は単一のスイッチではなく、段階的に行います。

  1. Traffic & SEOでcanonicalリダイレクトを301に設定します。
  2. フィルター/並べ替えパラメーターを拒否するようrobots.txtをカスタマイズします(詳細は後述)。
  3. ファセットナビゲーションにはcanonicalモジュールを追加します。標準canonicalは商品と組み合わせには対応しますが、フィルターページには対応しません。
  4. ページネーションを意図的に扱います。PrestaShopは重複を減らすため、1ページ目以降ではカテゴリタイトルブロックをすでに削除します。Googleは2019年にrel=nextprevのサポートを終了したため、現在の方法は、各ページを独自のself-canonical URLでインデックス可能に保つことです。コンテンツが本当に重複している場合を除き、2ページ目以降を1ページ目にcanonical化しないでください。ページネーションを反射的にnoindexにしないでください。対象はフィルター/並べ替えのバリエーションです。

監査担当者向けに、PrestaShopのH1について1点。カテゴリページで重複H1が生成されるバグはv 1.7.5で修正されました。古いインストールでは確認してください。

Sitemap

PrestaShopには、モジュールカタログから利用できる標準のGoogle Sitemapモジュールがあり、商品、カテゴリ、メーカー、CMSページ、モジュールが生成するページをカバーします。生成後、sitemap URLをrobots.txtに追加し、Google Search Consoleで送信します。

標準モジュールの制限は十分に文書化されており、大規模運用では重要です。商品を追加しても自動更新されず(手動またはcronで再生成します)、多言語対応が弱く(言語ごとのsitemapにはサードパーティーモジュールが必要)、CDNホスト画像のインデックス登録に一貫性がありません。FME Modulesは、組み込みsitemapについて*“may not auto-refresh when adding products, multilingual support is weak, and CDN-hosted image indexing is inconsistent.”* (翻訳)「商品追加時に自動更新されない場合があり、多言語対応が弱く、CDNホスト画像のインデックス登録に一貫性がない」と説明しています。多言語ストアや大規模で頻繁に変わるカタログには、サードパーティーのsitemapモジュール(FME、Sweet Sitemap)を使うと、自動更新、言語ごとのsitemap、画像sitemap、優先度/頻度の制御が得られます。

Robots.txt

**Shop Parameters → Traffic & SEO → 「Generate robots.txt file.」**から生成します。PrestaShopはインストール時にベースラインを作成しますが、カスタマイズは必要です。推奨する拒否対象は次のとおりです。

  • /cart/checkout/search
  • フィルター/並べ替えパラメーター:?order=?sort=?q=、およびファセットパラメーター
  • 管理画面/モジュールのユーティリティパス(例:/module/

商品画像をインデックス登録できるよう、/img/はクロール可能にして、sitemapの参照(Sitemap: https://example.com/sitemap.xml)を追加します。

他の何より重要な警告が1つあります。設定を誤ったrobots.txtはストア全体を削除しかねません。PrestaHeroは、“A misconfigured robots.txt can destroy SEO, as you don’t want to accidentally block /category or /product pages, which could remove your whole store from Google’s index.” (翻訳)「設定を誤ったrobots.txtはSEOを破壊する可能性があります。誤って/categoryや/productページをブロックすると、ストア全体がGoogleのインデックスから削除されるおそれがあるからです」と率直に述べています。ここで間違ったパスを拒否するのは、自分で招くインデックス削除です。

Schema/構造化データ

これは実際の不足です。PrestaShopが標準で含む構造化データは最小限で、包括的なスキーマはモジュールの仕事です。通常は、完全なProduct(名前、画像、価格、在庫状況、レビュー、配送/返品)、BreadcrumbListOrganizationWebSiteFAQPageが必要になります。これはリッチスニペットモジュールから提供されます。たとえばPrestaPremiumのSchema Proは、“Schema Pro automatically generates 9 Schema.org types across your entire store: Product, ProductGroup (variants with size, color, material), Organization, WebSite, BreadcrumbList, FAQPage, CollectionPage, shipping details and return policy.” (翻訳)「ストア全体で9種類のSchema.orgタイプを自動生成する」とうたい、Product、ProductGroup(サイズ、色、素材を持つバリエーション)、Organization、WebSite、BreadcrumbList、FAQPage、CollectionPage、配送詳細、返品ポリシーを挙げています。Googleの商品構造化データはまさにこれらのフィールドに対応しているので、マークアップを追加する価値はあります。ただし、コアが提供してくれるとは期待しないでください。

パフォーマンスとCore Web Vitals

PrestaShopのデフォルトテーマ、特にレガシーのClassicテーマは、Core Web Vitalsで苦戦することがあります。レンダリングをブロックするCSS/JS、最適化されていない画像(古いバージョンではWebPが標準でない)、古いテーマでは標準の遅延読み込みがないこと、重いモジュールのJSが同期的に読み込まれることが原因です。目標は標準的なものです。LCP < 2,5秒、INP < 200ms(INPは2024年3月にFIDに置き換わりました)、CLS < 0,1。

PrestaShopに組み込まれたレバーは、Advanced Parameters → Performanceにある**CCC(Concatenate, Compress, Cache)**です。CSS/JSを結合・圧縮してリクエスト数と容量を減らします。本番で有効にする前にテストしてください。一部のモジュールを壊すことがあります。CCC以外では、画像をWebPに変換し、遅延読み込みを有効にし、CDNを使い、パフォーマンス重視のテーマ(Hummingbird)を選び、重要でないJSを遅延させ、サーバーレベルのキャッシュ(Redis/Memcached)を追加します。Knowbandがこの重要性を説明する内容は妥当です。Core Web Vitalsは「クロール効率、有料トラフィックの品質、モバイルコンバージョン、チェックアウトの信頼性、すべての商品ページの第一印象に影響する」としています。PageSpeed InsightsとSearch ConsoleのCrUXデータで測定してください。

多言語ストアのhreflang

PrestaShopは複数言語(同一ドメイン、/fr//en/のような言語URLプレフィックス、または別ドメイン)と、カタログを共有する複数ショップをサポートします。ただし、hreflangタグは標準では生成しません。モジュールが必要です。SunnyToo、DataFireFly、MyPresta、FMEのCanonical & Hreflangなどがあります。MyPrestaは問題が起きる状況を明確に述べています。“Without hreflang tags, Google does not know which version of a page to display based on the visitor’s language or region. It may index the wrong version, create duplicate content across your language stores, or show an English page to a French-speaking visitor.” (翻訳)「hreflangタグがなければ、訪問者の言語や地域に応じてどのページ版を表示するかをGoogleは知ることができません。間違った版をインデックス登録したり、言語ストア間で重複コンテンツを作ったり、フランス語話者の訪問者に英語ページを表示したりする可能性があります。」

実装する際は、すべてのページタイプ(商品、カテゴリ、CMS、メーカー、サプライヤー)を対象にし、必ず x-default を含め、マルチショップのクロスドメインの対応付けを処理し、canonical化と一貫性を保ってください。また、一般的なhreflangのルールも忘れないでください。不完全で対応付けのない導入には意味がありません。Googleがセットとして認識するには、戻りタグが必要です。

プラットフォーム比較

PrestaShopは、ホスティング型SaaSプラットフォームと完全な制御を得られるMagentoの中間に位置します。各プラットフォームがSEOのレバーでどこに位置するかを見てみましょう。

機能PrestaShopShopifyWooCommerceMagentoBigCommerce
フレンドリーURLYes(切り替え)Yes(強制プレフィックス)プラグイン経由YesYes
URL内のIDデフォルトでYesNoYoast経由設定可能No
canonicalタグYes(一部)YesYoast経由YesYes
標準スキーマモジュール必須一部Yoast/RankMath経由一部一部
Hreflangモジュール必須アプリ必須WPML/Yoast経由Yes制限あり
標準sitemapモジュール(制限あり)自動Yoast経由Yes自動
Robots.txtエディターバックオフィス(生成)標準なしプラグイン経由編集可能編集可能
ファセットナビゲーション対応モジュール必須制限ありプラグイン経由設定オプション設定オプション
オープンソース/サーバーアクセスYesNoYesYesNo

Kinstaの比較も多く含めた正直なまとめです。Shopifyと比べると、PrestaShopはオープンソース、サーバーアクセス、カスタマイズ可能なルートによって生の制御力が高い一方、Shopifyはパフォーマンスとセキュリティを管理し、削除できない/products/形式のプレフィックスを強制します。WooCommerceについてKinstaは、“WooCommerce would beat PrestaShop, as it inherits all of WordPress’s SEO capabilities, especially when it comes to blogging” (翻訳)「ブログに関して特に、WordPressのSEO機能をすべて受け継ぐため、WooCommerceがPrestaShopに勝る」と読み取っています。ただし、“out of the box, PrestaShop offers more options than WooCommerce for ecommerce SEO, with the product editor enabling you to add custom meta titles and descriptions for each product.” (翻訳)「標準状態では、PrestaShopは商品ごとにカスタムメタタイトルと説明を追加できる商品エディターがあり、EC SEOではWooCommerceより多くのオプションを提供する」とも述べています。Magentoと比べると、Magentoは「完全なURLカスタマイズ、標準の構造化データ、高度なsitemap設定、深いメタタグ管理を備え、複雑なストアに最大の制御を提供する」(LueurExterne)一方、複雑さとコストがはるかに高くなります。BigCommerceと比べると、BigCommerceは自動sitemap、組み込みスキーマ、URL内IDなしという、より良いデフォルトを出荷しますが、オープンなカスタマイズ性ははるかに低いです。どれも十分にランキングできます。PrestaShopのトレードオフは、制御と設定作業です。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.