我有一个属性门户(在asp.net core 2.0中开发),在其中我遇到了SEO相关问题。 我有一个控制器(名称:explore)和一个索引操作,在其中显示属性列表。 出于搜索引擎优化的目的,我将网址设置如下
https://www.dubairent.com/properties-for-rent-in-dubai
https://www.dubairent.com/apartments-for-rent-in-dubai
https://www.dubairent.com/villas-for-rent-in-dubai
但不确定Google如何制作具有如下控制器名称的URL。
https://www.dubairent.com/explore/properties-for-rent-in-dubai
https://www.dubairent.com/explore/apartments-for-rent-in-dubai
https://www.dubairent.com/explore/villas-for-rent-in-dubai
当我们打开这些URL时,它最终将成为正确的URL。但这会导致SEO角度的重定向问题。
要解决这些问题,我必须永久重定向那些URL来更正它们。以下是我在探索控制器中的索引操作。
[HttpGet]
public async Task<IActionResult> Index(string param)
{
// some logic
return View(model);
}
任何人都可以帮忙。
答案 0 :(得分:1)
如果要完全控制URL,最好总是使用属性路由。假设param
是properties-for-rent-in-dubai
的一部分,则:
[Route("")]
public class ExploreController : Controller
{
[HttpGet("{param}"]
public async Task<IActionResult> Index(string param)
然后,/explore/
将从不成为URL的一部分,因为它将不再匹配。当然,您需要永久重定向这些URL以防止出现404错误,但这听起来像您已经解决了这个问题。
或者,您可以使用rel="canonical"
标记来告诉搜索引擎页面的权威URL:
<link rel="canonical" href="https://www.dubairent.com/properties-for-rent-in-dubai" />
然后,即使搜索引擎在/explore/properties-for-rent-in-dubai
处对该页面建立索引,它也会通过您指定的规范URL列出该页面。不过,值得注意的是,永久重定向具有相同的效果,所以最终,我不确定真正的问题是什么。