среда, 10 ноября 2010 г.

SEO и общие рекомендации



После того как работа над сайтом закончена, за него берутся сеошники. Но, как часто у нас бывает разработчик - и швец, и жнец, и на дуде игрец. Поэтому для таких многостаночников я хочу привести ряд общих рекомендаций по настройке и сео-оптимизации сайтов. А вообще-то это целая наука и за 5 минут ее не осилить.

1. Рекомендации по основным элементам страниц сайта.

Как уже было сказано в предыдущих статьях, для СЕО очень важны 3 вещи - title страницы, meta-тег description и meta-тег keywords.

Что касается длины этих параметров, то общие рекомендации для заточки под Google такие:

Title - должен содержать не более 12 слов, общая длина которых должна составлять от 70 до 80 символов (наиболее важные слова располагайте первыми).
Description - рекомендуемая длина содержимого этого МЕТА-тега – 150 символов и она не должна превышать 200 символов (это должен быть текст описывающий контент вашей страницы, а не набор ключевых слов и словосочетаний).
Keywords - этот тег должен содержать около 200 символов, во всяком случае, длина не должна превышать 250 символов.

На сайте не должно быть страниц с повторяющимися Title и Description!

2. Рекомендации по контенту сайта.

Для каждой страницы может быть только один тег <H1>, несколько тегов <H2> и <H3> (причем тегов <H2> и <H3> может не быть вообще). Желательно, чтобы внутри тегов <H1>, <H2>, <H3> не содержались другие теги (например, <H1><em>текст</em></H1>), а также дополнительные атрибуты (например, <H2 class="red-italic">).

Оформление заголовков <H1>, <H2>, <H3> необходимо переносить в таблицу или файл-стилей.

Оформление текста, который является ссылкой, должно отличаться от оформления основного текста страницы, например подчеркиванием, цветом и т.п.

Оформление текста, помещенного в теги <STRONG>, должно отличаться от оформления основного текста страницы, например полужирным начертанием, курсивом, цветом и т.п.

Все картинки <IMG> должны иметь атрибут - alt.

Для внешних ссылок, которые не являются партнерскими, желательно добавить атрибут rel=”nofollow”, что позволит сократить отток PR с Ваших страниц.

Ключевые слова, которые встречаются в ваших текстах, желательно выделять либо полужирным начертанием, с помощью тегов <B> и <STRONG>, либо курсивом - тегами <I> и <EM>.

По возможности делайте слоганы не графическими а текстовыми.

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

Очень важно! Запомните, недопустимо полное или частичное использование текстов сайта в качестве рекламных текстов, пресс-релизов и т.п. на внешних ресурсах (в т.ч. контекстная реклама, доски объявлений и т.д.), а также недопустимо дублирование текстов внутри самого ресурса. Старайтесь как можно меньше передирать контент с других ресурсов.

Для правильного и оперативного определения поисковой системой региона сайта, настоятельно рекомендую внести на страницу с контактной информацией сайта полные контактные данные, включая индекс и название города в формате:
49000, г. Днепропетровск, ул. Короленко, д. 123.
А также номера телефонов, включая префикс, в формате:
+38 (067) 123-1234, +38 (0562) 111-222 (факс).
Если на сайте не указаны региональные контактные координаты, то может возникнуть ситуация, при которой поисковые системы (например, Яндекс) будут присваивать сайту не соответствующий регион, что приведет к некорректному положению сайта при выдаче результатов поиска.


3. Технические рекомендации.

Каждый сайт должны иметь 3 обязательных файла: robots.txt, sitemap.xml и favicon.ico (думаю, что все знают их назначение). Первые два файла запрашивают все поисковые боты, а последний - все клиентские браузеры, поэтому не нужно их огорчать ;)).

