пятница, 30 июля 2010 г.

Изменение титулов (названий) страниц Microsoft SharePoint для SEO

С точки зрения SEO у SharePoint титульники страниц формируются кривовато:

"Локализированное слово-приставка" + " - " + "название сайта"

Посмотреть можно так:
Запускаем SharePoint designer 2010
Открываем портал
Открываем любую страницу портала
Видим следующее:

<asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,multipages_homelink_text%>" EncodeMethod="HtmlEncode"/> - 
<SharePoint:ProjectProperty Property="Title" runat="server"/>
</asp:Content>

А сгенерит нам это примерно вот что на каждой странице:
<title>Домашняя - Портал студентов МГППУ</title>

$Resources:wss,multipages_homelink_text% - означает, что нужно обратиться к файлу ресурсов wss и выдать значение multipages_homelink_text.
SharePoint:ProjectProperty Property="Title" - выдаёт название узла.


Это не очень удобно, ибо это слово-приставка (в английской версии - Home, в русской "Домашняя") совершенно не в тему, вернее мешается своей бессмысленностью.

А хотелось бы получить нормальный, информативный заголовок страницы. Для того же SEO хорошо бы употреблять в заголовках название сайта. В моём случае это "Портал студентов МГППУ".

Есть три варианта исправления:
  1. Вручную переправить все страницы портала (это если на работе нужно что-то делать, а работы у вас нет);
  2. Переправить Site Definition, а другими словами - шаблоны страниц (это если опять делать нечего, но есть желание не тратить время попусту и сделать что-то полезное);
  3. Исправить значение ресурса "$Resources:wss,multipages_homelink_text" (это не функционально (т.е. порядок слов в title не поменяете, но если нужно просто заменить "Домашняя" на что-то более наглядное самое оно)).
Насчёт третьего пункта есть уточнение: тут тоже можно сделать по тупому (ура!) - исправить ресурсный файл в C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\Resources (14 замените на 12, если SharePoint 2007). Так делать не надо! Хотя ведь обязятельно какой-нить "крутой" прогер полезет там править.

Менять значение ресурса нужно в ресурсах веб-приложения:
Запускаем менеджер IIS;
Находим нужный нам сайт;
Открываем его проводником;
Захожим в директорию App_GlobalResources;
Открываем файл wss.ru-ru.resx блокнотом (не забудьте поменять для всех локалей, которые вы используете!);
Ищем строчку multipages_homelink_text и меняем текст.

Должно получиться что-то типа того:
<data name="multipages_homelink_text">
  <value>Портал студентов МГППУ</value>
</data>

Всё, вы поменяли значение ресурса и после перезагрузки веб-приложения изменения применятся.


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