在庫切れの商品ページは消すべきか|残す・404の判断基準
売り切れた商品のページを、そのまま置いておくのは気持ち悪い。かといって消すのも怖い。——判断の分かれ目は「その商品がまた入ってくるか」の一点です。
また入るなら、ページは残します。もう入らないなら、消すか、行き先を作ります。この記事はその振り分けを、Googleが公開している資料の範囲で確かめられるところまで落とします。
まず、消すと何が起きるのかをはっきりさせる
削除に踏み切れないのは、削除の結果が見えていないからです。ここは推測しなくても書いてあります。
Googleの資料では、429を除くすべての4xxエラーは同じように扱われる、と説明されています。クローラー(サイトを巡回して情報を集めるGoogleの自動プログラム)は、コンテンツが存在しないことを次の処理システムに知らせます。そのうえで、URLが以前インデックスに登録されていた場合は、インデックス登録パイプラインによってインデックスから削除される、と明記されています。ここでいうインデックスとは、検索結果に出るための登録簿のことです。
新たに検出された404ページは処理されません。そしてクロール頻度は徐々に低下します。
つまり削除は、効き目のある操作です。曖昧に消えるのではなく、登録簿から抜けます。
逆向きの事実も同じ資料にあります。HTTPステータスコード(サーバーが返す3桁の応答番号)が2xx、つまり成功を返した場合でも、インデックスに登録される保証はありません。ページを200のまま置いておけば安全、という前提はここで崩れます。残す判断にも理由が要る、ということです。
振り分けの基準は「再入荷があるか」だけにする
条件を増やすほど運用は止まります。最初の分岐は1つに絞ってください。
| 商品の状態 | ページの扱い | 在庫状況の伝え方 | 判断の目安 |
|---|---|---|---|
| 再入荷する(時期は未定でも予定はある) | 残す | 在庫切れ・入荷待ちとして正しく示す | 発注の見込みが立っている、定番として扱っている |
| 再入荷しないが、後継・ほぼ同等の代替がある | 代替ページへ転送する | 転送先の在庫状況を示す | 型番違い・後継モデル・同型の色違いなど |
| 再入荷せず、代替もない | 消す(404または410を返す) | — | 単発の企画品、取り扱い終了、供給そのものが終了 |
一つめは、季節商品や定番の欠品がまさにこれです。年に何度も切れて何度も戻る商品を、切れるたびに消す運用は、登録簿から抜く操作を自分から繰り返すことになります。戻すときに何がどれだけ必要になるかは、こちら側では決められません。
二つめは、後継モデルが出たときの型落ち品です。ここは「消す」と「残す」の中間で、行き先を作る対応になります。転送については301リダイレクトと302リダイレクトの使い分けを先に確認してください。転送先は、必ず内容が対応するページにします。
三つめが、削除が正解になる唯一の場所です。4xxは429を除いて同じ扱いなので、404(見つからない)でも410(消滅)でも、Googleの処理としては同じ結果になります。どちらを返すか迷って手が止まるくらいなら、404で構いません。
残すページで、在庫がないことをどう伝えるか
「残す」を選んだページを、在庫があるページと同じ見た目のまま置くのは避けたいところです。買えないのに買えるように見えるためです。
ここで使えるのが商品の構造化データです。構造化データとは、価格や在庫状況といった情報を、検索エンジンが読み取れる決まった書き方でページに書き添える仕組みを指します。
Googleの商品スニペットの資料では、推奨プロパティとしてavailability(在庫状況)が挙げられ、次のリストから最も適切な在庫状況オプションを1つ使うよう説明されています。抜粋すると、以下のように区別されています。
https://schema.org/InStock:在庫ありhttps://schema.org/OutOfStock:この商品は現在在庫切れですhttps://schema.org/BackOrder:この商品は入荷待ちですhttps://schema.org/SoldOut:この商品は完売しましたhttps://schema.org/Discontinued:この商品は販売を終了しましたhttps://schema.org/LimitedAvailability:この商品は在庫僅少ですhttps://schema.org/PreOrder:この商品は予約受付中です
注目したいのは、「現在在庫切れ」と「販売終了」と「完売」が、別々の値として用意されている点です。日本語の売り場では、この3つはどれも「売り切れ」と書かれがちです。区別はページの表示だけでなく、値の選び方にも反映させられます。
なお、この資料はどの値を選ぶかを説明するものであって、値を変えれば順位が動くとは書かれていません。ここは事実として扱わず、「買えない商品を買えると示さないための表示上の正しさ」として扱うのが安全です。
再現できる手順:1商品を最後まで通してみる
架空の例で1本通します。アウトドア用品店の「防水トートバッグ・カーキ」が在庫切れになった場面です。
- 再入荷の予定を仕入れ担当に確認する。 ここでの答えは「予定あり/予定なし/未定」の3つだけにします。未定は「予定あり」に寄せます。判断を止めないためです。
- 検索からの流入があるかを確認する。 Search Consoleのページ別のデータで、そのURLの表示回数(検索結果に出た回数)とクリック数を直近3か月ぶんで見ます。表示回数が0に近ければ、どの対応を選んでも影響は小さく、迷う価値がありません。
- 表の行に当てはめる。 「防水トートバッグ・カーキ」は定番で、来月に入荷予定がありました。よって1行目、残す判断になります。
- ページ側を整える。 カートに入れるボタンを押せない状態にし、入荷予定の表示と入荷通知の受付を置きます。構造化データの
availabilityはBackOrder(入荷待ち)にします。単に切れているだけならOutOfStockです。 - 1か月後に見直す。 入荷予定が消えて「予定なし」に変わったら、この商品は2行目か3行目へ移ります。色違いが継続しているならそちらへ転送、シリーズごと終了なら404です。
ここまでで、判断は1回、作業は5分程度です。難しいのは技術ではなく、仕入れ側の情報をSEOの判断に持ち込む導線がないことのほうです。
よくある誤解と、つまずきやすいところ
「とりあえずnoindexにしておけば安全」ではありません。 noindexは検索結果に出さない指定です。買えない状態を隠したいだけなら、在庫状況を正しく示すほうが目的に合います。再入荷したときに指定を戻す作業も増えます。
削除したページを、関連のないページへまとめて転送するのは避けてください。 在庫切れの商品を全部トップページへ送ると、利用者は探していたものを見失います。転送先は、元のページで探されていた内容に対応するページを選んでください。この扱いについてはソフト404エラーの直し方で扱っています。
在庫の値を書き換えたら即座に検索結果へ反映される、とは考えないでください。 サイト側の表示を直しても、検索結果側の見え方がすぐ揃うとは限りません。表示の修正はまず自分のサイトの中で完結させ、検索結果側は後追いで確認する順番が現実的です。
サイズや色だけが切れている場合は、そもそも分岐に入りません。 ページ全体は買える状態のままだからです。この場合に商品ページごと消すと、買える在庫まで失います。バリエーション単位の欠品と、商品単位の欠品は分けて考えてください。
自己点検リスト
いま抱えている在庫切れページに、そのまま当てられる形にしておきます。
- 在庫切れページを「再入荷あり/代替あり/終了」の3つに仕分けできているか
- 残すと決めたページで、カートのボタンが押せる状態のまま放置されていないか
- 構造化データの
availabilityが、在庫がある頃の値のままになっていないか - 「販売終了」と「一時的な在庫切れ」を、同じ表示・同じ値で処理していないか
- 削除したページの転送先が、内容として対応するページになっているか
- 転送も削除もされず、200を返したまま買えない状態のページが残っていないか
最後の項目が、いちばん見落とされます。200が返っていれば、サイトの管理画面上はエラーになりません。エラーとして見えないものは、探しに行かないと見つかりません。
どこから手をつけるか
全部を一度に直す必要はありません。優先順位は、検索からの流入がある在庫切れページの上から順です。
表示回数が多いのに買えない状態が続いているページは、機会損失がそのまま出続けます。逆に、誰も見ていない在庫切れページの処理をどれだけ丁寧にやっても、数字は動きません。Search Consoleでページ別の表示回数を並べ、上位から表に当てはめていくのが、いちばん短い道です。
その一覧を毎回手で作るのがつらくなってきたら、検索パフォーマンスのデータを継続的に見られる状態を用意する段階に来ています。判断基準そのものは、この記事の表のままで足ります。
出典
