Joomlaで重複したコンテンツ/ URLを処理するにはどうすればよいですか?


11

私は重大なSEOの問題を見つけただけで、当面は解決しましたが、私はそれがなぜ最初に起こったのか、そして間違いがあったのか、それともJoomla自体に関係があるのか​​を理解しようとしています。最初の問題:

Mozを使用してサイトをクロールすると、ホームページに4つの重複したコンテンツが表示され、予想外でした。たとえば、ホームページhttp://www.foo.comの場合、次のような重複したコンテンツURLが表示されていました。

foo.com/2-uncategorised/1-offers (canonical = foo.com/2-uncategorised/1-offers)
foo.com/2-uncategorised/2-enquiry (canonical = foo.com/2-uncategorised/2-enquiry) 
foo.com/2-uncategorised/3-products (canonical = foo.com/2-uncategorised/3-products) 

そして、これらすべてのリンクは単にホームページのコンテンツをロードしていましたが、メタの詳細は記事からのものでした。これは明らかにJoomlaがリンクを自動作成していたことを示しており、4つのリンクでも同じことがわかりました。記事のリンクは次のとおりです。

index.php?option=com_content&view=article&id=1&catid=2&Itemid=1
index.php?option=com_content&view=article&id=2&catid=2&Itemid=1
index.php?option=com_content&view=article&id=3&catid=2&Itemid=1

Itemid = 1ホームページがロードされた理由を説明するホームページのメニュー項目に対応しています。問題の再現を試みましたが、できませんでした。コンテンツを追加した人々によると、ここにそれらの記事とリンクを作成するときに彼らが行った手順があります:

  1. 記事を作成する
  2. コンテンツエディターの[記事]タブを使用して、他の記事へのリンクを追加します。
  3. 記事にメニュー項目を作成する

それで、明らかに何かが間違っているのではないかと思っていました。100以上の記事があるので混乱していますが、これは約5つの記事でのみ発生しました。ありがとう。

回答:


15

この回答の目次:

  1. 同じアイテムIDのコンテンツ
  2. 複製コンテンツの作成方法/動的ページ/ URL
  3. SEOの視点
  4. Joomlaでの重複コンテンツの処理
  5. 参照とリンク

1.記事が同じitemidで表示される理由

まず第一に、これは重複したURLを取得する理由ではありません。他のアイテムIDが割り当てられていないため、記事はホームページのアイテムIDを使用しています。

これについてもっと読む:

そして、これも洞察に満ちているかもしれません:



2.「重複コンテンツ」の作成方法/動的ページ/ URL

これは実際には、URLパラメータを使用してフィールドと値のペアの形式でクエリ文字列を作成することによりページを生成する動的Webサイトの標準的な動作です。サーバー/アプリケーションはクエリを受信して​​処理し、関連するコンテンツをブラウザーに返します。

これをよりよく理解するには、Joomla WebサイトでSEF URLを無効にして、ページの非SEF URLを少し調べることをお勧めします。

例:

index.php?option = com_content&view = article&id = 3&catid = 9&Itemid = 101

上記のクエリを、表示されるフィールドと値のペアに分割します。

  • オプション= com_content
  • 表示=記事
  • id = 3
  • catid = 9
  • アイテムID = 101

これらはJoomlaが理解し、次のコンテンツを次のように返そうとするフィールド値です:

com_contentコンポーネントでクエリを実行し、記事ビューを使用して、ID 101のメニュー項目を使用して、カテゴリーID 9のID 3のコンテンツ項目(記事)を表示します。


1ページに多数のURLバリエーション

ただし、さらに多くのフィールドと値の組み合わせで同じ記事を表示できます。

可能な組み合わせは次のとおりです。

  • index.php?option = com_content&view = article&id = 3&catid = 9
  • index.php?option = com_content&view = article&id = 3&Itemid = 101
  • index.php?option = com_content&view = article&id = 3&Itemid = 102
  • index.php?option = com_content&view = article&id = 3&Itemid = 103
  • index.php?option = com_content&view = article&id = 3
  • index.php?option = com_content&view = article&id = 3&lang = en
  • index.php?option = com_content&view = article&id = 3&catid = 9&Itemid = 101&lang = en

  • index.php?option = com_content&view = article&id = 3&catid = 9&Itemid = 101&lang = en&print = 1

  • index.php?option = com_content&view = article&id = 3&catid = 9&Itemid = 101&lang = en&tmpl = component

ご覧のとおり、上記のすべてはシステムから同じデータを要求しています。これはid = 3の記事です。これらは、さまざまな異なるURLを介して同じコンテンツ/ページにアクセスでき、場合によっては異なるレイアウトで表示されます。

* JoomlaでSEF URLが有効になっていると、上記は同じ記事/コンテンツの複数のSEF URLに変換される可能性があります。



3. SEOの視点

最近の検索エンジンGoogleは特に、この動作を認識しています。通常、彼らは最善を尽くして、インデックスを付け、検索結果にページに最適なURLを保持します。さらに、Googleは、これにより複製されたコンテンツに対する実際の「ペナルティ」がないことを明らかにしました。

しかし、同じコンテンツ/ページが複数回インデックス化されていた場合の主な問題は、あなたはおそらく失うされていることであるランキングページと可能な限り最高のSEOのパフォーマンスをページのランキングが1つの以上のページに分割の代わりに、1になりますので、 。

これを念頭に置いて、異なるURLが同じまたは異なるコンテンツを表示しているかどうかを推測する際に、検索エンジンにURLのインデックスを作成させるのではなく、これに対処するのが賢明です。
さらに、サイトのユーザーは1つの標準URLだけで同じページを見つけることができ、Webサイトとその管理により強固な構造を作成できるため、URLとSEがインデックスする内容を制御することで、全体としてより良いユーザーエクスペリエンスを生み出すことができます。 。



4.重複するコンテンツを処理する方法

  • ページに正規URLを使用する。
    正規URLは、クロールしてインデックスに保持する必要があるページの正しいURLがどれであるかを検索エンジンに指示します。

  • INDEX / NOINDEX、FOLLOW / NOFOLLOWメタデータを使用します。 ページでそのようなメタデータを使用すると、ページのコンテンツにインデックスを付けるかどうか、ページにあるリンクをたどるかどうかを検索エンジンに指示します。

  • 301リダイレクト/ htaccessを使用します。
    他のすべてのURLをメインで必要なURLにリダイレクトできます。これは、SEF拡張機能またはhtaccessを使用して実現できます。どちらも優れたパワーを提供しますが、htaccessはあらゆる種類のリダイレクトに正規表現を使用できること、またはmod_rewriteを使用して書き換えることができるため、柔軟性に優れています。J Extensionsについては、必要に応じて通常sh404SEFを使用しています

    更新: @Neil Robertsonがコメントで述べたように:1つの重要なリダイレクトは、Webサイトの非wwwバージョンからWebサイトのwwwバージョンへ、またはその逆です。これをwwwからwwwへのリダイレクト以外の.htaccessファイルに追加します。

        ### Redirect non-www to www
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
        ### Redirect non-www to www - END 
    
  • Googleウェブマスターツールの使用Googleウェブ
    マスターツールには、クローラーがURLパラメーターを使用してどのように動作するかを調整するオプションがあります

  • サイトマップの使用サイト
    のURL構造を検索エンジンに送信します。

  • Robots.txtファイルの使用
    Googleおよびその他の主要なSEは、Robots.txtを尊重しています。特定のディレクトリ/ URLパスをクロールしないように指示できます。

上記のすべてのオプションを組み合わせて、目的の結果を得ることができます。

*どこでもそうであるように、Joomlaでは、優れた計画とコンテンツ編成が常により良い結果に到達するのに役立ちます。特にJoomlaでは、これにはクリーンなコンテンツの分類とメニュー項目の構造も含まれます。



5.参照とリンク

Joomla SEO拡張機能

通常Joomlaでは、これを効率的に処理したい場合、サードパーティのSEO-SEF拡張機能をインストールすることになります。



もっと読む:


1
このフォーラムでの最良の回答の1つ:)非常に役立ちます。@FFrewinに感謝
Joomler

1
これは素晴らしい答えです。:)完全を期すために、www以外のバージョンのWebサイトをwwwバージョンのWebサイトに、またはその逆にリダイレクトすることに関するいくつかの情報を追加するとよいでしょう。これはしばしば忘れられがちですが、(Joomlaだけでなく)すべてのWebサイトでコンテンツが重複する主な原因です。
Neil Robertson

新しいルーターはついにJoomla 3.8で日の目を見ることになるようで、これはサードパーティの拡張機能を必要とせずにURLを簡素化するのに役立ちます。
Neil Robertson

1
@NeilRobertson:私はまだ改善の余地があり、JoomlaでSEF URL /複製を管理するための完全で効率的なソリューションのためにこれに必要な作業がまだあると思います。
FFrewin

@FFrewin同意する。新しいルーターを利用するには、一部のサードパーティ拡張機能も更新する必要があるようです。
Neil Robertson

0

同じコンテンツに移動する複数のメニュー項目がある場合、メニューマネージャーにあるシステムリンク/メニュー項目のエイリアスを使用します。これに関する古い記事があります。しかし、この方法は現在も存在しています:https : //magazine.joomla.org/issues/issue-apr-2016/item/2997-avoid-duplicate-content-with-a-menu-item-alias

@ニール、私はwww以外のコンテンツとwwwのコンテンツが重複して読み取られることについて100%同意します。wwwを非wwwに強制するコードは次のとおりです。それをhtaccessファイルに配置します。また、httpsセキュリティプロトコルも追加します。このコードは唯一の方法ではありませんが、多くのサイトで正常に使用しています。

RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.