Настройка 301 перенаправлений с динамическими URL - PullRequest
1 голос
/ 01 марта 2010

Я предполагаю, что это на самом деле невыполнимая задача, но я решил запустить ее через StackOverflow, чтобы проверить, не ошибаюсь ли я. По сути, у нас есть несколько динамически создаваемых URL-адресов для целей SEO (около 300 000+ из них), и мы хотим сделать 301 перенаправления на них.

Наши текущие URL выглядят так:

http://www.site.com// / <productGuid>

Наши старые URL выглядели примерно так:

http://www.site.com/productpage.aspx?productGUID=

Google по-прежнему загружен индексированными старыми URL-адресами, но мы, очевидно, хотим, чтобы они знали, что они должны быть заменены нашими более новыми (и что это не просто дублированный контент), следовательно, 301 перенаправляет .

Наша проблема в том, что части новых URL-адресов <Brand> и <Product Name>, очевидно, создаются динамически ... что делает невозможным создание для них 301 переадресации.

Или это невозможно?

Спасибо за любые идеи или советы о том, как мы можем заставить Google начать обновлять свои проиндексированные URL-адреса на новые.

Ответы [ 2 ]

1 голос
/ 02 марта 2010

Создайте новое внутреннее имя для своей страницы продукта, например: ProductPageInternal.aspx.

Перезаписать весь трафик ProductPage.aspx на страницу Redirect.aspx, которая содержит код перенаправления 301, на новый красивый URL (идея Текайдо)

Переписать все новые URL в ProductPageInternal.aspx.

<rewrite url="~/ProductPage.aspx?GUID=(.+)" to="~/Redirect.aspx?productGUID=$1" /> 
<rewrite url="~/(.+)/(.+)/(.+)" to="~/productpageInternal.aspx?productGUID=$3" /> 
1 голос
/ 01 марта 2010

В коде вашей страницы productpage.aspx установите Response.StatusCode и Response.RedirectLocation и завершите Response.

Response.StatusCode = 301;
Response.RedirectLocation = "http://www.site.com/<Brand>/<Product Name>/<productGuid>";
Response.End();
...