Последний термин — разработчики — является общим для всех и может включать в себя инженеров-программистов, кодеров, программистов, фронтенд- и бэкенд-разработчиков, а также ИТ-специалистов различных типов. Это люди, которые пишут код и/или управляют различными базовыми веб-технологиями, составляющими и обеспечивающими работу веб-сайтов.
В вашей роли SEO-специалиста вам может быть нецелесообразно полностью владеть языками программирования, такими как C++ и Java, или языками сценариев, такими как PHP и JavaScript, или языками разметки, такими как HTML, XML или языком таблиц стилей CSS.
Кроме того, существует множество других языков программирования, скриптовых языков и языков разметки — освоить каждый из них было бы непосильной задачей, даже если вы работаете программистом на полную ставку, а не занимаетесь SEO.
Однако для вас, как для SEO-специалиста, крайне важно понимать различные языки программирования, технологии и технологические стеки, составляющие основу веб-технологий. При разработке рекомендаций по SEO, которые, скорее всего, будут реализовывать разработчики, вам необходимо понимать их образ мышления, их проблемы, особенности их работы — и вы должны уметь говорить на их языке.
Вам не обязательно знать всё, что знают разработчики, но вы должны хорошо понимать, чем они занимаются, чтобы задавать более качественные вопросы и давать рекомендации по SEO таким образом, чтобы они были понятны разработчикам, и чтобы эти рекомендации с большей вероятностью были реализованы.
Когда вы говорите на их языке и понимаете, как устроен их мир, вы способствуете созданию атмосферы сотрудничества, где все работают в одном направлении для достижения одних и тех же позитивных результатов.
И, конечно же, помимо построения партнерских отношений, профессиональная работа в сфере SEO включает в себя много технической работы по выявлению и предотвращению проблем, поэтому понимание различных аспектов веб-технологий не является желательным, а обязательным.
Веб-технологии могут быть сложными и пугающими, но, надеюсь, это руководство поможет вам немного упростить задачу и восполнить некоторые пробелы в вашем понимании.
Давайте прямо сейчас!
Интернет против Всемирной паутины
Большинство людей используют эти термины как синонимы, но технически они означают не одно и то же, хотя и связаны между собой.
Интернет зародился как децентрализованная сеть независимых взаимосвязанных компьютеров.
Министерство обороны США на протяжении времени принимало участие в проекте и заключало с ним контракты, в том числе на разработку проекта ARPANET (Advanced Research Projects Agency Network), который представлял собой одну из первых сетей пакетной коммутации и первым использовал протокол TCP/IP (Transmission Control Protocol and Internet Protocol).
Проект ARPANET привел к «интернетработаетгде различные компьютерные сети могли быть объединены в более крупную «сеть сетей».
Разработка Всемирной паутины приписывается британскому учёному-компьютерщику сэру Тиму Бенерсу-Ли в 1980-х годах; он разработал технологию создания гипертекстовых документов, на основе которых была построена модель обмена информацией «поверх» Интернета.
Документы (веб-страницы) должны были быть отформатированы с использованием языка разметки HTML (Hypertext Markup Language) и могли быть связаны друг с другом с помощью гиперссылок, по которым пользователи могли переходить на другие веб-страницы.
Веб-хостинг
Веб-хостинг, или просто хостинг, — это услуги, позволяющие частным лицам и компаниям размещать веб-страницы или веб-сайты в интернете. Хостинговые компании используют компьютерные системы, называемые «серверами», которые по своей природе не сильно отличаются от компьютеров, с которыми вы уже знакомы, но, конечно, есть и различия.
Существует множество типов компаний, предоставляющих веб-хостинг, которые помимо самого хостинга предлагают широкий спектр услуг; к таким услугам могут относиться регистрация доменных имен, конструкторы сайтов, электронные адреса, услуги по обеспечению безопасности веб-сайтов и многое другое.
Короче говоря, хостинг — это место, где публикуются веб-сайты.
Веб-серверы
Веб-сервер — это компьютер, который хранит веб-документы и ресурсы. Веб-серверы получают запросы от клиентов (браузеров) на веб-страницы, изображения и т. д. Когда вы посещаете веб-страницу, ваш браузер запрашивает все ресурсы/файлы, необходимые для отображения этой веб-страницы в вашем браузере. Это происходит примерно так:
От клиента (браузера) к серверу: «Привет, мне нужна эта веб-страница, пожалуйста, предоставьте весь текст, изображения и другие материалы, которые у вас есть для этой страницы».
От сервера к клиенту: «Хорошо, вот оно».
На скорость отображения (рендеринга) веб-страницы влияют различные факторы, включая скорость сервера и размер(ы) запрашиваемых файлов.
Чаще всего вы будете сталкиваться с тремя типами серверов:
- Apache — это программное обеспечение с открытым исходным кодом, свободное и совместимое со многими операционными системами, такими как Linux. Часто используемая аббревиатура — «LAMP stack», обозначающая комбинацию Linux, Apache, MySQL (реляционная база данных) и PHP (язык сценариев для серверной части).
- IIS расшифровывается как «Internet Information Services» (Интернет-информационные службы) и представляет собой проприетарное программное обеспечение, разработанное компанией Microsoft. Сервер IIS часто называют «сервером Windows», поскольку он работает под управлением операционной системы Windows NT.
- NGINX (произносится как «Энджин Икс») позиционируется как высокопроизводительный сервер, способный также выполнять балансировку нагрузки, использоваться в качестве обратного прокси-сервера и многое другое. Заявленные цели и причины его создания включают в себя превосходство над другими типами серверов.
Файлы журналов сервера
Эти файлы, часто сокращенно называемые «журнальными файлами», представляют собой записи активности сервера в ответ на запросы к веб-страницам и связанным с ними ресурсам, таким как изображения. Некоторые серверы могут быть уже настроены для записи этой активности, другие потребуют дополнительной настройки.
Журналы событий отражают «реальную» ситуацию на веб-сайте и содержат такую информацию, как запрошенная страница или файл, дата и время запроса, пользовательский агент, отправивший запрос, тип ответа (найден, ошибка, перенаправление и т. д.), источник перехода и некоторые другие данные, такие как количество переданных байтов и IP-адрес клиента.
Специалистам по SEO следует ознакомиться с анализом лог-файлов. Для более подробного изучения этой темы прочитайте объяснение JafSoft на примере лог-файла веб-сервера.
Ftp
FTP расшифровывается как File Transfer Protocol (протокол передачи файлов) и используется для загрузки файлов ресурсов, таких как веб-страницы, изображения, XML-карты сайта, файлы robots.txt и PDF-файлы, на ваш веб-хостинг, чтобы сделать эти файлы доступными и просматриваемыми в Интернете через браузеры. Для этой цели можно использовать бесплатные программы FTP.
Интерфейс представляет собой привычную древовидную структуру файлов и папок, где слева вы увидите файлы с вашего локального компьютера, а справа — файлы с удаленного сервера. Вы можете перетаскивать локальные файлы на сервер для загрузки. Вуаля, вы разместили файлы в интернете! Для получения более подробной информации, Wired предлагает отличное руководство по FTP для начинающих.
Доменное имя
Доменное имя — это строка (обычно) текста, используемая в URL (Uniform Resource Locator). Для простоты, для URL https://www.website.com «website» — это доменное имя.
Корневой домен и поддомен
Корневой домен — это то, что мы обычно подразумеваем под доменным именем, например, «website» в URL-адресе https://www.website.com. Поддомен — это часть URL-адреса, содержащая www. Другие примеры поддоменов: news.website.com, products.website.com, support.website.com и так далее.
Для получения более подробной информации о различиях между доменом и поддоменом.
URL против URI
Аббревиатура URL расшифровывается как «Universal Resource Locator» (например, https://www.website.com/this-is-a-page), а URI — как «Uniform Resource Identifier» (единый идентификатор ресурса) и представляет собой подмножество полного URL (например, /this-is-a-page.html).
HTML, CSS и JavaScript
Я объединил здесь HTML, CSS и JavaScript не потому, что каждый из них не заслуживает отдельного раздела, а потому, что SEO-специалистам полезно понимать, что именно эти три языка составляют основу кода современных веб-страниц (с многочисленными исключениями, конечно, некоторые из которых будут отмечены в других разделах).
HTML расшифровывается как «язык гипертекстовой разметки» и является первоначальным и основополагающим языком веб-страниц во Всемирной паутине.
CSS расшифровывается как «каскадные таблицы стилей» и представляет собой язык таблиц стилей, используемый для оформления и позиционирования HTML-элементов на веб-странице, позволяющий разделить представление и содержание.
JavaScript (не путать с языком программирования «Java») — это скриптовый язык для клиентской стороны, предназначенный для создания интерактивных функций на веб-страницах.
AJAX и XML
AJAX расшифровывается как «асинхронный JavaScript и XML». Асинхронность означает, что клиент/браузер и сервер могут работать и взаимодействовать независимо друг от друга, позволяя пользователю продолжать взаимодействие с веб-страницей независимо от того, что происходит на сервере. JavaScript используется для выполнения асинхронных запросов к серверу, и когда сервер отвечает, JavaScript изменяет содержимое страницы, отображаемое пользователю. Данные, отправляемые асинхронно с сервера на клиент, упаковываются в формат XML, поэтому их легко обрабатывает JavaScript. Это уменьшает трафик между клиентом и сервером, что увеличивает время ответа и скорость.
XML расшифровывается как «расширяемый язык разметки» и похож на HTML, используя теги, элементы и атрибуты. Он был разработан как для хранения, так и для передачи данных, в то время как HTML используется для отображения данных. В целях SEO наиболее распространенное использование XML — в XML-файлах карты сайта.
Структурированные данные (также известные как Schema.org)
Структурированные данные — это разметка, которую можно добавить в HTML-код страницы, чтобы помочь поисковым системам лучше понимать содержимое страницы или, по крайней мере, определенные ее элементы. Используя утвержденные стандартные форматы, вы предоставляете дополнительную информацию, которая облегчает поисковым системам анализ соответствующих данных на странице.
Структурированные данные обычно используются для разметки определенных аспектов рецептов, литературных произведений, товаров, мест, событий различного рода и многого другого.
Schema.org был запущен 2 июня 2011 года в результате совместных усилий Google, Bing и Yahoo (вскоре к ним присоединился Yandex) по созданию общего набора согласованных и стандартизированных схем для разметки структурированных данных на веб-страницах. С тех пор термин «Schema.org» стал синонимом термина «структурированные данные», и типы структурированных данных Schema.org постоянно развиваются, и новые типы добавляются с относительной частотой.
Один из главных выводов о структурированных данных заключается в том, что они помогают поисковым системам различать информацию, что облегчает их понимание, а также в том, что определенные элементы разметки могут приводить к отображению дополнительной информации на страницах результатов поиска (SERP), такой как рейтинг в звездах, время приготовления рецептов и так далее. Следует отметить, что добавление структурированных данных не гарантирует появления таких функций в SERP.
Существует ряд словарей структурированных данных, но JSON-LD (JavaScript Object Notation for Linked Data) стал предпочтительным и рекомендуемым методом разметки структурированных данных по версии Google в соответствии с рекомендациями Schema.org, хотя поддерживаются и другие форматы, такие как микроданные и RDFa.
JSON-LD проще добавлять на страницы, проще поддерживать и изменять, и он менее подвержен ошибкам, чем микроданные, которые необходимо оборачивать вокруг существующих HTML-элементов, тогда как JSON-LD можно добавить как единый блок в раздел <head> HTML-кода веб-страницы.
Фронтенд против бэкенда, клиентская часть против серверной части
Возможно, вы общались с разработчиком, который говорил: «Я фронтенд-разработчик», и задавались вопросом, что это значит. Или, возможно, слышали, как кто-то говорил: «О, это функциональность бэкенда». Все это может показаться запутанным, но это легко прояснить.
Термины «фронтенд» и «клиентская сторона» означают одно и то же: это происходит (выполняется) в браузере. Например, JavaScript изначально разрабатывался как инструмент, который выполняется на веб-странице в браузере, то есть без необходимости обращаться к серверу.
Термины «бэкэнд» и «серверная часть» означают одно и то же: всё происходит (выполняется) на сервере. Например, PHP — это серверный язык сценариев, который выполняется на сервере, а не в браузере. Некоторые системы управления контентом (CMS), такие как WordPress, используют шаблоны веб-страниц на основе PHP, и контент запрашивается с сервера для отображения в браузере.
Языки программирования и скриптовые языки
Инженеры и разработчики действительно по-разному объясняют и определяют термины. Некоторые утверждают, что в конечном итоге различий нет или что границы размыты, но общепринятое различие между языком программирования (например, C или Pascal) и языком сценариев (например, JavaScript или PHP) заключается в том, что язык программирования требует явного этапа компиляции, тогда как созданный человеком, удобочитаемый код преобразуется в определенный набор инструкций на машинном языке, понятных компьютеру.
Система управления контентом (CMS)
CMS — это программное приложение или набор связанных программ, используемых для создания и управления веб-сайтами (или, используя более модный термин, «цифровой контент»). По сути, вы можете использовать CMS для создания, редактирования, публикации и архивирования веб-страниц, сообщений в блогах и статей, и обычно она имеет различные встроенные функции.
Использование CMS для создания веб-сайта означает, что нет необходимости писать код с нуля, и это одна из главных причин широкой популярности CMS.
Еще одним распространенным аспектом CMS являются плагины, которые можно интегрировать с основной CMS для расширения функциональности, не входящей в список основных функций CMS.
К распространённым CMS относятся WordPress, Drupal, Joomla, ExpressionEngine, Magento, WooCommerce, Shopify, Squarespace, и существует множество других.
Сеть доставки контента (CDN)
Иногда называемые «сетями доставки контента», CDN представляют собой крупные сети серверов, географически распределенных с целью предоставления веб-контента с сервера, расположенного ближе к клиенту, отправляющему запрос, для уменьшения задержки (латентности).
CDN-сети кэшируют копии вашего веб-контента на этих серверах, а затем серверы, расположенные ближе всего к посетителю сайта, предоставляют запрошенный веб-контент. CDN-сети используются для обеспечения высокой доступности и высокой производительности.
HTTPS, SSL и TLS
Веб-данные передаются между компьютерами посредством пакетов данных, содержащих код. Клиенты (веб-браузеры) выступают в качестве пользовательского интерфейса, когда мы запрашиваем веб-страницу с сервера. HTTP (протокол передачи гипертекста) — это метод связи, который браузер использует для «общения» с сервером и отправки запросов. HTTPS — это защищенная версия этого протокола (безопасный протокол передачи гипертекста).
Владельцы веб-сайтов могут перевести свои сайты на протокол HTTPS, чтобы сделать соединение с пользователями более безопасным и менее подверженным атакам типа «человек посередине», когда третья сторона перехватывает или может изменить передаваемые данные.
SSL расшифровывается как «Secure Sockets Layer» и представляет собой стандартный протокол безопасности для установления шифрования связи между сервером и браузером. TLS (Transport Layer Security) — это более новая версия SSL.
HTTP/1.1 и HTTP/2
Когда Тим Бернерс-Ли изобрел протокол HTTP в 1989 году, компьютер, который он использовал, не обладал вычислительной мощностью и памятью современных компьютеров. Клиент (браузер), подключающийся к серверу с использованием HTTP/1.1, получает информацию в последовательности сетевых запросов и ответов, которые часто называют «круговыми переходами» к серверу, иногда именуемыми «рукопожатиями».
Каждый цикл обмена данными занимает время, а HTTPS — это HTTP-соединение с наложенным SSL/TSL, что требует еще одного подтверждения связи с сервером. Все это занимает время, вызывая задержку. То, что было достаточно быстрым тогда, не обязательно достаточно быстро сейчас.
HTTP/2 — это первая новая версия HTTP со времен версии 1.1. Проще говоря, HTTP/2 позволяет серверу быстрее доставлять клиенту/браузеру больше ресурсов, чем HTTP/1.1, за счет использования мультиплексирования, сжатия, приоритезации запросов и механизма «серверной отправки», который позволяет серверу отправлять клиенту ресурсы, которые еще не были запрошены.
Интерфейс прикладного программирования (API)
Приложение — это общий термин, который, проще говоря, обозначает тип программного обеспечения, способного выполнять определенные задачи. К приложениям относятся программное обеспечение, веб-браузеры и базы данных.
API — это интерфейс взаимодействия с приложением, как правило, с базой данных. API подобен мессенджеру, который принимает запросы, сообщает системе, что вы хотите получить, и возвращает вам ответ.
Если вы находитесь в ресторане и хотите, чтобы кухня приготовила вам определенное блюдо, официант, принимающий ваш заказ, выступает в роли посредника, связывающего вас с кухней, что аналогично использованию API для запроса и получения информации из базы данных.
AMP, PWA и SPA
Если вы хотите создать веб-сайт сегодня, у вас есть множество вариантов.
Вы можете создать его с нуля, используя HTML для доставки контента, CSS для внешнего вида и JavaScript для интерактивных элементов.
Или вы можете использовать CMS (систему управления контентом), например WordPress, Magento или Drupal.
Или же вы можете создать его с использованием AMP, PWA или SPA.
AMP AMP расшифровывается как Accelerated Mobile Pages (ускоренные мобильные страницы) и представляет собой инициативу Google с открытым исходным кодом, содержащую определенный набор HTML-тегов и различных функциональных компонентов, которые постоянно развиваются. Преимущество AMP — молниеносная загрузка веб-страниц при соблюдении спецификаций AMP, недостаток — некоторая желаемая функция может быть в настоящее время недоступна, а также могут возникнуть проблемы с корректным отслеживанием аналитики.
PWA расшифровывается как Progressive Web App (прогрессивное веб-приложение) и сочетает в себе лучшие черты традиционных веб-сайтов и мобильных приложений. PWA обеспечивают пользователям опыт, аналогичный работе с нативными приложениями, например, push-уведомления, возможность работы в автономном режиме и создание значка запуска на мобильном телефоне.
Используя «сервис-воркеры» для связи между клиентом и сервером, PWA сочетают быструю загрузку веб-страниц с возможностью функционировать как нативное мобильное приложение. Однако, поскольку PWA — это фреймворки JavaScript, вы можете столкнуться с рядом технических проблем.
Одностраничные приложения (SPA) отличаются от традиционных веб-страниц, которые загружают каждую страницу, запрашиваемую пользователем в рамках сессии, посредством многократной связи с сервером. SPA, напротив, работают внутри браузера, и новые страницы, просматриваемые в рамках пользовательской сессии, не требуют перезагрузки страницы посредством запросов к серверу.
К основным преимуществам одностраничных приложений (SPA) относятся упрощенная разработка и очень быстрая работа для пользователей. К основным недостаткам относятся потенциальные проблемы с SEO из-за непостоянной способности поисковых систем обрабатывать контент, предоставляемый JavaScript. Отладка проблем также может быть сложнее и занимать больше времени разработчиков.
Стоит отметить, что будущий успех каждой из этих веб-технологий в конечном итоге зависит от их внедрения разработчиками.
Заключение
Очевидно, что для подробного и всестороннего описания всех аспектов веб-технологий потребовалась бы очень длинная книга, но это руководство должно предоставить вам, профессиональному SEO-специалисту, полезную информацию, которая поможет восполнить пробелы в вашем понимании различных ключевых аспектов веб-технологий.
В этой статье я привел множество ссылок, которые могут послужить отправной точкой для изучения любых тем, которые вы хотели бы рассмотреть подробнее. Несомненно, существует множество других тем, с которыми SEO-специалистам необходимо быть знакомыми, таких как файлы robots.txt, метатеги robots, канонические теги rel, XML-карты сайта, коды ответов сервера и многое другое.
_____
by Дэвид Портни
Источник: searchchenginewatch.com






