Google SEO REPORT CARD を読んで、検索エンジンの場合、このページ:
http://www.domain.com/somepath
これとは異なるページです:
http://www.domain.com/somepath/
(最後のスラッシュ「/
」に注意してください)
まあこれが本当なら、私はいくつかの質問があります:
A)これはホームページのパスにも当てはまります。つまり、http://www.domain.com
。
私はすでに301 http://domain.com
をhttp://www.domain.com
にリダイレクトしていますが、どうすればhttp://www.domain.com
をhttp://www.domain.com/
にリダイレクトすることもできます(最後のスラッシュ付き)?実際にApacheサーバーまたはブラウザクライアント(これを誰がやっているのか分からない)は、ブラウザバーにhttp://www.domain.com
を挿入すると、常に最後のスラッシュを自動的に追加してhttp://www.domain.com/
にするため、すでにこの種のリダイレクトを行っているようです
だから私は混乱しています、私は何かをする必要がありますか?
B)私はまだファイル拡張子を使用しているので、サイト内のすべてのページはdomain.com/somepath
の形式であるため、domain.com/somepath/
をsomepath/page.htm
にリダイレクトすることをあまり気にしませんでした。
しかし、とにかく私を混乱させる奇妙なことに気づきました。 URL somepath/page.htm
として入力すると、サーバーはエラーではなくsomepath/page.htm/
の同じページ(最後のスラッシュ付き)を返します。 http://www.php.net/docs.php を探すと http://www.php.net/docsの同じページが返されるため、これは正常だと思います.php / (最後のスラッシュ)、しかし、これらは検索エンジンの2つの異なるページとみなされますか?
次に、最後のスラッシュのある各URLを最後のスラッシュのない同じURLに301リダイレクトするために、.htacessを再度調整する必要がありますか?
ありがとう!
ドメイン名の末尾のスラッシュare末尾のスラッシュなしとまったく同じように扱われます。つまり、http://www.domain.com
= http://www.domain.com/
。
しかし、それは唯一の例外です。 URLが異なる場合はいつでも、まったく異なるコンテンツを返すことができるため、異なるURLとして扱われます。
返されるファイル(.htm
や.php
などの拡張子)の末尾にはスラッシュを付けないでください。 Apacheサーバーでは、通常、後続のスラッシュは無視され、ファイルが返されます。これがApacheの仕組みです。上記のような実際のファイルまたはフォルダ構造がない場合、URL example.com/file.php/abc/xyz
はfile.php
に戻ります。
通常、ディレクトリには末尾のスラッシュがあります-再び、Apacheは自動的に301にリダイレクトします。たとえば、フォルダーhello
がある場合、example.com/hello
はexample.com/hello/
にリダイレクトする必要があります。
URLのどの部分に違いがある場合でも、大文字でもパラメーター順でも、検索エンジンはそれを一意のURLとして表示します。
A)はい、たとえドメインであっても、それらはまだ異なるURLです。 .htaccessファイルに次のコードが役立つ場合があります。
#change RewriteBase to / after transfer
RewriteBase /
#Redirects non-www to www
RewriteCond %{HTTP_Host} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
B)これらは異なるURLと見なされますが、ブラウザがまだ正しく解釈する場合でも、ファイル拡張子の直後にスラッシュを使用しないでください。ファイル拡張子の直後にスラッシュが表示されたことはないと思うので、自分でページにリンクしているのでなければ、あまり心配する必要はありません。拡張子の後にスラッシュを使用しないでください。
一般的に、URLスキームの一貫性を保ちます。 1つの方法を選択し、それに固執します。
Google SEO Guide および常識によれば、Webサイトのパスはディレクトリ構造に似ています。
したがって、末尾のスラッシュはフォルダーのルートを示します。パワーユーザーは、次のことも試みます。
これに従ってURLを調整すると、階層をより明確にクロールおよびインデックス付けできるようになります。
必要に応じて、両方の.htaccess mod_rewriteでこの修正を行い、末尾のスラッシュを追加または削除できます。チェック:
http://www.google.com/search?q=htaccess+removing+trailing+slash
http://www.google.com/search?q=htaccess+adding+trailing+slash
お役に立てれば。
Rel = canonicalタグを使用して、インデックスに適切なURLをGoogleに提案することもできます。
私の意見では、スラッシュを削除するリダイレクトが最良の選択肢です。人々があなたのサイトにリンクするとき、彼らは2つの方法のいずれかを行い、URLを手動で入力します。その場合、彼らは末尾のスラッシュを含めることはほとんどありませんこの場合、末尾のスラッシュが含まれるため、末尾のスラッシュをそのままにしておくと、リンクを2つのURLに分割する可能性があります(Googleは2つのページが同じであると認識するほど洗練されているようですが、それは簡単な修正です安全にしてからごめんなさい).
.htaccessファイルにアクセスできない、またはこれらの別の方法でリダイレクトできない場合は、正規のタグを使用できますが、コードを正しく取得するのが常に良いので、最後の手段になるはずです。 -エイズ。
スラッシュのないURLは、スラッシュのあるURLとは異なるものとして扱われるため、SEOの用語では、何をするにしても一貫性があります。
スラッシュが必要ですか?もちろん、特にサブフォルダーを扱う場合は、そうする必要があります。
http://example.com/foo
を要求するとき、サーバーは最初にリソース呼び出しfooを探す必要があります。見つからない場合は、通常fooというディレクトリを探し、見つかった場合はデフォルトのドキュメントを返します。
http://example.com/foo/
を要求すると、サーバーはfooがディレクトリであることをすぐに認識します。したがって、そのフォルダのデフォルトドキュメントをゼロにします。
それほど効率的ではありませんが、少しでも役に立ちます。
見る: