我正在研究以编程方式将 301 添加到 ASP.NET 网络表单站点的方法和技术。
客户网站正在针对 SEO 进行优化,我们试图避免每次他们进行更改时通常的“向我们发送 301 列表,我们会将它们添加到网站”。以前我们已经提供了一个 301 列表,并将它们添加到 global.asax(根据请求)或 web.config 并让 .NET 完成其余的工作。
我想知道是否有任何公认的“最佳”方式来执行动态 301。
坚持我可以在 XML/SQL 中执行的重定向没问题。我猜如果我们在每个请求上读取 xml/查询数据库,性能会受到影响。
我当然可以缓存它们——但是在哪里呢?应用程序上下文似乎是显而易见的地方,但我担心在应用程序中保存数百个 301。考虑到 301 位 SEO 专家如何获得快乐,我不希望他们增加数千人,然后想知道服务器为什么会倒塌。这是一个有效的担忧吗?还是在缓存中?具有让 .NET 管理内存的优势,因此如果资源变得稀缺,它们将被清除并且始终可以重新创建。它是否比应用程序提供任何优势?
我可以添加一个配置 xml 文件,通过 CMS 更新它并从 web.config 中引用它——这会起作用还是需要回收站点以获取更改?
澄清一下,存储和执行 301 不是问题。我正在寻找一种检查 301 和重定向的方法,这种方法会很快而不影响用户体验。