Содержание

Сайт на JS JavaScript заказать

График работы: Пн-Пт 9:00-18:00

[email protected] Русский
  1. Home
  2. Услуги
  3. JavaScript программирование и поддержка

Здесь вы можете найти профессиональных веб-разработчиков как на стороне сервера так и на стороне клиента, с более чем 5-летним опытом работы мы строим красивые сайты. Мы специализируемся на JavaScript, JQuery, Node.js, expressjs, Meteor, Angular6, React.js, AngularJS, PhantomJS и т.д.

Веб разработка на Node.js

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

Веб разработка на Angular

Наши разработчики Angular 6 и AngularJS следуют Agile (гибкой методологий разработки), которая обеспечивает бесперебойную связь и полную прозрачность проекта.

Веб разработка на ReactJS

Наша команда React применяет самые передовые технологии, и средства разработки внешнего интерфейса. У нас есть опыт в создании React приложений.

Веб разработка на VueJS

Наши специалисты активно применяют Vue для создания пользовательских приложений и отдельных компонентов для сайтов любой сложности.

Веб разработка на Meteor

Используем в разработке Meteor, поскольку позволяет сделать весь процесс гибким и оптимизированным, а также ценим время клиентов.

Веб разработка на Knockout

Наши программисты используют этот фреймворк, поскольку он отлично работает с моделью MVVM. Он легкий, удобный и доступный.

Создание сайтов в Бресте, заказать сайт или интернет-магазин| Брест Веб-студия Юникодинг г. Брест ул. Воровского, 31 +375(29)793-67-92

JavaScript SEO: что нужно знать и как оптимизировать?

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

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

Руководство частично основано на материалах от Ahrefs, Onely, Google Developers, за что им большое спасибо.

Как Google обрабатывает JS?

Поисковые системы пытаются получить тот же контент, что видят в браузере пользователи. В Google за процесс рендеринга и сканирования отвечает сервис обработки веб-страниц Web Rendering Service (WRS, часть системы индексации Caffeine). Вот упрощенная схема процесса:

Обратите внимание, на схеме Google получает конечный HTML для обработки, но на деле сканирует и кэшируют почти все дополнительные ресурсы, необходимые для формирования страницы (JS-файлы, CSS, синхронные и асинхронные запросы XHR, точки приёма API и так далее). Почему «почти» все? Некоторые из ресурсов Googlebot и WRS могут игнорировать, как недостаточно важные для отображения контента.

Разберём процесс на примере отдельного URL.

1. Crawler (Краулинг)

Робот Googlebot отправляет серверу GET-запрос, в ответ получает HTTP-заголовки и содержимое страницы. Если в заголовке или мета-теге robots нет запрета на сканирование, то URL ставится в очередь на отображение. Подробнее о способах закрытия от индексации мы рассказывали в отдельном руководстве.

Важно учитывать, что в условиях mobile-first-индексации в большинстве случаев запрос поступает от мобильного user-agent Google. Проверить, какой робот сканирует ваш сайт можно в Search Console (раздел «Проверка URL»).

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


    
HTTP/1.1 200 OK
Date: Tue, 25 May 2020 21:42:43 GMT
(…)
X-Robots-Tag: googlebot: nofollow
X-Robots-Tag: otherbot: noindex, nofollow
(…)
    

2. Обработка

Здесь важно учитывать некоторые нюансы.

Ссылки и ресурсы

Частью обработки страницы является обнаружение и сканирование ссылок на другие URL и файлы, необходимые для построения HTML-документа. Каждая из ссылок попадает в очередь на сканирование и обладает различным приоритетом. Для подгрузки CSS- и JS-файлов используется тег <link> для внутренних и внешних ссылок — тег <a> с атрибутом href. Почему напоминаем о таких очевидных вещах? Взгляните на примеры реализации ссылок.

Хороший вариант:


    
<a href="/page">просто и правильно</a>
<a href="/page">тоже хорошо</a>
    

Плохой вариант, если вы, конечно, хотите, чтобы ссылки были понятны поиску:


    
<a>не пойдёт, нет href</a>
<a href="javascript:goTo(‘page’)">нет ссылки</a>
<a href="javascript:void(0)">нет ссылки</a>
<span>неподходящий тег</span>
<option value="page">неподходящий тег</option>
<a href="#">нет ссылки</a>
    

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

Кэширование

Все загружаемые файлы, включая HTML, JS и CSS активно кэшируются Google, при этом ваши настройки тайминга будут игнорироваться, а новую копию Google загрузит по своему усмотрению. Это может привести к использованию уже устаревших ресурсов JavaScript или CSS. Возможное решение — использование «цифровых отпечатков контента» в названии файлов, например, вида: main.2bb85551.js.

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

Дублирование контента и ложные 404

Важно знать, что JS может стать причиной появления дубликатов, если уникальный контент подгружается динамически и возникли проблемы с его отображением или загрузка занимает слишком много времени. Google может увидеть только дубликаты шаблонов. Актуально для SPA-проектов, использующих использующих фреймворки Angular, React, Vue.

Решение — SSR (server-side rendering), то есть рендеринг на стороне сервера. В таком случае Googlebot получит заранее отрисованный контент в исходном коде документа и проблем с его сканированием/индексацией не возникнет. 

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

3. Отрисовка (рендеринг)

Одно из опасений SEO-специалистов, что при двухэтапном рендеринге (сначала HTML — потом отрисовка с помощью JS) процесс сканирования может занимать много времени. На самом деле, медиана ожидания для рендеринга сканируемого HTML-документа, как правило, не превышает 5 секунд.

Показатель не стоит путать с популярным SEO-мифом о том, что рендерер Google ждёт полной отрисовки страниц всего 3-5 секунд. На деле, как уверяет Джон Мюллер, тайм-аут может быть выше, а благодаря активному кэшированию ресурсов страницам не придётся каждый раз загружать CSS- и JS-файлы. 

Миф появился благодаря инструменту URL Inspection Tool от Google, в котором ресурсы необходимые для отображения страницы извлекаются в реальном времени, нет системы кэширования и требуется разумный лимит.

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

Процесс отрисовки это загрузка страницы в том же виде, который доступен в браузере пользователя. Со всеми элементами, реализованными с помощью JavaScript, если предыдущие правила соблюдены (нет запрета к сканированию, а файлы скриптов доступны и актуальны).

Googlebot работает на движке Chromium 74-й версии, поэтому поддерживает все возможности современных браузеров, но краулер не умеет выполнять пользовательские сценарии вроде кликов, заполнения форм и прочих взаимодействий с элементами на странице, поэтому всё, что должно попасть в индекс, обязано быть доступно сразу в DOM документа. Если что-то подгружается с сервера по клику, то оно не будет просканировано поисковым роботом.

Googlebot не умеет скроллить страницу, поэтому загружаемый визуальный размер документа отличается от привычного пользователю. Для мобильных устройств страница загружается с шириной 411px и высотой 12140px, для десктопа — 1024x9307px.

Индексация

Если предыдущие этапы пройдены успешно Google сможет проиндексировать контент. Самый простой способ проверить (помимо уже упомянутого URL Inspection Tool в Search Console) — ввести в поисковике часть контента, который загружается с помощью JS и, используя оператор «site:», указать анализируемый домен. 

Например, на сайте бренда H&M часть контента подгружается по клику с помощью JS.

Попробуем проверить попадает ли этот текст в индекс? Увы:

В тоже время контент реализованный в рамках HTML и найденный в исходном коде документа, без труда индексируется:

Какой процент контента на JS в итоге не индексируется? У onely.com есть суровые данные для нескольких крупных сайтов известных брендов.

Такой разброс говорит о возможности, как минимум, облегчить доступ Googlebot и WRS к сканированию и рендерингу наших проектов. Несколько советов и рекомендаций.

Server-Side Rendering (SSR)

Рендеринг (отрисовка) контента на стороне сервера. В этом случае, Googlebot получает уже готовый код документа. Это значительно повышается скорость First Paint и First Contentful Paint, что важно в условиях нового фактора ранжирования Google Page Experience.

Но есть и недостаток — генерация страниц на сервере требует времени, что может привести к задержке TTFB (время до получения первого байта).

Стоит учитывать возможность и гибридного подхода — SSR для одних страниц и, например, динамический рендеринг для других. Так делает, например, Netflix.

Динамический рендеринг

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

Такой способ не воспринимается как клоакинг, если контент фактически не отличается.

Динамический и серверный рендеринг важны для продвижения под Яндекс. Как увидим ниже, поисковик пока не особенно умеет в JavaScript-индексацию.

Поддерживаемые фреймворки

Вот список популярных JS-фреймворков + HTML5 и возможность индексации реализованного с помощью них контента различными поисковыми системами.

Здесь следует добавить, что робот Яндекса всё-таки может проиндексировать AJAX-версию контента, но только если есть его HTML-копия.

Проверьте доступность JS-файлов

Очевидно, у краулеров должен быть доступ к файлам, влияющим на отображение страницы. Убедитесь, что они открыты для сканирования. Самый просто способ — добавить соответствующие директивы в robots.txt. Например, для Googlebot:


    
User-Agent: Googlebot
Allow: .js
Allow: .css
    

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

Настройте пагинацию правильно

Постраничная навигация часто реализуется с помощью JS, но мы уже знаем, что Googlebot не умеет кликать на элементы интерфейса, поэтому необходимо настроить нумерацию с помощью ссылок <a href=»»>. Подробно о пагинации мы также рассказывали. 

URL и History API

При взаимодействии с контентом, реализованным с помощью AJAX, Vue, Angular определенные состояния страницы могут изменять URL-адрес, добавляя в него hash-символ «#». Googlebot не сможет их распознать:

Для решения проблемы с хешами используется History API, появившийся вместе с HTML5. Метод позволяет привести URL к стандартному виду, но здесь придётся подробнее разобраться с темой и правильно настроить конфигурацию сервера. В основном это снова актуально для SPA-проектов (англ. single page application — одностраничное приложение), где контент подгружается полностью динамически.

Lazy Loading

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

Выводы

С одной стороны система рендеринга в Google (Web Rendering Service) значительно шагнула вперёд, используя последнюю версию Chrome на движке 74-й версии, что упрощает обработку сайтов с использованием JS, с другой — краулер не умеет кликать, скроллить или иначе взаимодействовать с контентом, а значит высока вероятность, что он пропустит часть важного для SEO контента.

Если у вас нет возможности или специалиста, способного выполнять все рекомендации Google по разработке, руководствуйтесь следующим правилом: всё, что хотим видеть в индексе, должно быть доступно в исходном коде документа (теги, ссылки, тексты, изображения, навигация, меню и любые другие элементы On-page). Это максимально актуально и для Яндекса.

Всем удачно проиндексироваться и пусть в поиске будет только желаемый контент!

Разработка сайтов на Node.js от Brander ⋆

Node.js — платформа, на которой создаются высокоскоростные сайты и приложения с высокой нагрузкой. Разработка такого веб-проекта возможна при минимальных вложениях. Brander успешно создает сайты с помощью этой технологии уже более 9 лет и знает, как сделать качественный, функциональный ресурс, отвечающий задачам вашего бизнеса. Заказать разработку веб-проекта на Node.js https://brander.ua/ru можно прямо сейчас.

Как создаются сайты на Node.js

Технология использовалась при разработке веб-проектов для больших, известных компаний, таких как Netflix, eBay, Yahoo! и др. Основное преимущество веб-ресурсов и приложений, созданных на Node.js — высокая скорость работы. На этой платформе создаются большие порталы, B2B сервисы, медийные проекты и пр. Обратившись в Brander, вы получите:

  1. Кастомный, функциональный продукт. Технология позволяет разработать веб-проект с логикой любой сложности. Высокая производительность и скорость — то, на что можно рассчитывать, заказывая сайт или приложение на Node.js. Независимо от количества посетителей, которые одновременно посетят ресурс, данные будут обрабатываться быстро, а высокая нагрузка не помешает корректной работе сервиса.

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

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

  4. Маркетинг. Используя каналы интернет-маркетинга, специалисты донесут информацию о вашем продукте до потенциальных клиентов компании. Инструменты продвижения выбираются индивидуально с учетом особенностей и задач бизнеса. SEO, реклама в социальных сетях и Google, e-mail-маркетинг — эффективные инструменты, которые приведут к вам новых покупателей, увеличив продажи в несколько раз.

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

Если Вы нашли для себя что-то полезное на этой странице, пожалуйста, нажмите на одну из этих кнопок:

JavaScript для SEO 📊 Что это? 📉 Как влияет на оптимизацию сайта? 📈 Что делать? 📑 Ant-Team.ru

Перевод статьи с портала Moz.

Интернет находится в золотом веке фронтенд-разработки, а JavaScript и техническая SEO-оптимизация переживают настоящий ренессанс. В связи с этим, как технический SEO-специалист и горячий поклонник веб-разработки в известном агентстве цифрового маркетинга, я хотел бы поделиться своим видением современного положения JavaScript для SEO. За основу я возьму передовой опыт в этой отрасли, а также собственные наблюдения. Из этой статьи вы узнаете, как в 2021 году оптимизировать для поиска свой сайт на JavaScript (JS).

Что такое JavaScript для SEO?

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

  • Оптимизация контента, созданного с помощью JS, чтобы обеспечить его сканирование, отображение и индексацию поисковыми системами.
  • Предотвращение, выявление и устранение проблем ранжирования для сайтов и одностраничных приложений (SPA), созданных на различных JS фреймворках, таких как React, Angular и Vue.
  • Использование оптимальных современных решений для улучшения индексации страниц.
  • Улучшение времени загрузки страниц для выполнения кода JavaScript, чтобы максимально упростить взаимодействие с пользователем (UX).

JavaScript для SEO: польза или вред?

Когда как! Для современного интернета JavaScript просто необходим, поскольку он обеспечивает масштабируемость при создании сайтов и упрощает их обслуживание. Однако некоторые реализации JS могут серьезно ухудшить видимость сайта в поисковых системах.

Рисунок 1. JavaScript для SEO.

Как JavaScript влияет на SEO?

JavaScript может влиять на следующие элементы страницы и важные  факторы ранжирования:

  • Отображаемый контент
  • Ссылки
  • Изображения с отложенной загрузкой
  • Время загрузки страницы
  • Метаданные

Что представляют собой сайты на JavaScript?

Когда мы говорим о сайтах, созданных на JavaScript, мы не имеем в виду простое добавление интерактивных элементов в HTML-документы (например, анимации JS на статической веб-странице). Речь идет о тех случаях, когда основной контент внедряется в DOM с помощью JavaScript.

Рисунок 2. Модель оболочки приложения.

Этот шаблон называется app shell (оболочка приложения) и служит основой для прогрессивных приложений (PWA). Мы рассмотрим это ниже.

Как проверить, построен ли сайт на JavaScript

Вы можете легко проверить, построен ли сайт на платформе JavaScript, используя такие инструменты, как BuiltWith или Wappalyzer. Вы также можете использовать функции браузера «Проверить элемент» или «Просмотреть исходный код». Ниже представлены наиболее популярные фреймворки JavaScript:

JavaScript для SEO: основной контент

Рассмотрим следующий пример. Современные приложения строятся на JS-фреймворках, таких как Angular, React и Vue. Платформы JS позволяют разработчикам быстро создавать и масштабировать интерактивные приложения. Давайте взглянем на шаблонный проект, созданный с помощью фреймворка от Angular.js — популярной платформы, разработанной Google.

Рисунок 3. Проект на Angular.js

При просмотре в браузере он выглядит как обычная страница: текст, изображения и ссылки. Однако давайте копнем глубже и посмотрим на сам код:

Рисунок 4. Код страницы.

Мы видим, что в этом HTML-документе практически полностью отсутствует какой-либо контент. В теле страницы находится только корневой тег приложения (app-root) и несколько тегов script. Причина заключается в том, что основной контент этого одностраничного приложения (SPA) динамически внедряется в DOM через JavaScript. Другими словами, загрузка основного контента страницы в этом приложении полностью зависит от JavaScript!

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

JavaScript для SEO: внутренние ссылки

Кроме динамического внедрения контента в DOM, JavaScript также оказывает определенное влияние на доступность ссылок к индексации. Ведь исследуя  тот или иной сайт, бот Google переходит по всем найденным на странице ссылкам. Google настоятельно рекомендует организовывать перелинковку страниц, используя стандартные теги HTML, а также обязательно включать атрибут href и не забывать про анкорный текст:

Рисунок 5. Код ссылки.

Вместе с тем при создании ссылок Google советует разработчикам не полагаться на другие HTML-элементы, такие как div или span, или обработчики событий JS. Такие ссылки рассматриваются как «псевдоссылки», и они, как правило, не будут индексироваться согласно официальным рекомендациям Google:

Рисунок 6. Код «псевдоссылки».

Однако, несмотря на эти рекомендации, независимое исследование показало, что Googlebot все-таки может индексировать ссылки JS. Тем не менее, исходя из личного опыта, я бы все-таки посоветовал создавать ссылки в виде статических HTML-элементов.

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

JavaScript для SEO: изображения с отложенной загрузкой

JavaScript также влияет на доступность индексирования изображений с отложенной загрузкой. Приведем простой пример. Этот фрагмент кода предназначен для внедрения в DOM изображений с отложенной загрузкой с помощью JS:

Рисунок 7. Код для изображений.

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

Вот пример кода, который более оптимизирован для SEO:

Рисунок 8. Оптимизированный код.

Этот код показывает, что IntersectionObserver API вызывает callback, когда любой просматриваемый элемент становится видимым. Данный вариант является не только более гибким и надежным, чем приемник событий, срабатывающий при «прокрутке», но и поддерживается последней версией Googlebot. Код срабатывает, когда Googlebot изменяет размер видимой области, чтобы «увидеть» ваш контент (см. ниже).

Рисунок 9. Поведение Googlebot.

Вы также можете использовать встроенную функцию отложенной загрузки в браузере. Она поддерживается в Google Chrome, однако помните, что это все еще экспериментальная функция. При наихудшем раскладе Googlebot просто проигнорирует контент, однако все изображения загрузятся в любом случае:

Рисунок 10. Встроенная функция отложенной загрузки в Google Chrome.

Возможные проблемы: как и в случае, когда основной контент не загружается, важно убедиться, что Google «видит» весь контент на странице, включая изображения. Например, на сайте интернет-магазина с большим списком продуктов отложенная загрузка изображений обеспечивает хорошие поведенческие факторы у пользователей и облегчает работу ботам поисковых систем!

Javascript для SEO: время загрузки страницы

Javascript также может влиять на время загрузки страницы, что является официальным фактором ранжирования Google для мобильных устройств. Это означает, что медленная загрузка страницы потенциально способна ухудшить ранжирование в поиске. Как мы можем помочь разработчикам смягчить возможные последствия?

  • Минификация JavaScript.
  • Откладывание загрузки второстепенных элементов JS, пока основной контент не отобразится в DOM.
  • Встраивание всего важного JS-кода в код страницы.
  • Обслуживание JS с меньшим наполнением.

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

JavaScript для SEO: метаданные

Также важно отметить, что одностраничные приложения, использующие библиотеки роутинга, такие как response-router или vue-router, должны предпринимать дополнительные действия, например, при изменении метатегов во время перехода между компонентами маршрута. Как правило, это происходит с помощью пакета Node.js, такого как vue-meta или react-meta-tags.

Рисунок 11. Пакет Node.js.

Что такое компоненты маршрута? Ниже описаны пять шагов, показывающих, как ссылки на разные «страницы» в одностраничном приложении работают в React:

1. Когда пользователь посещает сайт React, на сервер отправляется запрос GET для файла ./index.html.

2. Затем сервер отправляет клиенту страницу index.html, которая содержит скрипты для запуска React и React Router.

3. Далее приложение загружается на стороне клиента.

4. Если пользователь нажимает на ссылку, чтобы перейти на новую страницу (/example), на сервер отправляется запрос для нового URL-адреса.

5. React Router перехватывает запрос до того, как он достигнет сервера, и обрабатывает изменение страницы. Это происходит путем локального обновления отображаемых компонентов React и изменения URL-адреса на стороне клиента.

Другими словами, когда пользователи или боты переходят по ссылкам на URL-адреса сайта React, им не предоставляется большого количества статических HTML-файлов. Компоненты React (например, верхние и нижние колонтитулы и основной текст), размещенные в файле root ./index.html, просто реорганизуются, чтобы отобразить другой контент. Вот почему их называют одностраничными приложениями (SPA)!

Возможные проблемы: использование таких пакетов, как React Helmet, гарантирует, что при просмотре каждой страницы SPA пользователям будут предоставлены уникальные метаданные или «компоненты». В противном случае поисковые системы могут индексировать одни и те же метаданные для каждой страницы или, что еще хуже, вообще их игнорировать!

Как все это влияет на общую картину поисковой оптимизации? Для этого давайте разберемся, как Google обрабатывает JavaScript.

Как Google обрабатывает JavaScript?

Чтобы понять, как JavaScript влияет на поисковую оптимизацию, нужно разобраться, что происходит, когда Googlebot индексирует страницу:

1. Сканирование

2. Отображение

3. Индексирование

Сначала Googlebot по очереди, страница за страницей, сканирует URL-адреса. Робот делает запрос GET на сервер, обычно используя мобильный пользовательский агент, а затем сервер отправляет HTML-документ.

Затем Google определяет, какие ресурсы необходимы для отображения основного контента страницы. Как правило, при этом сканируется только статический HTML, а не какие-либо связанные файлы CSS или JS. Почему?

В официальном блоге Google были данные о том, что Googlebot постоянно обходит и перепроверяет порядка 130 триллионов страниц. Поэтому отображение JavaScript в должном масштабе может быть весьма затратной процедурой. Вычислительная мощность, необходимая для массовой загрузки, анализа и выполнения JS, просто огромна.

Вот почему Google может отложить отображение JavaScript на более позднее время. Эти страницы помещаются в очередь на отображение в Google Web Rendering Services (WRS) до тех пор, пока не появятся свободные вычислительные мощности.

В конце концов, Google проиндексирует любой отображаемый HTML-код после выполнения JS.

Рисунок 12. Процесс сканирования, отображения и индексации Google.

Другими словами, Google сканирует и индексирует контент в две волны:

1. Первая волна индексирования — мгновенное сканирование статического HTML, отправленного сервером.

2. Вторая волна индексирования — отложенное сканирование любого дополнительного контента, отображаемого с помощью JavaScript.

Рисунок 13. Волны индексирования Google. Источник: Google I/O’18

Суть заключается в том, что контент, отображение которого зависит от JavaScript, может проходить сканирование и индексирование Google с задержкой. Раньше на это уходили дни, а порой даже недели. Например, исторически Googlebot работал на устаревшем механизме отображения Chrome 41. Однако за последние годы поисковые роботы претерпели значительные изменения в лучшую сторону.

Так, Googlebot был обновлен до последней стабильной версии консольного браузера Chromium в мае 2019 года. Это означает, что поисковый робот теперь постоянно обновляется и полностью совместим с ECMAScript 6 (ES6) и выше, а также с последними версиями JS.

Итак, если технически Googlebot теперь способен запускать JavaScript, почему все еще существуют проблемы с индексированием?

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

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

Ниже перечислены причины, по которым Google может вообще никогда не запустить ваш код JavaScript:

  • Блокировка в robots.txt.
  • Превышение времени ожидания.
  • Ошибки.

Таким образом, JavaScript может вызвать определенные проблемы, если основной контент на JS не отображается в Google.

Реальное применение. JavaScript для SEO в электронной коммерции

Интернет-магазины — реальный пример динамического контента, созданного на JavaScript. С его помощью загружают товары на страницы категорий.

JavaScript позволяет таким сайтам динамически обновлять свой ассортимент. В данном случае это более чем оправданно, поскольку количество товаров в продаже постоянно меняется. Однако действительно ли Google может «видеть» ваш контент, если он не выполняет файлы JS?

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

Как тестировать и устранять проблемы SEO с JavaScript

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

1. Визуализируйте страницу с помощью инструментов Google для вебмастеров. Это поможет вам увидеть страницу так, как ее видит Google.

2. Используйте оператор поиска по сайту, чтобы проверить индекс Google. Убедитесь, что весь ваш контент на JavaScript правильно индексируется, проверив Google вручную.

3. Проведите отладку с помощью встроенных инструментов разработчика Chrome. Сравните и сопоставьте то, что «видит» Google (исходный код) и то, что видят пользователи (обработанный код), и убедитесь, что эти два взгляда на вашу страницу в целом совпадают.

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

Инструменты Google для вебмастеров

Лучший способ узнать, возникают ли у Google технические трудности при попытке отобразить ваши страницы, — это протестировать их с помощью инструментов Google для вебмастеров, таких как:

Рисунок 14. Проверка оптимизации для мобильных устройств.

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

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

Существуют также сторонние технические SEO-инструменты, такие как Merkle’s fetch and render. В отличие от инструментов Google, это приложение предоставляет пользователям полноразмерный снимок всей страницы.

Site: Оператор поиска

Если вы не уверены, индексируется ли в Google ваш контент на JavaScript, вы можете выполнить быструю проверку с помощью оператора поиска по сайту (site:).

Скопируйте и вставьте любой контент, индексирование которого в Google вызывает у вас сомнение, после оператора “site:” и названия вашего домена, а затем нажмите клавишу Return. Если ваша страница присутствует в результатах поиска, поводов для беспокойства нет! Google может без проблем сканировать, отображать и индексировать ваш контент. Если страницы нет, то вашему контенту на JavaScript требуется помощь для улучшения видимости.

Вот как это выглядит в поисковой выдаче Google:

Рисунок 15. Поисковая выдача.

Инструменты разработчика Chrome

Встроенные функции инструментов разработчика в браузере Chrome — это еще один метод, который поможет вам при тестировании и устранении проблем с JavaScript для SEO.

Щелкните правой кнопкой мыши в любой области страницы, чтобы отобразить меню параметров. Далее выберите «Просмотреть исходный код», чтобы открыть в новой вкладке статический HTML-документ.

Также в меню параметров вы можете выбрать функцию «Проверить элемент», чтобы просмотреть фактически загруженный в DOM контент, включая JavaScript.

Рисунок 16. Проверка элемента.

Сравните эти два отображения страницы, чтобы увидеть, загружается ли какой-то основной контент только в DOM, при этом не являясь жестко закодированным в источнике. Также могут помочь и сторонние расширения Chrome, например, плагин Web Developer от Криса Педерика (Chris Pederick) или плагин View Rendered Source от Джона Хогга (Jon Hogg).

Как исправить проблемы с отображением JavaScript

Итак, если проблема с отображением JavaScript все-таки была выявлена, как можно ее устранить? Ответ прост: используйте универсальный («изоморфный») JavaScript. 

Что это значит? Характеристики «универсальный» и «изоморфный» относятся к приложениям JS, которые могут выполняться либо на стороне сервера, либо на стороне клиента.

Существует несколько реализаций JavaScript, которые более дружелюбны к поисковым системам. Их отличие состоит в том, что они рендерят страницу не на стороне клиента, а на стороне сервера. В этом случае и пользователь, и поисковый бот получают сразу html код, без необходимости рендеринга кода JS:

  • Отображение на стороне сервера (SSR). Это означает, что для каждого запроса JavaScript выполняется на сервере. Вы можете реализовать SSR с помощью библиотеки Node.js, например, Puppeteer. Тем не менее это может привести к большой нагрузке на сервер.
  • Гибридное отображение. Это комбинация отображения как на стороне сервера, так и на стороне клиента. Так, основной контент отображается на стороне сервера перед отправкой клиенту. Любые дополнительные ресурсы подгружаются клиенту.
  • Динамическое отображение. С помощью User-Agent сервер определяет, кто отправляет запрос — поисковый бот или пользователь. Если запрос отправляет бот, то рендеринг происходит на стороне сервера и бот получает чистый html. Если же запрос исходит от пользователя, то полученный JS рендерится на стороне пользователя. В официальном блоге Google рекомендуют использовать Renderton — популярное решение с открытым исходным кодом, предназначенное для динамического отображения.
  • Инкрементальная статическая регенерация (обновление статического контента после развертывания сайта). Это можно выполнить с помощью таких платформ, как Next.js для React или Nuxt.js для Vue. Эти фреймворки могут предварительно строить (рендерить) каждую страницу вашего JS-приложения в статические ресурсы (страницы HTML), которые вы можете обслуживать на любом хостинге или хранилище данных. Таким образом, ваш сайт может получить все преимущества SEO-рендеринга на стороне сервера. При этом ресурсы сервера, например, серверная обработка и запросы к базе данных, в этом подходе не используются.

Эти решения гарантируют, что роботы поисковых систем получают полностью отображаемые версии веб-страниц, когда делают запросы на индексирование HTML-документов. Однако некоторые из них чрезвычайно трудно, а порой и невозможно реализовать в полной мере, если ваша инфраструктура уже построена. Вот почему перед разработкой архитектуры вашего следующего приложения важно ознакомиться со всеми необходимыми технологиями JavaScript для SEO.

Обратите внимание: это не касается сайтов, построенных на системах управления контентом (CMS), таких как WordPress или Shopify, которые уже предварительно отображают большую часть контента.

Выводы

В этом руководстве представлены некоторые передовые методы и концепции JavaScript для SEO. Однако JavaScript для поисковой оптимизации — это сложная сфера, с огромным количеством нюансов. Мы рекомендуем вам ознакомиться с официальной документацией Google и руководством по устранению неполадок, где вы сможете больше узнать о JavaScript для SEO.


Автор: Пирс Брелински

Об авторе:

Пирс Брелински — специалист по технической SEO-оптимизации, работающий в крутом агентстве цифрового маркетинга, получившем много наград. Он работал с разными компаниями: от малых предприятий до корпораций из списка Fortune 500. Мастер продвижения сайтов и горячий поклонник веб-разработки.

P.s. Подписывайтесь на наш телеграм-канал t.me/seoantteam, чтобы первыми узнавать о выходе новых материалов. Мы публикуем только полезный контент, например, как определить качественный контент сайта, как найти причины падения трафика или  как самостоятельно провести seo-аудит сайта.

Разработка сайтов на Node.js от Brander — Статьи партнеров

Если вам нужен многостраничный корпоративный сайт или мобильное приложение, мы предлагаем их разработку на основе технологии Node.js. Она позволит создать скоростной и производительный продукт. Компания Брандер выполняет проект быстро, в оговоренные сроки и согласно техническому заданию. В проектах разработчики используют низкоуровневый код, что позволяет справляться сайту с высокой нагрузкой. Основные преимущества технологии — далее в статье.

Особенности разработки сайтов на Node.js

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

Поскольку технология Node.js позволяет использовать сайт высокоскоростным пользователям, не нужно создавать отдельные потоки для каждого из существующих подключений. С помощью представленной технологии разрабатываются разные веб-ресурсы, включая чат-боты, форумы, компьютерные и мобильные игры.

Преимущества использования технологии Node.js при разработке сайтов:

  1. Быстрое комьюнити. Поскольку код низкоуровневый и открытый, разработчики Брендер занимаются написанием пакетов и модулей, а затем делятся ими. Написанные модели комбинируются, что упрощает работу программиста.
  2. Использование одного языка программирования. Технология Node.js позволяет работать с одним языком программирования на сервере и клиенте. Разработчику не нужно учить новый язык, поскольку легче и быстрее можно выучить “надстройку” под Node.js.
  3. Скорость разработки. Каждый этап разработки занимает немного времени, если четко оговорено и утверждено с клиентом техническое задание. В разработку корпоративного сайта или мобильного приложения входит анализ конкурентов и целевой аудитории, написание технического задания, прототипа и архитектуры сайта.
  4. Улучшение технологии. Технологию Node.js постоянно улучшают — над исправлением багов и модернизацией технологии работают сотрудники фирмы Node.

Какие веб-ресурсы разрабатывают с помощью технологии Node.js?

Мобильные приложения, корпоративные сайты, интернет-магазины, программы — все это можно разработать с помощью технологии Node.js. Каждый проект выполняется с учетом стандартов. Если клиент заказывает мобильное приложение и корпоративный сайт одновременно, то разработчики Брендер синхронизируют два продукта, чтобы их удобно было использовать пользователям. Для консультации и оформления заказа свяжитесь с сотрудниками компании Брендер — вам предоставят ответы на все вопросы, подробно расскажут об услугах.

javascript — Как отключить правый клик на моей веб-странице?

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

Могу ли я отключить щелчок правой кнопкой мыши

Могу ли я отключить правый клик на моей веб-странице без использования Javascript?

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

  1. Рабочее оборудование

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

Теперь предположим, что вы хотите заблокировать клавишу ввода, нажмите вот код:

  функция предотвращения входа () {
 если (event.keyCode == 13) {
  вернуть ложь;
 }
}
  

Для правого клика используйте это:

  событие.кнопка == 2
  

вместо event.keyCode . И ты его заблокируешь.

Я хочу спросить об этом, потому что большинство браузеров позволяют пользователям отключать его с помощью Javascript.

Вы правы, браузеры позволяют вам использовать JavaScript и javascript сделает всю работу за вас. Вам не нужно ничего настраивать, просто нужен атрибут script в голове.

Почему не стоит отключать?

Основной и самый быстрый ответ на этот вопрос: пользователям это не понравится . Всем нужна свобода, никто, я имею в виду, никто не хочет быть заблокированным или отключенным, несколько минут назад я был на сайте, который заблокировал мне правый клик, и я понял, почему? Вам нужно защитить исходный код? Затем здесь ctrl+shift+J Я открыл консоль и теперь я могу перейти на вкладку HTML-код .Давай, останови меня. Это не добавит никакого уровня безопасности в ваше приложение.

Правый щелчок содержит множество полезных меню, таких как «Копировать», «Вставить», «Искать в Google «текст» (в Chrome) и многие другие. Таким образом, пользователь хотел бы получить легкий доступ вместо того, чтобы запоминать множество сочетаний клавиш. Любой по-прежнему может скопировать контекст, сохранить изображение или сделать все, что захочет.

Браузеры используют навигацию с помощью мыши: Некоторые браузеры, такие как Opera , используют навигацию с помощью мыши, поэтому, если вы отключите ее, пользователь определенно ненавидит ваш пользовательский интерфейс и сценарии.

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

Ссылка на коды клавиш:

Код ключа и кнопки мыши:

http://www.w3schools.com/jsref/event_button.asp

https://developer.mozilla.org/en-US/docs/Web/API/event.button (пользователи тоже оценят).

Почему бы не отключить правый клик:

http://www.sitepoint.com/dont-disable-right-click/

Как сканировать веб-сайты JavaScript

Введение в сканирование JavaScript

Исторически боты поисковых систем, такие как Googlebot, не сканировали и не индексировали контент, созданный динамически с использованием JavaScript, и могли видеть только то, что находится в исходном коде статического HTML.