При запросе любых URLs, содержащих неосновные хосты (например, http://domain.com/ или http://domain.com/page.html без префикса WWW) необходимо сделать полный редирект на URL, с ответом сервера HTTP/1.1 301 Moved Permanently, содержащий основной хост - http://www.domain.com/.
Пример решения:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

На сайте не должны присутствовать повторяющиеся страницы, например главная страница по двум адресам http://www.domain.com/ и http://www.domain.com/index.html. Необходимо оставить http://www.domain.com/ страницу, а для страниц-дубликатов настроить переадресацию с ответом сервера HTTP/1.1 301 Moved Permanently на соответствующие страницы, либо HTTP/1.1 404 Not Found. Необходимо, чтобы каждая страница была доступна только по одному адресу.
Пример решения:
Redirect 301 /index.html http://www.domain.com/

При обращении к заведомо несуществующей странице, например http://www.domain.com/bla-bla-bla сервер не должен выдавать: HTTP/1.1 302 Found. Необходимо настроить сервер так, чтобы при обращении к несуществующей странице он выдавал: HTTP/1.1 404 Not Found.
Некорректная обработка данного запроса может привести к неправильной индексации сайта поисковыми системами и к проблемам с индексацией вообще, вплоть до полного исключения сайта из индекса поисковой системы.


P.S. На SEO влияет также и скорость работы сайта, но это уже тема для отдельного будущего разговора.

 

понедельник, 27 сентября 2010 г.

TYPO3 и SEO (часть вторая - tt_news)

В предыдущей статье, а точнее в первой части темы TYPO3 и SEO, я рассказывал о том, как в Typo3 с помощью дополнительных плагинов и TypoScript можно формировать Title и Description обычных страниц системы - page. Но сайт на Typo3 может иметь и другие страницы...

Tt_news - одно из наиболее популярных расширений, применяемых с Typo3. Данный плагин для просмотра всего списка новостей использует одну единственную страницу - страницу детального просмотра новости. Для единообразия и более успешной раскрутки сайта, данная страница должна иметь тот же формат Title, что и все остальные страницы.

Я покажу как это можно сделать.

Предположим, что мы имеем следующие страницы на сайте:




Причем, уникальные идентификаторы страниц (uid) имеем следующие:
Новости - 12
Новости сайта - 37 (страница единичного просмотра)
Новости и статьи - 4 (Sysfolder со списком новостей)

Typo3 шаблон для страницы Новости и Новости сайта:
plugin.tt_news.code >
# Не индексируем страницу со списком новостей
config.index_enable = 0

plugin.tt_news {
code = LIST
}
[globalVar = TSFE:id = 70]
# На данной странице показываем только архивные новости
plugin.tt_news.archive = 1
[else]
plugin.tt_news.archive = -1
[global]

[globalVar = GP:tx_ttnews|tt_news > 0]
# Страница единичной новости
plugin.tt_news.code = SINGLE
# Страницу единичной новости - индексируем!
config.index_enable = 1
# Для единичной новости или статьи создаем мета-теги по нашим правилам
config.noPageTitle = 2

# Для description страницы используем subheader - подзаголовок новости
page.meta.description >
page.meta.description.data = register:newsSubheader

# Запросом находим title - заголовок новости
lib.meta_news=CONTENT
lib.meta_news.table = tt_news
lib.meta_news.select {
pidInList = 4
andWhere.data = GP:tx_ttnews|tt_news
andWhere.intval = 1
andWhere.wrap = uid=|
}

# Это будет перенос на новую строку (см. далее)
lib.meta_news.renderObj = COA
lib.meta_news.renderObj.5 = TEXT
lib.meta_news.renderObj.5.value (

)

lib.meta_news.renderObj.10 = TEXT
lib.meta_news.renderObj.10 {
field = title
wrap = <title>| : Имя сайта</title>
}
lib.meta_news.renderObj.10.append < lib.meta_news.renderObj.5

# Ручная генерация мета-тега - description
# (если кому-то интересно - можно разкомментировать, но убрать page.meta.description выше)
#lib.meta_news.renderObj.20 = TEXT
#lib.meta_news.renderObj.20 {
# field = short
# wrap = <meta name="description" content="|" />
#}
#lib.meta_news.renderObj.20.append < lib.meta_news.renderObj.5

# Записываем в заголовок мета данные
page.headerData.776 >
page.headerData.776 < lib.meta_news

[global]

# Остальные настройки новостей
plugin.tt_news.stdWrap.wrap =
|

plugin.tt_news.templateFile = fileadmin/templates/tt_news_v3_template.html
# Указываем id папки с новостями
plugin.tt_news.pid_list = 4
# Указываем страницу для детального просмотра
plugin.tt_news.singlePid = 37
# Количество новостей в списке
plugin.tt_news.limit = 6
# Задаем формат даты
plugin.tt_news.displayList.date_stdWrap.strftime = %d.%m.%Y
# Если у новости нет подзаголовка, то в режиме списка новостей отображаем первые 250 символов её "тела"
plugin.tt_news.displayList.subheader_stdWrap {
crop = 250 | ... | 1
ifEmpty.field = bodytext
}
lib.newsContent < plugin.tt_news
воскресенье, 18 июля 2010 г.

TYPO3 и SEO (часть первая)

Думаю, ни для кого не секрет, что базовыми элементами SEO являются: заголовок страницы (TITLE), описание страницы (META DESCRIPTION) и набор ключевых слов (META KEYWORDS).

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

Ну что ж, начнем, пожалуй? Но для начала установим небольшое, очень простое и очень полезное расширение - seo_basics.

Данное расширение позволяет очень эффективно просматривать и редактировать все вышеперечисленные параметры для всех страниц сайта:









Очень удобным является то, что с помощью цвета полей ввода seo_basics говорит о корректности длины полей (желтый - коротко, зеленый - норма, красный - перебор).


После редактирования полей их необходимо активировать с помощью следующего TypoScript:

page.meta.keywords.field = keywords
page.meta.description.field = description

А где же активация Title спросите Вы. Тут не все так просто! Дело в том, что заголовок страницы, как правило, является составным. В моей практике, это чаще всего - заголовок текущей страницы + разделитель + название сайта. На самом деле, правила формирования Title могут быть какими-угодно. Здесь главное помнить следующее:
1. Поисковики учитывают только 70-80 символов заголовка (Google - 70, Yandex - 80);
2. Чем ближе к началу фразы слово, тем его вес для поисковиков выше;
3. Чем короче заголовок страницы тем весомее каждое его слово;
4. Крайне желательно, чтобы на сайте не было страниц с повторяющимися Title, т.е. заголовки страниц должны быть уникальными.

Я покажу как сформировать заголовок в формате:
Заголовок страницы : Имя сайта (компании)

Имя сайта прописывается здесь:





Теперь с помощью TypoScript собираем все вместе:


# Говорим TYPO3 что title мы формируем сами
config.noPageTitle = 2

plugin.tx_seobasics_sitetitle >
plugin.tx_seobasics_sitetitle = TEXT
plugin.tx_seobasics_sitetitle {
cObject =< plugin.tx_seobasics_sitetitle.multilang
ifEmpty.data = TSFE:tmpl|sitetitle
}

plugin.tx_seobasics >
plugin.tx_seobasics = COA
plugin.tx_seobasics {
# Формируем title страницы
10 = TEXT
10.data = page:tx_seo_titletag // page:title
10.trim = 1
10.stdWrap.stdWrap.append = TEXT
10.stdWrap.stdWrap.append.cObject < plugin.tx_seobasics_sitetitle
10.stdWrap.stdWrap.append.trim = 1
10.stdWrap.stdWrap.append.required = 1
10.stdWrap.stdWrap.append.if.isTrue = {$plugin.tx_seo.titleWrapAppendSiteTitle}
10.stdWrap.stdWrap.append.noTrimWrap = | : ||
10.stdWrap.noTrimWrap = {$plugin.tx_seo.titleWrap}
10.stdWrap.insertData = 1
10.htmlSpecialChars = 1
10.wrap = <title>|</title>

# Если Вам нужен и мета-тег title раскомментируйте нижние две строки
#20 < .10
#20.wrap = <meta name="title" content="|" />

# Ниже приведен скрипт позволяющий формировать остальные SEO-теги вручную

# Building the Keywords tag
#30 = TEXT
#30 < .10
#30.data = page:keywords
#30.stdWrap.noTrimWrap = {$plugin.tx_seo.keywordsWrap}
#30.stdWrap.stdWrap >
#30.required = 1
#30.wrap = <meta name="keywords" content="|" />

# Building the Description tag
#40 = TEXT
#40 < .30
#40.data = page:description
#40.stdWrap.noTrimWrap = {$plugin.tx_seo.descriptionWrap}
#40.wrap = <meta name="description" content="|" />

# Building the date tag (last changed)
#50 = TEXT
#50 < .10
#50.data = page:SYS_LASTCHANGED // page:crdate
#50.date = Y-m-d
#50.stdWrap >
#50.wrap = <meta name="date" content="|" />
}

# Записываем наши теги с раздел head страницы сайта
page.headerData.776 = < plugin.tx_seobasics

P.S. В репозитории расширений Typo3 имеется масса СЕО-прибомбасов, в том числе и такие, которые сами генерируют набор ключевых слов для каждой страницы сайта.

 

О себе

Моя фотография
Вадим Гиркало
Фрилансер, веб-разработчик сайтов на базе бесплатной, мощнейшей и очень гибкой CMS системы - TYPO3.
Просмотреть профиль

Позвонить мне в Skype

TOP - 3