たとえば、各製品に固有のIDがあるWebショップがあり、製品ページのSEOフレンドリーURLを作成したいと考えています。ほとんどすべての記事で言及されている昔ながらの方法は次のようになります:http://mywebshop.com/categoryname/1111-some_product_nameここで
ただし、一部のWebサイト(StackOverflowを含む)は、異なる形式を使用し、次のようなURLを構築します:http://mywebshop.com/categoryname/1111/some_product_name
それで、私の質問は、どのURLが検索エンジンの観点から良いですか? http://mywebshop.com/categoryname/1111-some_product_nameORhttp://mywebshop.com/categoryname/1111/some_product_name?ハイフンの代わりにスラッシュを使用する理由はありますか?
実装の観点からは、それほど大きな違いはありません。また、エンドユーザーにとっても同じように見えます。
UPDATE 2017-03-02@John Conde:これは重複ではありません。提供したリンクは、エンティティの階層がある場合のURLの構造化方法を説明しています。私の質問が似ていることに同意しますが、私の場合、ユーザーの検索フレーズの一部には決してならないURLの部分があります(つまり、ユーザーが製品名を入力して「1111」を検索しようとしません)。
少なくとも、Googleは全体の一部としてハイフンを含む名前を検討します。つまり、URIが「1111-product」の製品の名前は「1111 product」になります。そのため、実際の製品名の後にURIを使用し、その後に名前または製品のバリエーションが続く場合は、より意味があります: "/ product/1111"。
これは、製品ID 1111と考えることができます。その製品の新しいバリエーションまたはモデルを使用する場合、/ product/2222のURIを使用できます。
これは、実際にREST方法論で物事を行う方法です。
アンダースコアは使用しません。上記の理由でハイフンを使用します。 Googleは、リスト内のハイフンをスペースと見なしますが、アンダースコアはスペースと見なしません(正しく思い出せば)。
さらに、アドレスバーではアンダースコアが見逃されることが多いため、アンダースコアが見落とされることがよくあります。
アンダースコアを使用しない理由は他にもありますが、今は思い出せませんが、10年前にアンダースコアを使用するという考えを捨てました。