Однако с ростом количества веб-сайтов и фреймворков, насыщенных JavaScript, таких как Angular, React, Vue.JS, одностраничных приложений (SPA) и прогрессивных веб-приложений (PWA), ситуация изменилась.Google развил и отказался от своей старой схемы сканирования AJAX и теперь отображает веб-страницы, как современный браузер, прежде чем индексировать их.

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

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

Традиционно сканеры веб-сайтов также не могли сканировать веб-сайты JavaScript, пока мы не запустили первую в истории функцию рендеринга JavaScript в нашем программном обеспечении Screaming Frog SEO Spider.

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

Как и Google, мы используем Chrome для нашей службы веб-рендеринга (WRS) и постоянно обновляем его, чтобы он был как можно ближе к «вечнозеленому».Точную версию, используемую в SEO Spider, можно просмотреть в приложении («Справка» > «Отладка» в строке «Версия Chrome»).

Данное руководство содержит 4 раздела –

  1. JavaScript Основы SEO
  2. Как определить JavaScript
  3. Когда сканировать с помощью JavaScript
  4. Как сканировать веб-сайты JavaScript

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


JavaScript Основы SEO

Если вы проводите аудит веб-сайта, вам следует узнать, как он устроен и использует ли он какой-либо клиентский JavaScript для ключевого контента или ссылок.Фреймворки JavaScript могут сильно отличаться друг от друга, и последствия SEO отличаются от традиционного HTML-сайта.

Основные принципы JavaScript

Хотя Google обычно может сканировать и индексировать JavaScript, необходимо понимать некоторые основные принципы и ограничения.

  1. Все ресурсы страницы (JS, CSS, изображения) должны быть доступны для сканирования, рендеринга и индексации.
  2. Google по-прежнему требует чистых, уникальных URL-адресов для страниц, а ссылки должны быть в соответствующих тегах привязки HTML (вы можете предложить статическую ссылку, а также вызвать функцию JavaScript).
  3. Они не щелкают, как пользователь, и загружают дополнительные события после рендеринга (например, щелчок, наведение или прокрутка).
  4. Моментальный снимок визуализированной страницы делается, когда определяется, что сетевая активность остановлена ​​или превышает пороговое значение времени. Существует риск, что если страница отображается очень долго, она может быть пропущена, а элементы не будут видны и проиндексированы.
  5. Обычно Google обрабатывает все страницы, но не ставит в очередь страницы для обработки, если они имеют значение «noindex» в исходном ответе HTTP или в статическом HTML.
  6. Рендеринг Google отличается от индексации. Сначала Google сканирует статический HTML-код веб-сайта и откладывает рендеринг до тех пор, пока у него не будет ресурсов. Только тогда он обнаружит дополнительный контент и ссылки, доступные в отображаемом HTML. Исторически это могло занять неделю, но Google внес значительные улучшения, и теперь среднее время сократилось до 5 секунд.

Очень важно, чтобы вы знали эти вещи с JavaScript SEO, так как веб-сайт будет жить и умирать в зависимости от рендеринга в рейтинге.

Стратегия рендеринга

Google рекомендует разрабатывать с прогрессивным улучшением, создавая структуру сайта и навигацию, используя только HTML, а затем улучшая внешний вид и интерфейс сайта с помощью JavaScript.

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

  1. Рендеринг на стороне сервера (SSR) и предварительный рендеринг выполняют страницы JavaScript и доставляют обработанную начальную HTML-версию страницы как пользователям, так и поисковым системам.
  2. Гибридный рендеринг (иногда называемый «изоморфным») — это когда рендеринг может выполняться на стороне сервера для начальной загрузки страницы и HTML, а затем на стороне клиента для некритических элементов и страниц.

Многие фреймворки JavaScript, такие как React или Angular Universal, допускают рендеринг на стороне сервера и гибридный рендеринг.

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

Динамический рендеринг рассматривается как временная мера, а не как долгосрочная стратегия, поскольку он не дает преимуществ для пользователя или производительности, которые есть у некоторых из вышеперечисленных решений. Если у вас есть эта настройка, вы можете проверить это, переключив пользовательский агент на Googlebot в SEO Spider («Конфигурация> Пользовательский агент»).

Проблемы с индексированием JavaScript

Несмотря на то, что Google обычно может сканировать и индексировать JavaScript, есть дополнительные соображения.

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

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

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

Другие поисковые системы, такие как Bing, изо всех сил пытаются отображать и индексировать JavaScript в масштабе, и из-за хрупкости JavaScript довольно легко столкнуться с ошибками, которые могут помешать отображению и индексированию контента.

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

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


Как определить JavaScript

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

Есть несколько способов узнать, создан ли сайт с использованием JavaScript.

Ползание

Это отправная точка для многих, и вы можете просто начать сканирование веб-сайта с настройками по умолчанию, используя Screaming Frog SEO Spider.

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

Если сайт создан с использованием только клиентского JavaScript, вы часто обнаружите, что сканируется только домашняя страница с ответом 200 «ОК» с несколькими файлами JavaScript и CSS.

Вы также обнаружите, что на странице нет гиперссылок на нижней вкладке «Исходящие ссылки», так как они не отображаются и поэтому не видны.

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

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

Как вы легко их находите?

Чтобы более эффективно идентифицировать JavaScript, вам нужно переключиться в режим рендеринга JavaScript («Конфигурация > Паук > Рендеринг») и просканировать сайт или образец шаблонов со всего веб-сайта.

Затем SEO Spider будет сканировать как исходный, так и обработанный HTML-код, чтобы идентифицировать страницы с контентом или ссылками, доступными только на стороне клиента, и сообщать о других ключевых зависимостях.

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

Инструмент отметит, есть ли содержимое, найденное только в отображаемом HTML после JavaScript.

В этом примере 100 % контента находится только в отображаемом HTML, так как сайт полностью основан на JavaScript.

Аналогичным образом можно также найти страницы со ссылками, которые присутствуют только в отображаемом HTML.

Или поймать, когда JavaScript используется для обновления заголовков страниц или метаописаний из того, что находится в необработанном HTML.

Узнайте больше о каждом из фильтров на вкладке JavaScript в следующем разделе.

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

Вопросы и ответы клиентов

Это действительно должно быть первым шагом.Один из самых простых способов узнать о веб-сайте — поговорить с клиентом и командой разработчиков и задать вопрос.

На чем построен сайт? Использует ли он структуру JavaScript или какие-либо зависимости JavaScript на стороне клиента для загрузки контента или ссылок?

Довольно разумные вопросы, и вы можете просто получить полезный ответ.

Отключить JavaScript

Вы можете отключить JavaScript в своем браузере и просматривать доступный контент. Это возможно в Chrome с помощью встроенных инструментов разработчика, или, если вы используете Firefox, плагин панели инструментов веб-разработчика имеет ту же функциональность.Доступен ли контент с отключенным JavaScript? Вы можете просто увидеть пустую страницу.

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

Источник представления аудита

Щелкните правой кнопкой мыши и «просмотреть исходный код страницы» в Chrome. Это HTML до того, как JavaScript изменил страницу.

Есть ли текстовое содержимое или HTML? Часто встречаются признаки и намеки на используемые JS-фреймворки и библиотеки.Вы можете видеть содержимое и гиперссылки в исходном коде HTML?

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

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

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

Аудит визуализированного источника

Насколько визуализированный код отличается от исходного кода статического HTML? Щелкните правой кнопкой мыши и «проверить элемент» в Chrome, чтобы просмотреть отображаемый HTML-код после выполнения JavaScript.

Вы часто можете увидеть имя JS Framework в отрендеренном коде, например «React» в приведенном ниже примере.

Вы обнаружите, что содержимое и гиперссылки находятся в отрендеренном коде, но не в исходном HTML-коде. Это то, что увидит SEO Spider в режиме рендеринга JavaScript.

Нажав на открывающийся HTML-элемент, а затем «копировать > externalHTML», вы можете сравнить отрендеренный исходный код с оригинальным исходным кодом.

Панели инструментов и плагины

Различные панели инструментов и плагины, такие как панель инструментов BuiltWith, Wappalyser и детектор библиотек JS для Chrome, могут помочь с первого взгляда определить технологии и платформы, используемые на веб-странице.

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


Когда сканировать с помощью JavaScript

Хотя Google обычно отображает каждую веб-страницу, мы по-прежнему рекомендуем использовать выборочное сканирование JavaScript —

  • При первом анализе веб-сайта для определения JavaScript.
  • Аудит с известными зависимостями на стороне клиента.
  • Во время развертывания крупных сайтов.

Почему выборочно?

Сканирование JavaScript происходит медленнее и интенсивнее, так как все ресурсы (будь то JavaScript, CSS и изображения) должны извлекаться для рендеринга каждой веб-страницы в автономном браузере в фоновом режиме для построения DOM.

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

Если вы предпочитаете сканировать с включенным по умолчанию рендерингом JavaScript, установите режим рендеринга JavaScript через «Config > Spider > Rendering» и сохраните конфигурацию.


Как сканировать веб-сайты, насыщенные JavaScript

Для сканирования веб-сайтов и фреймворков, насыщенных JavaScript, таких как Angular, React и Vue.js и определите зависимости, переключитесь в режим рендеринга JavaScript.

Следующие 10 шагов должны помочь вам настроить и проверить веб-сайт JavaScript в большинстве случаев.

1) Настроить рендеринг на «JavaScript»

Чтобы просканировать веб-сайт JavaScript, откройте SEO Spider, нажмите «Конфигурация > Spider > Рендеринг» и измените «Рендеринг» на «JavaScript».

2) Настройка агента пользователя и размера окна

Область просмотра по умолчанию для рендеринга настроена на Googlebot Smartphone, так как Google в основном сканирует и индексирует страницы с помощью своего агента для смартфонов для индексации в первую очередь для мобильных устройств.

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

Вы можете настроить как пользовательский агент в разделе «Конфигурация > HTTP-заголовок > Пользовательский агент», так и размер окна, щелкнув «Конфигурация > Паук > Рендеринг» в режиме рендеринга JavaScript в соответствии с вашими требованиями.

3) Проверьте ресурсы и внешние ссылки

Убедитесь, что такие ресурсы, как изображения, CSS и JS, отмечены галочкой в ​​разделе «Конфигурация > Паук».

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

Это конфигурация по умолчанию в SEO Spider, поэтому вы можете просто нажать «Файл > Конфигурация по умолчанию > Очистить конфигурацию по умолчанию», чтобы вернуться к этой настройке.

4) Просканировать веб-сайт

Теперь введите или вставьте веб-сайт, который вы хотите сканировать, в поле «Введите URL-адрес для паука» и нажмите «Пуск».

Сканирование отличается от стандартного сканирования, поскольку может потребоваться некоторое время, чтобы что-либо появилось в пользовательском интерфейсе, а затем внезапно появляется множество URL-адресов одновременно. Это связано с тем, что SEO Spider ожидает получения всех ресурсов для отображения страницы перед отображением данных.

5) Просмотр вкладки JavaScript

На вкладке JavaScript есть 15 фильтров, которые помогут вам узнать о зависимостях JavaScript и распространенных проблемах.

Вы можете фильтровать по следующим элементам, связанным с SEO —

  • Страницы с заблокированными ресурсами — Страницы с ресурсами (такими как изображения, JavaScript и CSS), которые заблокированы роботами.текст. Это может быть проблемой, поскольку поисковые системы могут не иметь доступа к важным ресурсам, необходимым для точного отображения страниц. Обновите robots.txt, чтобы разрешить обход всех важных ресурсов и их использование для отображения содержимого веб-сайтов. Некритичные ресурсы (например, встраивание Google Maps) можно игнорировать.
  • Содержит ссылки JavaScript — страницы, содержащие гиперссылки, которые обнаруживаются в отображаемом HTML только после выполнения JavaScript. Эти гиперссылки не находятся в необработанном HTML.Хотя Google может отображать страницы и видеть только ссылки на стороне клиента, рассмотрите возможность включения важных ссылок на стороне сервера в необработанный HTML.
  • Содержит контент JavaScript — страницы, содержащие основной текст, который обнаруживается в визуализируемом HTML только после выполнения JavaScript. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • Noindex Только в исходном HTML — Страницы, которые содержат noindex в необработанном HTML, а не в отображаемом HTML.Когда робот Googlebot встречает тег noindex, он пропускает рендеринг и выполнение JavaScript. Поскольку робот Googlebot пропускает выполнение JavaScript, использование JavaScript для удаления «noindex» в отображаемом HTML не сработает. Внимательно просмотрите страницы с noindex в исходном HTML-коде, и они не будут проиндексированы. Удалите «noindex», если страницы должны быть проиндексированы.
  • Nofollow Только в исходном HTML — страницы, которые содержат nofollow в необработанном HTML, а не в отображаемом HTML. Это означает, что любые гиперссылки в исходном HTML-коде перед выполнением JavaScript не будут выполняться.Внимательно просмотрите страницы с nofollow в необработанном HTML-коде. Удалите «nofollow», если ссылки должны переходить, сканироваться и индексироваться.
  • Canonical Only in Rendered HTML — страницы, содержащие канонический код только в обработанном HTML после выполнения JavaScript. Google заявил, что они обрабатывают канонические символы только в необработанном HTML, хотя отраслевые тесты показали, что Google может обрабатывать их в обработанном HTML. Включите каноническую ссылку в необработанный HTML-код (или заголовок HTTP), чтобы Google мог ее увидеть и не полагаться только на каноническую ссылку только в отображаемом HTML-коде.
  • Каноническое несоответствие — страницы, которые содержат другую каноническую ссылку в необработанном HTML-коде на визуализированный HTML-код после выполнения JavaScript. Google говорит, что они обрабатывают канонические символы только в необработанном HTML, хотя отраслевые тесты показали, что они обрабатывают их в обработанном HTML. Однако это может вызвать противоречивые сигналы и привести к нежелательному поведению. Убедитесь, что правильный канонический код указан в необработанном HTML и отображаемом HTML, чтобы избежать противоречивых сигналов для поисковых систем.
  • Заголовок страницы только в визуализируемом HTML — Страницы, которые содержат заголовок страницы только в визуализируемом HTML после выполнения JavaScript.Это означает, что поисковая система должна отображать страницу, чтобы увидеть ее. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • Заголовок страницы обновлен с помощью JavaScript — Страницы, заголовки которых изменены с помощью JavaScript. Это означает, что заголовок страницы в необработанном HTML отличается от заголовка страницы в отображаемом HTML. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • Мета-описание только в визуализируемом HTML — страницы, которые содержат метаописание только в визуализируемом HTML после выполнения JavaScript. Это означает, что поисковая система должна отображать страницу, чтобы увидеть ее. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • Мета-описание, обновленное с помощью JavaScript — страницы с метаописаниями, измененными с помощью JavaScript. Это означает, что метаописание в необработанном HTML отличается от метаописания в отображаемом HTML.Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • h2 Only in Rendered HTML — страницы, которые содержат h2 только в обработанном HTML после выполнения JavaScript. Это означает, что поисковая система должна отображать страницу, чтобы увидеть ее. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • h2 Обновлен JavaScript — Страницы с h2, измененными JavaScript.Это означает, что h2 в необработанном HTML отличается от h2 в отображаемом HTML. Хотя Google может отображать страницы и просматривать контент только на стороне клиента, рассмотрите возможность включения важного контента на стороне сервера в необработанный HTML.
  • Использует URL-адреса старой схемы сканирования AJAX — URL-адреса, которые все еще используют старую схему сканирования AJAX (URL-адрес, содержащий хэш-фрагмент #!), которая официально объявлена ​​устаревшей с октября 2015 г. Обновите URL-адреса, чтобы следовать рекомендациям JavaScript в Интернете сегодня . Рассмотрите рендеринг на стороне сервера или предварительный рендеринг, где это возможно, и динамический рендеринг в качестве временного решения.
  • Использует метатег метафрагмента старой схемы сканирования AJAX — URL-адреса содержат тег метафрагмента, указывающий, что страница по-прежнему использует старую схему сканирования AJAX, которая официально объявлена ​​устаревшей с октября 2015 года. Обновите URL-адреса, чтобы следовать передовым практикам JavaScript в Интернете сегодня . Рассмотрите рендеринг на стороне сервера или предварительный рендеринг, где это возможно, и динамический рендеринг в качестве временного решения. Если на сайте все еще есть старый тег метафрагмента по ошибке, его следует удалить.

6) Мониторинг заблокированных ресурсов

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

