PrestaShopのGoogleインデックス:ストアを検索結果に表示する完全ガイド
PrestaShopのマルチ言語URLアーキテクチャと商品組み合わせの複雑さを乗りこなし、クリーンなGoogleインデックスを実現します
このガイドの内容
PrestaShopは欧州とラテンアメリカで30万以上のストアを支えていますが、その強力な機能 — 商品組み合わせ、マルチ言語URLルーティング、深いモジュール拡張性 — は特定のインデックスの課題を作り出します。各組み合わせは独自のURLを生成でき、Googleを重複でフラッディングする可能性があります。マルチ言語サポートは、適切なhreflang構成を必要とする並列URL構造を作成します。サードパーティモジュールは、サイトマップから欠落しているページを生成します。
本ガイドでは、PrestaShop 1.7.xと8.xを扱い、管理SEOパネル、GSitemapモジュール、フレンドリーURL、.htaccess設定、マルチ言語処理、組み合わせURL管理、モジュール生成ページ監査を順を追って説明します。
PrestaShopのSEO & URLs構成パネル
PrestaShopの主要なSEO設定は、管理パネルのShop Parameters > Traffic & SEO > SEO & URLs(PrestaShop 8.x)またはPreferences > SEO & URLs(PrestaShop 1.7.x)にあります。このパネルには、ストアのURLの構造化方法とGoogleがページをどのように認識するかに影響を与えるいくつかの重要な設定が含まれています。
最初に重要な設定は「Friendly URL」です。これは、PrestaShopのデフォルトのパラメータベースURL(index.php?id_product=42&controller=product)をクリーンで読みやすいパス(/en/shoes/42-running-shoe.html)に変換するために有効(Yesに設定)でなければなりません。フレンドリーURLがないと、ストアのURLは醜く、ランクしにくく、検索結果でクリックされにくいです。
「Accented URL」設定は、URLで非ASCII文字が保持されるかどうかを制御します。アクセントを使用する言語(フランス語、スペイン語、ドイツ語、ポルトガル語)のストアでは、これを有効にするとより自然なURL(/fr/chaussures-de-course.htmlではなく/fr/chaussures-de-course.html)が作成されます。ただし、一部の古いサーバーとCDN構成はアクセント付きURLをうまく処理しません。有効にする前にテストしてください。
「Redirect disabled product」設定はeコマースSEOにとって極めて重要です。商品が無効化(オフラインに)されると、この設定はそのURLに何が起こるかを制御します。オプションには:「No redirect」(404を返す)、「Permanent redirect (301) to the product's category」、または「Permanent redirect (301) to a specific URL」が含まれます。決して戻らない商品については、商品のカテゴリへの301リダイレクトを選択してください。一時的に在庫切れの商品については、商品を無効にしますが「No redirect」を選択し、後で再度有効にする計画を立ててください — または、より良いのは、商品を有効にしたままにして在庫切れメッセージを表示することです。
「URL structure」セクションでは、商品、カテゴリ、CMSページのURLパターンをカスタマイズできます。PrestaShopのデフォルト商品URLには商品IDが含まれます:/{category}/{id}-{rewrite}.html。IDを含めるとURLの一意性が保証されますが、SEOには理想的ではありません(URL内の数字はあまりプロフェッショナルに見えません)。PrestaShop 8.xではURLからIDを削除できますが、これにはカタログ全体でユニークな商品スラッグが必要であることに注意してください — 2つの商品が同じスラッグを持つ場合、一方には自動的に接尾辞が追加されます。
URL構造設定の下に、メタタグ管理セクションがあります。PrestaShopでは、{name}、{price}、{category}などの変数を使用して、ページタイプ(商品ページ、カテゴリページ、CMSページ、ホームページ)のデフォルトメタタイトルと説明を設定できます。これらのテンプレートをカスタマイズして、大規模にキーワードに富んだユニークなメタデータを生成してください。
GSitemapモジュールとサイトマップ管理
PrestaShopは、コアインストールにサイトマップジェネレータを含めていません。最も一般的に使用されるソリューションはGSitemapモジュールで、PrestaShop Addonsマーケットプレイスから無料で入手できます。GSitemapをインストールした後(Modules > Module Manager > GSitemapを検索)、モジュールの設定ページから構成します。
GSitemapは、商品、カテゴリ、CMSページ、オプションでモジュール生成ページを含むXMLサイトマップを生成します。主要な構成オプションには:含めるコンテンツタイプ(商品、カテゴリ、CMSページ、サプライヤーページ、メーカーページ)、各タイプの更新頻度、サイトマップに画像を含めるかどうかが含まれます。
構成後、「Generate Sitemap」をクリックして、構成に応じて/1_index_sitemap.xml(または/sitemap.xml)に初期サイトマップファイルを作成します。GSitemapは、各コンテンツタイプの個別のサイトマップファイルを参照するサイトマップインデックスを作成します。多くの商品を持つストアの場合、商品サイトマップを最大25,000 URLのファイルに分割します。
GSitemapは、PrestaShopのcronシステムを使用して自動的に再生成するように構成できます。モジュールは、サーバーのcrontabに追加するcron URLを提供します。商品を追加および削除するときにサイトマップが最新になるように、毎日実行するように設定してください(0 3 * * * wget -q -O /dev/null 'https://yourstore.com/modules/gsitemap/gsitemap-cron.php?token=YOUR_TOKEN')。
GSitemapの重大な制限:サードパーティモジュールによって生成されたページは自動的に含まれません。ブログモジュール(Starter Themeによる PrestaShop Blog)、FAQモジュール、カスタムランディングページモジュールをインストールしている場合、それらのページはGSitemap生成のサイトマップに表示されません。それらのページタイプをサポートするサイトマップモジュールを見つけるか、サイトマップに手動で追加するか、特定のモジュールが独自のサイトマップを生成するように構成し、Google Search Consoleで個別に送信してください。
サイトマップを生成した後、Google Search Consoleで送信します。最初にストアのサイトマップURLをブラウザで開いて、有効なXMLであり、期待されるURLが含まれていることを確認します。重複エントリ、セッションパラメータを持つURL、サイトマップにあるべきでない意図的にnoindexに設定したページを確認してください。
マルチ言語URL構成とhreflang
PrestaShopの組み込みマルチ言語サポートは、国際eコマースにとって最も強力な機能の1つです。言語パックをインストールすると(International > Localization > Languages)、PrestaShopは各言語に対して並列URL構造を作成します。英語の商品は/en/category/product-name.html、フランス語は/fr/categorie/nom-du-produit.html、スペイン語は/es/categoria/nombre-del-producto.htmlなどに存在します。
各商品、カテゴリ、CMSページには、インストールされたすべての言語に対して別々のURLリライトフィールドがあります。商品を編集するときに、エディタの言語セレクタを切り替えて、各言語のスラッグを表示およびカスタマイズします。これは不可欠です:PrestaShopは自動翻訳機能を使用するとスラッグを自動翻訳しますが、自動翻訳されたスラッグはしばしば奇妙または誤りです。各言語のURLスラッグを手動でレビューして最適化し、その言語の検索行動に関連するキーワードを組み込んでください。
hreflangタグは、Googleに異なる地域の検索者にどの言語バージョンのページを表示するかを伝えます。PrestaShop 1.7.7以降には、ページの各言語バージョンに対してHTMLヘッドに<link rel="alternate" hreflang="xx" href="...">タグを出力する組み込みhreflangサポートが含まれています。ただし、一部のPrestaShopバージョンでは実装に既知の問題があり、hreflangタグが欠落または不正確です。商品ページのソースを表示し、すべてのアクティブな言語にhreflangタグが存在することを確認してください。
hreflangタグが欠落している場合、hreflang生成を処理する専用のSEOモジュールをインストールしてください。PrestaShop Addonsマーケットプレイスのいくつかのモジュールは、hreflangタグ生成、言語固有のcanonical URL、マルチ言語サイトマップサポートを含むマルチ言語SEOに特化して対応しています。
同じ言語が異なる国で使用される多国籍ストア(例:米国と英国の英語、スペインとメキシコのスペイン語)の場合、hreflangには言語コードと国コードの両方が必要です:hreflang="en-us"とhreflang="en-gb"。PrestaShopの組み込みhreflangは国固有のターゲティングを処理しない場合があります。国固有のhreflangアノテーションを生成するには、モジュールまたはカスタム開発が必要な場合があります。
マルチ言語URL構造はサイトマップとも相互作用します。GSitemapは、構成に応じてすべての言語のURLを単一のサイトマップに(または言語別に分割して)生成します。サイトマップにすべての言語のURLが含まれ、各URLが正しく解決されることを確認してください。
商品組み合わせとURLの肥大化
PrestaShopの商品組み合わせシステムでは、属性(サイズ、色、素材、幅、長さなど)に基づいて単一の商品に複数のバリアントを持たせることができます。8サイズと5色を持つ基本的な靴の商品は、40の組み合わせを生成します。メモリ、ストレージ、色、保証オプションを持つ構成可能な電子製品は、100を超える組み合わせを簡単に超える可能性があります。
インデックスへの影響は構成に依存します。デフォルトでは、PrestaShopは各組み合わせに対して別々のURLを作成しません — 商品ページはデフォルトの組み合わせで読み込まれ、ユーザーはドロップダウンまたはスウォッチを使用して好みの組み合わせを選択します。どの組み合わせが選択されてもURLは同じまま(/en/shoes/42-running-shoe.html)です。これは、すべてのバリアントトラフィックを単一のインデックスされたURLに統合するため、SEOにとって理想的な動作です。
ただし、一部のPrestaShopテーマとモジュールがこの動作を変更します。Starter Themeなどのテーマフレームワークや商用テーマは、組み合わせ属性をアンカーフラグメント(#size-10-color-red)またはクエリパラメータ(?size=10&color=red)としてURLに追加する場合があります。アンカーフラグメントはGoogleによってインデックスされません(#の後のすべては無視されます)が、クエリパラメータはインデックスされる可能性があります。テーマが組み合わせ選択をクエリパラメータとして追加する場合、各組み合わせは、Googleがインデックスを試みる可能性のある固有のURLを作成します。
ストアの動作を確認するには、組み合わせを持つ商品にアクセスして異なるオプションを選択します。ブラウザのアドレスバーを見てください。各組み合わせ選択でURLが変更される場合、潜在的なインデックス肥大化の問題があります。これは、組み合わせ選択がURLを変更せずにJavaScriptで処理されることを確認するか、クエリパラメータの代わりにアンカーフラグメントを使用することで、テーマレベルで修正してください。
クエリパラメータを持つ組み合わせURLがすでにGoogleのインデックスにある場合は、すべての組み合わせパラメータ化URLにベース商品URL(パラメータなし)を指すcanonicalタグを追加します。robots.txtで組み合わせパラメータをブロックすることもできます:Disallow: /*?size=、Disallow: /*?color=など。最も徹底的な解決策は、URLパラメータを完全に削除するテーマ変更です。
各組み合わせに対して個別にインデックスされたページを意図的に必要とするストア(まれですが、各色バリアントにユニークな画像と説明があるファッションで時々使用される)では、各組み合わせページにユニークなタイトル、メタディスクリプション、コンテンツがあることを確認してください。「Running Shoe - Red Size 10」のページが「Running Shoe - Blue Size 8」と同じで、オプションのテキストだけが異なる場合、重複コンテンツとしてフラグが立てられます。
セッションID、.htaccess、技術的URLハイジーン
古いPrestaShopインストール(特に1.7以前からアップグレードされたもの)では、URLにセッションIDが追加される場合があります。セッションIDは、訪問者セッションごとに固有のURLを作成します:/en/shoes/42-running-shoe.html?PHPSESSID=abc123xyz。Googleは各セッションパラメータ化URLを別個のページとして扱い、セッションIDのみが異なる数千の重複ページをインデックスする可能性があります。
PrestaShop 1.7+と8.xはデフォルトでクッキー経由でセッションを処理するため、セッションIDはURLに表示されないはずです。ただし、サーバーのPHP構成でsession.use_only_cookiesが0に設定されている場合、クッキーが利用できないときにPHPはURLベースのセッションにフォールバックします。PHP構成を確認し、session.use_only_cookies = 1とsession.use_trans_sid = 0であることを確認してください。
PrestaShopのルートディレクトリの.htaccessファイルは、URLリライト、リダイレクトルール、セキュリティディレクティブを制御します。PrestaShopは、フレンドリーURLを有効にすると自動的にこのファイルを生成します。生成された.htaccessには、クリーンなURLルーティング用のRewriteRules、機密ディレクトリ(/config/、/download/、/mails/、/modules/)へのアクセスをブロックするルール、MultiViewsを処理するルールが含まれます。
.htaccessファイルを慎重にカスタマイズしてください。カスタムリダイレクトルール(古いURLの301リダイレクト、不要なクロールをブロックするパターン)を、# ~~start~~と# ~~end~~コメントでマークされたPrestaShopの自動生成セクションの上に追加します。自動生成セクション内のルールは、管理パネルで設定を変更すると上書きされます。
SEOハイジーンのために.htaccessに以下を追加してください:HTTPSを強制(RewriteCond %{HTTPS} off / RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L])、一貫したドメインを強制(wwwありまたはなし、ただし両方ではない)、既知のボットパラメータパターンをブロック。これらのルールにより、Googleはすべての URLの単一でcanonicalなバージョンを見ます。
Nginxサーバーでは、PrestaShopは.htaccessを使用しません。同等の構成はNginxサーバーブロックに入ります。PrestaShopは、フレンドリーURLのリライトルール、セキュリティディレクティブ、静的ファイルキャッシングヘッダーを含むNginx構成の例をドキュメントで提供しています。
モジュール生成ページとSEOの盲点
PrestaShopのモジュールエコシステムは、インストール可能な拡張機能を通じて機能を追加し、多くのモジュールはコアサイトマップに含まれないか、デフォルトのSEO設定でカバーされない公開ページを生成します。これらのページはSEOの盲点になります — 存在し、Googleが見つけることができますが、適切なメタデータ、canonicalタグ、サイトマップへの包含が欠如している可能性があります。
一般的な例には:/blog/post-titleにページを作成するブログモジュール(人気のSmart Blogモジュールなど)、/faqのFAQモジュール、メーカーリストモジュール、サプライヤーページ、ブランドページ、カスタムランディングページビルダーが含まれます。これらの各モジュールは、SEOを適切に処理する場合と処理しない場合があります。一部は独自のメタタグ管理とサイトマップ生成を含みます。他は、デフォルトまたは空白のメタデータを持つページを出力します。
インストール済みのモジュールを監査するには、各モジュールの公開URLにアクセスし、ページソースを確認します。以下を探してください:ページに固有の<title>タグ(デフォルトのPrestaShopテンプレートタイトルではない)、コンテンツを説明するメタディスクリプション、canonical URLタグ、該当する場合は構造化データ。モジュールがデフォルトまたは欠落しているメタデータを持つページを出力する場合は、モジュールの構成でSEO設定を確認してください。モジュールがカスタムメタデータをサポートしていない場合、3つのオプションがあります:それを行うより良いモジュールを見つける、モジュールのテンプレートファイルを変更してメタデータを追加する、またはモジュール開発者にSEOフィールドの追加を依頼する。
サイトマップへの包含については、モジュールのページがGSitemap出力に表示されるかどうかを確認します。表示されない場合は、モジュールページを検出するより包括的なサイトマップモジュールをインストール、URLを補助サイトマップに手動で追加、またはモジュールが独自のサイトマップファイルを生成するかどうかを確認します(一部のブログモジュールは通常、/modules/modulename/sitemap.xmlで生成します)。
PrestaShop 8.xは、モジュールがSEOフレームワークとよりクリーンに統合できるフックシステムを導入しました。actionGetPageSeoInfoフックを実装するモジュールは、ページURLとメタデータをコアSEOシステムに提供できます。モジュールを評価する際は、SEOフレームワークを完全にバイパスするレガシーモジュールよりも、これらの最新フックを使用するPrestaShop 8.x用に構築されたモジュールを優先してください。
ステップバイステップガイド
フレンドリーURLを有効にし、URL構造を構成する
PrestaShop管理パネルにログインし、Shop Parameters > Traffic & SEO > SEO & URLsに移動します。「Friendly URL」をYesに設定します。保存する前に、サーバーでmod_rewriteが有効になっている(Apache)か、適切なリライトルールが構成されている(Nginx)ことを確認します。設定を保存し、商品ページにアクセスしてストアをテストします — URLはクリーンになる必要があります(例:index.php?id_product=42ではなく/en/shoes/42-running-shoe.html)。ページが404エラーを返す場合、.htaccessファイルが正しく生成されていない可能性があります。既存の.htaccessを削除し、SEO設定を再度保存して再生成します。商品、カテゴリ、CMSページのURL構造テンプレートをレビューし、必要に応じてカスタマイズします(例:PrestaShop 8.xストアではID番号を削除)。
GSitemapをインストールして構成する
Modules > Module Managerに移動し、「GSitemap」を検索します。インストールされていない場合は、PrestaShop Addonsマーケットプレイスからダウンロードしてインストールします。モジュール構成を開き、含めるコンテンツタイプを選択します:商品(Yes)、カテゴリ(Yes)、CMSページ(Yes)。これらのページに実質的なコンテンツがない限り、メーカーとサプライヤーをNoに設定します。商品画像に説明的なファイル名とaltテキストがある場合は、画像サイトマップを有効にします。「Generate Sitemap」をクリックし、/1_index_sitemap.xml(または構成されたパス)で出力を確認します。モジュールが提供するcron URLを使用して、毎日の再生成のためのcronジョブを設定します。Google Search ConsoleにサイトマップURLを送信します。
すべてのページタイプのメタタグをカスタマイズする
Shop Parameters > Traffic & SEO > SEO & URLsで、メタタグ管理セクションまでスクロールします。各ページタイプ(ホームページ、商品、カテゴリ、CMSページ、検索結果など)について、PrestaShopは現在のメタタイトルと説明をリストします。「Edit」をクリックしてカスタマイズします。ホームページには、ブランド名と主要キーワードを含むユニークなタイトルと説明を書きます。商品ページの場合は、変数を使用してテンプレートをカスタマイズします:タイトルには「{name} - {price} | {shop_name}」、説明には「{description_short} - Buy {name} at {shop_name}」。カテゴリページの場合は、「{name} - {shop_name}」とカテゴリの説明を組み込んだ説明テンプレートを使用します。インデックスすべきでないページ(検索結果、マイアカウント、注文確認)については、ページ固有のメタ設定を使用してnoindexを追加します。
マルチ言語SEOを構成する(該当する場合)
複数の言語を持つストアの場合、International > Localization > Languagesに移動し、すべてのアクティブな言語に適切なISOコードがあることを確認します。各商品について、商品エディタを開き、言語セレクタを切り替えて、すべての言語にカスタマイズされたURLリライト(スラッグ)、商品名、説明があることを確認します。スラッグの自動翻訳に頼らないでください — それぞれをその言語のキーワード関連性のために手動でレビューして最適化します。商品ページのソースを表示してhreflangタグの出力を確認します — 各アクティブな言語に対して<link rel="alternate" hreflang="xx" href="...">が表示されるはずです。hreflangタグが欠落している場合は、PrestaShop Addonsマーケットプレイスから専用のマルチ言語SEOモジュールをインストールしてください。
商品組み合わせURLの動作を監査して修正する
複数の組み合わせを持つ商品(例:サイズと色オプションを持つ商品)にアクセスし、ブラウザのアドレスバーを見ながら異なる組み合わせを選択します。各選択でURLが変更される場合(?size=10&color=redのようなクエリパラメータが追加される)、潜在的な重複コンテンツの問題があります。まず、テーマの構成で「URL update」または「combination URL」設定を確認し、無効にします。そのような設定がない場合、修正には、URLパラメータの追加を防ぐためにテーマの商品ページJavaScriptを編集する必要があります。一時的な対策として、組み合わせパラメータパターンをブロックするrobots.txtルールを追加します:Disallow: /*?size=およびDisallow: /*?color=。ベース商品URLに自己参照canonicalタグがあることを確認してください。
URLハイジーンのために.htaccessルールを設定する
ストアの.htaccessファイル(PrestaShopルートディレクトリにある)を開き、自動生成セクションの上(# ~~start~~コメントの前)にルールを追加します。HTTPSの強制を追加します:RewriteCond %{HTTPS} off / RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]。wwwの一貫性を追加します(wwwを強制するか、非wwwを強制する、両方ではありません)。セッションIDのブロックを追加します:RewriteCond %{QUERY_STRING} PHPSESSID / RewriteRule .* %{REQUEST_URI}? [R=301,L]。PHP構成にsession.use_only_cookies = 1があることを確認して、URLにセッションIDが最初から表示されないようにします。さまざまなURLパターンでストアにアクセスし、ブラウザの開発者ツールを使用して正しいリダイレクトを確認することで、すべてのルールをテストしてください。
IndexBoltで優先URLを送信し監視する
すべてのテクニカルSEO構成を完了した後、IndexBoltを使用して最優先の商品ページ、カテゴリページ、CMSコンテンツページをGoogleに送信します。PrestaShopストアの場合、ベストセラー商品、季節コレクション、新しく追加された商品を優先します。ストアがマルチ言語の場合は、Googleが正しいhreflang関係をインデックスすることを保証するため、まず主要言語バージョンを送信し、次に他の言語バージョンを送信します。IndexBoltのInstantモードは、遅延インデックスが売上損失を意味する商品ローンチ、フラッシュセール、季節プロモーションに価値があります。Google Search Consoleで結果を監視し、予期しない除外や重複についてIndex Coverageレポートに注意してください。各ターゲット市場の検索に対して正しい言語バージョンが表示されることを確認してください。
よくある問題と解決方法
商品組み合わせパラメータが数千の重複URLを作成する
原因: 一部のPrestaShopテーマは、商品属性選択(サイズ、色、素材)をクエリパラメータとして商品URLに追加します。40の組み合わせを持つ商品は、同じコンテンツで40の固有のURLを作成します。Googleはこれらを、組み合わせ選択時にURLを変更するJavaScriptイベントハンドラまたは商品ページのマークアップの内部リンクを通じて発見します。
解決方法: URLを変更せずにJavaScriptで組み合わせ選択を処理するようにテーマを変更するか、クエリパラメータ(?)の代わりにアンカーフラグメント(#)を使用します。パラメータ化URLにベース商品URLを指すcanonicalタグを追加します。バックアップ対策としてrobots.txtで組み合わせパラメータをブロックします。PrestaShop 8.xの場合、テーマが組み合わせ変更時のURL更新を無効にする構成オプションを提供しているかどうかを確認してください。
マルチ言語コンテンツがGoogleによって重複として扱われる
原因: hreflangタグが欠落または不正に実装されているため、Googleは同じ商品のフランス語、スペイン語、英語版を言語バリアントではなく重複コンテンツとして扱います。PrestaShopの組み込みhreflangサポートには、特定のバージョン(特に1.7.6.xから1.7.7.x)に既知のバグがあり、不正なhreflangアノテーションを出力します。
解決方法: 各言語の商品ページのソースを表示してhreflangタグを確認します。すべてのページには、自己参照タグを含むすべての言語バージョンのhreflangタグが必要です。タグが欠落または不正な場合は、PrestaShopをhreflang処理が改善された最新バージョン(8.x)にアップデートするか、専用のマルチ言語SEOモジュールをインストールしてください。すべての商品が各言語に対して適切に翻訳されたURLリライトを持っていることを確認してください — 自動生成されたスラッグにはエンコードエラーが含まれることがよくあります。
デフォルトメタタグがカスタマイズされておらず、ストア全体でジェネリックメタデータを作成する
原因: PrestaShopのデフォルトメタタグテンプレートは、すべての商品に「Buy [Product Name] at [Store Name]」、すべてのカテゴリに「[Category Name] - [Store Name]」のようなジェネリックなタイトルと説明を生成します。数百の商品が最小限の差別化で同じテンプレートを共有する場合、Googleはそれらのメタデータの品質が低いと考える可能性があります。
解決方法: Shop Parameters > Traffic & SEOでメタタグテンプレートをカスタマイズして、差別化変数:価格、主要属性、カテゴリコンテキストを含めます。優先度の高い商品(収益による上位20%)については、商品エディタで完全にカスタムなタイトルと説明を書きます。カテゴリについては、カテゴリの特定の商品範囲と価値提案を組み込んだユニークな説明とメタディスクリプションを書いてください。
モジュール生成ページがサイトマップに含まれず、メタデータが欠落している
原因: サードパーティモジュール(ブログモジュール、FAQモジュール、ランディングページビルダー)は、GSitemapが検出しない公開ページを生成します。これらのページには、モジュールがPrestaShopのメタタグシステムと統合されていないため、デフォルトまたは空白のメタタイトルと説明がある場合があります。Googleは内部リンクを通じてこれらのページを発見しますが、貧弱なメタデータでインデックスします。
解決方法: 公開ページのためにインストールされたすべてのモジュールを監査します。各モジュールについて、SEO設定の構成を確認し、メタタグを構成します。モジュールにSEO機能がない場合は、テンプレートファイルを直接編集して適切な<title>とメタディスクリプションタグを追加します。サイトマップへの包含については、モジュールが独自のサイトマップを生成するか、GSitemap統合のためのフックを提供するかを確認します。どちらでもない場合は、モジュールのページURLを手動で補助サイトマップファイルに追加し、Google Search Consoleで送信してください。
セッションIDがURLに表示され大規模な重複を引き起こす
原因: サーバーのPHP構成でsession.use_only_cookiesが無効になっており、訪問者のブラウザがクッキーをブロックすると、PHPはURLベースのセッショントラッキングにフォールバックします。これにより、すべてのURLに?PHPSESSID=uniquestringが追加されます。各セッションIDは固有であるため、Googleはすべての訪問を新しいページとして見て、潜在的に数百万の重複エントリを作成します。
解決方法: サーバーのPHP構成を更新します:session.use_only_cookies = 1とsession.use_trans_sid = 0を設定します。301リダイレクトでURLからPHPSESSIDをストリップする.htaccessルールを追加します:RewriteCond %{QUERY_STRING} PHPSESSID / RewriteRule .* %{REQUEST_URI}? [R=301,L]。修正後、Google Search ConsoleのRemovalsツールを使用して、すでにインデックスにあるセッションパラメータ化URLの削除を要求してください。
サプライヤーとメーカーのページが薄いコンテンツを作成する
原因: PrestaShopは、カタログ内のすべてのサプライヤーとメーカーに対して/supplier/[name]と/manufacturer/[name]にページを自動生成します。これらのページには、説明的なコンテンツのない商品グリッドのみが含まれます。数十のサプライヤーを持つストアには、サイト全体の品質を希釈する数十の薄いページがあります。
解決方法: 各サプライヤーとメーカーのページに実質的な説明を追加するか(Products > Suppliers > [Name] > 説明を編集)、これらのページタイプをnoindexに設定します。すべてのサプライヤー/メーカーページをnoindexにするには、それらのページタイプのテンプレートファイル(templates/catalog/supplier.tplとmanufacturer.tpl)にnoindexディレクティブを追加するか、ページタイプレベルのnoindexルールを許可するSEOモジュールを使用してください。また、GSitemap構成からこれらのページを除外してください。
プロのヒント
よくある質問
PrestaShopには組み込みサイトマップジェネレータがありますか?+
PrestaShopにはコアインストールにサイトマップジェネレータが含まれていません。最も広く使用されているソリューションは、PrestaShop Addonsマーケットプレイスから無料で利用可能なGSitemapモジュールです。インストール後、含めるコンテンツタイプを構成し、サイトマップを生成し、自動毎日再生成のためのcronジョブを設定します。一部の有料SEOモジュールは、モジュール生成ページの自動検出やhreflangアノテーション付きのマルチ言語サイトマップバリアントなど、より高度なサイトマップ機能を提供します。
PrestaShopでフレンドリーURLをどのように有効にしますか?+
Shop Parameters > Traffic & SEO > SEO & URLsに移動し、「Friendly URL」をYesに設定します。サーバーでApache mod_rewriteが有効になっている(または同等のNginxリライトルール)必要があります。PrestaShopは、フレンドリーURLを有効にすると必要な.htaccessファイルを自動的に生成します。有効化後に404エラーが発生する場合は、.htaccessファイルを削除し、SEO設定を再保存して再生成してください。共有ホスティングの場合、ホストにmod_rewriteが有効であることを確認してください。
PrestaShopはマルチ言語ストアのSEOをどう処理しますか?+
PrestaShopは、インストールされた各言語に対して言語プレフィックス付きURLを作成します(例:/en/、/fr/、/es/)。各商品、カテゴリ、CMSページには、エディタでカスタマイズできる各言語の別々のURLスラッグがあります。PrestaShop 1.7.7+には、関連する言語バージョンをGoogleに伝える組み込みhreflangタグサポートが含まれています。ただし、hreflang実装には一部のバージョンで既知の問題があるため、ページソースでタグを確認し、欠落または不正な場合は専用のマルチ言語SEOモジュールをインストールしてください。
PrestaShopストアで商品組み合わせURLが重複コンテンツを作成しているのはなぜですか?+
一部のPrestaShopテーマは、顧客が商品組み合わせ(サイズ、色など)を選択するときにブラウザのURLを更新し、?size=10&color=redのようなクエリパラメータを追加します。各パラメータの組み合わせは、同じコンテンツで固有のURLを作成します。これを修正するには、URLを変更せずにJavaScriptで組み合わせ選択を処理するようにテーマを変更し、パラメータ化URLにベース商品URLを指すcanonicalタグを追加し、robots.txtで組み合わせパラメータをブロックします。PrestaShopのコアは組み合わせURLを作成しません — これはテーマレベルの動作です。
廃止されたPrestaShop商品のSEOをどう処理しますか?+
Shop Parameters > Traffic & SEO > SEO & URLsで「Redirect disabled product」設定を構成します。永久に廃止された商品については、リダイレクトを商品のカテゴリページ(301パーマネント)に設定します。これにより、商品ページの蓄積された検索エクイティがカテゴリページに転送されます。一時的に在庫切れの商品については、商品を無効にするのではなく、在庫切れメッセージとともに有効のままにします — これにより、商品ページのインデックスとランキングが保持され、顧客に明確に在庫がないことを伝えます。
IndexBoltはPrestaShopのマルチ言語インデックスに役立ちますか?+
はい、IndexBoltは特にマルチ言語PrestaShopストアに役立ちます。なぜなら、商品の各言語バージョンは、Googleが独立して発見してインデックスする必要がある別々のURLだからです。4言語で500商品を持つストアには、インデックスする2,000の商品URLがあります。Googleがすべての言語バージョンを自然にクロールするのを待つ代わりに、最初に主要言語のURLを送信し、次に他の言語バージョンを送信できます。これは新しい市場でのローンチ時に特に価値があります:新しい言語のすべての商品URLをIndexBolt経由で送信して、オーガニックなクロール発見を待つ間、市場参入を加速してください。