Переливающиеся ссылки с помощью JavaScript


Содержание

One more step

Please complete the security check to access codepen.io

Why do I have to complete a CAPTCHA?

Completing the CAPTCHA proves you are a human and gives you temporary access to the web property.

What can I do to prevent this in the future?

If you are on a personal connection, like at home, you can run an anti-virus scan on your device to make sure it is not infected with malware.

If you are at an office or shared network, you can ask the network administrator to run a scan across the network looking for misconfigured or infected devices.

Another way to prevent getting this page in the future is to use Privacy Pass. You may need to download version 2.0 now from the Chrome Web Store.

Cloudflare Ray ID: 53466afe0c01908d • Your IP : 188.64.174.135 • Performance & security by Cloudflare

Техническая поддержка сервиса Quadro.Boards

Меню навигации

Пользовательские ссылки

Объявление

Новости сервиса

О форуме

Полезные ссылки

Информация о пользователе

Переливающиеся ссылки

Сообщений 1 страница 13 из 13

Поделиться122.04.2008 19:35:40

irony.

  • Зарегистрирован: 11.04.2008
  • Сообщений: 44
  • Уважение: +14
  • Позитив: 0
  • Пол: Мужской
  • Возраст: 28 [1991-04-01]
  • Последний визит:
    29.06.2008 04:22:25
  • Переливающиеся ссылки:

    Ставим в хтмл верх

    Теги: Скрипты и дополнения, Картинки и текст

    Поделиться221.02.2010 12:30:20

    • Автор: «Сердца трёх»
    • Зарегистрирован: 20.02.2010
    • Сообщений: 27
    • Уважение: 0
    • Позитив: +4
    • Последний визит:
      04.09.2011 16:14:42

    irony., а что оно даёт?

    Поделиться325.02.2010 14:49:00

    • Автор: Paranoia Doll
    • Зарегистрирован: 17.01.2009
    • Сообщений: 1108
    • Уважение: +170
    • Позитив: +76
    • Пол: Женский
    • Возраст: 26 [1993-07-22]
    • Последний визит:
      04.09.2013 19:17:23

    «Сердца трёх»
    Красивое мерцание ссылок при наведении на них мышкой.

    Поделиться425.02.2010 15:21:55

    • Автор: GsomZoom
    • Зарегистрирован: 03.10.2009
    • Сообщений: 572
    • Уважение: +13
    • Позитив: +3
    • Предупреждения: ‡ x2
    • Последний визит:
      25.09.2014 20:47:25

    Paranoia Doll
    т.е. например на надпись чтобы перейти в какой то форум? а мигает каждая буква или всё слово?

    Поделиться525.02.2010 15:40:05

    • Автор: Paranoia Doll
    • Зарегистрирован: 17.01.2009
    • Сообщений: 1108
    • Уважение: +170
    • Позитив: +76
    • Пол: Женский
    • Возраст: 26 [1993-07-22]
    • Последний визит:
      04.09.2013 19:17:23

    %password%
    Всё слово.
    А в чём вообще проблема поставить скрипт на форум и посмотреть что получится?

    Поделиться625.02.2010 15:44:50

    • Автор: GsomZoom
    • Зарегистрирован: 03.10.2009
    • Сообщений: 572
    • Уважение: +13
    • Позитив: +3
    • Предупреждения: ‡ x2
    • Последний визит:
      25.09.2014 20:47:25

    Paranoia Doll
    та и так много скриптов на форум наставил, вот хочу посмотреть какой работает а какой нет, а то наставлю всяких глюченых и потом не разберёшься )
    спасибо

    Эффект плавного перелистывания на javascript.

    Всем привет! В этой статье мы рассмотрим, как сделать плавную анимацию перелистывания страницы на javascript.

    Чтобы анимировать пролистывание страницы или какой-нибудь другой элемент, мы будем использовать Force.js.

    Force.js – это простой способ анимировать скроллинг или другой элемент на странице.

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

    Force.js поддерживает даже настолько старые браузеры, которые не поддерживают свойство transition.

    Использование

    Чтобы начать использовать библиотеку, скачайте ее на официальном сайте и подключите:

    Для скачивания вы можете использовать Bower:

    bower install force-js

    JQuery

    Force.js полностью написан на чистом javascript, но для тех, кто хочет, библиотека может быть использована совместно с JQuery.

    Итак, как же сделать плавный переход по странице? На самом деле, очень просто. Для этого есть функция force.jump().

    var element = document.getElementById(‘element-id’);

    // перепрыгнуть к объекту
    force.jump(element);

    // перепрыгнуть к селектору
    force.jump(‘#element-id’);

    Помимо этого в библиотеке также есть функция force.move().

    var element = document.getElementBy(‘element-id’);

    // перепрыгнуть к объекту
    force.move(element, , 1000);

    // перепрыгнуть к селектору
    force.move(‘#element-id’, , 1000);

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

    Таким образом, подключением всего одной библиотеки мы можем добавить к нашему сайту очень интересный эффект. Если вы хотите узнать больше про разные библиотеки, jquery и интеграцию плагинов, советую обратить внимание на мой курс JavaScript, jQuery и Ajax с Нуля до Гуру.

    Спасибо за внимание!

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 1 ):

    Полезный инструмент спасибо.

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2020 Русаков Михаил Юрьевич. Все права защищены.

    Скрытие ссылок с помощью AJAX и JS

    Автор статьи: Сергей Юрков.

    Руководитель отдела SEO в «Пиксель Плюс».

    • SEO-аналитика проектов и алгоритмов ранжирования поисковых систем
    • составления регламентов для сотрудников отдела
    • повышение квалификации специалистов

    Опыт в сфере: более 6 лет. Докладчик ряда крупнейших отраслевых конференций.

    При продвижении проектов SEO-специалист часто сталкивается с ситуациями, когда на страницах сайта присутствует контент, который может быть полезен для пользователей, но, при этом, его требуется скрыть от индексации в поисковых системах Яндекс и Google.

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

    Рис. 1. Пример сквозного дублирования текста на сайте.

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

    Рис. 2. Пример внешних исходящих ссылок с документа на внешние сайты и внутренние страницы, которые лучше скрыть от индексации.

    Умеют ли поисковые роботы индексировать контент и ссылки, скрытые с помощью JavaScript и AJAX?

    По словам Джона Мюллера, в ходе недавней беседы с вебмастерами, JavaScript и AJAX не помогут скрыть ссылки и контент от поисковых роботов. По словам специалиста, Google научился индексировать страницы с AJAX и JavaScript, так что скрыть ссылки или контент с помощью этих технологий не получится. Но и гарантировать индексацию страниц с JS и AJAX Google не может.

    Подробней про данное заявление можно прочитать в новости на SEOnews.ru.

    Гипотеза

    Перед аналитиками компании «Пиксель Плюс» встала задача экспериментальным путем проверить, действительно ли поисковые роботы Google и Яндекса могут интерпретировать ссылки, скрытые через в JavaScript и AJAX?

    Ход эксперимента

    В рамках проведения эксперимента были реализованы следующие шаги:

    На двух разных документах были созданы группы ссылок. Одна из групп ссылок была скрыта через различные варианты JS, а вторая группа — посредством технологии AJAX.

    Рис. 3. Иллюстрация страниц с экспериментом.

    Анкоры ссылок состояли из слов, которые в такой же последовательности и точной форме не встречаются в тексте документа-акцептора.

    При этом, отдельные слова из запроса должны были присутствовать в документе для того, чтобы документы прошли аналог «яндексовского» кворума в Google по ссылочному ранжированию.

    Сами скрипты и подгружаемые ссылки были закрыты от индексации в файле robots.txt.

    Далее следовало ожидание переиндексации документов в Google и Яндекс.

    Результаты эксперимента: варианты JS

    После переиндексации экспериментальных документов и на основании изучения текстовой версии сохраненных копий документов в Яндексе и Google, был сделан вывод о том, какие варианты скрытия ссылок поисковые системы не смогли распознать.

    Как фрагмент видит пользователь?

    Рис. 4. Отображение фрагмента документа у пользователя в браузере.

    Как выглядит исходный код?

    Рис. 5. Содержание исходного кода.

    Как видит Яндекс?

    Рис. 6. Сохраненная копия в Яндексе.

    Как видит Google?

    Рис. 7. Сохраненная копия в Google.

    Яндекс и Google распознали в данном блоке ссылки только в 2 из 5 случаев, когда в коде в явном виде был указан URL акцептора. В остальных случаях поисковые системы интерпретировали данные блоки как обычный текст.

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

    В качестве дополнительной проверки эффективности методики произведем поиск указанных в эксперименте текстов ссылок в анкор-листе акцепторов используя оператор расширенного поиска Google — allinanchor.

    Рис. 8. Проверка наличия текстов ссылок в анкор-листе акцепторов.

    Как можно видеть, в анкор-листе страниц акцепторов также отсутствуют тексты анализируемых ссылок.

    Результаты эксперимента: AJAX

    Результат проверки при скрытии посредством технологии AJAX показал, что не в одном из 5 случаев не Яндекс, ни Google не смогли распознать в данном контенте ссылок.

    Как фрагмент видит пользователь?

    Рис. 9. Отображение фрагмента документа у пользователя в браузере.

    Как выглядит исходный код?

    Рис. 10. Содержание исходного кода.

    Как видит Яндекс?

    Рис. 11. Сохраненная копия в Яндексе.

    Как видит Google?

    Рис. 12. Сохраненная копия в Google.

    Видно, что Яндекс и Google воспринимают данный контент как обычный текст и не интерпретирует его как блок ссылок. Дополнительно произведем поисков текстов ссылок в анкор-листе страниц акцепторов с помощью оператора «allinanchor».

    Рис. 13. Проверка наличия текстов ссылок в анкор-листе акцепторов.

    В анкор-листе страниц акцепторов фразы из текстов ссылок не были найдены. Это является дополнительным подтверждением того, что поисковые системы не смогли проиндексировать ссылки, скрытые посредством AJAX.

    Выводы

    По итогам экспериментов, проведенных аналитиками «Пиксель Плюс», можно сделать выводы о том, что поисковые системы Яндекс и Google не смогли интерпретировать ссылки, закрытые в сложный JavaScript и AJAX. Данные наблюдения подтверждают дальнейшую целесообразность использования скриптов и AJAX для нужд поискового продвижения (SEO).

    Переход на другую страницу с помощью JavaScript

    Перейти на нужную страницу можно с помощью JavaScript

    или так, чтобы в истории браузера не осталась запись о текущей странице

    JS можно вставить в href ссылки

    или вынести в функцию

    в общем-то, перейти на какую-то страницу можно по ссылке и без js, но если мы делаем переход по условию, то используем javascript

    в head страницы добавляем функцию

    Комментарии

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

    Форум

    Справочник

    Поиск по форуму
    Расширенный поиск
    К странице.

    Почему — плохо

    Сейчас общеизвестно, что не следует использовать псевдо-протокол javascript: , т.е писать:

    Почему это плохо, и какие аналоги следует использовать?

    Причина 1. Идеологическая причина

    Псевдо-протокол javascript: давно устарел. Он поддерживается браузерами, но не описывается в веб-стандартах.

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

    Причина 2. Отсутствие деградации

    Если это возможно, лучше сделать такой вариант:

    Те посетители, у которых javascript отключен, пройдут по ссылке на /openComment.php? >

    Поисковики тоже проиндексируют /openCommend.php? >

    Если ничего подобного такой страничке сделать нельзя, например, ссылка должна запускать AJAX-запрос, то не надо писать:

    При нажатии на такую ссылку с отключенным javascript, человека кинет на начало страницы. Не есть гуд. Но какой-то href должен быть. Поэтому лучше сделать так:

    Страница /nojs.html может, например, содержать просьбу включить javascript.

    Причина 3. Недостатки интеграции

    Свойством onclick гораздо удобнее управлять из javascript. Оно задает обработчик события. Можно делать несколько обработчиков, назначить функцию а не строку как в href , и т.п.

    А псевдо-протокол javascript: — не событие. Он выпадает из общей схемы и потому неудобен.

    P.S Строго говоря, и onclick внутри HTML не следует указывать. Отдельно должны идти разметка и javascript-код. Но иногда onclick — это удобно, так почему же нет..

    Причина 4. Отрицательное юзабилити

    Очень часто используют скрипт в ссылке, когда по клику нужно открыть картинку или описание продукта.

    Так вот многие открывают эту ссылку в новой вкладке браузера и получают в адресе страницы «javascript:showPopup(27);», а не то, что они хотели увидеть.

    Позитивное применение?

    Если все же хочется, чтобы по клику на ссылку у посетителя с отключенным javascript ничего не произошло:

    Может ли это быть полезно в реальной жизни?

    Сам не использую, но другого способа сделать ссылку нерабочей для посетителей без JS не знаю.

    принципиально отличается от

    для пользователя с отключенным JavaScript? В чем позитивное применение?

    1. javascript:void() — сразу понятен смысл кода, в отличие от javascript:blablabla()
    2. Можно бы короче, типа , но например в Firefox такая ссылка открывает окно ошибок JS

    Позитивное применение — в том, что такой href при отключенном js просто ничего не делает. И при этом не кидает кликнувшего на начало страницы как .

    А вот так если: «javascript://»?

    Лучше всего asdfasdf
    И ничего не произойдет никуда не кинет и сработает только при включенном JS

    a href=»#» — есть ложная ссылка, чтобы поставить «иллюминацию» на текст

    Можно пользоваться и такими способами: print();

    Илон Маск рекомендует:  Атрибут truespeed в HTML

    в отличии от #blabla
    удобно тем что в строке статуса видно не http://. полный путь страницы. #blabla ,а короткая надпись javascript:blablabla
    это одно из применений если ссылки js сам и создает

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

    а мне вот нафиг не нужно чтоб кто то там.. ковырялсяразбирался/читал в моем коде! где и что лежит, и как все устроено, это мое дело и я сам знаю где что! Главное, работает.. вот и хорошо!

    идиот. тогда и шаблоны проектирования не нужны. и спагетти код тогда по вашему рулит.

    правильно писать:
    javascript:void()

    прочёл. нечего не понял. в чём отличия.

    пойду ещё раз прочитаю.

    Объясните зеленому, если javascript отключен, то по ссылке нужно перейти на другую страницу, а если включен то должен запуститься «AJAX» запрос и подгрузиться новые данные.
    Как лучше это реализовывать?

    Ты статью то прочитал? Там же есть пример —

    В href помещаешь ссылку на страницу при выключенном javascript, а в onclick — функцию, вызывающую твой запрос.

    я иногда пишу пишу href=»javascript:;»

    href=»javascript:;»
    а теперь запусти сие чудо на ИЕ7

    ну я практически всегда пишу так, и работает везде, ну по крайней мере у меня во всех браузерах.

    Если я ничего не путаю, . в IE все равно вызывает артефакты, связанные с переходом в состояние «ожидание загрузки» — в частности, убивает gif-анимацию, динамические эффекты с картинками (ролловеры) и т.п. На Винграде была пара тем, где народ реально наступал на эти грабли. Так что я бы не советовал так делать нерабочие без JS ссылки, уж лучше, имхо, что-то вроде

    Либо навешивать href-ы динамически по загрузке DOM-а.

    А для примера осмысленного применения javascript:-протокола (помимо букмарклетов), я бы скорее привел это.

    Науверняка многим будет интересно узнать больше о Букмарклетах, я собрал ссылки наиболее содержательные по этой теме:

    спасибо помогло избавиться от #

    А если не писать вообще href=»», а просто

    Если не писать аттрибут href тогда
    1) тег а будет не валидным
    2) он не будет отображатсья как ссылка, а просто как тектсовый элемент и не будет изменен курсор

    Если прописать в css чтобы менялся курсор и цвет то будет

    насколько я помню, в ие 6,7 hover работает только на ссылках, в которых обязательно должно быть href

    Если вы не хотите, что бы без яваскрипта человек куда-то шёл, зачем использовать

    Если яваскрипт включен — при клике событие и на диве пройдёт, если нет — у нас не будет ссылки, а будет див, оформленный под ссылку. На мой взгляд, наиболее логичный вариант

    предыдущий пост мой, тут исправленая версия

    PS. сорри предыдущий мой пост некорректно получился.

    Если в ссылке нет урла, то поисковикам на эту ссылку насрать, они ее игнорируют, либо изъясняйтесь правильно, либо не пудрите людям мозг

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

    А вообще нет ссылки, нет проблемы.

    Нет сайта — нет проблемы, имхо)

    Но без этого протокола иногда обойтись довольно трудно. Как, например, мне из дельфы заставить TWebBrowser выполнить некий яваскрипт без Navigate(‘javascript. ‘)? Если знаете лучшие варианты, поделитесь, пожалуйста.

    Точно-точно! Особенно если надо, чтобы на странице что-то происходило при событиях, происходящих в программе, а не на странице! Рано хоронят эту технологию… Впрочем, как и многие другие!

    To rem lex:
    И чем же же плох href=»javascript:;»? У меня IE7, всё нормально. Просто нерабочая ссылка. Может у Вас какие-то апдейты не установлены?

    Попробуем:)
    Понятно, зачем в последней инструкции нужен оператор void?

    А, поскольку псевдопротокол относится к объекту location, то и this будет ссылаться на window. Очень удобно, не так ли? )

    this всегда ссылается на window, если не задан принудительно.

    угу, похоже что если необходимо использовать именно А, удобнее всего создавать дополнительно рядом якорь, пасибо за идею

    Якоря никогда не устареют
    Как и , .

    У кого усторела, а у кого нормально и стабильно работает.
    Автору запретить использовать псевдо протокол и наме, всем остальным халява)

    А что Вам мешает использовать такой вариант?

    а в бекенде сделать такой же обработчик:

    Мне кажется, это наиболее правильный из все вариантов.
    При таком использовании достигается максимум разделения и максимум валидности.
    1) HTML содержит только HTML
    2) JS линкуется отдельно в и возможно в или что-либо на ваше усмотрение, что будет его запускать. В результате мы получаем практически отсутствующий inline-js.
    3) Таким же образом делается и CSS.
    4) Бекенд часть с радостью сделает ряд функций, за Вас позволяя не использовать подобные «загрязняющие» конструкции в Вашем Html:
    document.write. etc

    Мне кажется, подобный подход наиболее облегчает жизнь при web-разработке.

    .
    2) JS линкуется отдельно в » » и возможно в или .
    .
    4) .

    2) JS линкуется отдельно в » » и возможно в » » или .

    Дак я что то не понял..
    если javascript: это плохо..
    почему тогда хорошо использовать? javascript:void(0) ?
    и почему он работает при отключённом js ?

    По-моему самый лучший варинат.
    a href=»/reg.php» onclick=»Reg(); return false;»Зарегистрироваться/a

    Что всё таки сие значит в теории? Код взят с nigma.ru . Здесь упоминали о такой форме — с слэшами но так и не обьяснили различия между вариантами.

    a href=»javascript://» onclick=»reset_all(0); return false;»>сбросить

    Не используйте onclick — в больших проектах это может привести к каше. Существуют евенты. Они были созданы специально для этих целей. Используйте void(0) и забейте на пользователей, у которых отключен JS. Поверьте, если сайт ваш интересный, вы ничего не потеряете.

    Илья, думаю что стоит добавить об этом в статью

    Есть еще один (вроде, еще не описанный выше) минус ссылок с протоколом javascript: — на некоторых сайтах нет никакого визульного различия между ссылками обычными и «яваскриптовыми» (хотя уже и принято последние подчеркивать пунктирно). И иногда хочется, чтобы не потерять данные формы, открыть ссылку в новом окне. Новое окно открывается на ура, но с урлом типа «javascript:doSomethingGood();void(0)», и, естественно, ничего полезного не происходит, потому что в новом окне-то эта функция не определена.

    Какой смысле использовать ссылку не используя при этом ее атрибут href. Если нужно какое-то действие скриптовое выполнить, то намного логичнее его привязать к тегу button или span, оформив их при помощи стилей подчеркиванием или чем-то типа этого.
    На самом деле использование javascsript в href имеет еще один отрицательный момент (я не заметил, чтобы его указали здесь). Очень часто используют скрипт в ссылке, когда по клику нужно открыть картинку или описание продукта. Так вот многие открывают эту ссылку в новой вкладке браузера и получают в адресе страницы «javascript:showPopup(27);», а не то, что они хотели увидеть.
    Проверка на работу javascript — это вообще весьма странная вещь. На большинстве сайтов, например, такие пользователи никогда не смогут попасть в подменю. Осуществлять иную навигацию. В общем это сродни проверки на «отключение монитора».

    А про flash. Там вообще fscommand есть и целый интерфейс для работы со страницей.

    зачем пишется return false; в onclick?

    Как по мне лучше так:

    «#send_message» лучше писать чем «#» с двух причин:
    1. пользователь может увидеть в статусе ету подсказку и лучше понять что делает ета кнопка
    2. при ошыбке браузер не кинет в верх страницы

    Не знаю, говорилось ли здесь, я не заметил. Еще одна причина, чтобы так делать — это скрытие от показа на window.status текста ссылки, потому что они бывают очень неприглядными, как в моем случае, когда сами ссылки генерируются скриптом и имеют много разных параметров.

    Привет всем!
    У меня тут затык с использованием link
    в ИЕ7 а именно тогда когда страничка загруженна по протоколу https://

    Вобшем при клике вылазит ошибка.
    Может кто подскажет что же юзать. # не предлагать

    Всем спасибочки заранее.

    А как привязать событие к действию пользователя, когда он нажимает на ссылке правую кнопку мыши и выбирает «открыть в новой вкладке»?

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

    набирая в адресной строке javascript: . удобно переопределять исследуемые функции «на лету», вносить туда отладочный код или менять на свое усмотрение, проблемой для этого можеть быть сам броузер, chrome, например следит за длинной кода в строке и отправляет в поиск если что.

    Да. много копий сломали!
    А ведь можно просто:

    Пустой href перезагружает страницу, тащемта.

    С андроида это все возможно делать?
    На одном сайте видел как такую ссылку писал Аднин, но она у него не получилась) остался только текст.
    Захотелось научиться самому

    А стоит ли заботиться о пользователях, у которых отключен JS?

    Привет!! у меня куда -то исчезла возможность включить/отключить javascript в файерфоксе. Раньше нажимала настройки- настройки и тут можно было поставить или убрать галочку. сейчас этого нет когда захожу в настройки. Что делать пожалуйста скажите?

    Убрали эту возможност в firefox.
    Сделать можно через about:config, а вам это надо?

    Единственно правильным тут одно — запретить возможность отключать JavaScript во всех браузерах. Ведь это означает то, что пользователь сознательно хочет разрушить всю его функциональность и при этот на кого-то жалуется. Многие сайты построены на JavaScript наполняются ими и функционирую именно благодаря JavaScript. Поэтому отключение JavaScript всё равно что отключение интернета или браузера. И если включен браузер и включен интернет. то и JavaScript должен быть включен. Вы же не отключаете CSS, не так ли? Не отключаете Ajax хотя он работает через JavaScript. ) И поему вообще тогда такой вопрос ставится непонятно? А что принято, то принято идиотами! Функция же href=’javascript:some_function’ прекрасно работает и почему ей не пользоваться только кто-то чего-то там сказал так же непонятно! Особенно если вы уже понавставляли кругом ссылок. Хотите переделайте на кнопки. Только это уже идиотизм, зачем ломать то, что и так хорошо работает? Однако учтите, что в кнопках тоже ссылки на функции, которые также на том же JavaScript. Это неотьемлеая часть сайта, если он конечно не совсем примитивный

    Что ты такое говоришь.
    Java Script у клиентов, а если нужно обратится на серверной стороне к другому сайту. На сервере js не работает. Такие ситуации тоже относятся к тем кто хочет разрушить функционал js.
    Все поисковики именно так и работают, когда индексируют сайты. Они обращаются к сайту и им нафиг не нужен js, так же как и css.

    Почему не стоит использовать?
    Ну вот напишешь ты href=’javascript:some_function. Ну проиндексирует поисковик твой сайт. Увидит кучу ссылок на несуществующие страницы, ну и будет твой сайт на последней странице поисковика сидеть, какой бы он красивый не был.

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

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

    здорово. Будем читать дальше

    Пользователи, у которых нет в браузерах JS, а также сидящие на IE7- отправляются прямиком в геенну огненную. (вроде в писании так было сказано ).
    По сабжу, имхо лучше делать отдельный див с предупреждением, вверху страницы, видимый только если у пользователя браузер без js, либо ИЕ7. Потому что на таких динозаврах будут ОДНОЗНАЧНО глючить не только ссылки. И под каждую ошибку писать свою страницу с показом ошибки, это, ну скажем, глупо.

    Отличные изыскания, спасибо.

    Не смотря на все недостатки иногда приходится использовать такой подход :-(

    стремно тут у вас. воняет неебацо. одни сука вонючки

    Я рад, что этот пост очень полезен для меня, так как он содержит много информации. Я всегда предпочитаю читать качественный контент и эту вещь. happy wheels

    URL.js или дружим JavaScript с обработкой ссылок

    Доброго времени суток, уважаемые хабравчане!

    Возникла передо мной сегодня задача генерации GET-параметров и всего URL в целом, на стороне клиента, прям вот щас, без возможности «поговорить» с сервером. Сразу оговорюсь, про этот пост я узнал вот прям перед написанием данной статьи ибо сначала закончил писать, а потом уже прибег к поиску, да и пост тот — не со всем про то же самое, что у меня.

    Задача и проблемы

    Проблемы — те же что и в посте, который я привел выше:

    • Невозможность использовать window.location для «приготовления» URL;
    • Нельзя работать сразу с несколькими window.location в силу политики безопасности браузеров;
    • Отсутствие известных готовых решений ( да и сейчас, уже апосля, я не нашел подобного кода )

    Задачи которые я поставил перед собой:

    • Удобный синтаксис
    • Возможность как читать части URL так и изменять их
    • Работа с GET-параметрами
    • Кроссбраузерность и универсальность

    Писал я на чистейшем JavaScript, причем без использования prototype.__defineGetter__ или prototype.__defineSetter__ в угоду кроссбраузерности ибо IE Код конструктора

    Подробнее
    • Как я уже говорил — необходима универсальность. Т.е. возможность как работать с неполными урлами, так и вообще создавать оные с нуля, а поэтому мы можем как передать исходный URL в конструктор, передать туда хэш с нужными нам, соответствующими параметрами или же вовсе, не передавать ничего.
    • Все параметры урла хранятся в хэше ( в JS это просто объект с параметрами ), связано это с getters/setters о которых чуточку позже. Именованы они в стиле parse_url() из PHP, мне так просто удобнее.

    Парсинг

    Надо парсить уже имеющийся URL, делать мы это будем при помощи RegExp . Нет, можно конечно все обрабатывать при помощи str.split() , но это, как мне кажется — особый вид фетишизма.

    • (?:([a-z0-9_\-\.]+):\/\/)* — SCHEME, если верить википедии, то схема имеет вид ххх:// причем, там могут быть и — и _ . В угоду универсальности, установлен * т.е. схема может быть и не указана.
    • (?:([a-z0-9_\-\.]+)(?:\:)*([a-z0-9_\-\.]+)*\@)* — USER:PASSWORD, пароля без юзернейма не бывает, а юзернейм без пароля бывает.
    • ([a-z0-9][a-z0-9_\-\.]+) — HOST, насколько я знаю, начинаться доменное имя может только с буквы/цифры, а дальше уже могут идти и — и _ и. Более того, не бывает доменных имен короче 6 символов, но ведь ссылки то бывают и внутрисетевые, где хостнеймами как хочешь так и рулишь, та что сойдет и 1+ символ.
    • (?:\:([\d]+))* — PORT, данный параметр опционален,: а далее цифры
    • (?:\/([^?#]*))* — PATH, путь до файла, в общем-то, по-идее, это любое количество любых символов, но, отсечем? и # дабы не спарсить в путь GET-параметры или фрагментарный указатель. Путь может быть и неуказан.
    • (?:\?([^?#]*))* — QUERY, набор GET-параметров, пар ключ=значение. Так же может быть и не указан.
    • (?:\#([^?#]*))* — FRAGMENT, фрагментарный указатель. Если кто не знает — то /index.html#fragment дает команду браузеру проскроллить к DOM-элементу с

    Работать, ясное дело, будет на всех языках, понимающих RegExp. Пользуйтесь, не стесняйтесь.

    Тут ничего ничего сложного: разбиение по указанному выше regExp и сохранение данных в хеш this.data
    Разве что, я упоминал ранее — необходима удобная работа с GET-параметрами урла, а посему разбиваем query при помощи split ( split() в данном случае «дешевле» чем regExp ) и сохраняем это в тот же пресловутый хэш. Стоит отметить использование decodeURIComponent, ведь GET-параметры могут быть urlencoded.

    Илон Маск рекомендует:  Добавление картинок

    Вариант 1. «По красоте»

    Getters/Setters

    Для удобной работы с чтением/изменением параметров я решил выбрать JS way геттеры и сеттеры. T.e. метод по названию свойства и если метод вызывается с указанием параметра — это setter, если без параметра — это getter.
    Объявлять я их буду через URL.prototype = < >дабы не плодить в памяти избыточные экземпляры метода.
    В пример приведу один метод, в силу того что они похожи:

    Замечу, что в случае изменения значения возвращается не String , а Object сделано это для того, чтобы можно было писать цепочки сеттеров:

    Отдельно остановимся на геттер/сеттере для свойства params

    Как видим — оба параметра опциональные.
    И как я говорил — я ставил перед собой целью — удобство работы с GET-параметрами, а значит мы должны уметь:

    • Читать
    • Изменять
    • Удалять

    как отдельно взятый параметр так и группы параметров.

    Соответственно синтаксис будет таков:

    • Не передается ни один параметр — читаем все GET-параметры
    • Передается только первый параметр — читаем один GET-параметр
    • Передается два параметра — пишем GET-параметр с именем param1 и значением param2
    • В качестве значения параметра передается пустое значение или false — указанный GET-параметр удаляется

    Собираем URL обратно

    Стоит отметить, что при сборке GET-параметров, значения параметров преобразуются в escape-последовательность.
    Во-первых: это правильно.
    Во-вторых: если мы GET-параметром передаем данные вводимые пользователем, то вставленный юзером амперсанд разрушит последовательность ключ-значение и все покатится в тартарары.

    Ну, а если уж, прям кровь из носу, вам не нужна urlencoded строка — у вас два варианта:
    Передаем вторым параметром в конструкторе false

    1. Вручную ставим свойство URL.urlEncode=false;
    2. Вызываем метод URL.update();

    Ну и чтобы было удобно — метод для перехода по сгенерированной ссылке:

    Как видно: если не указана схема, но указан хост — автоматически подставляется схема http как самая распространенная.
    Далее происходит обновление ссылки и переход по оной.

    Расширяем объект String

    По идее, на этом можно было бы закончить. Но, мне показалось что было бы удобно работать прямо со строковыми переменными без явного создания экземпляра объекта (как бы странно это не звучало, но, в JS нет классов, как таковых).

    Как обычно приведу пример одного метода:

    В общем-то код просто передает параметры в соответствующий метод объекта URL.
    Но некоторым может показаться странным тот момент, что я каждый вызов по-новой создаю и удаляю объекты URL и делаю только одно действие, причем это действие не меняет значения переменной над которой оно производится.
    Вот тут то и кроется самое главное неудобство объекта String , нельзя менять значение существующей переменной. С ней вообще ничего нельзя сделать, ВСЕГДА создается новая переменная. А по-этому каждый раз создается новый объект и возвращается переменная типа String .
    Цепочки конечно же поддерживаются:

    Вариант 2. «По Фен-Шуй»

    Если предыдущий вариант, скажем так, был «красив»в использовании, то данный вариант, будет лаконичен. как с точки зрения кода, так и с точки зрения использования.

    Getters/Setters

    Так вот, getter/setter в данном случае будет один на всё, ну то есть совсем.

    Расширяем объект String

    Идентичная ситуация и с расширением объекта String , только кода поменьше, т.к. этот метод всего лишь транспортирует параметры в URL.val();

    Подведение итогов

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

    Плюсы и минусы подходов
    Вариант 1

    Плюсы:

    • Хорошая читаемость
    • Удобно применять

    Минусы:

    • 8,75кб ( без сжатия и удаления разрядки )
    • 360 строк кода для в общем-то небольшого расширения функционала
    • Если можно так выразиться — громоздкость по сравнению с вариантом 2
    Вариант 2

    Плюсы:

    • Всего 144 строчки кода
    • Вес 4.25кб ( без сжатия и удаления разрядки )
    • Простота и лаконичность конструкций

    Минусы:

    • Немножко сложно читать

    Скачать исходники обоих вариантов можно тут: [ Вариант 1 || Вариант 2 ]. смысла выкладывать на гитхаб не вижу, ибо всего 1 файл.
    Поддержка:

    • Да в общем-то абсолютно везде где работает JavaSript , ибо плагин написан на чистом, нативном JS, без использования magic функций, которые не поддерживаются старыми браузерами.

    А за сим — откланяюсь, искренне надеюсь что мой пост принесет кому-то пользу.
    Всем хорошего кода, больше сна и чтобы IE не портил жизнь.

    JavaScript-ссылки и всё, что с ними связано

    Передача ссылочного веса, индексация, краулинговый бюджет

    Автор: Максим Ковкрак, руководитель SEO-отдела ADINDEX — украинского агентства комплексного интернет-маркетинга

    Созданию статьи послужил пост Игоря Шулежко в своём фейсбуке. Он попросил своих “френдов” и “SEO-титанов” прокомментировать заявление Рэнда Фишкина о бесполезном скульптурировании PageRank (PR) старыми методами (rel=nofollow и JS).

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

    В этой статье вы узнаете все нюансы при использовании JS для управления ссылочным весом и краулинговым бюджетом, риски и недостатки. Разберём вопросы распознавания JS гуглом, экономии краулингового бюджета, актуальности работ скульптурирования PR.

    1. Сразу к сути: распознаёт ли Google JS-код?

    Ответ — да.

    Об этом официально говорит Google в своём блоге. Об этом говорят все топовые эксперты отрасли. Также есть множество подтверждающих тестов, один из масштабных провели специалисты из Merkle|RKG, своё заключение они изложили в статье на Search Engine Land.

    Что показали результаты проведенных тестов?

    1. Редиректы JavaScript

    Использовался метод — функция window.location. Было проведено два теста: тест А включал абсолютный URL, тест Б — относительный.

    Результат:
    Google быстро распознал их по схеме переадресации 301 — конечные URL заменили в индексе URL, с которых шли редиректы.

    1. JavaScript-ссылки

    Протестированы стандартные JavaScript-ссылки. Это наиболее распространенные типы ссылок, которые используются SEO-специалистами:

    • Функции за пределами href AVP, но в рамках тега (“onClick”)
    • Функции внутри href AVP (“javascript:window.location”)
    • Функции за пределами тега a, но вызываемые в пределах href AVP (“javascript:openlink()”)
    • и т. п.

    Ссылки полностью краулились и отслеживались.

    1. Динамическая подгрузка контента

    Проверялись две ситуации:

    • Возможность поисковика сканировать динамический текст, если текст находится на HTML-странице. Что-то вроде кнопки “Читать полностью”, при нажатии на которую раскрывается остальная часть контента.
    • Способность поисковика принимать во внимание динамический текст, если он расположен во внешнем JavaScript-файле.

    Результат:

    В обоих случаях текст краулился, индексировался и влиял на ранжирование страниц.

    1. Динамическая загрузка метаданных и элементов страницы

    Динамически внедрили в DOM различные теги, важные для SEO:

    • Элементы title
    • Метаописания
    • Метатеги robots
    • Теги canonical

    Результат:

    Во всех случаях теги краулились — точно так же, как HTML-элементы в исходном коде.

    Итого: Google давно научился распознавать JS-код как простой, так и сложный. Он не просто выполняет различные типы событий JavaScript, но и индексирует динамически генерируемый контент, читая DOM.

    Другой вопрос, если запретить боту доступ к файлу *.js, в котором хранится исполняемый код и скрываемый контент, вдобавок закодированный стандартом Base64. Причём в html-коде вы также не увидите URL-адреса, будет что-то вроде этого:

    В таком случае браузеры смогут исполнять код, а Google — нет.

    Да, это рабочий метод, технология называется SEOhide, но вы же понимаете разницу между “распознаёт” и “закрытый доступ”?

    2. Сокрытие ссылок

    Зачем возникает необходимость скрытия ссылок от поисковых систем?

    1. Для управления PR (простыми словами ссылочным весом).
    2. Экономии краулингового бюджета.

    2.1. Управление ссылочным весом

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

    С тех пор алгоритм PageRank неоднократно подвергался изменениям, он улучшился и изменился во многих аспектах (например, учитывается тематичность ссылки, её расположение на странице), но основной принцип остаётся прежним.

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

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

    Бесполезные — страницы не генерирующие трафик: корзина, контакты, «О нас», пользовательское соглашение и пр. Обычно ссылки на такие страницы расположены в шапке и подвале сайта, а значит собирают ссылочный вес с абсолютно всех страниц сайта.

    Важные — это приоритетные страницы, находящиеся в продвижении.

    1) Предотвращение передачи ссылочного веса

    До 2009 г. скульптурирование ссылочного веса заключалось в использовании атрибута rel=»nofollow». Значение nofollow ставилось на уровне ссылки или страницы и запрещало поисковой системе сканировать и передавать PageRank.

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

    Когда Google понял, что все за счет nofollow просто перераспределяют PR внутри своего сайта, он обновил механизм работы тега. О новой логике работы атрибута рассказал Мэтт Каттс во время конференции SMX. Позднее на его блоге вышла статья “PageRank Sculpting”.

    Теперь через ссылки nofollow ссылочный вес исчезает в никуда: он не остаётся на текущей странице и не передается странице акцептору.

    Итак, атрибут rel=»nofollow» не ограничивает передачу ссылочного веса, наоборот, нужно помнить, что через такие ссылки вы будете терять PR вашего сайта.

    Как мы выяснили раньше, JS не скроет ссылки сайта от Google. Остаётся рабочий метод SEOHide. Но есть один минус, который ставит под сомнение использование данной технологии и о котором стоит упомянуть — возможные санкции со стороны Google.

    В июле 2015 г. Google массово разослал вебмастерам сайтов в Search Console уведомление об ошибке: “Googlebot не может получить доступ к файлам CSS и JS на сайте” и предупреждение о возможной потере позиций в поисковой выдаче в случае, если проблема не будет устранена.

    То есть, если для поисковой системы закрыт доступ к CSS и JS-файлам, есть вероятность понижения сайта в поисковой выдаче.

    Принято считать, что это влияет на позиции в мобильной выдаче, проверить адаптивность сайта без анализа CSS и JS-файлов бот не сможет, а значит тест может быть не пройден. Если это так, то SEOhide не повлияет на прохождение теста Mobile Friendly и понижения не будет.

    2) Передача ссылочного веса важным страницам сайта (перелинковка)

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

    В последнее время мы всё чаще встречаем упоминания о слабом влиянии внутренней перелинковки, всё чаще поднимается вопрос: “А стоит ли вообще заниматься скульптурированием ссылочного веса, стоит ли тратить на это время?”. В частности об этом говорит Рэнд Фишкин в статье “Как работать с внутренними ссылками сегодня: советы и практики”. Он утверждает, что классический формат скульптурирования, о котором мы говорили выше, редко эффективен, а если эффект и есть, то он небольшой:

    “В настоящее время эффективность PR очень сильно уменьшилась. Тем не менее какой-то результат это приносит. В любом случае, наличие большого количества необоснованных ссылок на странице может оказать негативное влияние на ранжирование, в то время как небольшое число тщательно отобранных ссылок даёт положительный эффект. Однако в большинстве случаев оптимизация внутренних ссылок не добавляет большой ценности и не приносит значительных результатов.”

    Здесь не говорится о влиянии внешних ссылок — они работают. Идёт речь об изменении эффективности алгоритма PR. В частности, об изменении влияния одной из составляющих алгоритма — внутреннего ссылочного веса. Внешние ссылки генерируют больше ценности для ранжирования и больше влияют на позиции, а вес внутренних практически не ощутим.

    Высказывания Рэнда подтверждаются проведёнными тестами Дмитрия Шахова, с результатами которых он выступил на онлайн-конференции “WebPromoExperts SEO Day” 2020 года, представив доклад на тему: “Внутренняя перелинковка: мифы и реальность”. Были взяты коммерческие сайты, которые давно находятся в топе, со стабильной статистикой по позициям. Активных работ по проектам давно не проводилось.

    • шершня (перелинковка уровнями)
    • линковка с релевантных страниц
    • линковка с рандомных страниц
    • влияние кол-ва ссылок

    В ходе экспериментов не удалось добиться значительного эффекта от точечной перелинковки. Результаты были настолько слабы, что передавить влияние внешних текстовых и ссылочных факторов не удаётся — эффект близок к нулю.

    Единственный найденный вариант — подтолкнуть страницу очень большим количеством ссылок. Здесь важную роль оказывает уровень траста самого хоста. Влияние будет у сайтов, которые хорошо ранжируются в поиске.

    Вывод: опять-таки, очень слабое влияние внутренней перелинковки. Эффекта можно добиться только большим количеством ссылок и только для трастового сайта.

    Но так ли всё однозначно с вопросом перелинковки?

    Было одно событие, из которого можно сделать вывод, что есть и другие факторы, влияющие на эффективность линковки.

    На вопрос: “Если на странице размещено 3 ссылки: 2 dofollow и 1 nofollow, какой PR будет передаваться через каждую dofollow ссылку: 1/3 или 1/2?” Андрей Липатцев, старший специалист по качеству поиска Google, ответил, что ни 1/2, ни 1/3:

    Какие это могут быть факторы? Точно неизвестно, но, скорее всего, речь идёт о “полезности и релевантности ссылки”. Все мы знаем, что на работу бэклинков влияет месторасположение ссылки на странице, переходят ли по ней пользователи, релевантна ли она содержанию — всё это работает и для внутренних ссылок сайта и их эффективности.

    Вот и получается, как говорил Рэнд, что в одних случаях есть небольшой эффект от внутренней перелинковки, а в других нет. Скорее всего, всё зависит от вида реализации.

    Управление ссылочным весом: общий итог

    Здесь будьте очень осторожны, ниже описано заключение, к которому пришёл автор статьи, и оно может не совпадать с вашим. Это нормально, это же SEO и у нас всегда так. Если считаете по-другому, напишите свои рассуждения в комментариях к статье.

    Со дня своего появления алгоритм PageRank значительно изменился и усложнился. Одна из его составляющих — внутренний ссылочный вес, утратила своё былое влияние.

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

    Стоит ли скрывать ссылки?

    Раз влияние внутреннего веса незначительно, зачем использовать сложную технологию SEOhide для закрытия дырок перетекания ссылочного веса, реализация которой стоит денег? Скорее всего, это будет нерентабельно, учитывая то, что алгоритм передачи ссылочного веса не работает по схеме “делим поровну между всеми ссылками на странице”.

    Мы не рекомендуем использовать технологию SEOhide и подобные для экономии PR-веса. Атрибут nofollow вообще будет красть ссылочный вес вашего сайта.

    Что делать с перелинковкой?

    Перелинковочные блоки внизу страницы сайта неэффективны, старайтесь все элементы перелинковки сделать частью пользовательского функционала, чтобы они были полезны и приносили дополнительную ценность. Тогда использование этой ссылки пользователями, если хотите — её важность, будет дополнительным сигналом влияния для страницы акцептора.

    Классическую перелинковку можно использовать для максимизации индексирования.

    2.2. Экономия краулингового бюджета с помощью JS

    Логика какая — нет ссылки на странице, значит бот не тратит время на её индексацию.

    Желание использовать JS возникает у вебмастеров, например, для того, чтобы скрыть ссылки на панели фильтрации.

    Зачастую их очень много и большая часть из них закрыта от индексации. “Убрав” лишние ссылки со страницы, бот должен пойти по страницам пагинации, товарам, ссылкам на подкатегории.

    Илон Маск рекомендует:  md5_file - Возвращает MD5-хэш файла

    Если для скрытия использовать JS, который, как мы уже выяснили, с лёгкостью распознается гуглом, мы только усугубим ситуацию и увеличим расход краулингового бюджета.

    Почему увеличим? Ответ на этот вопрос полностью раскрыт в статье Барри Адамса “JavaScript и SEO: разница между сканированием и индексированием”.

    Вся суть заключается в тесной работе двух парней гугла: краулера — Googlebot и индексатора — Caffeine.

    Googlebot. Его задача — ходить по страницам сайта, находить все URL-адреса и сканировать их. У него также есть модуль парсинга, который смотрит на исходный код HTML и извлекает любые найденные ссылки. Парсер не рендерит страницы, он просто анализирует исходный код и извлекает любые URL-адреса, найденные в фрагментах.

    Когда googlebot видит новые или изменённые URL-адреса, он отправляет их второму парню.

    Caffeine — парень, который сидит на месте и пытается понять полученные URL-адреса от краулера, анализируя их контент и релевантность. Он отвечает за рендеринг веб-страниц и выполнение JS кода.

    В опубликованной документации Google для разработчиков объясняется, как работает их служба веб-рендеринга WRS.

    Именно WRS в Caffeine выполняет JavaScript. Функция “Получить и отобразить” в Search Console позволяет посмотреть, как WRS Google видит вашу страницу.

    Теперь мы выяснили, что за ширмой механизма “сканирования страниц сайта” спрятан сложный процесс взаимодействия двух систем: сканирования и индексирования.

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

    Не исключена ситуация, когда Google будет тратить много времени на сканирование и рендеринг ненужных страниц и очень мало времени на обработку важных.

    А что с SEOHide, о котором было сказано выше?

    Да он будет работать, но есть куда более простой и рекомендованный способ от гугла.

    В официальной справке указано:

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

    Есть один минус у этого варианта, в таком исполнении у нас получается конфликт интересов между скульптурированием PR и экономией краулингового бюджета. Если вы всё же хотите управлять ссылочным весом, помните, что через такие ссылки будет “исчезать” PR.

    Вам решать, что важнее — действуйте по ситуации. Если у вас проблемы с индексацией сайта — ставьте nofollow, не давайте роботу обращать внимание на эти “бесполезные страницы”. Если не хотите терять PR, лучше просто оставить ссылки открытыми.

    Если рассматривать наш пример со ссылками на страницы фильтров, которые не нужны в поисковой выдаче, то можно использовать еще два способа:

    1) Закрыть такие страницы в robots.txt

    Если у вас страница закрыта только тегом meta name=»robots» content=»noindex, follow» вы не будете экономить краулинговый бюджет. Данным тегом пользуется индексатор, а не краулер, поэтому страница будет просканирована и обработана, но в индекс не добавлена.

    Нужно использовать оба метода — robots.txt заблокирует доступ краулеру.

    2) Настроить в Search Console запрет на сканирование по параметрам URL

    Как создать ссылку с помощью JavaScript

    Создадим ссылку с помощью чистого JavaScript и положим внутрь неё вырезанный элемент с сайта.

    Начальный блок html:

    Создадим переменные с нужными нам элементами:

    Сохраним дата атрибут из html:

    Создадим элемент «ссылка»:

    Добавим в этот элемент значение из data атрибута:

    Вырезаем такой блок HTML на сайте:

    И сохраняем его в переменную:

    А внутрь этой ссылки вставляем вырезанный ранее нами элементы:

    В итоге получим:

    Возможные ошибки

    Если в коде вместо вырезанного элемента показывается такое:

    Это означает, что вы не выводите содержимое объекта. Например, если использовать oldChild без outerHTML, то покажется именно такой текст.

    Также читайте

    Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

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

    JAVASCRIPT

    JavaScript Вступление

    Освоив базовые технологии создания сайтов, конечно же захотелось идти дальше. Жизнь не стоит на месте. Сейчас редкие сайты обходятся без современных технологий: JavaScript + jQuery и более поздней jQuery UI.

    Изучал их, как всегда дистанционно, по ШИКАРНЕЙШЕМУ(!) , а по другому и не скажешь, обучающему видеокурсу с одноимённым названием.

    Даже я, привыкший к отличному методу обучения этого автора, был ошеломлён количеством и качеством уроков! Лишь только по теме JavaScript на диске записано 60 уроков и ещё столько же домашних заданий.
    Об авторе рассказал на страницах «ССЫЛКИ» (в новом окне) , где я сделал достаточно прямых переходов на его ресурс.
    Советую зайти, и посмотреть. Найдёте там очень много интересного материала по разным темам программирования.

    В этом разделе покажу, чему смог научиться по 1-ой части диска: JavaScript, а в конце раздела, кого интересует, узнают почему, освоив такую мощную технологию, не применяю её для основных страниц своего сайта. Желающие могут перейти сразу.

    JavaScript — строгий язык программирования. Малейшая ошибка в синтаксисе не даст скрипту выполняться. Кроме внимательности, для изучения этого языка уверенные знания HTML и CSSНЕОБХОДИМОСТЬ! Иначе — никак!

    И, хоть это уже необязательно, но мне очень помогло в изучении то, что предварительно хорошо освоил основы языка PHP. У обоих практически одинаковая логика и синтаксис. Поэтому, разбираться с новым языком было «в разы» легче.

    JavaScript — это именно та технология, которая позволяет создавать АВТОМАТИЧЕСКИЕ сайты, т.е. общающиеся с посетителями БЕЗ Вашего участия.

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

    Покажу, разумеется, далеко не все методы, освоенные в этом замечательном видео-курсе. Их слишком много. Покажу лишь несколько наиболее «ярких» примеров использования языка программирования.

    JavaScript — это «клиентский» скрипт, т.е. выполняется он не на сервере, как PHP, а у Вас на компьютере, благодаря браузеру.
    Если Вы отключили у себя в браузере интерпретатор javascript, увидеть действие скрипта Вы не сможете!

    В скриптах вирусов НЕТ. Точно на 100%! Всё писал сам.

    ИТОГИ ОБУЧЕНИЯ

    Общего НАВИГАТОРА на предлагаемых страницах не будет. Вернуться сюда, на страницу выбора, сможете по синей стрелке «НАЗАД». Кликнув по логотипу, попадёте на главную страницу сайта.

    Для наглядности то, что будет выведено на экран с помощью скрипта, буду выделять серым фоном.

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

    Модальные окна

    «Модальным» окно называется потому, что на него нужно обязательно отреагировать: кликнуть по каким-либо кнопкам на нём, а иначе оно не закроется.
    Содержит какое-либо сообщение со страницы сайта, либо опрос, ну или ещё что-нибудь. Вывод модальных окон — наверное одни из самых главных способов программы общаться с посетителями сайта. СМОТРЕТЬ
    **Кстати! Попробуйте сначала НЕ РАЗРЕШИТЬ использование скриптов. Программа напишет Вам «своё мнение об этом».

    Создание и работа с массивами

    Решил не показывать уроки по созданию и работе с обычными переменными. Их очень много, а потом . . . — это слишком просто.
    Массивы — такие же переменные, только содержат в себе ещё переменные. Вот и вся разница. Но умение создавать их и работать с ними имеет гораздо больший практический смысл. Почему? Смотрите сами. СМОТРЕТЬ

    Тернарные операторы

    Большой, сдвоенный раздел, где показываю на «живых» примерах, и подробно объясняю принципы работы с условными тернарными операциями в JavaScript.
    Это очень популярная тема в программировании. Сайт общается с посетителями, задаёт вопросы и выводит результаты. СМОТРЕТЬ

    Регулярные выражения

    Это отличный инструмент для обработки больших объёмов информации. Зачастую нас интересует не всё что есть, а лишь определённая часть её. Вот тут-то и помогут нам регулярные выражения, существующие в JavaScript.
    Используя их, можно «соорудить» конструкции, в которых укажем, что нас интересует. Ну а скрипт послушно отберёт только то, что ему прописано. СМОТРЕТЬ

    Генерация случайного числа

    Относится к встроенным в сам JavaScript математическим функциям. Это методы объекта Math (Математика).
    Такие методы постоянно применяются на сайтах, использующих пароли, пин-коды, ключи активации и прочее, и т.д. и т.п.. СМОТРЕТЬ

    Слайдер цифр

    Аналогично. Возможно сделать такой, благодаря встроенной в JavaScript функции parseInt(), преобразующей переменную в целое число. Это, наверное, самый простой слайдер, выводящий в отведённое поле цифры от «0» до «100». СМОТРЕТЬ

    Функции

    Функции — это уже целые сценарии, ну или мини-программы, написанные с помощью языка программирования JavaScript.
    Честно говоря, функции — одна из самых моих любимых возможностей в использовании скриптов. Интересно. Можно придумывать множество сюжетов. А ещё, они здорово похожи на «action» в «Фотошоп». Написал один раз и запускай где угодно, и сколько угодно раз. СМОТРЕТЬ

    Очистка «холста»

    Интересный пример использования JavaScript и его простой функции для рисования на «холсте» на сайте, и его очистки от нарисованного. СМОТРЕТЬ

    Сценарии на JavaScript

    На предлагаемой странице прописал сценарий: «Знакомство с посетителем сайта» на языке JavaScript.
    Там уже использовал не только функции, но и вывод массива в цикле, что также часто применяется для написания скриптов.
    А вообще, сценарии — отличный способ автоматизировать свой сайт. СМОТРЕТЬ

    Сценарий «лотерея»

    На этой странице создал сценарий: «Лотерея», с помощью условного оператора case, а точнее, целой конструкции switch — case .
    В модальное окно нужно ввести одну из цифр: от «1» до «5», и программа тут же выведет результат розыгрыша. СМОТРЕТЬ

    Даты и время в JavaScript

    Очень интересная и полезная тема: как можно с помощью языка программирования выводить даты и время на страницах своего сайта. СМОТРЕТЬ

    Индикаторы

    Без применения JavaScript, создать полноценный, действующий индикатор для сайта не получится! СМОТРЕТЬ

    PHP и JavaScript

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

    Недаром! Такая технология везде и постоянно применяется профессиональными программистами.
    Её изучение сделало возможным перейти на новый уровень, и использовать JavaScript практически. СМОТРЕТЬ

    Практическое использование JavaScript

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

    Назвал его «Личная страничка» . Это сайт-визитка со своим собственным, уникальным дизайном. СМОТРЕТЬ

    Генератор цветных текстов

    То же самое. Благодаря встроенным в JavaScript математическим функциям, удалось спрограммировать довольно интересный и полезный генератор разноцветных букв и слов для сайта. Фактически, это целый он-лайн мини-сервис.
    Создание подобного генератора также вполне можно отнести к практическому использованию этого языка программирования. СМОТРЕТЬ

    Переливающийся фон

    И в этом разделе практически использовал JavaScript для создания интересного эффекта переливающегося фона на сайте.
    Сделал, показал пример, объяснил, как его можно настроить. СМОТРЕТЬ

    Часы для сайта

    Здесь спрограммировал простейшие часы для сайта. Сделал их отдельным элементом, с подключением внешних файлов и в «корпусе».
    Крупно показывают ДАТУ: число, месяц и год; ВРЕМЯ: часы, минуты, секунды. Всё работает в реальном времени — без перезагрузки страницы .

    Кроме того, написал и разместил там очень простой, но полезный скрипт , позволяющий автоматически изменять текущую дату года . СМОТРЕТЬ

    Календарь для сайта

    В этом разделе показываю пример практического использования JavaScript, и подробно объясняю, как сделать хороший автоматический календарь для сайта.
    Детально рассказал весь процесс его создания и настройку дизайна. СМОТРЕТЬ

    Анимация на JavaScript

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

    Снег на сайте

    Показал, и подробно объяснил практический пример использования JavaScript для создания интересного эффекта падающего снега на сайте. СМОТРЕТЬ

    Анимация JPG-рисунков

    Сначала показал пример такой «анимации» с помощью JavaScript, а потом объяснил, чем на самом деле она является. СМОТРЕТЬ

    Движущиеся рисунки

    Показываю несколько интересных примеров, и рассказываю, как с помощью JavaScript сделать рисунки движущимися. Разбираю основные параметры использованных скриптов. СМОТРЕТЬ

    Большой раздел «Анимация на JavaScript» будет пополняться. Продолжение следует!

    JavaScript Dynamics

    Это самостоятельный 7-ми страничный раздел, посвящённый анимации, в котором объясняю что такое «Dynamics», для чего предназначен, как с ним работать, и показываю примеры его практического применения. СМОТРЕТЬ

    Просмотрщик изображений

    Отличная возможность практического использования JavaScript для создания быстрых и лёгких просмотрщиков изображений на сайте. СМОТРЕТЬ

    Спойлеры

    Показываю несколько видов интересных, простых спойлеров, позволяющих легко экономить громадное количество места на сайте. СМОТРЕТЬ

    Слайд-шоу на JavaScript

    Результат написания простого слайдера для сайта с помощью создания массива, как нового объекта, и работы с ним. СМОТРЕТЬ

    Парольный вход

    Способ организации на сайте входа по паролю, используя изученные функции и методы JavaScript. СМОТРЕТЬ

    Поиск на сайте

    Самый лёгкий, базовый способ создания быстрого поиска нужной информации на сайте с помощью JavaScript. СМОТРЕТЬ

    Фотогалерея

    Здесь показал простой способ создания на сайте галереи рисунков и фотографий с использованием базовой технологи интернета, и всего одной(!) строчки JavaScript.

    Интересный метод, позволяющий легко перемещать и «перебирать» рисунки на экране монитора. СМОТРЕТЬ

    Форма подписки для лендинга

    Используя ту же самую, одну единственную(!) строчку кода JavaScript, можно спрограммировать удобную форму подписки для сайта-лендинга. Пример лендинга можете посмотреть и опробовать здесь. СМОТРЕТЬ

    Решил «под занавес» добавить сюда ссылку на ещё одну страницу. Вообще, она уже больше относится к jQuery (и «живёт» в том каталоге), но . . . Думаю, такая и здесь будет к месту.
    Prim.* Кстати, и дизайн учебного сайта будет уже совершенно другой.

    Проверка корректного ввода е-мейл

    Сочетание методов обычного JavaScript и его библиотеки jQuery даёт интересную возможность проверять корректность заполнения полей формы, с их выделением рамками разного цвета, и блокировать от повторной отправки сообщения, заказа, и т.д.. Подробное, пошаговое описание. СМОТРЕТЬ

    Заключение

    Надеюсь, для «Портфолио» показал вполне достаточно, а здесь хочу немного написать о том, почему, освоив такую мощную технологию, НЕ применяю её для основных страниц своего сайта.

    Прежде всего — она ему просто-напросто ни к чему!
    JavaScript — «Великий Труженик», способный за секунды обрабатывать огромный объём информации, а у меня же на сайте обрабатывать ничего не нужно.

    Второе. Большое количество кода. Очень.
    Для одного из примеров: «Часы для сайта», чтоб код был читаемым, с комментариями, использовал 34 строчки блокнота.

    Третье. Низкая кроссбраузерность. Скажем, для того же примера (с часами) пришлось, чтоб цифры отображались посередине всеми браузерами, прописать это напрямую в HTML-коде страницы. Вот такие «цветочки» . . .

    Четвёртое. БЕЗОПАСНОСТЬ! Очень веская причина! Так, при попытке зайти на сайт, использующий скрипты, мой браузер «Internet Explorer 8» всё время предупреждает вот таким сообщением.

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

    Посетителя такое сообщение легко может отпугнуть. Вполне обоснованные опасения!

    Сам, хорошо зная, что можно сделать с помощью скриптов, всегда осторожно отношусь к таким ресурсам, и сначала проверяю их антивирусами.

    Пятое. Теперь появились гораздо более удобные технологии — jQuery и jQuery UI . Собственно, jQuery — это не какая-то новая технология, а всё тот же JavaScript, только улучшенный, модифицированный с помощью библиотек jQuery.

    Впрочем, это уже другая история, и другой большой раздел моего «Портфолио», который так и назвал: JQUERY (прямой переход) .

    Все права защищены. Copyright © 2009 — Коротеев Владимир.

    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL