web-dev-qa-db-ja.com

Magento 1は、CMSページの最後にスラッシュを追加します

Magento 1.9を使用していますが、CMSページの1つに問題があります。このページは2つのバージョンで利用できることがわかりました。

  • www.example.com/MyCMSpage

  • www.example.com/MyCMSpage/

URLの末尾に末尾のスラッシュがある理由はわかりません。 Admin> CMS> Pages> MyCMSpage> Page Information> URL Keyの下の設定には、/がありません。

Googleはこれを2つの異なるページと見なします。

ページのSEOを損傷せずに問題を解決するにはどうすればよいですか?

管理領域に存在しないため、最後に/を含むページに正規リンクを追加することはできませんが、Web経由でアクセスでき、/なしのURLと同じコンテンツを指します。

301リダイレクトは、SEOにダメージを与えずに問題を解決しますか?

4
Greg

はい、追加方法に関係なく、301リダイレクト

www.example.com/MyCMSpage/

www.example.com/MyCMSpage

sEOに影響を与えずに問題を解決する必要があります。循環リダイレクトで終わらないように、リダイレクトが正しいことを確認してください。

注: Googleで同じページが2回リストされている場合、Googleは1つを重複していると見なします。そのため、これを解決するために、または少なくとも問題の原因が見つかるまで、リダイレクトを追加することは間違いなく価値があります。

4
garth

これを.htaccessファイルに追加することで、問題を永久に修正できました。

############################################
RewriteCond %{REQUEST_METHOD} ^GET$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/downloader.*$
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.*)/$ /$1 [L,R=301] 
############################################

誰かがこれが役に立つと思ってほしい。

1
Greg

私はそれが私のサーバー構成と関係があると思いますが、Googleはすでに2回ページをリストしているので...

すべてのCMSページで発生します。

Googleがboth URLをすでに検索してインデックス付けしている場合、内部または受信の両方へのリンク(どこか)があることを意味します。これは「すべてのCMSページで発生する」と述べているため、サイトに対して内部であることを意味します。表示されるページはめ込みリンクに問題がない場合、サイトマップ、RSSフィードなどを確認しましたか?

永続的な[リダイレクト]ソリューションを見つけることができた

これはMagentoの問題であり、サーバーの問題ではありません。この場合、リダイレクトの実装はバンドエイドの修正であり、ユーザーがこれらの誤ったURLを介して検索およびナビゲートする場合は理想的ではありません(ユーザーは常にリダイレクトされ、アクセスログは301リダイレクトで汚染されます-これは、ただし、これらのURLがどのように発見されているかについての手がかりを与えてください)。リダイレクトされているURLにリンクすることで検索エンジンを支援することはありません(それが実際に起こっている場合)。

これを適切に修正するには、これらの誤ったURLがどこから来ているのかを見つけ、ソースで修正する必要があります。 (SEOは既にインデックス化されているため、それでもSEOの301リダイレクトを保持します。)

これはサーバーの問題ではありません...

  • サーバーは、ページへのリンクを魔法のように生成しません。

  • これらの「仮想/ CMS」URLをアクセス可能にするのはサーバーではありません。これらのURLがファイルシステム上の物理ファイル/ディレクトリにマップされている場合にのみサーバーになります(この場合、サーバーは追加のパス名情報とディレクトリスラッシュを制御します)。

    「仮想/ CMS」URL(例:/foo/barおよび/foo/bar/)がURLがルーティング CMS経由で同じリソースにマップされるかどうかを制御するのはCMSです。どちらか一方または両方を受け入れるか拒否するかを決定するのはCMSです。実際、CMSはこれを確実に行うために追加の手順を実行する必要があります。

1
MrWhite