Вернуться   SEO форум - оптимизация и продвижение сайтов > Поисковые системы > Google

Важная информация
Google - Поисковая система Google. Продвижение и раскрутка, оптимизация сайта, поисковое продвижение сайтов под Гугл, PR (Page Rank).

Ответ
 
Опции темы Оценить тему Опции просмотра
Старый 31.05.2015, 22:41   #1
 
Аватар для Alex LM
 
Сообщений: 972
FR (активность): 222,016

Доп. информация
По умолчанию Автор темы Как Google индексирует JavaScript

  1. Мы провели серию тестов, которые подтвердили, что Google может выполнять и индексировать JavaScript, мы также доказали, что Google способен рендерить целую страницу и читать DOM, таким образом, индексируя динамически генерируемый контент.
  2. SEO-сигналы в DOM (названия страниц, мета-описания, мета-теги robots, теги canonical) принимаются во внимание. Контент, который динамически вносится в DOM, также доступен для индексирования. Более того, в некоторых случаях DOM-сигналы для Google важнее, чем информация в HTML, которая им противоречит.

Введение: Google выполняет Javascript и читает DOM

Еще в 2008 году Google успешно краулил JavaScript, но в несколько ограниченном виде. Сегодня ясно, что в Google не только расширили перечень типов JavaScript, который они краулят и индексируют, но и добились значительных успехов в рендере полной веб-страницы (особенно за последние 12-18 месяцев).
Наша SEO-команда хотела лучше разобраться в том, какие именно JavaScript-события способен отслеживать Googlebot. Нам удалось получить впечатляющие результаты, а также доказать, что Google не просто выполняет различные типы событий JavaScript, но и индексирует динамически генерируемый контент. Как? Google читает DOM.


Что такое DOM?
Немногие SEO-специалисты обладают пониманием того, как работает Document Object Model или же DOM. В браузерах DOM — это, по сути, API для разметки и структурированных данных, таких как HTML и XML. Это интерфейс, который дает браузеру возможность собирать структурированные документы.
Оффтоп:
DOM также определяет, как получить доступ и как взаимодействовать с этой структурой. И хотя DOM не привязан к какому-то специфическому языку программирования или библиотеке, он наиболее часто используется в веб-приложениях на JavaScript и динамического контента.
DOM — это интерфейс, либо же «мост», который связывает веб-страницы и языки программирования. HTML парсится, JavaScript выполняется, а в результате получается DOM. Содержание веб-страницы — это не просто исходный код, это DOM. Иными словами, это важная штука.
Оффтоп:
Мы с удивлением обнаружили способность Google читать DOM и интерпретировать динамические сигналы и контент, такие как теги title, текст страницы, мета-аннотации, такие как rel=canonical. Ниже — подробное описание наших тестов.


Серии тестов и их результаты
Мы разработали и провели серию тестов, чтобы изучить, как различные функции JavaScript краулятся и индексируются «гуглботом». Несколько интересных результатов, которых нам удалось достичь, описаны ниже. Мы разделили их на пять категорий:
  • Редиректы JavaScript
  • JavaScript-ссылки
  • Динамическая подгрузка контента (Dynamically Inserted Content)
  • Динамическая загрузка мета-данных и элементов страницы
  • Пример с rel=“nofollow”
Оффтоп:

1. JavaScript-редиректы
Сначала мы тестировали обычные JavaScript-редиректы, где URL был представлен различными способами. Выбранный нами метод — функция window.location. Мы провели два теста: тест А включал абсолютный URL, тест Б — относительный.
Результаты: Google быстро отследил результаты. Их распознали по схеме переадресации 301 — конечные URL заменили в индексе URL, с которых шли редиректы.
В последующем тесте мы задействовали оригинальную страницу и включили JavaScript-редирект на новую страницу на сайте, с точно таким же контентом. Оригинальный URL находился на первой странице выдачи по популярным запросам.
Результаты: Как и ожидалось, редирект отслеживался Google и оригинальная страница выпала из индекса. Новый URL был проиндексирован и тотчас же занял такую же позицию по тем же запросам. Это нас удивило, возможно, это означает, что иногда JavaScript-редиректы могут вести себя точно так же, как обычный 301 редирект с точки зрения поисковика.
В следующий раз, когда ваш клиент захочет внедрить JavaScript-редиректы для продвижения сайта, ваш ответ не обязательно должен звучать как «Пожалуйста, не надо!». Оказывается, это тоже может влиять на ранжирование. Это подтверждает и цитата из руководства Google:
«Использование JavaScript для переадресации пользователей вполне может применяться. К примеру, если вы переадресовываете пользователей на внутреннюю страницу, как только они залогинились, вы вполне можете пользоваться для этого JavaScript. Изучая JavaScript и другие методы переадресации, учитывайте, что 301 редирект лучше всего влияет на позиции вашего сайта, но вполне можно использовать и JavaScript для этой цели (к примеру, если у вас нет доступа к серверу вашего сайта)».

2. JavaScript-ссылки
Мы протестировали различные типы JavaScript-ссылок, написанные по-разному.
Оффтоп:
К примеру, ссылки выпадающего меню. Исторически поисковые машины неспособны отслеживать такие типы ссылок постоянно.
Результаты: Ссылки полностью краулились и отслеживались.
Мы также тестировали стандартные JavaScript-ссылки. Это — наиболее распространенные типы таких ссылок, которые SEO-специалисты обычно просят менять на простой текст. Они включали:
  • Функции за пределами href AVP, но в рамках тега (“onClick”)
  • Функции внутри href AVP (“javascript:window.location”)
  • Функции за пределами a, но вызываемые в пределах href AVP (“javascript:openlink()”) и так далее.
Результаты: Ссылки полностью краулились и отслеживались.
Наш следующий тест должен был проверить, как работают обработчики событий вроде тех, которые реагируют на движения мыши. Мы намеревались спрятать URL за переменными, которые выполняются только, когда задействуется обработчик событий (например, onMouseDown и onMouseOut).
Результаты: Ссылки полностью краулились и отслеживались.
Составные ссылки: мы знали, что Google может выполнять JavaScript, но хотели подтвердить, что он может читать и переменные внутри кода. В этом тесте мы составили последовательность символов, из которых создавался URL once it was constructed.
Результаты: Ссылки полностью краулились и отслеживались.

3. Динамически подгружаемый контент
Качественный контент очень важен для поисковика, и в нашу эру динамических веб-сайтов SEO-специалисту жизненно необходимо в этом разбираться. Следующие тесты были разработаны с тем, чтобы проверить обработку поисковиком динамического контента в двух различных ситуациях:
  1. Проверить возможность поисковика принимать во внимание динамический текст, если текст находится в HTML страницы.
  2. Проверить способность поисковика принимать во внимание динамический текст, если он расположен вне HTML страницы (во внешнем JavaScript-файле).
Результаты: в обоих случаях текст краулился и индексировался, а страница росла в выдаче благодаря контенту. Что и требовалось!
Более того, мы протестировали навигацию клиента, которая написана на JavaScript, со всеми ссылками в функции document.writeIn, и подтвердили, что они также индексируются. Теперь понятнее, как сайты, созданные с использованием фреймворка AngularJS и HTML5 History API (pushState) индексируются Google и ранжируются не хуже обычных статических HTML-страниц.
Вот почему важно не блокировать гуглботу доступ к внешним файлам и JavaScript-ассетам, а также объясняет, почему Google постепенно уходит от AJAX в своих рекомендациях SEO. Кому нужны HTML-слепки, если можно просто рендерить целую страницу?
Наши тесты показали подобные результаты для разных типов контента.

4. Динамически подгружаемые мета-данные и элементы страницы
Мы динамически внедрили в DOM различные теги, важные для SEO:
  • Элементы title
  • Мета-описания
  • Мета-теги robots
  • Теги canonical
Результаты: Во всех случаях теги краулились, точно так же, как HTML-элементы в исходном коде.
Мы также обратили внимание на то, что происходит, когда гуглбот считывает противоречащие сигналы. Например, если таковые есть в исходном коде и в DOM? Вопрос еще требует последующего исследования, но предварительно тесты показали, что Google может не обратить внимания на тег в исходном коде и предпочесть ему тег в DOM.

5. Важный пример с rel=“nofollow”
Мы хотели проверить, как Google отреагирует на атрибут nofollow на уровне ссылок, помещенный в исходный код по сравнению с ним же, помещенном в DOM. Мы также создали контрольную страницу вообще без nofollow.
Оффтоп:
Nofollow в исходном коде сработал как и ожидалось (поисковая система не переходила по ссылкам). Nofollow в DOM не сработал (поисковый бот перешел по ссылке и страница была проиндексирована). Почему так случилось? Потому что модификация href-элемента в DOM произошла слишком поздно: Google уже прошел по ссылке и отметил URL, прежде чем была выполнена функция JavaScript, которая добавляет тег rel=“nofollow”. Однако, если целый элемент a href с тегом nofollow поместить в DOM, поисковый бот не пройдет по ссылке.

Выводы
Исторически рекомендации SEO всегда фокусировались на контенте а-ля простой текст, где только это возможно. Динамически генерируемый контент, AJAX и JavaScript-ссылки всегда рассматривались, как неполезные с точки зрения поисковой выдачи. Но в случае Google эта закономерность больше не работает.

Источник: http://ain.ua/2015/05/13/579922
OS_ZP_UA, cthulchu и Detecd: сообщение полезно


