X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Хлебные крошки (breadcrumb) на сайте
ZhukV
ZhukV
Topic Starter сообщение 8.3.2012, 22:06; Ответить: ZhukV
Сообщение #1


Админам - сорри что в этой рубрике, так как тема приличная, в другом разделе (СЕО) могут просто не заметить.

И так.... )))
Много наверное кто видел и хочет себе, чтобы при поиске в гугле, его сайт выдавал хлебные крошки, то есть как бы сказать - каталог, по которому находиться страница.
Пример можно заметить: https://www.google.com.ua/search?ix=tea&...ite%3Aapprus.ru

Там видно, как хлебные крошки есть для приложение, типа:
Игры > iOS > iPhone
и т.д.

Первоначально я думал, что гугл определяет это по структуре сайта, ну типа:
http://domain.com/{RUBRIC_1}/{TAG_1}/{CONTENT}.html

Но УВЫ, очень сильно ошибался, ему на это "насрать" (((((

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

Есть много видов микроразметки, но на мой взгляд лучше использовать - RDF, но знайте, ней Вы не сможете передать все данные (приложения, музыку... для гугла)
RDF - http://rdf.data-vocabulary.org/
Schema - http://schema.org/ (Можно передать все что угодно)
Есть и еще несколько, не хотел рыть, так как этими двумя Вы сможете передать все что угодно.

И так, чтобы сделать у себя на сайте, нужно в каком то месте установить хлебные крошки с микроразметкой, и при этом не СКРЫВАТЬ никак, так как гугл откажется их ставить в поиске!!!

Я Вам дам некие коды PHP, при помощи которых Вы сразу сможете установить.

[PHP]
/**
* Create link HTML
* Функция для генерации линка, используется у меня на сайте, чтобы упростить много чего. Вы же можете ее спокойно убрать
*/
function l($text, $path, array $options = array()) {
$options += array(
'attributes' => array(),
'html' => FALSE,
'query' => array()
);

$links['options'] = array(
'query' => $options['query']
);

$options['attributes']['href'] = $path;

if (!empty($options['query'])) { $options['attirbutes']['href'] .= '?' . http_build_query($options['query']) : ''; }

if ($options['html']) {
return '<a ' . html_attributes($options['attributes']) . '>' . $text . '</a>';
}
else {
return '<a ' . html_attributes($options['attributes']) . '>' . check_plain($text) . '</a>';
}
}

/**
* Converts an associative array to an attribute string for use in XML/HTML tags.
*
* @param array $attributes
* Attribtues
*
* @return
* XML/HTML attributes for tags
*/
// Дополнительная функция, для генерации атрибутов HTML (используется у меня на сайте, Вы же сможете ее изменить или удалить)
function html_attributes(array $attributes = array()) {
foreach ($attributes as $attribute => &$data) {
if (is_array($data)) {
if (!empty($data['html'])) {
$data = $attribute . '="' . $data['content'] . '"';
continue;
}
}
$data = implode(' ', (array) $data);
$data = $attribute . '="' . check_plain($data) . '"';
}
return $attributes ? implode(' ', $attributes) : '';
}

/**
* Функция темизации breadcrumba
*/
function theme_breadcrumb($vars) {
$vars['self_attributes'] += array('xmlns:v' => 'http://rdf.data-vocabulary.org/#', 'class' => array());
if (!is_array($vars['self_attributes']['class']) || !in_array('breadcrumb', $vars['self_attributes']['class'])) {
$vars['self_attributes']['class'][] = 'breadcrumb';
}
$output = '<div ' . html_attributes($vars['self_attributes']) . '>';
$now = 0;
$breads = array();

foreach ($vars['breadcrumbs'] as $item) {
$item += array( 'link' => array() );
$now++;
$attributes = array('class' => array(
'item', 'item-' . ($now % 2 ? 'even' : 'odd')
));
if ($now == 1) { $attributes['class'][] = 'first'; }
if ($now == count($vars['breadcrumbs'])) { $attributes['class'][] = 'last'; }

$attributes['typeof'] = 'v:Breadcrumb';

$item['link'] += array('attributes' => array());
$item['link']['attributes'] += array(
'rel' => 'v:url',
'property' => 'v:title'
);

$breads[] = '<span ' . html_attributes($attributes) . '>' .
l($item['title'], $item['href'], $item['link']) .
'</span>';
}

if (!$breads) { return ''; }
$output .= implode($vars['separator'], $breads);
$output .= '</div>';

return $output;
}
[/PHP]

Этим кодом Вы сможете поставить на сайте красиво хлебные крошки и при этом передать их для поисковых систем.

Пример можно увидеть на любом приложении или блоге на сайте - http://apprus.ru


Использовать очень просто:

[PHP]
// Создаем массив линков:
$breads = array(
'link_1' => array('title' => 'Link 1', 'href' => 'l1'),
'link_2' => array('title' => 'Link 2', 'href' => 'l1/l2'),
'link_3' => array('title' => 'Page content', 'href' => 'page/content.html')
);

// Даем переменные для функции темизиции и проганяем
$breadcrumb = array(
'self_attributes' => array(),
'separator' => array(),
'breadcrumbs' => $breads
);
print theme_breadcrumb($breadcrumb);
[/PHP]


И сложного ничего нету, и у Вас на сайте появилась строчка навигации и для гугла хорошо.

Документация гугла:
http://support.google.com/webmasters/bin/a...mp;answer=99170

Когда Вы поставите код у себя, можете протестить для гугла:
http://www.google.com/webmasters/tools/richsnippets

Чтобы увидеть как все это работает в живом примере, перейдите на страницу теста для гугла и введите любую ссылку приложения с сайта - http://apprus.ru

P.S.
Обновления в гугла происходит достаточно быстро (ценю по своему сайту, 1 200 000 страниц). Данные начали обновляться в поиске уже через несколько дней. Главное проверте на тестовой странице гугла, все ли впорядке.

Если есть вопросы, рад ответить.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Санатан
Санатан
сообщение 16.7.2013, 19:57; Ответить: Санатан
Сообщение #2


(ZhukV @ 9.3.2012, 01:06) *
Админам - сорри что в этой рубрике, так как тема приличная, в другом разделе (СЕО) могут просто не заметить.

И так.... )))
Много наверное кто видел и хочет себе, чтобы при поиске в гугле, его сайт выдавал хлебные крошки, то есть как бы сказать - каталог, по которому находиться страница.
Пример можно заметить: https://www.google.com.ua/search?ix=tea&...ite%3Aapprus.ru

Там видно, как хлебные крошки есть для приложение, типа:
Игры > iOS > iPhone
и т.д.

Первоначально я думал, что гугл определяет это по структуре сайта, ну типа:
http://domain.com/{RUBRIC_1}/{TAG_1}/{CONTENT}.html

Но УВЫ, очень сильно ошибался, ему на это "насрать" (((((

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

Есть много видов микроразметки, но на мой взгляд лучше использовать - RDF, но знайте, ней Вы не сможете передать все данные (приложения, музыку... для гугла)
RDF - http://rdf.data-vocabulary.org/
Schema - http://schema.org/ (Можно передать все что угодно)
Есть и еще несколько, не хотел рыть, так как этими двумя Вы сможете передать все что угодно.

И так, чтобы сделать у себя на сайте, нужно в каком то месте установить хлебные крошки с микроразметкой, и при этом не СКРЫВАТЬ никак, так как гугл откажется их ставить в поиске!!!

Я Вам дам некие коды PHP, при помощи которых Вы сразу сможете установить.

[PHP]
/**
* Create link HTML
* Функция для генерации линка, используется у меня на сайте, чтобы упростить много чего. Вы же можете ее спокойно убрать
*/
function l($text, $path, array $options = array()) {
$options += array(
'attributes' => array(),
'html' => FALSE,
'query' => array()
);

$links['options'] = array(
'query' => $options['query']
);

$options['attributes']['href'] = $path;

if (!empty($options['query'])) { $options['attirbutes']['href'] .= '?' . http_build_query($options['query']) : ''; }

if ($options['html']) {
return '<a ' . html_attributes($options['attributes']) . '>' . $text . '</a>';
}
else {
return '<a ' . html_attributes($options['attributes']) . '>' . check_plain($text) . '</a>';
}
}

/**
* Converts an associative array to an attribute string for use in XML/HTML tags.
*
* @param array $attributes
* Attribtues
*
* @return
* XML/HTML attributes for tags
*/
// Дополнительная функция, для генерации атрибутов HTML (используется у меня на сайте, Вы же сможете ее изменить или удалить)
function html_attributes(array $attributes = array()) {
foreach ($attributes as $attribute => &$data) {
if (is_array($data)) {
if (!empty($data['html'])) {
$data = $attribute . '="' . $data['content'] . '"';
continue;
}
}
$data = implode(' ', (array) $data);
$data = $attribute . '="' . check_plain($data) . '"';
}
return $attributes ? implode(' ', $attributes) : '';
}

/**
* Функция темизации breadcrumba
*/
function theme_breadcrumb($vars) {
$vars['self_attributes'] += array('xmlns:v' => 'http://rdf.data-vocabulary.org/#', 'class' => array());
if (!is_array($vars['self_attributes']['class']) || !in_array('breadcrumb', $vars['self_attributes']['class'])) {
$vars['self_attributes']['class'][] = 'breadcrumb';
}
$output = '<div ' . html_attributes($vars['self_attributes']) . '>';
$now = 0;
$breads = array();

foreach ($vars['breadcrumbs'] as $item) {
$item += array( 'link' => array() );
$now++;
$attributes = array('class' => array(
'item', 'item-' . ($now % 2 ? 'even' : 'odd')
));
if ($now == 1) { $attributes['class'][] = 'first'; }
if ($now == count($vars['breadcrumbs'])) { $attributes['class'][] = 'last'; }

$attributes['typeof'] = 'v:Breadcrumb';

$item['link'] += array('attributes' => array());
$item['link']['attributes'] += array(
'rel' => 'v:url',
'property' => 'v:title'
);

$breads[] = '<span ' . html_attributes($attributes) . '>' .
l($item['title'], $item['href'], $item['link']) .
'</span>';
}

if (!$breads) { return ''; }
$output .= implode($vars['separator'], $breads);
$output .= '</div>';

return $output;
}
[/PHP]

Этим кодом Вы сможете поставить на сайте красиво хлебные крошки и при этом передать их для поисковых систем.

Пример можно увидеть на любом приложении или блоге на сайте - http://apprus.ru


Использовать очень просто:

[PHP]
// Создаем массив линков:
$breads = array(
'link_1' => array('title' => 'Link 1', 'href' => 'l1'),
'link_2' => array('title' => 'Link 2', 'href' => 'l1/l2'),
'link_3' => array('title' => 'Page content', 'href' => 'page/content.html')
);

// Даем переменные для функции темизиции и проганяем
$breadcrumb = array(
'self_attributes' => array(),
'separator' => array(),
'breadcrumbs' => $breads
);
print theme_breadcrumb($breadcrumb);
[/PHP]


И сложного ничего нету, и у Вас на сайте появилась строчка навигации и для гугла хорошо.

Документация гугла:
http://support.google.com/webmasters/bin/a...mp;answer=99170

Когда Вы поставите код у себя, можете протестить для гугла:
http://www.google.com/webmasters/tools/richsnippets

Чтобы увидеть как все это работает в живом примере, перейдите на страницу теста для гугла и введите любую ссылку приложения с сайта - http://apprus.ru

P.S.
Обновления в гугла происходит достаточно быстро (ценю по своему сайту, 1 200 000 страниц). Данные начали обновляться в поиске уже через несколько дней. Главное проверте на тестовой странице гугла, все ли впорядке.

Если есть вопросы, рад ответить.


Спасибо попробую. Есть вопрос. Сможет это повлиять на формирование быстрых ссылок под снипетом в выдаче Гугла?

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Боты могут делать пушподписки на моём сайте?
3 Megaspryt 893 Сегодня, 5:18
автор: Skyworker
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрый и качественный обмен на сайте Baksman.org
Обмен Bitcoin, BTC-e, PM, Qiwi, Yandex money, Карты банк
53 Baksman 33770 Вчера, 11:29
автор: Baksman
Горячая тема (нет новых ответов) CryptoCloud — прием USDT, BTC, ETH, LTC на любом сайте
36 CryptoCLoud 10666 16.4.2024, 16:02
автор: CryptoCLoud
Горячая тема (нет новых ответов) Странный трафик на сайте длительное время
33 TABAK 8934 12.4.2024, 5:56
автор: Skyworker
Открытая тема (нет новых ответов) Алтуально ли заработок на сайте?
Оцение пожалуйста идею
10 hitman20 1886 1.2.2024, 5:37
автор: Liudmila


 



RSS Текстовая версия Сейчас: 24.4.2024, 8:34
Дизайн