Я решаю подобную проблему.Если страница с ресурсом будет удалена из Интернета, я хотел бы сказать, что Google Bot 410 Gone удален из кэша, но я хотел бы предложить альтернативную похожую страницу для посетителя.
Я решил это следующим образомэто:
public ActionResult RealEstate(int id, string title)
{
...prepare the model
if (realEstateModel.Result.OfferState == OfferState.Deleted)
{
var alternativeSearchResult = PrepareAlternative(realEstateModel);
return Gone410(alternativeSearchResult, context);
}
else
return View(realEstateModel);
}
Gone410.cshtml выглядит примерно так:
@model Bla.ModelGone410
@{
Layout = null;
Html.RenderAction("Index", "Search",
new
{
type = Model.type,
Category = Model.Category,
city_id = Model.city_id,
...
});
}
и RealEstate.cshtml:
@model Bla.realEstateModel
@{
Layout = null;
}
This is realestate view...
Это дает ответ 410 для бота Google ипоиск альтернативы для пользователя без перенаправления.