вторник, 15 мая 2012 г.

Как отслеживать и исправлять битые ссылки (1)

Благодаря новым возможностям в пакете Legacy URL Handler, вы можете отслеживать битые ссылки на сайте и оперативно их исправлять.

Для этого вам понадобится:
Следует заметить, что о битой ссылке вы будете узнавать постфактум, то есть, если по ней кто-нибудь перейдет.

Сам пакет Legacy URL Handler представляет из себя инструмент для переназначения старых ссылок новым. Поэтому поговорим сначала о нем.


Пакет Legacy URL Handler


Обычный сценарий работы с Legacy URL Handler такой:
  1. Открываете в браузере страницу на вашем сайте ~/StoreCurrentPaths.aspx и нажимаете Start.
  2. Перемещаете страницы как вам нужно (при помощи команд контекстного меню "Вырезать" и "Вставить" в разделе "Контент")
  3. Открываете ~/RemoveRedunantPaths.aspx и нажимаете Start.
StoreCurrentPaths.aspx создаст файл LegacyUrlMappings.xml в папке ~/App_Data, в котором в качестве соответствия (mapping) сохраняются пути файла в двух форматах:
  • OldPath: "старый", всегда относительный путь к странице, напр.: /Path/To/MyPage
  • NewPath: "новый", внутренний, с использованием идентификатора страницы ~/page(GUID) (или в старом формате (версии < 3.0) ~/Renderers/Page.aspx?PageId=GUID)
<Mapping OldPath="/Path/To/MyPage" NewPath="~/page(41328915-3f56-423f-ab8d-157ddc9c8af8)" />

RemoveRedunantPaths.aspx же удаляет все соответствия, в которых относительный путь к странице (OldPath) не изменился. Таким образом остаются только те страницы, чей относительный путь изменился.

Теперь при обращении к странице по старому пути, посетитель вашего сайта будет перенаправляться по новому.

Нужно сказать, что можно обойтись и без использования указанных выше шагов. Это если вы точно знаете, путь к какой странице изменился. В этом случае вам просто нужно будет вручную добавить соответствие в файл LegacyUrlMappings.xml.

Следует заметить, что формат значения OldPath - это всегда относительный путь к странице. А вот формат значения NewPath - может быть любым из таких:
  • Относительный путь к странице, напр.: /New/Path/To/MyPage
  • Абсолютный путь, в т.ч. внешняя ссылка, напр.: http://www.google.com
  • Внутренний формат с использованием идентификатора страницы, напр.: ~/page(41328915-3f56-423f-ab8d-157ddc9c8af8).
(Старый внутренний формат с идентификатором, который использовался в версиях Composite C1 ниже 3.0, - не рекомендуется.)

Итак, с пакетом мы познакомились, теперь рассмотрим настройку отслеживания битых ссылок на сайте с его помощью.

Комментариев нет:

Отправить комментарий