Woorank.com seoツールによると、ウェブサイトがカスタム404エラーページを持たないためのベストプラクティスではないことを読みました。しかし、ここに私がドメインにそれを持たない理由があります。
現在、私と他の1人がドメインのコンテンツを管理しています。これには、URLの自動生成と削除が含まれます。
たとえば、サイトが食べ物に関するもので、他の人がサイトに果物を追加することに決めたとします。次に、ページが自動的に生成され、このURLが作成されてアクセス可能になります。
http://example.com/fruit
次に、リンゴとオレンジを追加します。次に、これらのURLが作成されます。
http://example.com/fruit/apples
http://example.com/fruit/oranges
その後、野菜を追加します。次に、これらのURLが作成されます。
http://example.com/vegetables
次に、ニンジンとセロリを追加します。次に、これらのURLが作成されます。
http://example.com/vegetables/carrots
http://example.com/vegetables/celery
したがって、これらのURLは合計で存在します。
http://example.com
http://example.com/fruit
http://example.com/fruit/apples
http://example.com/fruit/oranges
http://example.com/vegetables
http://example.com/vegetables/carrots
http://example.com/vegetables/celery
後で、彼はもはやニンジンやオレンジを持たないことにしました。つまり、アクセス可能なURLは次のとおりです。
http://example.com
http://example.com/fruit
http://example.com/fruit/apples
http://example.com/vegetables
http://example.com/vegetables/celery
そしてこれらはステータス410を返すはずです:
http://example.com/fruit/oranges
http://example.com/vegetables/carrots
理想的な意味では、リストされていない残りのURLは404ステータスを返します。
彼が食品カテゴリまたは食品を削除することを決定した場合、今後再び追加されることはおそらくないでしょう。
これを適切に実行できると思う唯一の方法は、mod_rewriteを設定して、デフォルトでリストにないURLにステータス404を返すようにすることです。最近削除されたURLは、404を返す前にチェックされるようにデータベースに保存する必要があります.
.htaccessの私の行は次のようになります。
RewriteRule ^(.*)/(.*)$ /loadpage.php?foodcategory=$1&food=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^$ /homepage.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ - [R=404,L]
私の質問はこれです...
ドメイン全体に存在しないURLのhttp 410ステータスコードを含むページを提供するか、ドメインに存在しなかったURLのhttp 404ステータスコードを提供する必要がありますか?削除され、それらにHTTP 410ステータスを与える古いURLを持つデータベース?
存在しないページまたはURLの場合、404または410で問題ありません。 2つを混在させる必要はありません。1つだけを選択できます。
ページがなくなっている場合、410は確かに適切ですが、404は自動的に(結果として従来と同様に)正常に機能します。たとえば、GoogleはインデックスからURLをリストから削除する前に何度も試行することを知ってください。それまでの間、一時的ではないように見えるもの、つまり一貫して何度も404edされるものは、SERPから削除されます。 Googleは、404が発行されたときにページをより頻繁にサンプリングするか、404ページが複数ある場合は、より広いセットをサンプリングして、認識すべき大規模なサイト変更がないことを確認します。
どちらが一番簡単かと言います。存在しないすべてのURLを410できれば、それは素晴らしいことです。さもなければ、同じ効果を得るにはもっと簡単なはずですが、全体的に失敗する試行回数を増やす必要がある404になります。
GoogleとSEOのコンテキストでは、404の場合、ページは削除されたと見なされる前に24時間保持されます。 410の場合、ページはすぐに削除されたと見なされます。
大きなオンラインショップの場合、なくなった商品ページに違いをもたらすことができると思います。製品が製造中止になった場合、410は正常です。実際、phpまたは410プラグインを使用して、wordpressのページのカテゴリに410のhttpコードをコーディングすることができます。
Googleからの参照:https://www.youtube.com/watch?v=xp5Nf8ANfOw