アンダースコアよりもハイフンが好まれることを知っており、301リダイレクトを行うことができます。しかし、それらを変更するのはカオスの価値はないと言う人もいますし、私もほぼ同意します。 https://moz.com/community/q/hyphens-vs-underscores
したがって、私のURLは次のようになります。
example.com/post/this-is-post-title_tokenid/
新しい投稿の場合:
example.com/post/this-is-post-title-tokenid/
私は次の場合に404を返す必要があると仮定しています:
これは正しいアプローチですか?
それとも、何もせずにそのままにしておくべきでしょうか?
あなたは何をお勧めします?
アンダースコアがあれば、それは大きな問題ではありません。GoogleとBingは最初にリリースされてから順調に進んでいます。政治的に正確にしたい場合は、.htaccess
を次のように編集して、アンダースコアをハイフンに書き換えることができます。
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule !\.(html|php)$ - [S=6]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5-$6-$7 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5-$6 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=underscores:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=underscores:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=underscores:Yes]
RewriteCond %{ENV:underscores} ^Yes$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
PHPを使用する場合は、$input_uri = $_GET['rewrite_uri'];
および$output_uri = str_replace("_", "-", $input_uri);
などを使用して、置換を使用してURLを書き換えることができます。
当時、URLにはダッシュのみを使用するのがベストプラクティスでした。アンダースコアは、多くの場合、イメージ/ファイル名で使用されました(OSが原因)。しかし、現在、ボットはそれほどきびきびしていません。
何もせず、そのままにしておきます。トークンは関連するインデックスフォーカルではないため、それ以前の文字はとにかく無関係です。単にアンダースコアがあるため、アーカイブの内容を変更する価値はありません。新しいものについては、純粋にURiの外観の問題です。現代のSEOインデクサーは、1つの文字がアンダースコア/ダッシュであるかどうかはあまり気にしません。単語を見るだけです。個人的には、アンダースコアを維持します。アンダースコアは、投稿とトークンの間の仕切りのように機能するためです。