Заблокированные ресурсы также можно просмотреть для каждой страницы на вкладке «Визуализированная страница», расположенной рядом с обработанным снимком экрана в нижней панели окна. В тяжелых случаях, если сайт JavaScript полностью блокирует ресурсы JS, сайт просто не будет сканироваться.

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

Отдельные заблокированные ресурсы также можно просмотреть в разделе «Коды ответов > Заблокированный ресурс».

Их можно экспортировать массово, включая исходные страницы, с помощью отчета «Массовый экспорт > Коды ответов > Заблокированные внутренние ссылки ресурсов».

7) Просмотр отображаемых страниц

Вы можете просмотреть визуализированный скриншот страницы, просканированный SEO Spider, на нижней вкладке «Визуализированная страница» при сканировании в режиме рендеринга JavaScript и выборе URL-адресов в верхнем окне.

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

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

8) Сравните необработанный и визуализированный HTML и видимый контент

Вы можете хранить и просматривать HTML и визуализированный HTML в SEO Spider при работе с JavaScript.Это можно настроить в разделе «Конфигурация > Паук > Извлечение» и отметив соответствующие параметры сохранения HTML и сохранения отображаемого HTML.

Затем он заполняет панель «просмотр исходного кода» нижнего окна, чтобы вы могли сравнить различия и быть уверенными, что критический контент или ссылки присутствуют в DOM. Нажмите «Показать отличия», чтобы увидеть разницу.

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

Если для страницы сработал фильтр «Содержимое JavaScript», вы можете переключить фильтр «HTML» на «Видимый контент», чтобы точно определить, какое текстовое содержимое находится только в отображаемом HTML.

9) Определение ссылок только на JavaScript

Если сработал фильтр «Содержит ссылки JavaScript», вы можете определить, какие гиперссылки обнаруживаются в отображаемом HTML-коде только после выполнения JavaScript, щелкнув URL-адрес в верхнем окне, затем нижнюю вкладку «Исходящие ссылки» и выбрав «Визуализированный HTML-код». ‘ фильтр источника ссылки.

Это может быть полезно, когда с помощью JavaScript загружаются только определенные ссылки, такие как продукты на страницах категорий. Вы можете массово экспортировать все ссылки, основанные на JavaScript, через «Массовый экспорт > JavaScript > Содержит ссылки JavaScript».

10) Настройка времени ожидания AJAX

Основываясь на ответах вашего обхода, вы можете выбрать, когда будет сделан снимок визуализируемой страницы, настроив «Тайм-аут AJAX», который установлен на 5 секунд, в разделе «Конфигурация > Паук > Рендеринг» в режиме рендеринга JavaScript.

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

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

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


Как сканировать видео JavaScript

Если вы предпочитаете видео, ознакомьтесь с нашим руководством по сканированию JavaScript.


Заключительные мысли

Приведенное выше руководство должно помочь вам идентифицировать веб-сайты JavaScript и эффективно их сканировать с помощью инструмента Screaming Frog SEO Spider в режиме рендеринга JavaScript.

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

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

Дополнительные показания

Если у вас возникнут проблемы при сканировании JavaScript или вы столкнетесь с какими-либо различиями между тем, как мы визуализируем и сканируем, и Google, мы будем рады получить от вас известие.Пожалуйста, свяжитесь с нашей службой поддержки напрямую.

proxy — веб-сайт или служба для просмотра страницы без Javascript

proxy — веб-сайт или служба для просмотра страницы без Javascript
Сеть обмена стеками

Сеть Stack Exchange состоит из 179 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетите биржу стека
  1. 0
  2. +0
  3. Войти
  4. Зарегистрироваться

Webmasters Stack Exchange — это сайт вопросов и ответов для профессиональных веб-мастеров.Регистрация занимает всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Любой может задать вопрос

Любой может ответить

Лучшие ответы голосуются и поднимаются на вершину

спросил

Просмотрено 25 тысяч раз

Закрыто. Этот вопрос не по теме. В настоящее время ответы не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Exchange для веб-мастеров.

Закрыта 6 лет назад.

Есть ли какой-либо веб-сайт или служба, которые позволяют вам отправить URL-адрес и отображают соответствующую страницу с удаленным/отключенным Javascript?

Уточнение: это отправка ссылки для просмотра кому-то другому (не в моем собственном браузере).Думайте об этом как о bit.ly

без JS.

спросил 30 июля 2011 в 18:47

Абдулла ДжибалиАбдулла Джибали

16511 золотой знак11 серебряный знак77 бронзовых знаков

3

снимков браузера.org имеет несколько опций (включая отключение JavaScript и Flash) и множество различных браузеров/версий на выбор.

Добавить комментарий

Ваш адрес email не будет опубликован.