【发布时间】:2010-09-21 08:42:03
【问题描述】:
我的网站上有一些页面是纯 HTML 页面,但我想为这些页面添加一些 ASP .NET 类型的功能。我担心的是,如果我简单地将 .html 页面重命名为 .aspx,我会破坏链接,失去 SEO,等等。
我认为有一个“最佳实践”来处理这种情况。
【问题讨论】:
我的网站上有一些页面是纯 HTML 页面,但我想为这些页面添加一些 ASP .NET 类型的功能。我担心的是,如果我简单地将 .html 页面重命名为 .aspx,我会破坏链接,失去 SEO,等等。
我认为有一个“最佳实践”来处理这种情况。
【问题讨论】:
您可以使用 ISAPI 重写将 .html 网址重定向到 .aspx 网址。
这里的想法是将所有现有页面重命名为 .aspx,但将所有传入请求作为永久重定向 (301) 处理到新的 .aspx 页面。这意味着所有到 *.html 的传入链接都将找到正确的 *.aspx 页面。
【讨论】:
如果新的 ASP.NET 功能很小,我建议在您的 HTML 中包含 IFrame,它链接到新创建的包含您的微小动态更改的 ASP.NET 页面。
【讨论】:
如果您控制 IIS - 您可以将 .HTML 映射到 ASP.NET 处理程序并按原样运行它们。或者,将它们映射到自定义 HttpHandler 并发送带有更新位置的 301 代码。
【讨论】:
改用 aspx 不会破坏任何 SEO
【讨论】:
在 aspx 上创建您的新页面,并从 HTML 页面提供 301 永久重定向。
搜索蜘蛛足够聪明,可以意识到内容已经移动,不会惩罚您。
Google 和 Yahoo 都表示他们将元刷新解析为 301 重定向,没有延迟,所以只需执行以下操作:
<html>
<head>
<title>Moved to new URL: http://example.com/newurl</title>
<meta http-equiv="refresh" content="0; url=http://example.com/newurl" />
<meta name="robots" content="noindex,follow" />
</head>
<body>
<h1>This page has been moved to http://example.com/newurl</h1>
<p>If your browser doesn't redirect you to the new location please <a href="http://example.com/newurl"><b>click here</b></a>, sorry for the hassles!</p>
</body>
</html>
【讨论】:
这一切都会奏效,但我认为很大程度上取决于页面的内容、您需要添加到其中的编程数量以及未来的计划。如果他们被搜索引擎重视,
不过,一般来说,我认为最好的办法是创建新页面并将 html 页面 301 重定向到 .aspx 页面。或者,您可以重写 URL 以显示 .aspx 页面,同时保持 URL 不变,但这不是一个非常可扩展的解决方案。
【讨论】: