Как сказать Google, что у меня есть другая страница вместо этого? - PullRequest
2 голосов
/ 20 декабря 2011

У меня есть страница aspx: 1.aspx

В моем приложении нет ни маршрутов, ни модуля rewriteurl.

Как мне сказать Google:

Я больше не пользуюсь 1.aspx

Пожалуйста, используйте 2.aspx instead

его роботы всегда ищут 1.aspx

Как мне остановить это (и сказать ему, чтобы он посмотрел вместо 2.aspx)?

Ответы [ 5 ]

3 голосов
/ 20 декабря 2011

Использование файла robots.txt:

Вы можете создать файл robots.txt в корне приложения и поместить в него следующее:

User-agent: Google
Disallow: 1.aspx

Подробнее о файлах robots.txt http://www.robotstxt.org/robotstxt.html


Выполнение перенаправления:

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/2.aspx");

Выполнение перенаправления без этой страницы, существующей в Global.asax:

void Application_BeginRequest(object sender, EventArgs e) {
    string url = Request.Url.ToString().ToLower();
    if (url.Contains("/1.aspx")) {
        Response.Status = "301 Moved Permanently";
        Response.AddHeader("Location", "/2.aspx");
    }
} 
2 голосов
/ 20 декабря 2011

Используйте перманентное перенаправление 301.Если вы используете .NET <4.0: </p>

Response.Status = "301 Moved Permanently";
Response.StatusCode = 301;
Response.AddHeader("Location","http://www.new-url.com");
Response.End();

Если вы используете .NET 4.0:

Response.RedirectPermanent("http://www.new-url.com");

Вы можете узнать о переадресации 301 и о том, как Google обрабатывает их здесь .

2 голосов
/ 20 декабря 2011

Google обновит это автоматически.Удалите страницу 1.aspx с вашего сайта.Затем робот некоторое время будет искать этот файл, а остальные сканирует и обновляет индекс.

1 голос
/ 20 декабря 2011

Вы захотите использовать 301 Redirect.

это будет зависеть от вашей технологии, однако вы можете узнать больше на http://www.webconfs.com/how-to-redirect-a-webpage.php

Например, в ASP

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.new-url.com/"
%> 

Для ASP.NET

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com");
}
</script> 

Подробнее о перенаправлениях на стороне сервера можно прочитать здесь:

Для Microsoft Internet Information Services и Apache соответственно.

0 голосов
/ 20 декабря 2011

301 перенаправление 1.aspx на 2.aspx.

Перенаправление на стороне клиента заставит вас сохранить страницу.Перенаправление на стороне сервера через IIS (или где-либо, где размещается ваше приложение) будет постоянно делать 1.aspx -> 2.aspx.Вы можете удалить страницу, и это не будет иметь значения.

...