Alex Life Mix – путешествия
Часто задаваемые вопросы форума по SEO и близкой тематике - SEO FAQ
Alex LM вне форума  
Сказавших "Спасибо!": 6 (показать список)
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 02.06.2015, 12:41   #2
 
Аватар для terranodar
 
Сообщений: 410
FR (активность): 14,157

Доп. информация
По умолчанию

Интересненько. Что получается? Закрывать ссылки через JavaScript бессмысленно? Например, хотя бы для того, чтобы избавиться от ненужных дублей внутренних ссылок.

Или всё-таки GBot просто "караулит и отслеживает" сам факт того, что одна страница ссылается на другую, даже если ссылка закрыта внутри JS, но при этом всё-таки не считает количество конкретных ссылок?

Иными словами вот пример. Ссылки страницы
  1. /
  2. / (закрыто JS)
  3. / (закрыто JS)
  4. /buy
  5. /buy (закрыто JS)
  6. /external1 (закрыто JS)
  7. /external2
  8. /external2 (закрыто JS)
Я так понял, что в статье утверждается, мол Гугл найдёт все ссылки. Понятно. А вот что по их количеству. Он будет знать, что на главную ссылаемся трижды, а на external2 дважды?


Чтобы определить – писать глагол с -тся или -ться, спросите себя, на какой вопрос отвечает этот глагол – "что делать?" или "что делает?". Если в вопросе есть мягкий знак, значит он есть и в глаголе.
terranodar вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 02.06.2015, 19:23   #3
 
Аватар для cthulchu
 
Сообщений: 3,670
FR (активность): 107,432

Доп. информация
По умолчанию

Цитата:
Сообщение от terranodar Посмотреть сообщение
Я так понял, что в статье утверждается, мол Гугл найдёт все ссылки. Понятно. А вот что по их количеству. Он будет знать, что на главную ссылаемся трижды, а на external2 дважды?
ну да, будет, конечно.

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

У меня сейчас забавный клиент: у них в штате одинадцать джаваскриптистов (почему-то) и ни одного бекендщика нормального. Они сделали сайт с ноля на джанге, но какие-то части сайтов сделали полностью на джаваскрипте. Это ужас... Вы никогда не видели, что в исходнике тайтл пустой, а во вкладке он, как бы, отображается? Они тайтл прям джаваскриптом напрямую во вкладку и запихивают (во вкладку, не в тег тайтла. Тег все еще пустой).

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

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

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

Ну и надо помнить, что гугл постоянно учится. На черных сеошниках, в основном, но учится же. Они тоже много вещей пытаются от него спрятать, вот их он в первую очередь отыскивает и под них решает эти джаваскриптовые задачи. Ну и заодно для всех остальных, конечно. Раньше вопрос интерпретации джаваскрипта упирался в железные ограничения. Но и тогда понятно было, что это очень временное препятствие для такой важной штуки, как JS.
cthulchu вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 02.06.2015, 19:53   #4
 
Аватар для Detecd
 
Сообщений: 778
FR (активность): 12,387

Доп. информация
По умолчанию

Цитата:
Сообщение от cthulchu Посмотреть сообщение
у них в штате одинадцать джаваскриптистов (почему-то)
отстал ты от моды...
Это нынче самый писк - пилять сайты на клиентских компах. Экономия на серверах так сказать...


Цитата:
Сообщение от cthulchu Посмотреть сообщение
Короче, я уверен, что джаваскриптовый интерпретатор гугла все еще рудиментарный
Из эксперимента он довольно качественным описан.
Правда не было теста noindex файлов js-ных. Придется самому проверять, чтобы клиетам не городить, то что не работает.


Цитата:
Сообщение от cthulchu Посмотреть сообщение
Еще же владельцы хитрые - хотят математического доказательства необходимости всего, о чем я их прошу.
Это будет сложный процесс.


Возьму проект на продвижение. Бюджет от 1 000 USD (Google/Яндекс - рунет)
Detecd вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 02.06.2015, 20:27   #5
 
Аватар для cthulchu
 
Сообщений: 3,670
FR (активность): 107,432

Доп. информация
По умолчанию

эххх... Учи таки программирование. Оно очень нужно, чтобы глупости не писать о веб-деве и моде.

дизаллоу для джаваскриптовых файлов будет работать, но это не значит, что гугл не будет их выполнять, как мы уже обсудили здесь. Это значит, что страницы с выполненным джаваскриптом не будут в кеше. А ссылку свою гугл найдет
cthulchu вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 03.06.2015, 09:47   #6
 
Аватар для Detecd
 
Сообщений: 778
FR (активность): 12,387

Доп. информация
По умолчанию

Цитата:
Сообщение от cthulchu Посмотреть сообщение
Учи таки программирование.
У меня на собеседовании каждый второй пхп-шник говорит, что хочет стать JS-истом... Хз как с модой у вас, но у нас это стало трендом. Причем заказчиков вообще нет, зато все кодеры хотят этим заниматься...

