2012-03-21 12 views
0

私は、クライアントのSEOコンサルタントが、サイト上のすべてのURL(大部分は動的)が末尾にスラッシュで終わらなければならないと主張しているプロジェクトに取り組んでいます。/home/index/Rails 2.3 - すべてのURLの末尾にスラッシュ「/」を付けるにはどうすればよいですか?

これをRailsに実装する方法や、それがRailsタスクであっても、どのようにこれを達成できるのか分かりませんか?

+3

SEOコンサルタントをシュート – Gareth

+1

http://stackoverflow.com/questions/6482693/how-to-generate-links-with-trailing-slash-in-rails- 3 – tybro0103

+1

私は彼を撃っていますが、別の頭が私がリロードできるよりも速くその場​​所に跳ね上がります! – Jason

答えて

2

私はGarethの感想に同意しますが、と言います。 Googleは、異なる方法で異なるURLを扱います。たとえば、10のサイトが/ home/indexに、もう1つが/ home/index /にリンクされているとします。Google Goodnessをリンクするすべてのインバウンドが分散されます。したがって、いくつかのことがあります。すべてが「URL正規化」の見出しの下にあります。

注:あなたのタイトルはRails 2.3です(以下の詳細の一部は、Rails 3.xにのみ適用される場合があります)。

まず、ここにあなたの質問への答えです:How to generate links with trailing slash in Rails 3?

しかし、それ以上はそこだし、多分あなたは信じられないほどの知識をあなたのSEOのコンサルタントを吹き飛ばす場合、彼は彼のようなものの中であることをバックslimey軟泥にクロールします。 (ジョーク、私は生計のためにSEOをする - 私はゾンビがいっぱいの沼を好む)。

同じコンテンツを持つすべてのページに、唯一のURLが1つ必要です。あなたのコードでは、そのURLをlink_toに生成し、url_forを呼び出す必要があります。これは一般的にはRailsがそのまま使用します。

複数のURLが特定のページにつながることがありますが、1つを選択して他のURLが正規のURLに「永久にリダイレクトされる」ことを確認する必要があります。これの最も一般的なケースは、サイトが通常 "www.example.com"と "example.com"に応答するということです。これはURLの一部であるため、どちらか一方を選択して、土地。これを行うための伝統的な方法は、ApacheでRewriteRulesを使うことです(そして私はNginxだと思いますが)あなたがそれらに精通していなければ、ソフトウェアは悪いキャリアパスであると判断したいと思っています。好ましいであろう。 https://github.com/tylerhunt/rack-canonical-host

最後に、ページ自体に標準URLを指定することをお勧めします。ここには特別なリンクタグ形式が記載されています:http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.htmlです。これが重要な場合は、Googleとは異なるように見えるクエリ文字列パラメータ(並べ替え、フィルタリング、検索、改ページ、または単にトラッキング)を追加するときですが、ほとんど同じページです。それは大変難しいことではありませんが、あなたが望めば見て回ることのできる宝石がここにあります。https://github.com/mbleigh/canonical-url

最後のヒント:サイトマップを生成してGoogleや他の検索エンジンに提出してください。私はこの宝石を使用して、それは本当にうまく動作します:https://github.com/kjvarga/sitemap_generator

関連する問題