Цитата:
Сообщение от cthulchu Посмотреть сообщение
как мы уже обсудили здесь
ЧТо-то я пропустил, кто об этом писал? И что значит дизаллоу, меня интересует ноуиндекс... В эксперименте писалось вскользь, что с ноуиндекс есть вопросы...


Возьму проект на продвижение. Бюджет от 1 000 USD (Google/Яндекс - рунет)
Detecd вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.06.2015, 08:06   #7
 
Аватар для Makc.Plan
 
Сообщений: 833
FR (активность): 12,369

Доп. информация
По умолчанию

Оффтоп:

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

PS. Для SEOшника наиболее подходящие языки программирования - это перл и питон (азы пхпконечно обязательны, но не нужен высокий уровень знаний)
Все же сеошник не разработчик сайтов... а больше пхп нафиг ни для чего не нужен, более менее серьезные скрипты (для сео задач) куда удобней писать на предложенных мной вариантах.


Выше топа не прыгнешь...
Я СеошникЪ и мне это нравится © Николай
Makc.Plan вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.06.2015, 08:59   #8
 
Аватар для cthulchu
 
Сообщений: 3,670
FR (активность): 107,432

Доп. информация
По умолчанию

Цитата:
Сообщение от Makc.Plan Посмотреть сообщение
а больше пхп нафиг ни для чего не нужен
иногда прикольно получается, когда кодеры крабики, а ты такой сеошник сидишь и говоришь им: "тут мне нужно, чтобы было вот так вот"

Они тебе отвечают: "это очень сложно сделать, нам придется весь движок переписывать"

А ты им такой: "ничего подобного, вам всего-то добавить такой-то метод вместо константы"

Они тебе: "это, конечно, хорошо, но алгоритм получится очень сложный"

Ты им: "ничего сложного, вот алгоритм"

Они тебе: "Внедрение такого алгоритма займет пару кварталов"

Ты им: "Я могу это написать за рабочую неделю при том, что я не знаю ваш движок и не работаю программистом. Могу нанять фрилансеров за двести долларов, что сделают это еще быстрее"

Они тебе: "Мы не можем давать доступ к исходнику третьим лицам"

Да, вы правильно заметили, знание языка почти никогда не помогает в решении таких заковыристых задачек (хотя иногда таки получается заставить кодеров жопу поднять (в РФ, кстати, гораздо легче заставить их работать, чем в штатах, ибо в РФ сделают работу ОЧЕНЬ быстро, так как в штатах уровень программеров ниже, а стоят они гораздо дороже)).

НО! НО! Какое впечатление это производит на заказчика Да и кодеры с уважением начинают относиться к контрагентам, когда видят, что оные контрагенты понимают, о чем пишут и могут отвечать на сугубо технические, даже математические вопросы.

Ребят, по моему, SEO становится прям на порядок интересней, когда вы можете сами решить любую задачу, которую ставите перед кодерами. Это море фана. Но, конечно, это необязательно. Просто позволяет получать больше удовольствия от работы. Но вы правы. Важней бабло. Это я все еще ради фана работаю. Пора взрослеть.
cthulchu вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.06.2015, 09:20   #9
 
Аватар для Makc.Plan
 
Сообщений: 833
FR (активность): 12,369

Доп. информация
По умолчанию

Оффтоп:
@cthulchu,тут с тобой согласен, благо у меня техническое образование, алгоритм могу накидать, принципы ООП понимаю, примерные возможности php тоже, но что-то править у меня займет очень много времени, пока найду где и что еще и синтаксис, что бы все это дело оптимизировано было, еще разные плюшки)) поэтому ставлю задания кодерам, вернее ТЗ, зачастую с алгоритмом - у них знаний куда больше... )

PS. фрилансом не пользуюсь, есть уже проверенные ребята... А вот если разраб клиента - то да, это иногда бедааа...

PS2. Тратить время на более детальное изучение php пока не могу, но обязательно буду его изучать постепенно. Пока углубляюсь в питон, он более интересен для меня...


Выше топа не прыгнешь...
Я СеошникЪ и мне это нравится © Николай
Makc.Plan вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
cthulchu (04.06.2015)
Ответ

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript ссылки теперь сканируются Google и передают PageRank и Anchor Black-Cat Google 2 13.08.2011 16:39
Индексация ссылок с JavaScript в Google. Эксперименты. Jokeron Google 2 01.04.2011 13:59
google не индексирует сайт Anaksagor Google 16 28.10.2009 18:00
Google не индексирует контент Digard Google 0 16.06.2009 02:01
Google, AdSense и JavaScript komyak Раскрутка в общих чертах 0 08.03.2009 14:20

Текущее время: 09:25. Часовой пояс GMT +3.