Что на самом деле происходит, когда пользователь вбивает в браузер адрес google.com
Публикация основана на переводе репозитория «What happens when…» Филлипа Джеймса
Обновлено: 20.01.2021
Эта статья является попыткой ответа на старый вопрос для собеседований: «Что же случается, когда вы печатаете в адресной строке google.com и нажимаете Enter?» Мы попробуем разобраться в этом максимально подробно, не пропуская ни одной детали.
Примечание: представленный контент изобилует большим количеством терминов, в переводе некоторых из них могут присутствовать различные неточности. Если вы обнаружите какую-то ошибку в нашем переводе — напишите личным сообщением, и мы всё исправим.
Мы перенесли перевод в репозиторий GitHub и отправили Pull Request автору материала — оставляйте свои правки к тексту, и вместе мы сможем значительно улучшить его.
1. Нажата клавиша «g»
Далее в статье содержится информация о работе физической клавиатуры и прерывания операционной системы. Но много чего происходит и помимо этого — когда вы нажимаете клавишу «g», браузер получает событие и запускается механизм автоподстановки. В зависимости от алгоритма браузера и его режима (включена ли функция «инкогнито») в выпадающем окне под строкой URL пользователю будет предложено определённое количество вариантов для автоподстановки.
Большинство алгоритмов автоподстановки ранжируют рекомендации в зависимости от истории поиска и оставленных закладках. Некоторые браузеры (например, Rockmelt) даже предлагают профили друзей на Facebook. Когда пользователь планирует напечатать в адресной строке «google.com», ничего из вышеперечисленного не играет роли, но тем не менее выполнится большое количество кода, а рекомендации будут обновляться с каждой новой напечатанной буквой. Возможно, браузер предложит перейти на google.com, до того, как пользователь вобьёт адрес целиком.
2. Клавиша «enter» нажата до конца
В качестве некой нулевой точки можно выбрать момент, когда клавиша Enter на клавиатуре нажата до конца и находится в нижнем положении. В этой точке замыкается электрическая цепь этой клавиши и небольшое количество тока отправляется по электросхеме клавиатуры, которая сканирует состояние каждого переключателя клавиши и конвертирует сигнал в целочисленный код клавиши (в данном случае — 13). Затем контроллер клавиатуры конвертирует код клавиши для передачи его компьютеру. Как правило, сейчас передача происходит через USB или Bluetooth, а раньше клавиатура подключалась к компьютеру с помощью коннекторов PS/2 или ADB.
В случае USB-клавиатуры:
- Для работы USB-контуру клавиатуры требуется 5 вольт питания, которые поступают через USB-контроллер на компьютере.
- Сгенерированный код клавиши хранится в регистре внутренней памяти клавиатуры, который называется «конечной точкой» (endpoint).
- USB-контроллер компьютера опрашивает эту конечную точку каждые 10 микросекунд и получает хранящийся там код клавиши.
- Затем это значение поступает в USB SIE (Serial Interface Engine) для конвертации в один или более USB-пакетов, которые формируются по низкоуровневому протоколу USB.
- Эти пакеты затем пересылаются с помощью различных электрических сигналов через D+ и D- контакты с максимальной скоростью 1,5 Мб/сек — поскольку HID-устройства (Human Interface Device) всегда были «низкоскоростными».
- Этот последовательный сигнал далее декодируется в USB-контроллере компьютера и интерпретируется универсальным драйвером HID-устройства (клавиатуры). Затем значение кода клавиши передаётся на «железный» уровень абстракции операционной системы.
В случае виртуальной клавиатуры (тачскрин):
- Когда пользователь прикладывает палец к современному ёмкостному тач-экрану, небольшое количество тока передаётся к пальцу. Это замыкает цепь через электростатическое поле проводящего слоя и создаёт падение напряжения в этой точке экрана. Экранный контроллер затем инициирует прерывание, сообщающее координату «клика».
- Затем мобильная ОС оповещает текущее открытое приложение о событии клика в одном из GUI-элементов (в этом случае — кнопках виртуальной клавиатуры).
- Виртуальная клавиатура вызывает программное прерывание для отправки сообщения «клавиша нажата» обратно в ОС.
- Это прерывание оповещает текущее открытое приложение о возникновении события «нажатия клавиши».
2.1 Возникло прерывание [не для USB-клавиатур]
Клавиатура отправляет сигналы в свою «линию запросов прерываний» (IRQ), которая затем сопоставляется с «вектором прерывания» (целое число) контроллером прерываний. Процессор использует «таблицу дескрипторов прерываний» (IDT) для сопоставления векторов прерываний с функциями («обработчики прерываний») ядра. Когда появляется прерывание, процессор (CPU) обновляет IDT вектором прерывания и запускает соответствующий обработчик. Таким образом, в дело вступает ядро.
2.2 (На Windows) Сообщение
WM_KEYDOWN
отправлено приложениюHID передаёт событие нажатой клавиши драйверу KBDHID.sys
, который конвертирует его в скан-код (scancode). В данном конкретном случае скан-код — VK_RETURN
(0x0D
). Драйвер KDBHID.sys
связывается с драйвером KBDCLASS.sys
(драйвер классов клавиатуры). Он отвечает за безопасную обработку всего ввода с клавиатуры. В дальнейшем этот драйвер вызывает Win32K.sys
(после возможной передачи сообщения через установленные сторонние клавиатурные фильтры). Всё это происходит в режиме ядра.
Win32K.sys определяет, какое окно активно в данный момент, с помощью функции GetForegroundWindow()
. Этот API обеспечивает обработку окна адресной строки в браузере. Затем главный «насос сообщений» Windows вызывает SendMessage(hWnd, WM_KEYDOWN, VK_RETURN, lParam)
. lParam
— это битовая маска, которая указывает на дальнейшую информацию о нажатии клавиши: счётчик повторов (в этом случае 0), актуальный скан-код (может зависеть от OEM, но VK_RETURN
обычно не зависит от этого), информацию о том, были ли нажаты дополнительные клавиши (например, Alt, Shift, Ctrl — в нашем случае не были) и некоторые другие данные.
В API Windows есть функция SendMessage
, которая помещает сообщение в очередь для конкретного обработчика окон (hWnd
). После этого для обработки всех сообщений очереди вызывается главная функция обработки сообщений (WindowProc
), присвоенная обработчику hWnd
.
Окно (hWnd
), активное в данный момент, представляет из себя контрол обработки и в этом случае у WindowsProc есть обработчик для сообщений WM_KEYDOWN
. Этот код изучает третий параметр, который поступил в SendMessage (wParam)
и, поскольку это VK_RETURN
, понимает, что пользователь нажал клавишу ENTER.
2.3 (В OS X) Событие
NSEVent KeyDown
отправлено приложениюСигнал прерывания активирует событие прерывания в драйвере I/O Kit клавиатуры. Драйвер переводит сигнал в код клавиатуры, который затем передаётся процессу OS X под названием WindowServer
. В результате, Windows Server
передаёт событие любому подходящему (активному или «слушающему») приложению через Mach-порт, в котором событие помещается в очередь. Затем события могут быть прочитаны из этой очереди потоками с достаточными привилегиями, чтобы вызывать функцию mach_ipc_dispatch
. Чаще всего это происходит и обрабатывается с помощью основного цикла NSApplication
через NSEvent
в NSEventype KeyDown
.
2.4 (В GNU/Linux) Сервер Xorg слушает клавиатурные коды
В случае графического X server, для получения нажатия клавиши будет использован общий драйвер событий evdev
. Переназначение клавиатурных кодов скан-кодам осуществляется с помощью специальных правил и карт X Server. Когда маппинг скан-кода нажатой клавиши завершён, X server посылает символ в window manager (DWM, metacity, i3), который затем отправляет его в активное окно. Графический API окна, получившего символ, печатает соответствующий символ шрифта в нужном поле.
3. Парсинг URL
Теперь у браузера есть следующая информация об URL:
- Protocol «HTTP» — Использовать «Hyper Text Transfer Protocol».
- Resource «/» — Показать главную (индексную) страницу.
3.1 Это URL или поисковый запрос?
Когда пользователь не вводит протокол или доменное имя, то браузер «скармливает» то, что человек напечатал, поисковой машине, установленной по умолчанию. Часто к URL добавляется специальный текст, который позволяет поисковой машине понять, что информация передана из URL-строки определённого браузера.
3.2 Список проверки HSTS
- Браузер проверяет список «предзагруженных HSTS (HTTP Strict Transport Security)». Это список сайтов, которые требуют, чтобы к ним обращались только по HTTPS.
- Если нужный сайт есть в этом списке, то браузер отправляет ему запрос через HTTPS вместо HTTP. В противном случае, начальный запрос посылается по HTTP. (При этом сайт может использовать политику HSTS, но не находиться в списке HSTS — в таком случае на первый запрос по HTTP будет отправлен ответ о том, что необходимо отправлять запросы по HTTPS. Однако это может сделать пользователя уязвимым к downgrade-атакам — чтобы этого избежать, в браузеры и включают список HSTS).
3.3 Конвертация не-ASCII Unicode символов в название хоста
- Браузер проверяет имя хоста на наличие символов, отличных от
a-z
,A-Z
,0-9
,-
, или.
. - В случае доменного имени google.com никаких проблем не будет, но если бы домен содержал не-ASCII символы, то браузер бы применил кодировку Punycode для этой части URL.
4. Определение DNS
- Браузер проверяет наличие домена в своём кэше.
- Если домена там нет, то браузер вызывает библиотечную функцию
gethostbyname
(отличается в разных ОС) для поиска нужного адреса. - Прежде, чем искать домен по DNS
gethostbyname
пытается найти нужный адрес в файлеhosts
(его расположение отличается в разных ОС). - Если домен нигде не закэширован и отсутствует в файле
hosts
,gethostbyname
отправляет запрос к сетевому DNS-серверу. Как правило, это локальный роутер или DNS-сервер интернет-провайдера. - Если DNS-сервер находится в той же подсети, то ARP-запрос отправляется этому серверу.
- Если DNS-сервер находится в другой подсети, то ARP-запрос отправляется на IP-адрес шлюза по умолчанию (default gateway).
4.1 Процесс отправки ARP-запроса
Для того, чтобы отправить широковещательный ARP-запрос, необходимо отыскать целевой IP-адрес, а также знать MAC-адрес интерфейса, который будет использоваться для отправки ARP-запроса.
Кэш ARP проверяется для каждого целевого IP-адреса — если адрес есть в кэше, то библиотечная функция возвращает результат: Target IP = MAC
.
Если же записи в кэше нет:
- Проверяется таблица маршрутизации — это делается для того, чтобы узнать, есть ли искомый IP-адрес в какой-либо из подсетей локальной таблицы. Если он там, то запрос посылается с помощью интерфейса, связанного с этой подсетью. Если адрес в таблице не обнаружен, то используется интерфейс подсети шлюза по умолчанию.
- Определяется MAC-адрес выбранного сетевого интерфейса.
- Отправляется ARP-запрос (второй уровень стека):
ARP-запрос: Sender MAC: interface:mac:address:here Sender IP: interface.ip.goes.here Target MAC: FF:FF:FF:FF:FF:FF (Broadcast) Target IP: target.ip.goes.here
В зависимости от того, какое «железо» расположено между компьютером и роутером (маршрутизатором):
Прямое соединение:
- Если компьютер напрямую подключён к роутеру, то это устройство отправляет ARP-ответ (ARP Reply).
Между ними концентратор (Хаб):
- Если компьютер подключён к сетевому концентратору, то этот хаб отправляет широковещательный ARP-запрос со всех своих портов. Если роутер подключён по тому же «проводу», то отправит ARP-ответ.
Между ними коммутатор (свитч):
- Если компьютер соединён с сетевым коммутатором, то этот свитч проверит локальную CAM/MAC-таблицу, чтобы узнать, какой порт в ней имеет нужный MAC-адрес. Если нужного адреса в таблице нет, то он заново отправит широковещательный ARP-запрос по всем портам.
- Если в таблице есть нужная запись, то свитч отправит ARP-запрос на порт с искомым MAC-адресом.
- Если роутер «на одной линии» со свитчем, то он ответит (ARP Reply).
ARP-ответ:
Sender MAC: target:mac:address:here
Sender IP: target.ip.goes.here
Target MAC: interface:mac:address:here
Target IP: interface.ip.goes.here
Теперь у сетевой библиотеки есть IP-адрес либо DNS-сервера либо шлюза по умолчанию, который можно использовать для разрешения доменного имени:
- Порт 53 открывается для отправки UDP-запроса к DNS-серверу (если размер ответа слишком велик, будет использован TCP).
- Если локальный или на стороне провайдера DNS-сервер «не знает» нужный адрес, то запрашивается рекурсивный поиск, который проходит по списку вышестоящих DNS-серверов, пока не будет найдена SOA-запись, а затем возвращается результат.
5. Открытие сокета
Когда браузер получает IP-адрес конечного сервера, то он берёт эту информацию и данные об используемом порте из URL (80 порт для HTTP, 443 для HTTPS) и осуществляет вызов функции socket
системной библиотеки и запрашивает поток TCP сокета — AF_INET
и SOCK_STREAM
.
- Этот запрос сначала проходит через транспортный уровень, где собирается TCP-сегмент. В заголовок добавляется порт назначения, исходный порт выбирается из динамического пула ядра (
ip_local_port_range
в Linux). - Получившийся сегмент отправляется на сетевой уровень, на котором добавляется дополнительный IP-заголовок. Также включаются IP-адрес сервера назначения и адрес текущей машины — после этого пакет сформирован.
- Пакет передаётся на канальный уровень. Добавляется заголовок кадра, включающий MAC-адрес сетевой карты (NIC) компьютера, а также MAC-адрес шлюза (локального роутера). Как и на предыдущих этапах, если ядру ничего не известно о MAC-адресе шлюза, то для его нахождения отправляется широковещательный ARP-запрос.
На этой точке пакет готов к передаче через:
В случае интернет-соединения большинства частных пользователей или небольших компаний пакет будет отправлен с компьютера, через локальную сеть, а затем через модем (MOdulator/DEModulator
), который транслирует цифровые единицы и нули в аналоговый сигнал, подходящий для передачи по телефонной линии, кабелю или беспроводным телефонным соединениям. На другой стороне соединения расположен другой модем, который конвертирует аналоговый сигнал в цифровые данные и передаёт их следующему сетевому узлу, где происходит дальнейший анализ данных об отправителе и получателе.
В конечном итоге пакет доберётся до маршрутизатора, управляющего локальной подсетью. Затем он продолжит путешествовать от одного роутера к другому, пока не доберётся до сервера назначения. Каждый маршрутизатор на пути будет извлекать адрес назначения из IP-заголовка и отправлять пакет на следующий хоп. Значение поля TTL (time to live) в IP-заголовке будет каждый раз уменьшаться после прохождения каждого роутера. Если значение поля TTL достигнет нуля, пакет будет отброшен (это произойдёт также если у маршрутизатора не будет места в текущей очереди — например, из-за перегрузки сети).
Во время TCP-соединения происходит множество подобных запросов и ответов.
5.1 Жизненный цикл TCP-соединения
a. Клиент выбирает номер начальной последовательности (ISN) и отправляет пакет серверу с установленным битом SYN для открытия соединения.
b. Сервер получает пакет с битом SYN и, если готов к установлению соединения, то:
- Выбирает собственный номер начальной последовательности;
- Устанавливает SYN-бит, чтобы сообщить о выборе начальной последовательности;
- Копирует ISN клиента +1 в поле ACK и добавляет ACK-флаг для обозначения подтверждения получения первого пакета.
c. Клиент подтверждает соединение путём отправки пакета:
- Увеличивает номер своей начальной последовательности;
- Увеличивает номер подтверждения получения;
- Устанавливает поле ACK.
d. Данные передаются следующим образом:
- Когда одна сторона отправляет N байтов, то увеличивает значение поля SEQ на это число.
- Когда вторая сторона подтверждает получение этого пакета (или цепочки пакетов), она отправляет пакет ACK, в котором значение поля ACK равняется последней полученной последовательности.
e. Закрытие соединения:
- Сторона, которая хочет закрыть соединение, отправляет пакет FIN;
- Другая сторона подтверждает FIN (с помощью ACK) и отправляет собственный FIN-пакет;
- Инициатор прекращения соединения подтверждает получение FIN отправкой собственного ACK.
6. TLS handshake
- Клиентский компьютер отправляет сообщение
ClientHello
серверу со своей версией протокола TLS, списком поддерживаемых алгоритмов шифрования и методов компрессии данных. - Сервер отвечает клиенту сообщением
ServerHello
, содержащим версию TLS, выбранный метод шифрования, выбранные методы компрессии и публичный сертификат сервиса, подписанный центром сертификации. Сертификат содержит публичный ключ, который будет использоваться клиентом для шифрования оставшейся части процедуры «рукопожатия» (handshake
), пока не будет согласован симметричный ключ. - Клиент подтверждает сертификат сервера с помощью своего списка центров сертификации. Если сертификат подписан центром из списка, то серверу можно доверять, и клиент генерирует строку псевдослучайных байтов и шифрует её с помощью публичного ключа сервера. Эти случайные байты могут быть использованы для определения симметричного ключа.
- Сервер расшифровывает случайные байты с помощью своего секретного ключа и использует эти байты для генерации своей копии симметричного мастер-ключа.
- Клиент отправляет серверу сообщение
Finished
, шифруя хеш передачи с помощью симметричного ключа. - Сервер генерирует собственный хеш, а затем расшифровывает полученный от клиента хеш, чтобы проверить, совпадёт ли он с собственным. Если совпадение обнаружено, сервер отправляет клиенту собственный ответ
Finished
, также зашифрованный симметричным ключом. - После этого TLS-сессия передаёт данные приложения (HTTP), зашифрованные с помощью подтверждённого симметричного ключа.
7. Протокол HTTP
Если используемый браузер был создан Google, то вместо отправки HTTP-запроса для получения страницы, он отправит запрос, чтобы попытаться «договориться» с сервером об «апгрейде» протокола с HTTP до SPDY («спиди»).
Если клиент использует HTTP-протокол и не поддерживает SPDY, то отправляет серверу запрос следующей формы:
GET / HTTP/1.1 Host: google.com Connection: close [другие заголовки]
Где [другие заголовки]
— это серия пар «ключ: значение», разбитых переносом строки. (Здесь предполагается, что в использованном браузере нет никаких ошибок, нарушающих спецификацию HTTP. Также предполагается, что браузер использует HTTP/1.1
, в противном случае он может не включать заголовок Host
в запрос и версия, отданная в ответ на GET-запрос может быть HTTP/1.0
или HTTP/0.9
).
HTTP/1.1
определяет опцию закрытия соединения («close») для отправителя — с её помощью происходит уведомление о закрытии соединения после завершения ответа. К примеру:
Connection: close
Приложения HTTP/1.1
, которые не поддерживают постоянные соединения, обязаны включать опцию «close» в каждое сообщение.
После отправки запроса и заголовков, браузер отправляет серверу единичную пустую строку, сигнализируя о том, что содержимое сообщения закончилось.
Сервер отвечает специальным кодом, который обозначает статус запроса и включает ответ следующей формы:
200 OK
[заголовки ответа]
После этого посылается пустая строка, а затем оставшийся контент HTML-страницы www.google.com. Сервер может затем закрыть соединение, или, если того требуют отправленные клиентом заголовки, сохранять соединение открытым для его использования следующими запросами.
Если HTTP-заголовки отправленные веб-браузером включают информацию, которой серверу достаточно для определения версии файла, закэшированного в браузере и этот файл не менялся со времени последнего запроса, то ответ может принять следующую форму:
304 Not Modified
[заголовки ответа]
И, соответственно, клиенту не посылается никакого контента, вместо этого браузер «достаёт» HTML из кэша.
После разбора HTML, браузер (и сервер) повторяет процесс загрузки для каждого ресурса (изображения, стили, скрипты, favicon.ico и так далее), на который ссылается HTML-страница, но при этом изменяется адрес каждого запроса c GET / HTTP/1.1
на GET /$(относительный URL ресурса www.google.com) HTTP/1.1
Если HTML ссылается на ресурс, размещённый на домене, отличном от google.com, то браузер возвращается к шагам, включающим разрешение доменного имени, а затем заново проходит процесс до текущего состояния, но уже для другого домена. Заголовок Host
в запросе вместо google.com будет установлен на нужное доменное имя.
7.1 Обработка HTTP-запросов на сервере
HTTPD
(HTTP Daemon) является одним из инструментов обработки запросов/ответов на стороне сервера. Наиболее популярные HTTPD-серверы это Apache или Nginx для Linux и IIS для Windows.
- HTTPD (HTTP Daemon) получает запрос.
- Сервер разбирает запрос по следующим параметрам:
- Метод HTTP-запроса (
GET
,
,HEAD
,PUT
илиDELETE
). В случае URL-адреса, который пользователь напечатал в строке браузера, мы имеем дело с GET-запросом. - Домен. В нашем случае — google.com.
- Запрашиваемые пути/страницы, в нашем случае —
/
(нет запрошенных путей,/
— это путь по умолчанию).
- Метод HTTP-запроса (
- Сервер проверяет существование виртуального хоста, который соответствует google.com.
- Сервер проверяет, что google.com может принимать GET-запросы.
- Сервер проверяет, имеет ли клиент право использовать этот метод (на основе IP-адреса, аутентификации и прочее).
- Если на сервере установлен модуль перезаписи (
для Apache илиURL Rewrite
для IIS), то он сопоставляет запрос с одним из сконфигурированных правил. Если находится совпадающее правило, то сервер использует его, чтобы переписать запрос. - Сервер находит контент, который соответствует запросу, в нашем случае он изучит индексный файл.
- Далее сервер разбирает («парсит») файл с помощью обработчика. Если Google работает на PHP, то сервер использует PHP для интерпретации индексного файла и направляет результат клиенту.
8. За кулисами браузера
Задача браузера заключается в том, чтобы показывать пользователю выбранные им веб-ресурсы, запрашивая их с сервера и отображая в окне просмотра. Как правило такими ресурсами являются HTML-документы, но это может быть и PDF, изображения или контент другого типа. Расположение ресурсов определяется с помощью URL.
Способ, который браузер использует для интерпретации и отображения HTML-файлов описан в спецификациях HTML и CSS. Эти документы разработаны и поддерживаются консорциумом W3C (World Wide Web Consortium), которая занимается стандартизацией веба.
Интерфейсы браузеров сильно похожи между собой. У них есть большое количество одинаковых элементов:
- Адресная строка, куда вставляются URL-адреса;
- Кнопки возврата на предыдущую и следующую страницу;
- Возможность создания закладок;
- Кнопки обновления страницы (рефреш) и остановки загрузки текущих документов;
- Кнопка «домой», возвращающая пользователя на домашнюю страницу.
Высокоуровневая структура браузера
Браузер включает следующие компоненты:
- Пользовательский интерфейс: В него входит адресная строка, кнопки продвижения вперёд/назад, меню закладок и так далее. Сюда относятся все элементы, кроме окна, в котором собственно отображается веб-страница.
- «Движок» браузера: Распределяет действия между движком рендеринга и интерфейсом пользователя.
- «Движок» рендеринга: Отвечает за отображение запрашиваемого контента. К примеру, если запрашивается HTML, то «движок» разбирает код HTML и CSS, а затем отображает полученный контент на экране.
- Сетевая часть: с помощью сетевых функций браузер обрабатывает вызовы, вроде HTTP-запросов, с применением различных реализаций для разных платформ.
- Бэкенд интерфейса (UI): Используется для отрисовки базовых виджетов, вроде комбо-боксов и окон.
- Интерпретатор JavaScript: Используется для парсинга и выполнения JavaScript-кода.
- Хранилище данных: Браузеру может понадобиться локально хранить некоторые данные (например, cookie). Кроме того, браузеры поддерживают различные механизмы хранения, такие как
localStorage
,IndexedDB
,WebSQL
иFileSystem
.
9. Парсинг HTML
Движок рендеринга начинает получать содержимое запрашиваемого документа от сетевого механизма браузера. Как правило, контент поступает кусками по 8Кб. Главной задачей HTML-парсера является разбор разметки в специальное дерево.
Получающееся на выходе дерево («parse tree») — это дерево DOM-элементов и узлов атрибутов. DOM — сокращение от Document Object Model
. Это модель объектного представления HTML-документа и интерфейс для взаимодействия HTML-элементов с «внешним миром» (например, JavaScript-кодом). Корнем дерева является объект «Документ».
Алгоритм разбора
HTML-нельзя «распарсить» с помощью обычных анализаторов (нисходящих или восходящих). Тому есть несколько причин:
- Прощающая почти что угодно природа языка.
- Тот факт, что браузеры обладают известной толерантностью к ошибкам и поддерживают популярные ошибки в HTML.
- Процесс парсинга может заходить в тупик. В других языках код, который требуется разобрать, не меняется в процессе анализа, в то время как в HTML с помощью динамического кода (например, скриптовые элементы, содержащие вызовы
document.write()
) могут добавляться дополнительные токены, в результате чего сам процесс парсинга модифицирует вывод.
Невозможность использования привычных технологий парсинга приводит к тому, что разработчики браузеров реализуют собственные механизмы разбора HTML. Алгоритм парсинга подробно описан в спецификации HTML5.
Алгоритм состоит из двух этапов: токенизации и создания дерева.
Действия после завершения парсинга
После этого браузер начинает подгружать внешние ресурсы, связанные со страницей (стили, изображения, скрипты и так далее).
На этом этапе браузер помечает документ, как интерактивный и начинает разбирать скрипты, находящиеся в «отложенном» состоянии: то есть те из них, что должны быть исполнены после парсинга. После этого статус документа устанавливается в состояние «complete
» и инициируется событие загрузки («load
»).
Важный момент: ошибки «Invalid Syntax»
при разборе не может быть, поскольку браузеры исправляют любой «невалидный» контент и продолжают работу.
10. Интерпретация CSS
- Во время разбора браузер парсит CSS-файлы, содержимое тегов
<style>
и атрибутов «style» c помощью «лексической и синтаксической грамматики CSS». - Каждый CSS-файл разбирается в объект
StyleSheet
, каждый из таких объектов содержит правила CSS с селекторами и объектами в соответствии с грамматикой CSS. - Парсер CSS может быть как восходящим, так и нисходящим.
11. Рендеринг страниц
- Путём перебора DOM-узлов и вычисления для каждого узла значений CSS-стилей создаётся «Дерево рендера» (Render Tree или Frame Tree).
- Вычисляется предпочтительная ширина каждого узла в нижней части дерева — для этого суммируются значения предпочтительной ширины дочерних узлов, а также горизонтальные поля, границы и отступы узлов.
- Вычисляется реальная ширина каждого узла сверху-вниз (доступная ширина каждого узла выделяется его потомкам).
- Вычисляется высота каждого узла снизу-вверх — для этого применяется перенос текста и суммируются значения полей, высоты, отступов и границ потомков.
- Вычисляются координаты каждого узла (с использованием ранее полученной информации).
- Если элементы плавающие или спозиционированы абсолютно или относительно, предпринимаются более сложные действия. Более подробно они описаны здесь и здесь.
- Создаются слои для описания того, какие части страницы можно анимировать без необходимости повторного растрирования. Каждый объект (фрейма или рендера) присваивается слою.
- Для каждого слоя на странице выделяются текстуры.
- Объекты (рендеры/фреймы) каждого слоя перебираются и для соответствующих слоёв выполняются команды отрисовки. Растрирование может осуществляться процессором или возможна отрисовка на графическом процессоре (GPU) через D2D/SkiaGL.
- Все вышеперечисленные шаги могут требовать повторного использования значений, сохранённых с последнего рендеринга страницы, такая инкрементальная работа требует меньше затрат.
- Слои страницы отправляются процессу-компоновщику, где они комбинируются со слоями для другого видимого контента (интерфейс браузера, iframe-элементы, addon-панели).
- Вычисляются финальные позиции слоёв и через Direct3D/OpenGL отдаются композитные команды. Командные буферы GPU освобождаются для асинхронного рендеринга и фрейм отправляется для отображения на экран.
12. Рендеринг GPU
- Во время процесса рендеринга уровни графических вычислений могут использовать процессор компьютера или графический процессор (GPU).
- Во втором случае уровни графического программного обеспечения делят задачу на множество частей, что позволяет использовать параллелизм GPU для вычисления плавающей точки, которое требуется для процесса рендеринга.
13. Вызванное пользователем и пост-рендеринговое исполнение
После завершения рендеринга, браузер исполняет JavaScript-код в результате срабатывания некоего часового механизма (так работают дудлы на странице Google) или в результате действий пользователя (ввод поискового запроса в строку и получение рекомендаций в ответ). Также могут срабатывать плагины вроде Flash или Java (но не в рассматриваемом примере с домашней страницей Google). Скрипты могут потребовать обработки дополнительных сетевых запросов, изменять страницу или её шаблон, что приведёт к следующему этапу рендеринга и отрисовки.
Ошибка средств компоновщика LNK1104 | Microsoft Docs
- Чтение занимает 9 мин
В этой статье
не удается открыть файл » ИмяФайла «cannot open file ‘ filename ‘
Эта ошибка возникает, когда компоновщику не удается открыть файл для чтения или записи.This error is reported when the linker fails to open a file, either for reading or for writing. Ниже перечислены две наиболее распространенные причины этой проблемы.The two most common causes of the issue are:
Программа уже запущена или загружена в отладчике, иyour program is already running or is loaded in the debugger, and
пути к библиотеке неверны или не заключены в двойные кавычки.your library paths are incorrect, or aren’t wrapped in double-quotes.
Существует множество других возможных причин этой ошибки.There are many other possible causes for this error. Чтобы сократить их, сначала проверьте Тип файла.To narrow them down, first check what kind of file filename is. Затем используйте следующие разделы для выявления и исправления конкретной проблемы.Then, use the following sections to help identify and fix the specific issue.
Не удается открыть приложение или его PDB-файлCan’t open your app or its .pdb file
Приложение выполняется или загружается в отладчикеYour app is running, or it’s loaded in the debugger
Если filename — имя исполняемого файла или связанный с ним PDB-файл, см. раздел Если приложение уже запущено.When
Приложение заблокировано антивирусным сканированиемYour app is locked by an antivirus scan
Антивирусные программы часто временно блокируют доступ к вновь созданным файлам, особенно исполняемым файлам EXE и DLL.Antivirus programs often temporarily block access to newly created files, especially .exe and .dll executable files. Чтобы устранить эту проблему, попробуйте исключить каталоги сборки проекта из антивирусного сканера.To fix this issue, try excluding your project build directories from the antivirus scanner.
Не удается открыть файл библиотеки МайкрософтCan’t open a Microsoft library file
Библиотеки Windows, например kernel32. libWindows libraries, such as kernel32.lib
Если файл, который не удается открыть, является одним из стандартных файлов библиотеки, предоставляемых корпорацией Майкрософт, например kernel32. lib , может возникнуть ошибка конфигурации проекта или ошибка установки.If the file that can’t be opened is one of the standard library files provided by Microsoft, such as kernel32.lib , you may have a project configuration error or an installation error. Убедитесь, что Windows SDK установлен.Verify the Windows SDK has been installed. Если для проекта требуются другие библиотеки Майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio.If your project requires other Microsoft libraries, such as MFC, make sure the MFC components were also installed by the Visual Studio installer. Вы можете снова запустить установщик, чтобы добавить дополнительные компоненты в любое время.You can run the installer again to add optional components at any time. Дополнительные сведения см. в разделе изменение Visual Studio.For more information, see Modify Visual Studio. Используйте вкладку отдельные компоненты в установщике, чтобы выбрать конкретные библиотеки и пакеты SDK.Use the Individual components tab in the installer to choose specific libraries and SDKs.
Библиотеки vcruntime с отслеживанием версийVersioned vcruntime libraries
Если сообщение об ошибке имеет версию библиотеки Microsoft, например msvcr120. lib , набор инструментов платформы для этой версии компилятора может быть не установлен.If the error message has a versioned Microsoft library such as msvcr120.lib , the platform toolset for that compiler version may not be installed. Чтобы устранить эту проблему, воспользуйтесь двумя способами: Обновите проект, чтобы использовать текущий набор инструментов платформы, или установите старый набор инструментов и выполните сборку проекта без изменений.To fix this issue, you have two options: Upgrade the project to use the current platform toolset, or install the older toolset and build the project unchanged. Дополнительные сведения см. в статьях Обновление проектов из более ранних версий Visual C++ и Использование собственного многоплатформенного нацеливания в Visual Studio для построения старых проектов.For more information, see Upgrading Projects from Earlier Versions of Visual C++ and Use native multi-targeting in Visual Studio to build old projects.
Библиотеки для розничной торговли, отладки или конкретной платформыRetail, Debug, or platform-specific libraries
Эта ошибка может возникнуть при первой сборке для новой целевой платформы или конфигурации, например в розничной торговле или ARM64.The error may occur when you first build for a new target platform or configuration, such as Retail, or ARM64. В интегрированной среде разработки проверьте, установлены ли набор инструментов платформы и Windows SDK версии , указанной на странице свойств Общие .In the IDE, verify the Platform toolset and Windows SDK Version specified in the General property page are installed. Также убедитесь, что необходимые библиотеки доступны в каталогах библиотек , указанных на странице свойств каталоги VC + +.Also verify the required libraries are available in the Library Directories specified in the VC++ Directories Property Page. Проверьте свойства каждой конфигурации, например Debug, Retail, x86 или ARM64.Check the properties for each configuration, such as Debug, Retail, x86, or ARM64. Если одна сборка работает, но другая нет, Сравните параметры обоих параметров.If one build works but another doesn’t, compare the settings for both. Установите все отсутствующие необходимые инструменты и библиотеки.Install any missing required tools and libraries.
Библиотека vccorlib. libThe vccorlib.lib library
Нет устранением рисков Spectre библиотек для приложений или компонентов универсальной платформы Windows (UWP).There are no Spectre-mitigated libraries for Universal Windows (UWP) apps or components. Если сообщение об ошибке содержит vccorlib. lib , возможно, вы включили /QSPECTRE в проекте UWP.If the error message includes vccorlib.lib , you may have enabled /Qspectre in a UWP project. Отключите параметр компилятора /Qspectre , чтобы устранить эту проблему.Disable the /Qspectre compiler option to fix this issue. В Visual Studio измените свойство устранения рисков устранением рисков Spectre .In Visual Studio, change the Spectre Mitigation property. Он находится на странице Создание кода C/C++ > Code Generation диалогового окна страницы свойств проекта.It’s found in the C/C++ > Code Generation page of the project Property Pages dialog.
Библиотеки в проектах из сетевых или других источниковLibraries in projects from online or other sources
При построении проекта, скопированного с другого компьютера, расположения установки библиотеки могут отличаться.If you build a project copied from another computer, the library installation locations may be different. Для сборок из командной строки убедитесь, что для сборки правильно заданы пути к переменной среды LIB и библиотеке.For command-line builds, verify the LIB environment variable and library paths are set correctly for the build. В Visual Studio можно просматривать и изменять текущие пути к библиотекам, заданные на страницах свойств проекта.In Visual Studio, you can see and edit the current library paths set in the Property pages for your project. На странице каталоги VC + + выберите раскрывающийся список для свойства каталоги библиотек , а затем нажмите кнопку изменить.In the VC++ Directories page, choose the drop-down control for the Library Directories property, then choose Edit. В разделе вычисленное значение диалогового окна каталоги библиотек перечислены текущие пути поиска файлов библиотек.The Evaluated value section of the Library Directories dialog lists the current paths searched for library files. Обновите эти пути, чтобы они указывали на локальные библиотеки.Update these paths to point to your local libraries.
Обновленные библиотеки Windows SDKUpdated Windows SDK libraries
Эта ошибка может возникать, если путь Visual Studio к Windows SDK устарел.This error can occur when the Visual Studio path to the Windows SDK is out of date. Это может произойти, если установить более новую Windows SDK независимо от установщика Visual Studio.It may happen if you install a newer Windows SDK independently of the Visual Studio installer. Чтобы исправить это в интегрированной среде разработки, обновите пути, указанные на странице свойств каталогов VC + +.To fix it in the IDE, update the paths specified in the VC++ Directories property page. Задайте версию в пути в соответствии с новым пакетом SDK.Set the version in the path to match the new SDK. При использовании Командная строка разработчика обновите пакетный файл, который инициализирует переменные среды с помощью новых путей пакета SDK.If you use the Developer Command Prompt, update the batch file that initializes the environment variables with the new SDK paths. Эту проблему можно избежать с помощью установщика Visual Studio для установки обновленных пакетов SDK.This problem can be avoided by using the Visual Studio installer to install updated SDKs.
Не удается открыть сторонний файл библиотекиCan’t open a third-party library file
Существует несколько распространенных причин этой проблемы.There are several common causes for this issue:
Путь к файлу библиотеки может быть неверным или не заключен в двойные кавычки.The path to your library file may be incorrect, or not wrapped in double-quotes. Или, возможно, вы не указали его для компоновщика.Or, you may not have specified it to the linker.
Возможно, вы установили 32-разрядную версию библиотеки, но при этом собираетесь на 64 бит или наоборот.You may have installed a 32-bit version of the library but you’re building for 64 bits, or the other way around.
Библиотека может зависеть от других библиотек, которые не установлены.The library may have dependencies on other libraries that aren’t installed.
Чтобы исправить ошибку пути для сборок из командной строки, убедитесь, что задана переменная среды LIB.To fix a path issue for command-line builds, verify the LIB environment variable is set. Убедитесь, что он содержит пути для всех используемых библиотек и для каждой создаваемой конфигурации.Make sure it includes paths for all the libraries you use, and for every configuration you build. В интегрированной среде разработки пути к библиотекам задаются в свойстве Directories каталогов библиотеки VC + + > Library Directories .In the IDE, the library paths get set by the VC++ Directories > Library Directories property. Убедитесь, что в каждой создаваемой конфигурации указаны все каталоги, содержащие нужные библиотеки.Make sure all the directories that contain the libraries you need are listed here, for every configuration you build.
Может потребоваться предоставить каталог библиотеки, переопределяющий каталог стандартной библиотеки.You might need to supply a library directory that overrides a standard library directory. В командной строке используйте параметр /libpath .On the command line, use the /LIBPATH option. В интегрированной среде разработки используйте свойство Дополнительные каталоги библиотек в свойствах конфигурации > компоновщик > общую страницу свойств проекта.In the IDE, use the Additional Library Directories property in the Configuration Properties > Linker > General property page for your project.
Убедитесь, что установлены все версии библиотеки, необходимые для создаваемых конфигураций.Make sure you install every version of the library you need for the configurations you build. Используйте служебную программу управления пакетами vcpkg , чтобы автоматизировать установку и настройку для многих распространенных библиотек.Consider using the vcpkg package management utility to automate the installation and setup for many common libraries. По возможности лучше создавать собственные копии сторонних библиотек.When you can, it’s best to build your own copies of third-party libraries. Затем вы убедитесь, что все локальные зависимости библиотек созданы для тех же конфигураций, что и ваш проект.Then you’re sure to have all the libraries’ local dependencies, built for the same configurations as your project.
Не удается открыть файл, созданный проектомCan’t open a file built by your project
Эта ошибка может возникать, если файл filename еще не существует, когда компоновщик пытается получить к нему доступ.You may see this error if filename doesn’t exist yet when the linker tries to access it. Это может произойти, когда один проект зависит от другого в решении, но проекты создаются в неправильном порядке.It can happen when one project depends on another in the solution, but the projects build in the wrong order. Чтобы устранить эту проблему, убедитесь, что ссылки проекта заданы в проекте, который использует этот файл.To fix this issue, make sure your project references are set in the project that uses the file. После этого отсутствующий файл будет создан до того, как он потребуется.Then the missing file gets built before it’s required. Дополнительные сведения см. в статьях Добавление ссылок в проекты Visual Studio C++ и Управление ссылками в проекте.For more information, see Adding references in Visual Studio C++ projects and Managing references in a project.
Не удается открыть файл «C: \ Program. obj»Can’t open file ‘C:\Program.obj’
Если вы видите имя файла C: \ Program. obj в сообщении об ошибке, заключите пути библиотеки в двойные кавычки.If you see the filename C:\Program.obj in the error message, wrap your library paths in double quotes. Эта ошибка возникает, когда в компоновщик передается путь к распакованному пути, начинающийся с C: \ Program Files .This error happens when an unwrapped path that begins with C:\Program Files gets passed to the linker. Неупакованные пути могут также вызвать аналогичные ошибки.Unwrapped paths may also cause similar errors. Как правило, они показывают непредвиденный OBJ-файл в корне диска.Typically, they show an unexpected .obj file in the root of your drive.
Чтобы устранить эту проблему для сборок из командной строки, проверьте параметры параметра /libpath .To fix this issue for command-line builds, check the /LIBPATH option parameters. Также проверьте пути, указанные в переменной среды LIB, и пути, указанные в командной строке.Also check the paths specified in the LIB environment variable, and the paths specified on the command line. Обязательно используйте двойные кавычки для всех путей, содержащих пробелы.Make sure to use double-quotes around any paths that include spaces.
Чтобы устранить эту проблему в интегрированной среде разработки, при необходимости добавьте двойные кавычки для следующих свойств проекта:To fix this issue in the IDE, add double-quotes as necessary to the following properties for your project:
Свойство каталоги библиотеки на странице свойств конфигурации > свойства каталоги VC + +The Library Directories property on the Configuration Properties > VC++ Directories property page,
Свойство Дополнительные каталоги библиотек на странице свойств конфигурации > компоновщик > общиеThe Additional Library Directories property in the Configuration Properties > Linker > General property page,
Свойство Дополнительные зависимости на странице свойств конфигурации > компоновщик > входные свойства.The Additional Dependencies property in the Configuration Properties > Linker > Input property page.
Другие распространенные проблемыOther common issues
Проблемы с путями или именами файловPath or filename issues
Эта ошибка может возникать, если имя файла библиотеки или путь, указанный для компоновщика, неверны.This error can occur when the library filename or path specified to the linker is incorrect. Или, если путь содержит недопустимую спецификацию диска.Or, when the path has an invalid drive specification. Проверьте командную строку или любую директиву #pragma Comment (lib, «library_name») на предмет проблем.Look on the command line or in any #pragma comment( lib, «library_name» ) directive for issues. Проверьте правильность написания и расширение файла и убедитесь, что файл существует в указанном расположении.Check your spelling and the file extension, and verify the file exists at the specified location.
Параллельная синхронизация сборокParallel build synchronization
Если вы используете параллельный вариант сборки, Visual Studio мог заблокировать файл в другом потоке.If you’re using a parallel build option, Visual Studio may have locked the file on another thread. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов.To fix this issue, verify the same code object or library isn’t built in multiple projects. Используйте зависимости сборки или ссылки проекта, чтобы выбрать в проекте созданные двоичные файлы.Use build dependencies or project references to pick up built binaries in your project.
Дополнительные зависимости, указанные в интегрированной среде разработкиAdditional dependencies specified in the IDE
При указании отдельных библиотек в свойстве Дополнительные зависимости используйте пробелы для разделения имен библиотек.When you specify individual libraries in the Additional Dependencies property directly, use spaces to separate the library names. Не используйте запятые или точки с запятой.Don’t use commas or semicolons. При использовании пункта меню Правка для открытия диалогового окна Дополнительные зависимости используйте символы новой строки для разделения имен, а не запятых, точек с запятой или пробелов.If you use the Edit menu item to open the Additional Dependencies dialog box, use newlines to separate the names, not commas, semicolons, or spaces. Также используйте символы новой строки при указании путей к библиотекам в папках библиотек и дополнительных каталогах библиотек .Also use newlines when you specify library paths in the Library Directories and Additional Library Directories dialog boxes.
Слишком длинные путиPaths that are too long
Эта ошибка может появиться, когда путь к файлу расширяется до 260 символов.You may see this error when the path for filename expands to more than 260 characters. При необходимости измените структуру каталогов или Сократите имена папок и файлов, чтобы сократить пути.If needed, rearrange your directory structure or shorten your folder and file names to shorten the paths.
Слишком большие файлыFiles that are too large
Эта ошибка может возникать из-за слишком большого размера файла.This error can occur because the file is too large. Библиотеки или объектные файлы, размер которых превышает гигабайт, может вызвать проблемы для 32-разрядного компоновщика.Libraries or object files more than a gigabyte in size may cause problems for the 32-bit linker. Возможным исправлением этой проблемы является использование 64-разрядного набора инструментов.A possible fix for this issue is to use the 64-bit toolset. Дополнительные сведения о том, как использовать 64-разрядный набор средств в командной строке, см. в разделе как включить 64-разрядный Visual C++ набор инструментов в командной строке.For more information on how to use the 64-bit toolset at the command line, see How to: Enable a 64-Bit Visual C++ Toolset on the Command Line. Сведения о том, как использовать 64-разрядный набор инструментов в интегрированной среде разработки, см. в разделе Использование MSBuild с 64-разрядным компилятором и инструментами.For information on how to use the 64-bit toolset in the IDE, see Using MSBuild with the 64-bit Compiler and Tools. Также см. статью Stack Overflow Post: как сделать так, чтобы Visual Studio использовала собственную цепочки инструментов AMD64.Also see this Stack Overflow post: How to make Visual Studio use the native amd64 toolchain.
Неправильные разрешения для файлаIncorrect file permissions
Эта ошибка может возникать, если у вас недостаточно разрешений для доступа к файлу filename.This error can occur if you have insufficient file permissions to access filename. Это может произойти, если для доступа к файлам библиотеки в защищенных системных каталогах используется обычная учетная запись пользователя.It may happen if you use an ordinary user account to access library files in protected system directories. Или, если вы используете файлы, скопированные с других пользователей, у которых все еще есть исходный набор разрешений.Or, if you use files copied from other users that still have their original permissions set. Чтобы устранить эту проблему, переместите файл в каталог проекта с возможностью записи.To fix this issue, move the file to a writeable project directory. Если перемещенный файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы стать владельцем файла.If the moved file has inaccessible permissions, run the takeown.exe command in an Administrator command window to take ownership of the file.
Недостаточно места на дискеInsufficient disk space
Эта ошибка может возникать, если на диске недостаточно места.The error can occur when you don’t have enough disk space. Компоновщик использует временные файлы в нескольких ситуациях.The linker uses temporary files in several cases. Даже если на диске достаточно места, большие ссылки могут выпустить или фрагментировать свободное место на диске.Even if you have sufficient disk space, a large link can deplete or fragment the available disk space. Рассмотрите возможность использования параметра /OPT (оптимизация) . выполнение транзитного исключения COMDAT считывает все объектные файлы несколько раз.Consider using the /OPT (Optimizations) option; doing transitive COMDAT elimination reads all the object files multiple times.
Проблемы в переменной среды TMPProblems in the TMP environment variable
Если имя файла LNK nnn , то это имя файла, созданного компоновщиком для временного файла.If the filename is named LNK nnn , it’s a filename generated by the linker for a temporary file. Каталог, указанный в переменной среды TMP, может не существовать.The directory specified in the TMP environment variable may not exist. Кроме того, для переменной среды TMP может быть задано несколько каталогов.Or, more than one directory may be specified for the TMP environment variable. Для переменной среды TMP должен быть указан только один путь к каталогу.Only one directory path should be specified for the TMP environment variable.
Справка, моей проблемы нет в списке!Help, my issue isn’t listed here!
Если ни одна из перечисленных здесь проблем не применима, для получения справки можно использовать средства обратной связи в Visual Studio.When none of the issues listed here apply, you can use the feedback tools in Visual Studio for help. В интегрированной среде разработки перейдите в строку меню и выберите справка > отправить отзыв > сообщить о проблеме.In the IDE, go to the menu bar and choose Help > Send Feedback > Report a Problem. Или отправьте предложение, используя справку > отправить отзыв > отправить предложение.Or, submit a suggestion by using Help > Send Feedback > Send a Suggestion. Вы также можете использовать документация Майкрософт Q& сайт для вопросов и веб-сайт сообщества разработчиков Visual Studio C++.You can also use the Microsoft Docs Q&A site for questions, and the Visual Studio C++ Developer Community website. Используйте эти сайты для поиска ответов на вопросы и запроса справки.Use these sites to search for answers to questions and ask for help. Дополнительные сведения см. в разделе как сообщить о проблеме с набором инструментов Visual C++ или документацией.For more information, see How to report a problem with the Visual C++ toolset or documentation.
Если вы обнаружили новый способ устранения этой проблемы, которую следует добавить в эту статью, сообщите нам о ней.If you’ve discovered a new way to fix this issue that we should add to this article, let us know. Вы можете отправить нам отзыв, нажав кнопку ниже для этой страницы.You can send us feedback by using the button below for this page. Используйте его для создания новой проблемы в репозитории GitHub документации по C++.Use it to create a new issue in our C++ documentation GitHub repo. Спасибо!Thanks!
: Элемент — ссылка на внешний ресурс — HTML
Элемент HTML — Ссылка на Внешний Ресурс (<link>
) определяет отношения между текущим документом и внешним ресурсом. Этот элемент чаще всего используется для ссылки на stylesheets, а также для создания иконок сайта (как для иконок в стиле «favicon», так и для иконок домашних экранов и приложений мобильных устройств) среди прочего.
Чтобы подключить таблицу стилей, вы должны включить элемент <link>
внутри вашего <head>
следующим образом:
<link href="main.css" rel="stylesheet">
В этом простом примере указывается путь к таблице стилей внутри атрибута href
и атрибут rel
со значением stylesheet
. rel
означает «отношения (relationship)», и, вероятно, является одной из ключевых особенностей элемента <link>
— значение сообщает как указанный элемент связан с содержащим его документом. Как вы увидите в нашем справочнике типы ссылок, есть много различных видов отношений.
Существует ряд других распространённых типов, с которыми вы столкнётесь. Например, ссылка на сайт иконок:
<link rel="icon" href="favicon.ico">
Есть ряд других значений rel
для иконок, в основном, используемых для обозначения специальных типов иконок для использования на различных мобильных платформах, например:
<link rel="apple-touch-icon-precomposed"
href="apple-icon-114.png" type="image/png">
Атрибут sizes
определяет размер иконки, когда type
содержит тип MIME связанного ресурса. Они предоставляют советы, позволяющие браузеру выбрать наиболее подходящую иконку.
Вы можете, также, указать медиа тип или запрос внутри атрибута media
; этот ресурс будет загружен только в том случае, если media состояние равно true. Например:
<link href="print.css" rel="stylesheet" media="print">
<link href="mobile.css" rel="stylesheet" media="screen and (max-width: 600px)">
В элемент <link>
также были добавлены некоторые новые интересные возможности производительности и безопасности, к примеру:
<link rel="preload" href="myFont.woff2" as="font"
type="font/woff2" crossorigin="anonymous">
Значение rel
— preload
указывает, что браузер должен предварительно загрузить этот ресурс (смотрите Предварительная загрузка контента при помощи rel=»preload» для более подробной информации), атрибут as
указывает на определённый класс загружаемого контента. Атрибут crossorigin
указывает должен ли ресурс загружаться с помощью запроса CORS.
Другие замечания по использованию:
- Элемент
<link>
может присутствовать в элементах<head>
или<body>
, в зависимости от того, имеет ли он тип ссылки, являющейся body-ok. Например, ссылка типаstylesheet
является body-ok,и, поэтому,<link rel="stylesheet">
допускается в body. Однако, это не очень хорошая практика использования; более осмысленно отделять ваши<link>
от содержимого body, помещая их в<head>
. - При использовании
<link>
для установки favicon сайта, и когда ваш сайт использует Политику Безопасности Контента (CSP) для повышения безопасности, политика применяется к favicon. Если вы столкнулись с проблемой при загрузке favicon, проверьте, чтоimg-src
директива заголовка Content-Security-Policy (en-US) не препятствует доступу к ней. - Спецификации HTML и XHTML определяют обработчики событий для элемента
<link>
, но не указывают как они будут использоваться. - В XHTML 1.0, пустые элементы, такие как
<link>
, требуют слеш:<link />
. - WebTV поддерживает использование значения
next
дляrel
в качестве предварительной загрузки следующей страницы в серии документов.
Этот элемент включает в себя глобальные атрибуты.
as
- Этот атрибут используется только для элементов
<link>
с атрибутомrel="preload"
илиrel="prefetch"
. Он указывает тип контента, загружаемого<link>
, который необходим для определения приоритетов контента, сравнения запросов, применения корректного content security policy, и установки корректногоAccept
запрашиваемого заголовка. crossorigin
- Этот перечисляемый атрибут указывает, должен ли CORS использоваться при загрузки ресурса. CORS-поддерживаемые изображения могут быть повторно использованы в элементе
<canvas>
не искажая их. Допустимы значения:anonymous
- Cross-origin запрос (т.е. с HTTP-заголовком
Origin
) выполняется, но учётные данные не отправляются (т.е. нет cookie, сертификата X.509, или базовой аутентификации HTTP). Если сервер не передал учётные данные исходному сайту (нет настроенного HTTP-заголовкаAccess-Control-Allow-Origin
), изображение будет искажено, а его использование ограничено. use-credentials
- Cross-origin запрос (т.е. с HTTP-заголовком
Origin
) выполняется вместе с отправкой учётных данных (т.е. выполняется аутентификация cookie, сертификата, и/или базового HTTP). Если сервер не передал учётные данные исходному сайту (через HTTP-заголовок Access-Control-Allow-Credentials (en-US)), ресурс будет искажён, а его использование ограничено.
Origin)
, предотвращая его незагрязненное использование. В случае невалидности, он обрабатывается как при использовании ключевого слова anonymous. Для получения дополнительной информации смотрите CORS settings attributes. href
- Этот атрибут определяет URL, связываемого ресурса. URL может быть абсолютным или относительным.
hreflang
- Этот атрибут определяет язык, связываемого ресурса. Он является консультативным. Допустимые значения определяются BCP47. Используйте этот атрибут только если присутствуют атрибуты
href
. importance
Это экспериментальное API, которое не должно использоваться в рабочем коде.- Указывает на относительную важность ресурса. Приоритетные подсказки передаются используя значения:
auto
: указывает на отсутствие предпочтений. Браузер может использовать собственную эвристику для определения приоритетов ресурсов.high
: указывает браузеру, что ресурс находится в высоком приоритете.low
: указывает браузеру, что ресурс находится в низком приоритете.Примечание: Атрибут
importance
можно использовать только для элементов<link>
с атрибутамиrel="preload"
илиrel="prefetch"
.integrity
Это экспериментальное API, которое не должно использоваться в рабочем коде.- Содержит встроенные метаданные — криптографический хеш-код ресурса(файла) в кодировке base64, который вы сообщаете браузеру для загрузки. Браузер может использовать его для проверки, что загруженный ресурс был получен без неожиданных манипуляций. Смотрите Subresource Integrity.
media
- Этот атрибут указывает медиа, который применяет связываемый ресурс. Его значение должно быть типом медиа или медиавыражением. Этот атрибут, в основном, полезен при связывании с внешними таблицами стилей — он позволяет пользовательскому агенту выбрать наиболее подходящее устройство для запуска.
Примечания:
- В HTML 4, это может быть только простой, разделённый пробелами, список литералов, описывающих медиа, т.е. media типы и группы, которые определены и допустимы в качестве значений для этого атрибута, такие как
print
,screen
,aural
,braille
. HTML5 распространил это на любые медиавыражения, которые являются расширенным набором допустимых значений HTML 4. - Браузеры, не поддерживающие медиавыражения, могут не распознать соответствующую ссылку; не забудьте установить резервные ссылки, ограниченные набором медиавыражений, определённым в HTML 4.
- В HTML 4, это может быть только простой, разделённый пробелами, список литералов, описывающих медиа, т.е. media типы и группы, которые определены и допустимы в качестве значений для этого атрибута, такие как
referrerpolicy
Это экспериментальное API, которое не должно использоваться в рабочем коде.- Строка, указывающая какой реферер использовать при загрузки ресурсов:
no-referrer
означает, что заголовокReferer
не будет отправлен.no-referrer-when-downgrade
означает, что заголовокReferer
не будет отправлен при переходе к источнику без TLS (HTTPS). Это поведение пользовательского агента по умолчанию, если не указано иное.origin
означает, что реферером будет источник, который соответствует схеме, хосту и порту.origin-when-cross-origin
означает, что навигация к другим источникам будет ограничена схемой, хостом, портом, в то время как навигация по одному и тому же источнику будет включать путь реферер .unsafe-url
означает, что в качестве источника ссылки будет указываться источник и путь (но не фрагмент, пароль или имя пользователя). Этот вариант небезопасен, потому что он может способствовать утечки источников и путей из TLS-защищённых ресурсов в незащищённые источники.
rel
- Этот атрибут определяет отношения связываемого документа и текущего документа. Атрибут должен быть разделённым пробелами списком значений типов ссылки.
sizes
- Этот атрибут определяет размеры иконки для визуальных медиа, содержащихся в ресурсе. Он должен быть представлен только, если
rel
содержит значениеicon
или нестандартный тип, напримерapple-touch-icon
Apple. Может иметь следующие значения:any
, означает, что иконка может быть масштабируема до любого размера, например в векторном форматеimage/svg+xml
.- пробелоразделенный список размеров, каждый в формате
<width in pixels>x<height in pixels>
или<width in pixels>X<height in pixels>
. Каждый из этих размеров должен содержаться в ресурсе.
Примечание: Большинство форматов иконок могут хранить только одну иконку, поэтому чаще всего
sizes
содержит только одну запись. MS’s ICO формат, как и Apple’s ICNS. ICO более распространены; вы должны использовать их. title
- Атрибут
title
имеет особое значение для элемента<link>
. При использовании<link rel="stylesheet">
он определяет предпочтительную или альтернативную таблицу стилей. Неверное использование может стать причиной игнорирования таблицы стилей. type
- Этот атрибут используется для определения типа связываемого контента. Значение атрибута должно быть типом MIME, такое как text/html, text/css и т.д. Обычно он используется для определения типа таблицы стилей, на которую делается ссылка (например, text/css), но, учитывая, что CSS является единственным языком таблиц стилей, используемым в сети, этот атрибут может быть пропущен, что является рекомендацией. Он также используется для типов ссылок
rel="preload"
, чтобы браузер загружал только те типы файлов, которые он поддерживает.
Нестандартные атрибуты
disabled
Это API не было стандартизировано.- Этот атрибут используется для отключения отношения ссылки. В сочетании со скриптом, этот атрибут может использоваться для включения и выключения различных отношений таблицы стилей.
Примечание: Хотя в стандарте HTML нет атрибута
disabled
, атрибутdisabled
есть в объекте DOMHTMLLinkElement
. methods
Это API не было стандартизировано.- Значение этого атрибута предоставляет информацию о функциях, которые могут выполняться над объектом. Значения обычно задаются протоколом HTTP, когда он используется, но может быть (аналогично атрибуту title) полезно заранее включить в ссылку консультативную информацию. Например, браузер может выбрать другое отображение ссылки в зависимости от указанных методов; то, что доступно для поиска может получить другую иконку, или внешняя ссылка может отображаться с указанием перехода с текущего сайта. Этот атрибут не совсем понятен и не поддерживается, даже определяющим браузером, Internet Explorer 4.
prefetch
Это API не было стандартизировано.Secure context- Этот атрибут идентифицирует ресурс, который может потребоваться при следующей навигации, и необходимость получить его пользовательским агентом. Это позволяет пользовательскому агенту быстрее реагировать, когда, в будущем, ресурс будет запрошен.
target
Это API не было стандартизировано.- Определяет название фрейма или окна, которое определяет связывающие отношения, или, которое будет показывать рендеринг любого связываемого ресурса.
Устаревшие атрибуты
charset
Этот API вышел из употребления и его работа больше не гарантируется.- Этот атрибут определяет кодировку символов связываемого ресурса. Значение представляет собой список наборов символов, разделённый пробелами и/или запятыми, как определено в RFC 2045. Значение по умолчанию
iso-8859-1
. Примечание по использованию: Для получения эффекта использования данного устаревшего атрибута, используйте HTTP-заголовокContent-Type
на связываемый ресурс. rev
Этот API вышел из употребления и его работа больше не гарантируется.Значение этого атрибута показывает отношение текущего документа к связываемому документу, как определено атрибутом
href
. Этот атрибут, таким образом, определяет обратную связь по сравнению со значением атрибутаrel
. Значения типов ссылки для атрибута аналогичны возможным значениям дляrel
.Примечание: Этот атрибут считается устаревшим жизненным стандартом WHATWG HTML (который является каноничной спецификацией MDN). Однако, стоит отметить, что
rev
не считается устаревшим в спецификации W3C. Стоит сказать, учитывая неопределённость, полагаться наrev
не стоит.Взамен, вы должны использовать атрибут
rel
с противоположным значением типов ссылки. Например, чтобы установить обратную ссылку дляmade
, укажитеauthor
.Также, этот атрибут не означает «ревизия» и не должен использоваться с номером версии, даже если многие сайты используют его в этих целях.
Элемент <link>
не имеет визуального представления в веб-документе, поэтому он не должен стилизоваться.
Включение таблицы стилей
Включение таблицы стилей на страницы имеет следующий синтаксис:
<link href="style.css" rel="stylesheet">
Предоставление альтернативных таблиц стилей
Вы можете указать альтернативные таблицы стилей.
Пользователь может выбрать, какую таблицу стилей использовать, выбрав её в меню Вид > Стиль страницы. Это позволяет пользователям видеть мультиверсию страницы.
<link href="default.css" rel="stylesheet" title="Default Style">
<link href="fancy.css" rel="alternate stylesheet" title="Fancy">
<link href="basic.css" rel="alternate stylesheet" title="Basic">
Предоставление иконок для различных контекстов использования
Вы можете включить ссылки на несколько различных иконок на одной странице, и браузер выберет, какая из них лучше подходит для его конкретного контекста, используя значения rel
и sizes
как подсказки.
<link rel="apple-touch-icon-precomposed" href="favicon144.png">
<link rel="apple-touch-icon-precomposed" href="favicon114.png">
<link rel="apple-touch-icon-precomposed" href="favicon72.png">
<link rel="apple-touch-icon-precomposed" href="favicon57.png">
<link rel="icon" href="favicon32.png">
Условная загрузка ресурсов с медиавыражениями
Вы можете предоставить тип медиа или запрос внутри атрибута media
; этот ресурс будет загружен только в том случае, если условия медиа равно true. Например:
<link href="print.css" rel="stylesheet" media="print">
<link href="mobile.css" rel="stylesheet" media="all">
<link href="desktop.css" rel="stylesheet" media="screen and (min-width: 600px)">
<link href="highres.css" rel="stylesheet" media="screen and (min-resolution: 300dpi)">
События загрузки таблицы стилей
Вы можете определить, когда таблица стилей была загружена, наблюдая за событием load
, запускающимся в нем; аналогично, вы можете обнаружить, произошла ли ошибка при обработки таблицы стилей, наблюдая за событием error
:
<script>
var myStylesheet = document.querySelector('#my-stylesheet');
myStylesheet.onload = function() {
}
myStylesheet.onerror = function() {
console.log("An error occurred loading the stylesheet!");
}
</script>
<link rel="stylesheet" href="mystylesheet.css">
Примечание: Событие load
запускается после загрузки и анализа таблицы стилей и всего импортируемого содержимого, непосредственно перед тем, как стили будут применены к содержимому.
Preload примеры
BCD tables only load in the browser
Google URL Builder: как отслеживать кампании в Analytics
Вы готовы начать маркетинговую кампанию; информационный бюллетень, социальная или платная кампания. Ваша основная цель — вернуть трафик на ваш сайт, преобразовать этот трафик в потенциальных клиентов, а эти — в клиентов.
Итак, как узнать, какие маркетинговые кампании были успешными? Легкий. Используйте конструктор URL-адресов Google Analytics для отслеживания своих кампаний.
Есть много способов использовать отслеживание кампании.Мы сосредоточимся на маркетинге по электронной почте, а затем вы сможете применить его ко всем другим маркетинговым усилиям (рекламные, социальные, партнерские ссылки и т. Д.).
Что такое отслеживание кампании в Google Analytics?
Отслеживание кампании, также известное как «коды отслеживания utm», просто позволяет вам добавлять специальный код отслеживания к вашему URL-адресу. Это помогает определить, как пользователи попадают на ваш сайт. Например:
Вместо использования этой ссылки в своих маркетинговых кампаниях по электронной почте:
https: // www.orbitmedia.com/blog/how-to-setup-google-analytics/
Вы можете использовать эту ссылку для отслеживания:
https://www.orbitmedia.com/blog/how-to-setup-google-analytics/ ? Utm_source = de December6-newsletter & utm_medium = email & utm_campaign = how-to-set-up-google-analytics
Видите все эти дополнительные вкусности по вашей ссылке? Это код отслеживания кампании.
Зачем использовать конструктор URL-адресов Google?
Большая часть вашего маркетинга, будь то электронная почта, реклама, социальное продвижение или любые другие маркетинговые усилия, преследует одну и ту же цель: конверсии или повышение осведомленности.
Конструктор URL позволяет отслеживать каждое маркетинговое мероприятие отдельно в Google Analytics. Если вы не отслеживаете свои маркетинговые кампании, они смешиваются со всем остальным трафиком. Так как же узнать, что работает, а что нет?
Это особенно важно для платного маркетинга. Если вы тратите деньги, вам обязательно нужно знать, что дает вам наилучшие результаты. Прежде чем вы начнете, вам следует установить цели в Google Analytics. Вот подробные инструкции.
Ваш поставщик услуг электронной почты или социальные сети покажут вам рейтинг кликов, впечатления и просмотры, но они не расскажут всю историю. В Google Analytics вы можете точно увидеть, какая кампания принесла больше всего продаж, подписчиков и потенциальных клиентов.
Как использовать конструктор URL-адресов Google?
Это очень просто, и мы создали конструктор URL, чтобы сделать это еще проще.
Шаг 1 : Введите ссылку, по которой вы хотите перенаправлять посетителей на ваш веб-сайт.
https://www.orbitmedia.com/blog/how-to-setup-google-analytics/
Шаг 2 : Добавьте три основных параметра, которые вы хотите отслеживать.
- Источник кампании : сообщает Google, откуда идет трафик: de December6-newsletter.
- Средство кампании : сообщает Google, из какого источника оно исходит: электронная почта.
- Название кампании : просто описывает вашу кампанию.Мы используем сообщение в блоге о том, как настроить Google Analytics, поэтому я использовал how-to-set-up-google-analytics в качестве названия нашей кампании.
По мере ввода вы увидите, что новый URL-адрес создается автоматически.
Шаг 3 : Нажмите «Копировать URL» и вставьте его в свой информационный бюллетень электронной почты (рекламный, социальный и т. Д.) Вместо своей обычной «немаркированной» ссылки.
Бонус! Вы можете увидеть в конце нашего конструктора URL-адресов, он покажет вам, где именно он будет отображаться в вашем отчете о кампании Google Analytics.Мы также подробнее рассмотрим отчеты ниже.
Повторите эти шаги для всех ссылок, которые вы хотите отслеживать в своем маркетинге.
Где я могу найти свои кампании в Google Analytics?
Теперь мы можем немного углубиться в отчетность. Если вы хотите видеть доставляемость электронной почты, количество кликов и процент открытий, просто войдите в систему своего поставщика услуг электронной почты и просмотрите отчеты. Если вы хотите узнать, кто на самом деле конвертировал, войдите в свою Google Analytics.
Вот несколько примеров конверсий, которые вы должны отслеживать:
- для заполнения контактной формы
- подписчиков на рассылку новостей
- покупок товара
После входа в Google Analytics выберите Источники трафика> Кампании> Все кампании .Здесь вы увидите, сколько посещений вы получили в результате своей кампании, как долго они оставались на вашем веб-сайте, сколько страниц в среднем они посещали, пока были там, показатель отказов и конверсии.
Где я могу узнать, конвертируются ли мои кампании?
Чтобы найти фактические конверсии, посмотрите в правый верхний угол таблицы под линейным графиком. Вы увидите столбец для конверсий. В раскрывающемся списке вы можете выбрать, какую цель конверсии вы хотите видеть.В нашем примере мы смотрим на подписчиков новостной рассылки.
Теперь вы можете видеть посещения и достигнутые конверсии для каждой кампании.
Если вы вернетесь назад и посмотрите на тенденции с течением времени, вы увидите, на какие типы статей люди тратят больше времени, а какие более успешны. Если вы хотите стать по-настоящему фанатичным (а мы надеемся, что вы это сделаете), вы можете использовать Google Analytics и Google Sheets, чтобы увидеть все ваши самые популярные страницы в одном отчете.
Вот и все. Теперь вы сможете увидеть, кто на самом деле конвертирует ваши маркетинговые усилия.Если у вас есть дополнительные советы, оставьте их в комментариях ниже!
Новое расширение Google для Chrome позволяет создавать ссылки непосредственно на определенный текст на странице
Link to Text Fragment — это новое расширение Chrome от Google, которое позволяет создавать URL-адреса для определенного текста на веб-странице независимо от форматирования страницы.
Установив расширение, просто выделите текст, на который хотите создать ссылку, щелкните правой кнопкой мыши и выберите «Копировать ссылку на выбранный текст».«Затем он может быть передан и открыт кем угодно, использующим совместимый браузер. Например, щелкнув эту ссылку в Chrome или Edge, вы попадете прямо в выделенный раздел внизу статьи.
Расширение Google основано на новой функции, которая была недавно добавлена в Chromium, под названием Text Fragments, которая работает путем добавления дополнительной информации о ссылках к URL-адресу после #. Это та же технология, которую сейчас Google иногда использует для ссылки на определенные части веб-страницы в результатах поиска.Однако эти URL-адреса могут быть длинными, и их сложно создать вручную, если вы ссылаетесь на более длинные разделы текста или сложные веб-страницы, на которых одни и те же слова повторяются несколько раз. Это расширение упрощает процесс создания.
Ссылки, создаваемые расширением, совместимы с версией 80 и выше всех браузеров на основе Chromium, но поддерживаются не во всех браузерах. В сообщении в блоге Google отмечается, что по состоянию на вчерашний день Firefox и Safari не заявили, что будут реализовывать эту функцию.Щелкнув ссылку в этих браузерах, вы просто попадете в верхнюю часть связанной веб-страницы, не выделяя текст.
Фрагменты текста — это небольшая, но полезная функция, которая упрощает поиск определенной информации на веб-странице. В приведенном выше абзаце, например, гиперссылка на сообщение в блоге Google настроена на прямую ссылку на раздел о совместимости Firefox и Safari. Вы также можете увидеть, что это полезно для ссылки на конкретный шаг в длинной серии инструкций или на конкретную запись в списке лучшего.
Расширение и возможности, которые оно обеспечивает, многообещающие, но пока еще не идеальны. При тестировании функции в Edge я иногда получал ссылку на нужную часть страницы, но текст не выделялся. Затем при создании ссылок я иногда получал сообщение об ошибке, предлагающее выделить более длинный фрагмент текста, несмотря на то, что я уже выделил целый абзац. Мне не удалось проверить, что именно в моем сочетании браузера, расширений и веб-сайтов, на которые я ссылался, вызывало эти проблемы.
Расширение «Ссылка на фрагмент текста» теперь доступно в Интернет-магазине Chrome.
Интегрируйте Google Analytics с Mailchimp
Прочтите эту страницу в
английский Español Français Português Deutsch
Если у вас есть учетная запись Google Analytics, вы можете добавить отслеживание Google Analytics в свои почтовые кампании Mailchimp, чтобы передавать данные Google обратно в отчеты Mailchimp Campaign.Настройте отслеживание конверсий в Google Analytics, чтобы отслеживать контакты от кликов до покупок на вашем сайте.
Мы также можем сохранить ваш идентификатор Google Analytics для отслеживания посещений страниц вашей кампании и размещенного архива кампании, чтобы вы могли видеть посещаемость этих страниц в своей учетной записи Google Analytics.
Из этой статьи вы узнаете, как добавить отслеживание Google Analytics в свои почтовые кампании, архивы и страницы аудитории.
Перед тем как начать
Перед тем, как начать этот процесс, необходимо знать следующее.
- Эта статья о том, как добавить Google Analytics в ваши почтовые кампании. Чтобы узнать, как использовать Google Analytics на целевой странице, ознакомьтесь с нашей статьей по этой теме.
- Для подключения к этой интеграции вам потребуется уровень администратора или выше.
- У вас должна быть учетная запись Google Analytics, чтобы завершить этот процесс.
- Чтобы зарегистрироваться, посетите analytics.google.com.
- Когда вы добавляете отслеживание Google Analytics в кампанию по электронной почте, мы предоставляем заголовок по умолчанию для вашей кампании, который будет отображаться в вашей учетной записи Google Analytics и ваших URL отслеживания.Если вы решите изменить заголовок по умолчанию, убедитесь, что вы не добавили никаких специальных символов. Они могут сломать ваши URL-адреса.
- Google Analytics не отслеживает перенаправления, не содержащие встроенного кода Google Analytics. Чтобы обеспечить правильное отслеживание, используйте прямые ссылки на страницы, на которых встроен код Google Analytics.
- Мы настоятельно рекомендуем вам тщательно протестировать свои кампании, в которых используется отслеживание Google Analytics, чтобы убедиться, что ваши ссылки работают правильно.
- Чтобы отслеживать только HTML-версию вашей кампании, а не текстовую версию, вы можете создать собственный код отслеживания, используя ресурсы Google, и добавить его в HTML-код своей кампании.Если вы настроите отслеживание таким образом, вы не сможете видеть статистику Google Analytics в Mailchimp.
- Google предлагает несколько бесплатных онлайн-курсов, призванных помочь вам расширить ваши знания в области аналитики. Для получения дополнительной информации о том, как настроить отслеживание Google Analytics вручную, просмотрите справочные страницы Google по созданию URL-адресов и тегированию ваших ссылок.
Подключите Mailchimp к своей учетной записи Google
Вам необходимо авторизовать соединение между Mailchimp и учетной записью Google Analytics, прежде чем добавлять отслеживание Google в кампании.
Чтобы связать свою учетную запись Mailchimp с учетной записью Google, выполните следующие действия.
- Щелкните значок интеграции .
- Нажмите Google .
- Нажмите Подключиться . Если вы еще не вошли в свою учетную запись Google, вам будет предложено войти в систему.
- Нажмите Разрешить предоставить Mailchimp доступ к вашей учетной записи Google.
Вы вернетесь в свою учетную запись Mailchimp, и появится сообщение об успешном завершении.Теперь вы готовы отправить рассылку по электронной почте с отслеживанием Google Analytics.
Добавьте отслеживание в свою обычную рассылку по электронной почте
Чтобы добавить отслеживание Google Analytics в обычную рассылку электронной почты в Mailchimp, выполните следующие действия.
- Создайте новую обычную рассылку по электронной почте.
- В разделе Настройки и отслеживание конструктора кампаний установите флажок рядом с Отслеживание ссылок Google Analytics .
- Нажмите Сохранить .
Когда вы установите флажок, чтобы включить отслеживание, мы покажем название кампании в том виде, в котором он появится в вашей учетной записи Google Analytics после отправки кампании. Название кампании Google Analytics объединяет название кампании Mailchimp с датой, чтобы упростить поиск на панели инструментов Analytics.
Добавьте отслеживание в свой автоматизированный рабочий процесс
Чтобы добавить отслеживание Google Analytics в автоматизированный рабочий процесс в Mailchimp, выполните следующие действия.
- Перейдите к этапу автоматизации Электронная почта .
- Щелкните Изменить настройки .
- Установите флажок рядом с Отслеживание ссылок Google Analytics .
- Щелкните Обновить настройки .
После получения результатов вы можете найти данные аналитики в своих отчетах Mailchimp или в своей учетной записи Google Analytics. В Google Analytics в источнике / носителе будет отображаться название и тип кампании Mailchimp. Например, если ваш рабочий процесс называется «Подключение нового пользователя», источником / средством будет «Подключение нового пользователя / электронная почта».”
Установить разные заголовки для писем в серии
Все электронные письма в серии автоматизации будут иметь одинаковый заголовок в вашей учетной записи Google Analytics, если вы не установите для каждого отдельного заголовка.
Чтобы установить разные заголовки для каждого электронного письма в вашей автоматизации, выполните следующие действия.
- Перейдите к этапу автоматизации Электронная почта .
- Щелкните заголовок сообщения электронной почты, с которым хотите работать.
- На шаге Setup укажите заголовок электронного письма в поле Google Analytics title for email .Это заголовок, который будет отображаться в вашей учетной записи Google Analytics после запуска автоматизации.
- Повторите шаги 2–3 для каждого электронного письма в своей серии.
Добавьте отслеживание в свою кампанию A / B-тестирования
Чтобы добавить отслеживание Google Analytics в свою кампанию A / B-тестирования в Mailchimp, выполните следующие действия.
- Создайте кампанию A / B-тестирования.
- Перейдите к шагу Setup .
- В разделе Отслеживание щелкните поле Отслеживание ссылки Google Analytics .
Когда вы установите флажок, чтобы включить отслеживание, мы покажем название кампании в том виде, в котором он появится в вашей учетной записи Google Analytics после отправки кампании. Название кампании Google Analytics объединяет название кампании Mailchimp с датой и идентификатором кампании.
Найдите уникальный веб-идентификатор для каждой версии кампании
Для кампаний A / B-тестирования, которые тестируют контент, каждая комбинация кампании будет иметь свой веб-идентификатор. Прежде чем отправлять свою кампанию, запишите эти уникальные идентификаторы, чтобы знать, какой заголовок Google Analytics сочетается с какой комбинацией вашей кампании.
Чтобы найти уникальный веб-идентификатор каждой комбинации, выполните следующие действия.
- Создайте каждый вариант своей кампании.
- На шаге Design в построителе содержимого щелкните раскрывающееся меню Preview and Test и выберите Enter Preview Mode .
- Найдите ссылку для отказа от подписки в своей кампании, щелкните правой кнопкой мыши и скопируйте адрес ссылки. Обычно вы найдете ссылку для отказа от подписки в нижнем колонтитуле.
- Вставьте ссылку в текстовый файл, чтобы вы могли просмотреть всю ссылку и найти значение, следующее за c = в конце адреса ссылки.Запишите это значение и комбинацию заголовка или описания, с которым оно связано, чтобы вы могли ссылаться на него позже при просмотре данных в Google Analytics.
Просмотр данных Google Analytics в Mailchimp
Статистику для кампаний с включенным Google Analytics можно просмотреть как в вашей учетной записи Google Analytics, так и в разделе Analytics360 отчета о кампании Mailchimp.
Чтобы просмотреть отчет Analytics360 для кампании, выполните следующие действия.
- Щелкните значок Кампании .
- Щелкните Отчеты .
- Нажмите кнопку Просмотреть отчет для кампании, с которой вы хотите работать.
- Щелкните заголовок Analytics360 вверху отчета, чтобы просмотреть статистику Google Analytics360.
Статистика в разделе Analytics360 отчета о кампании относится только к посетителям, которые зашли на ваш веб-сайт по ссылке в рассылке по электронной почте. Если статистика в вашей учетной записи Google Analytics не совпадает со статистикой в Mailchimp, мы, вероятно, все еще ждем, пока Google завершит отправку аналитических данных в вашу учетную запись Mailchimp.
Ниже приведены определения терминологии, использованной в этом отчете. Для получения дополнительной информации ознакомьтесь с документацией поддержки Google.
- Рентабельность инвестиций в кампанию
Рентабельность инвестиций в кампанию — это процент, основанный на стоимости кампании по сравнению с доходом, созданным кампанией. - Стоимость кампании
Это единственное значение, которое мы рассчитываем в Mailchimp. Стоимость кампании учитывает стоимость вашего плана Mailchimp, количество подписанных контактов, которые у вас есть в вашей учетной записи, и то, как часто вы отправляете сообщения своей аудитории.Все эти переменные вводятся в формулу, которая возвращает ориентировочную стоимость кампании . - Коэффициент конверсии
Конверсия — это когда посетитель достигает цели, которую вы поставили на своем веб-сайте. Коэффициент конверсии — это процент посетителей сайта, которые достигли одной из целей сайта. - Значение цели за посещение
Это значение рассчитывается путем сложения всех значений для каждой достигнутой цели и последующего деления общего количества на количество посещений вашего сайта по ссылкам в кампании. - Цель
Мы перечислим цели, которые вы установили для своего сайта, и покажем, сколько раз каждая из них была достигнута посетителями сайта. - Полученный доход
Общая сумма дохода в долларах, полученного читателями электронной почты, щелкнувшими ссылку в рассылке по электронной почте, чтобы посетить ваш сайт, а затем совершить покупку. - Транзакции
Количество завершенных транзакций электронной торговли. Сделка — это успешная покупка. - Коэффициент конверсии Ecomm
Конверсия электронной коммерции происходит всякий раз, когда посетитель сайта совершает покупку.Коэффициент конверсии ecomm — это процент посетителей сайта, совершивших покупку. - Ценность одного посещения
Средняя ценность посещения вашего сайта на основе дохода от электронной торговли. Разделите доход на посещения, чтобы получить ценность посещения. - Среднее значение
Созданный доход, разделенный на количество транзакций электронной торговли. - Показатель отказов
Отказ — это когда кто-то посещает ваш веб-сайт, а затем покидает его, не посещая вторую страницу.Ваш показатель отказов — это процент посетителей веб-сайта, которые не просмотрели вторую страницу. - Посещений
Количество посещений вашего веб-сайта, совершенных в рамках данной кампании. - Новые посещения
Количество посетителей, которые ранее не посещали ваш сайт. - Ср. время на сайте
Среднее количество времени, в течение которого посетитель находился на вашем сайте. - Страниц / посещение
Среднее количество страниц, просмотренных каждым посетителем вашего веб-сайта.
Добавить отслеживание в архивы и на страницы кампаний по электронной почте
Чтобы добавить отслеживание Google Analytics в архивы и страницы вашей электронной почты, выполните следующие действия.
- Щелкните значок Аудитория .
- Щелкните Панель управления аудиторией .
- Если у вас более одной аудитории, щелкните раскрывающийся список Текущая аудитория и выберите ту, с которой хотите работать.
- Щелкните раскрывающийся список Управление аудиторией и выберите Настройки .
- Щелкните Google Analytics на страницах архива / списка .
- На этой странице введите свой идентификатор отслеживания Google Analytics и нажмите кнопку Сохранить .
Все готово! Сводная информация об этом трафике находится в ваших отчетах Google Analytics в разделе «Источники трафика».
Устранение неполадок
Рассмотрите эти возможности, если вы видите поведение, которого не ожидаете.
- Не совпадают ли данные по электронной торговле и Analytics360 в отчете о вашей кампании? Из-за различий в отслеживании Google Analytics и Mailchimp, показатели доходов Analytics360 и электронной коммерции могут отличаться.Например, Google Analytics делает необязательным включение налогов в суммы покупок и отслеживает конверсии с сеансами, которые заканчиваются после периода бездействия. Напротив, Mailchimp не включает налоги с суммой покупок в отчеты по электронной почте и продолжает отслеживать на неопределенный срок для каждого контакта.
- Была ли ваша учетная запись Google Analytics настроена после начала кампании?
Google Analytics не может работать задним числом. Учетная запись Google Analytics должна быть настроена и настроена до отправки отслеживаемой кампании. - Вы дали отчетам достаточно времени для заполнения?
Чтобы увидеть результаты аналитики в отчете о кампании Mailchimp, с момента отправки кампании может пройти до 36 часов. Mailchimp извлекает данные Google Analytics каждый день в 08:15 UTC (04:15 EST) и запускается примерно за 24 часа. Если кампания была отправлена близко к 08:15 по всемирному координированному времени, у Google, возможно, не было достаточно времени для заполнения этих результатов до того, как Mailchimp извлек аналитические данные, поэтому может потребоваться до следующей отправки данных для заполнения. - Это новая учетная запись Google Analytics?
Мы видели, что с новыми учетными записями может потребоваться несколько дней, чтобы данные начали заполняться в учетной записи Mailchimp. Эта задержка может усугубиться, если учетная запись настроена ближе к выходным, потому что иногда агрегация данных замедляется и включается в понедельник. - Включен ли в кампании Google Analytics?
Чтобы дважды проверить, реплицируйте кампанию и просмотрите выбранные вами параметры отслеживания. - Вы тестировали параметры URL-адреса Google Analytics?
Конструктор URL-адресов Google позволяет вручную добавлять пользовательские параметры аналитики к URL-адресу веб-сайта. Скопируйте и вставьте созданный URL-адрес в адресную строку веб-браузера, затем нажмите клавишу ВВОД. Если в Google Analytics все настроено правильно, запись об этом посещении должна появиться в вашей учетной записи Google Analytics. - Допускает ли код вашего веб-сайта следующие внешние переменные?
utm_source =
utm_campaign =
utm_medium =
utm_term =
В целях безопасности страницы ссылка предназначена для сбоя, если на страницу вводится значение запроса, выходящее за рамки ожидаемого.Это может привести к поломке ваших ссылок и отключению отслеживания, если они не будут приняты вашим сайтом. - Вы установили ссылку на файл вместо страницы на своем веб-сайте?
При использовании Google Analytics для отслеживания вашей ссылки наиболее распространенной настройкой является размещение кода отслеживания Javascript для Google Analytics на странице, которую посещают ваши контакты. Это отличное решение, если ваша целевая страница является фактическим URL-адресом, который будут посещать ваши контакты. Затем, когда страница загружается, она может загрузить Javascript и отслеживать информацию в Google Analytics, как и ожидалось.Однако, если это прямая ссылка на ресурс, такой как документ, PDF или JPG, для отслеживания этой ссылки при использовании Google Analytics вам может потребоваться настройка некоторых пользовательских методов отслеживания на вашем сервере, чтобы отслеживать эту конкретную ссылку на ваш ресурс. - Есть ли в вашей кампании пробел после URL-адреса?
Google Analytics не будет работать, если в кампании есть пробел после URL. - Есть ли для ваших ссылок более одного типа отслеживания Google Analytics?
Если вы объедините отслеживание Mailchimp в Google Analytics с пользовательским отслеживанием UTM, это может исказить результаты в отчетах.Мы рекомендуем выбирать только один тип отслеживания Google Analytics.
7 лучших способов сократить этот URL-адрес
Пытаться убедить людей щелкнуть по длинной, беспорядочной ссылке почти так же плохо, как продавать от двери до двери, пытаясь продать людям финансовые услуги.
Если ваша аудитория увидит ссылку, которую они считают спамом, в одном из ваших постов в социальных сетях, они сделают цифровой эквивалент захлопывания дверью перед вашим носом — прокрутят мимо нее.
Чтобы вас не посчитали спамом или небрежностью, когда у вас есть законная ссылка для публикации, ознакомьтесь с нашим списком из семи лучших средств сокращения ссылок, которые преобразуют ваши ссылки в чистые, согласованные и интерактивные URL-адреса.
Укорочитель звена
Программа сокращения ссылок превратит ваши ссылки в точные URL-адреса. Сокращение ссылок упростит обмен ими и отслеживание эффективности. Некоторые сокращатели URL-адресов даже предлагают варианты брендированных ссылок. Например, фирменная ссылка на это сообщение в блоге может выглядеть примерно как «hubs.ly/url-shorterner».
Каковы преимущества использования сокращателей ссылок?
Использование сокращателей ссылок может принести пользу вашему бренду по трем основным направлениям:
- Когда вы публикуете длинные ссылки в социальных сетях, это может выглядеть как спам или удерживать пользователей от нажатия на то, что они не узнают.В частности, добавление параметров отслеживания к вашим ссылкам может привести к тому, что URL-адреса будут выглядеть длинными и запутанными для тех, кто не знаком с типичными методами отслеживания ссылок. Сокращатели ссылок могут превратить ссылки, выглядящие как спам, в четкие и лаконичные.
- Многие средства сокращения ссылок также позволяют отслеживать эффективность каждой ссылки и выполнять аналитику, что может помочь вам понять, какие фрагменты контента работают лучше всего на определенных платформах.
- Каждая социальная сеть ограничивает количество символов, которые вы можете включать в свои сообщения.Twitter и LinkedIn имеют самые короткие ограничения на количество символов — 280 и 700 символов соответственно, поэтому, если вам нужно сжать ссылку или дополнительный хэштег в одном из ваших постов, сокращатели ссылок могут помочь вам остаться в пределах.
Лучшие укороченные звенья
- Bit.ly
- BLink
- Rebrand.ly
- Вл.
- Buff.ly
- TinyURL
- Tiny.CC
1. Bit.ly
Источник изображения
Bit.ly — это платформа для сокращения ссылок, которая имеет комплексную панель инструментов, отображающую показатели эффективности ваших ссылок, такие как рейтинг кликов, статистика каналов и географическая информация о людях, переходящих по вашим ссылкам.
Они также предлагают фирменные ссылки и имеют интеграцию с программным обеспечением для управления социальными сетями, таким как Sprinklr, Sprout Social, Buffer, Hootsuite и HubSpot, чтобы помочь вам беспрепятственно распространять сокращенные ссылки через ваши профили в социальных сетях.
Бесплатная учетная записьBit.ly предлагает до 1000 ссылок без бренда и отчеты по ссылкам за 30 дней, что идеально подходит для малого бизнеса. Их корпоративный план позволяет вам брендировать более 3000 ссылок в месяц и предоставляет все данные и показатели, упомянутые выше, что лучше всего подходит для крупных предприятий, которые хотят брендировать и отслеживать каждую ссылку в своих маркетинговых кампаниях.
2. Мигание
Источник изображения
Как один из наиболее надежных инструментов сокращения ссылок, Bl.ink предлагает умные брендированные ссылки, которые позволяют создавать собственные ссылки, содержащие релевантные слова, а не просто случайную строку символов.
Они также предоставляют аналитические отчеты, которые могут отслеживать клики по дате, времени, языку, источникам перехода, устройству и местоположению и интегрироваться с инструментами веб-аналитики, такими как Google Analytics и Adobe.
Bl.ink предлагает шесть уровней подписки от бесплатного до корпоративного. Начиная с 12 долларов в месяц, они оценивают свои планы в зависимости от количества ссылок, которые вы хотите создавать и отслеживать.
3. Rebrand.ly
Источник изображения
Нам доверяют более 250 000 клиентов, ребрендинг.ly — это платформа для сокращения ссылок, которая может маркировать ваши ссылки, отслеживать их показатели эффективности или интегрироваться с более чем 50 другими платформами для беспрепятственного распространения ваших ссылок.
Имея три плана для отдельных лиц и два плана для команд, Rebrand.ly предлагает решения по сокращению ссылок как для малого бизнеса, так и для корпоративных компаний. Например, их бесплатный план предлагает 5000 отслеживаемых кликов, 500 фирменных ссылок и 5 пользовательских доменных имен, в то время как их премиальный план предлагает 1500000 отслеживаемых кликов, 150 000 фирменных ссылок и 20 пользовательских доменных имен за 499 долларов в месяц.
4. Вл.
Источник изображения
Разработанный платформой управления социальными сетями Hootsuite, Ow.ly — это средство сокращения ссылок, которое включено в каждую бесплатную учетную запись Hootsuite. С Ow.ly вы можете распространять свои ссылки и отслеживать их показатели производительности непосредственно на платформе Hootsuite, что позволяет вам сокращать каждую ссылку, которую вы публикуете во всех своих профилях в социальных сетях. Ow.ly — отличный вариант для всех, кто уже использует Hootsuite в качестве платформы для управления социальными сетями.
5. Buff.ly
Источник изображения
Подобно инструменту сокращения ссылок Hootsuite, Buff.ly интегрирован в Buffer, другую платформу управления социальными сетями. С Buff.ly вы можете сокращать свои ссылки, настраивать их, распространять по всем своим профилям в социальных сетях и отслеживать их показатели производительности прямо на платформе Buffer. Buff.ly идеально подходит для всех, кто использует Buffer в качестве платформы для управления социальными сетями.
6. TinyURL
TinyURL — это бесплатная платформа для сокращения ссылок, которая идеально подходит для пользователей, у которых есть разовые ссылки, которые они хотят сократить.
Использовать TinyURL просто. Все, что вам нужно сделать, это зайти на TinyURL.com и следовать инструкциям. Вы можете быстро ввести ссылку, для которой нужен короткий URL-адрес, а также собственный псевдоним. Если никто не использует ваш псевдоним, полученная ссылка будет иметь вид «tinyurl.com/alias».
После того, как вы введете информацию об URL-адресе и нажмете «Отправить», вам будут показаны три типа URL-адресов: длинная ссылка, сгенерированная короткая ссылка и третий, который может служить ссылкой для предварительного просмотра веб-страницы.Вот пример:
7. Tiny.CC
Tiny.CC — еще один бесплатный инструмент для сокращения ссылок, который позволяет создавать временные короткие ссылки, просто вставляя длинную ссылку в текстовое поле и нажимая «Сократить». Как и TinyURL, вы также можете настроить эти ссылки.
Если вы зарегистрируетесь или станете платным подписчиком, вы сможете иметь ссылки с неограниченным сроком действия и редактировать URL-адреса позже. Если вы являетесь бесплатным пользователем, ссылка в конечном итоге истечет, и вы не сможете редактировать их после того, как они сгенерированы.
Укорачиватели навигационных ссылок
Если вам нужно поделиться несколькими огромными ссылками, нет ничего плохого в их сокращении, потому что это быстрый и простой процесс.Помимо того, что на них легче смотреть, сокращенные ссылки также могут быть полезны для печатной рекламы, физических указателей или мест, где вы не можете ссылаться на другой сайт.
Есть несколько бесплатных или доступных сайтов для сокращения ссылок. Но вам может быть интересно, что выбрать. Чтобы помочь вам, мы оставим вам два быстрых совета:
- Если вы не используете аналитическое программное обеспечение, такое как Google, вы можете использовать средство сокращения ссылок, которое включает базовую статистику, например просмотры страниц.
- С другой стороны, если вы хотите настроить свою ссылку, вам также понадобится сокращатель, который позволит вам это сделать.
После того, как вы научитесь сокращать свои URL-адреса, вы также можете изучить аналогичный процесс создания QR-кодов. Если да, ознакомьтесь с советами и рекомендациями в этом руководстве.
Примечание редактора: этот пост был первоначально опубликован в январе 2019 года и был обновлен для полноты.
Обработка ссылок на приложения Android | Разработчики Android
Пользователи, переходящие по ссылкам на устройствах, преследуют одну цель: перейти к контенту, который они хотят видеть.Как разработчик, вы можете настроить ссылки на приложения для Android, чтобы пользователи переходили к конкретному содержанию ссылки. прямо в вашем приложении, минуя диалог выбора приложения, также известный как устранение неоднозначности диалог. Поскольку ссылки на приложения Android используют URL-адреса HTTP и связь с веб-сайтом, пользователи, у которых не установлено ваше приложение, переходят напрямую к содержанию вашего сайта.
Внешние ссылки и ссылки на приложения Android
Перед тем, как погрузиться в реализацию, важно понять различные типы ссылки, которые вы можете создать в своем приложении для Android: ссылки на контент и ссылки на приложения Android.
Глубинные ссылки — это URL-адреса, которые направляют пользователей непосредственно к определенному контенту в вашем приложении. В Android вы можете настроить глубокие ссылки, добавив фильтры намерений и извлечение данных из входящих намерений, чтобы побудить пользователей к нужному действию.
Однако, если другие приложения, установленные на устройстве пользователя, могут обрабатывать то же самое намерение, пользователи могут не перейти прямо в ваше приложение. Например, щелчок по URL-адресу в электронном письме от банка может привести к диалоговое окно, спрашивающее пользователя, использовать ли браузер или собственное приложение банка для открытия ссылки.
Ссылки на приложения Android на Android 6.0 (уровень API 23) и выше позволяют приложению обозначить себя как обработчик по умолчанию для данного типа ссылки. Если пользователь не хочет app в качестве обработчика по умолчанию, они могут переопределить это поведение из системы своего устройства настройки.
Ссылки на приложения для Androidпредлагают следующие преимущества:
- Безопасный и конкретный: Ссылки на приложения Android используют URL-адреса HTTP, которые ведут на веб-сайт домен, которым вы владеете, поэтому никакое другое приложение не сможет использовать ваши ссылки.Одно из требований к Android-приложению Ссылки — это то, что вы подтверждаете право собственности на свой домен с помощью одного из наших методов ассоциации веб-сайтов.
- Удобство работы с пользователем: Поскольку ссылки приложений Android используют один URL-адрес HTTP для один и тот же контент на вашем веб-сайте и в приложении, пользователи, у которых оно не установлено просто зайдите на свой сайт вместо приложения — никаких ошибок 404 и ошибок.
- Поддержка приложений с мгновенным запуском Android: С помощью приложений с мгновенным запуском Android ваши пользователи могут запускать Android-приложение, не устанавливая его.Чтобы добавить поддержку мгновенного приложения в свое приложение Android, настройте Ссылки на приложения Android и посетите g.co/InstantApps.
- Привлекайте пользователей из поиска Google: Пользователи напрямую открывают определенный контент в ваше приложение, щелкнув URL-адрес Google в мобильном браузере, в приложении Google Search, в экранный поиск на Android или через Google Assistant.
Добавить ссылки на приложения для Android
Общие шаги по созданию ссылок на приложения для Android: следует:
- Создайте глубокие ссылки на определенный контент в вашем приложении: В манифесте вашего приложения, создать фильтры намерений для URI вашего веб-сайта и настроить приложение для использования данных из намерений чтобы направлять пользователей к нужному контенту в вашем приложении.Узнать больше в Создавайте глубокие ссылки на контент приложения.
- Добавьте подтверждение для ваших ссылок на контент: Настройте приложение на запрос проверка ссылок на приложения. Затем опубликуйте файл JSON со ссылками на цифровые активы на своих веб-сайтах, чтобы подтвердить право собственности через Консоль поиска Google. Дополнительные сведения см. В разделе «Проверка ссылок на приложения».
В качестве альтернативы документации, указанной выше, Помощник по ссылкам на приложения для Android — это инструмент в Android Studio, которая проведет вас через каждый из шагов, необходимых для создания ссылок на приложения Android.
Для получения дополнительной информации см. Следующие ресурсы:
Как определить, является ли ссылка хорошей или плохой
Ссылки могут значительно повлиять на производительность вашего поиска — в лучшую или в худшую сторону.
Независимо от того, используете ли вы методы построения ссылок в черной или белой шляпе, вы должны быть готовы к возможным последствиям.
Важно провести полный анализ обратных ссылок и точно определить как хорошие, так и плохие ссылки, ведущие на ваш сайт.
Вы знаете, что хорошие ссылки положительно повлияют на эффективность вашего поиска, в то время как плохие могут потенциально навредить вашему сайту.
Вы хотите максимально избежать штрафов Google , особенно сейчас, когда Google так озабочен намерениями пользователя, а не ключевыми фразами, которые они ищут.
Раньше любые ссылки могли сойти с рук. Google с самого начала осуждал плохие ссылки, но у них не было системы для выявления виновных.Теперь это другая игра с мячом.
Обновление Panda изменило определение качества контента. Обновление Penguin ясно показало, что Google предпочитает заработанные ссылки встроенным.
Имейте в виду, что обратных ссылок важны для рейтинга вашей страницы или позиции в поисковой выдаче .
Прочитав эту статью, вы узнаете, как получить нужные ссылки — ссылки, которые улучшат ваш поисковый рейтинг. Давайте начнем.
Что такое анализ обратных ссылок?Если вы вообще заботитесь о SEO, очень важно провести анализ обратных ссылок на сайтах, с которых вы хотите получать ссылки.
Этот вид анализа представляет собой детальное изучение структуры ссылок, как внешних, так и внутренних.
Хорошие ссылки улучшат ваш поисковый рейтинг и будут привлекать целевой органический трафик на ваш сайт, в то время как плохие ссылки доставят вам неприятности.
Поэтому важно сначала провести обширный анализ обратных ссылок, прежде чем вы начнете создавать или зарабатывать ссылки. Авторитет домена и сила внешних ссылок являются важными частями алгоритма поискового ранжирования.
Не бросайте ссылки на свои веб-страницы куда угодно. Вместо этого используйте более стратегический подход.
Используйте инструмент анализа обратных ссылокКогда вы начинаете анализировать обратные ссылки, вы должны быть осторожны с тем, какие инструменты вы используете. Их много, как хороших, так и не очень.
Цель любого инструмента анализа обратных ссылок — показать вам ключевые слова, ссылки и авторитет сайтов, с которых вы собираетесь ссылаться.
Ubersuggest — мой любимый инструмент анализа обратных ссылок.Это помогает вам проверять обратные ссылки и ключевые слова, позволяя точно определить, что делают ваши конкуренты.
Это особенно важно, когда вы проводите анализ конкурентов. В конце концов, если веб-страницы ваших конкурентов имеют более высокий рейтинг, чем ваши, должно быть что-то, что они делают, а вы — нет.
Вот лучший способ использовать Ubersuggest для слежки за конкурентами.
Шаг № 1: Введите URL вашего конкурента и нажмите кнопку «Поиск».
Шаг № 2: Нажмите «Обратные ссылки» на левой боковой панели и прокрутите вниз до раздела «Обратные ссылки».
Теперь пришло время рассмотреть результаты, имея в виду две вещи:
- Составление списка обратных ссылок, которые есть у вашего конкурента, но у вас нет
- Определение, какие ссылки хорошие, а какие плохие
Сопоставляя свой ссылочный профиль с результатами выше, вы можете создать список обратных ссылок преследовать.
Что касается качества, обратите внимание на вторую колонку: Domain Score.
Измеряет общую надежность веб-сайта от 1 (низкий) до 100 (высокий). Как правило, мне нравится настраивать таргетинг на ссылки с рейтингом домена 40+
.Теперь, когда вы выполнили эти шаги, вы можете продолжить процесс отсеивания плохих ссылок, чтобы сосредоточиться только на хороших.
Что делает ссылку хорошей?Скорее всего, вам посоветовали получать «только» хорошие ссылки.
ЭкспертыSEO покажут вам, насколько важны хорошие ссылки и зачем они вам нужны.Но о том, что делает ссылку хорошей, сказано немногое.
Нельзя игнорировать построение ссылок, потому что количество обратных ссылок остается чрезвычайно важным для органического ранжирования.
Невозможно дать одно всеобъемлющее определение хорошей ссылки, потому что необходимо учитывать несколько факторов. Точно так же плохая ссылка — это не просто ссылка с некачественной или заблокированной веб-страницы — это еще не все.
Однако следует помнить о том, что чем сложнее получить обратную ссылку, тем большую ценность она будет иметь.
Это потому, что получить хорошие ссылки непросто.
Представьте, во сколько вам будет стоить получение авторитетной ссылки от Business Insider, CNN или Белого дома. Эта единственная обратная ссылка определенно повысит ваш рейтинг в поисковой выдаче, но как, черт возьми, вы ее получите?
Точно так же, чем проще получить обратную ссылку, тем меньшую ценность она будет иметь. Это факт. Получить ссылку на форумах легко, потому что все, что вам нужно сделать, это ответить в ветке, и, если комнаты не проходят строгую модерацию, ваша ссылка останется.
Итак, давайте рассмотрим несколько факторов, которые делают ссылку хорошей. Мы можем использовать эти показатели, чтобы выяснить, какие ссылки стоят нашего времени:
Хорошие обратные ссылки поступают с веб-страниц, которые имеют отношение к теме вашей страницы: Первым показателем, который вы можете использовать для определения хорошей ссылки, является релевантность страницы по сравнению с темой вашей страницы.
Брайан Кларк, основатель Copyblogger, сайта контент-маркетинга, недавно дал интервью журналу The Rise To The Top. Аудитории обоих блогов тесно связаны, поэтому ссылка на Copyblogger была актуальной.
Помимо улучшения вашего рейтинга, источник вашей ссылки также может влиять на конверсии.
Даже если ваша веб-страница занимает высокое место в десятке лучших Google, вам все равно будет трудно превратить пользователей поиска в клиентов.
Релевантные обратные ссылки уже много лет являются важной частью оптимизированной страницы.
Слово «относящийся к делу» означает «тесно связанный или соответствующий рассматриваемому вопросу». Другими словами, , если вы получаете ссылку с веб-страницы, которая посвящена теме, аналогичной странице, на которую указывает ссылка, тогда она актуальна.
Допустим, у вас есть туристический сайт и вы создали путеводитель по – лучшим местам для посещения в Дубае. ” Вы хотите создать ссылки на эту веб-страницу. С чего начать?
У вас много возможностей. Но если ваши ссылки поступают с другого туристического сайта для этого региона мира, это было бы здорово, потому что они имеют отношение к вашему гиду. Если получить такие ссылки сложно, то стремитесь к страницам и сайтам, которые, по крайней мере, имеют отношение к «путешествиям».”
Таким образом, ссылка со страницы путешествия CNN более актуальна, чем ссылка на новостную статью на Business Insider.
Прежде чем создавать ссылку с какой-либо веб-страницы, спросите себя: «Будет ли эта ссылка полезна этой аудитории?»
Если вы эксперт по социальным сетям и разместили ссылку на сайте сравнения программ бухгалтерского учета, принесет ли эта ссылка пользу вашей аудитории? Возможно, но я в этом сомневаюсь.
Я построил ссылки с сайтов электронного маркетинга, начинающих компаний, социальных сетей, контент-маркетинга, построения ссылок, инвестиционных и франчайзинговых сайтов.Так или иначе, мои сайты QuickSprout.com и NeilPatel.com тесно связаны с этой тематикой.
Релевантность будет и дальше оставаться тенденцией в факторах ранжирования поиска.
На собственном опыте я обнаружил, что ссылки с сайтов SEO, контент-маркетинга и социальных сетей имеют наибольший вес и влияют на мой рейтинг.
Быстрый совет: Если вы хотите вести гостевой блог для создания авторитетных ссылок, но в вашей нише не так много блогов, которые принимают гостевые сообщения, вы можете связать тему.
Допустим, у вас есть сайт по недвижимости. Вы все еще можете вести гостевой блог в блогах, связанных с интернет-маркетингом.
Просто соедините свои темы и придумайте убедительные названия и тематические исследования. Вы можете писать статьи по этим заголовкам и отправлять их в блоги по электронному маркетингу, социальному маркетингу, SEO или CRO:
- Пример: как я повысил рейтинг своего блога о недвижимости на 97%
- Как эксперт по недвижимости использовал маркетинг в Твиттере для увеличения реферального трафика
- 7 простых методов, которые я использовал, чтобы повысить коэффициент конверсии на 34%
Хорошо обратные ссылки поступают с надежных сайтов, а не с сайтов со спамом: Ваши обратные ссылки с надежных сайтов? Имейте в виду, что рейтинг доверия для ссылающихся веб-страниц очень важен.
По мнению многих экспертов по поиску, 70% способности сайта получать хорошие позиции в поисковой выдаче связано с сайтами, которые ссылаются на него.
Однако не все ссылки созданы равными . Одна ссылка из Википедии, даже если это ссылка без подписки, будет весить больше 3–5, действительно следует переходить по ссылкам со спамовых сайтов с низким авторитетом или TrustRank.
Причина проста: Википедия — это сайт, заслуживающий доверия, а не сайт для рассылки спама.
O Одна из причин, по которой люди теряют свой рейтинг, когда Google выпускает большое обновление, заключается в том, что их ссылкам не доверяют .На данный момент ваши веб-страницы могут быть высоко оценены, но будет ли это продолжаться?
Google доверяет одним сайтам больше, чем другим. Если Google не доверяет вашему сайту, отрицательное SEO от недобросовестных людей, создающих неестественных ссылок на ваш сайт, повлияет на эффективность вашего поиска.
Получение ссылок с сайтов, на которых есть много исходных сайтов, сослужит вам хорошую службу. Google будет рассматривать эти ссылки как знак того, что на вашей странице должно быть что-то полезное.В противном случае, почему такие заслуживающие доверия сайты будут ссылаться на него?
Ссылки внутри содержимого: Знаете ли вы, что расположение ссылки на странице может повлиять на ее SEO-ценность?
Это правда. Например, ссылки на уровне сайта — например, в нижнем колонтитуле или на боковой панели — не имеют большого значения. Но ссылки внутри контента (то есть контекстные ссылки) — лучшее, что вы когда-либо могли получить.
Еще лучше, когда ссылающаяся страница заслуживает доверия и актуальна.Google считает контекстные ссылки с релевантных сайтов очень ценными и соответственно вознаградит вас.
Контекстные ссылки могут иметь форму внешних или внутренних ссылок. Да, вы можете использовать гостевую публикацию для продвижения своей белой SEO-кампании, но имейте в виду, что ссылки из гостевых публикаций — особенно в биографии автора или в области профиля автора — могут быть не такими ценными, как контекстные ссылки на той же странице.
Если у вас одинаковые якорные тексты (особенно если они чрезмерно оптимизированы) в биографиях авторов в разных блогах, это также может повредить вашему рейтингу из-за проблем с дублированием контента. Вам нужны ссылки в биографии авторов, уникальные для разных сайтов.
На всякий случай стремитесь к контекстным ссылкам, т. Е. Ссылкам из содержимого. Контекстные ссылки, которые указывают на вашу веб-страницу, например, приведенная ниже, являются хорошими ссылками и положительно влияют на эффективность вашего поиска:
Google превратился в компанию, занимающуюся поисковыми системами. Его недавние изменения в алгоритме — это обновления, которые обеспечивают лучшие результаты поиска для пользователей в зависимости от контекста, а также контента.
Когда поисковые системы просматривают веб-страницы, они идентифицируют ссылки и рассматривают текст вокруг ссылки.
Например, если вы связались со своей страницей с помощью «Apple iPhone», робот Google захочет узнать, насколько релевантная ссылка привязки контексту страницы.
Есть ли родственные слова, указывающие на то, что вы действительно имели в виду iPhone? Разумно ожидать, что вы хотя бы упомянете другие сопутствующие товары, такие как Apple iPad или iMac, или расскажете о Стиве Джобсе и о том, как развивались его разработки.
Все это шаги к тому, чтобы сделать ваши контекстные ссылки релевантными. То, что ссылка появляется внутри содержания в окружении слов, не означает, что это правильная ссылка. Этим можно было манипулировать.
TechCrunch знает, как делать ссылки на авторитетные сайты естественным образом. Если в сообщении говорится о Facebook, в нем, естественно, будут упоминаться слова, относящиеся к этому сайту.
В приведенном ниже примере, вместо ссылки на «Скрытые чаты», TechCrunch поместил другие связанные слова в контекст (до и после привязки) — «популярные приложения для обмена сообщениями», «миллион пользователей» и т. Д.Эти слова имеют отношение к онлайн-чату.
Ссылки, которые естественным образом перетекают в контент: Когда я только начинал как автор контента, моей главной проблемой было писать естественно. Это требует творчества, экспериментов и готовности учиться и много работать.
Хорошая ссылка обычно естественно перетекает в окружающий контент . Если есть ощущение препятствия в потоке текста до или после ссылки, эта ссылка может быть воспринята как спам.Посмотрите, как этот якорный текст читается естественно:
Взгляните на абзац ниже, скажите мне: плавно ли перетекает ли ссылка в контент?
Эта ссылка и ее контекст носят слишком рекламный характер. Это не представляет никакой ценности. Вместо этого он просто восхваляет службу лидогенерации. Такой вид спам-ссылки может доставить вам неприятности.
По возможности используйте естественные якорные тексты . Вы можете просто сосредоточиться на создании своего контента, а затем вернуться к гиперссылке на фразу, которая больше всего подходит для вашей веб-страницы.
Помните, что наличие определенного процента ссылок nofollow может также указывать на естественную попытку ссылаться только на соответствующие веб-страницы . Так что не избегайте ссылок nofollow.
Ссылки из длинного контента ценнее: Это больше не вопрос: длинное содержание привлекает органический трафик и имеет тенденцию оцениваться выше, чем более короткие статьи.
SerpIQ обнаружил, что статьи с наивысшим рейтингом на первой странице результатов Google содержат в среднем 2450 слов.
Фактически, Medium, платформа для длинного контента, недавно собрала данные о самых успешных статьях, которые когда-либо публиковал сайт.
Они измерили среднее время на странице в зависимости от количества времени, необходимого для завершения статьи, и длины сообщения. Они обнаружили, что в среднем сообщение читается за 7 минут и содержит около 1600 слов.
Это правда, что Google не сразу сказал, что ссылки из длинного контента ценятся больше, чем ссылки из более коротких частей. Но реальность такова: пользователей предпочитают длинный контент .
И Googlebot следует за людьми. Вся суть SEO заключается в следующем: дайте пользователям то, что они хотят, и Google вознаградит вас.
Если вы получите ссылку из длинного контента, она передаст более сильный эффект и улучшит ваш рейтинг по сравнению со статьей из 300 слов, которая не представляет особой ценности.
Естественно, более длинный контент может глубже погрузиться в тему, затрагивая каждую часть, и, вероятно, предпочтительнее «мощных» коротких статей.
Если вы не Сет Годин, люди не будут нажимать на ваши ссылки, если веб-страница не находит отклика у них.
Сообщения в блоге Сета могут быть короткими (иногда менее 100 слов), но его бестселлеры глубокие, насыщенные и заставляют задуматься. Его классический Все маркетологи — лжецы состоит из 240 страниц.
Хотите предположить, на сколько авторитетных веб-страниц я в среднем ссылаюсь в своих сообщениях? Более 40 — все актуальные и полезные. Люди переходят по этим ссылкам? Конечно, есть, особенно когда ссылки кажутся естественными.
Итак, сосредоточьтесь на получении ссылок из длинного контента . Когда вы пишете гостевые посты, делайте все возможное, чтобы создавать более длинные части, а затем творчески размещать свою якорную ссылку внутри контента (контекстная ссылка).
Сочетание ссылок Dofollow и nofollow: Сделайте все ваши ссылки dofollow, потому что они улучшат ваш рейтинг в поиске, верно?
Неправильно .
Вам также понадобится несколько ссылок nofollow, чтобы они выглядели естественно, авторитетно и актуально.
По этому поводу было много разногласий.
Вот официальное заявление Google о ссылках nofollow:
Как правило, мы им не следуем.
Мэтт Каттс сказал, что слишком много ссылок dofollow с несвязанных сайтов может повредить вашему рейтингу, а слишком много ссылок nofollow — нет. Атрибут rel = ”nofollow” обычно содержится в самом теге ссылки.
Инвестируйте в оба типа ссылок, но больше используйте dofollow, если вы хотите улучшить рейтинг.Вот типичный пример от Нейлы Уокер:
Вам следует обратить внимание на скрытую силу ссылок nofollow, которые могут повысить осведомленность о вашем продукте, привлечь целевой трафик, привлечь пользователей и привлечь клиентов.
Итак, стоит инвестировать в ссылки nofollow.
Вы всегда можете получить ссылки dofollow через гостевой блог. Но если у вас есть возможность получить ссылку с CNN.com — даже если это nofollow — возьмите ее обеими руками.
В настоящее время Google не оговаривает соотношение для ссылок dofollow и nofollow.
Чтобы не рисковать, приобретает оба типа ссылок, потому что dofollow может повысить производительность поиска, но nofollow (особенно с авторитетных сайтов) принесет вам трафик, продажи и более высокий рейтинг кликов .
Ссылки с сайтов с высоким авторитетом домена: Очевидно, что если вы получите ссылку с сайта с высоким авторитетом домена, то — при условии, что ссылка относится к странице хостинга и ссылающейся странице — она будет считаться хорошей ссылка на сайт.
Используйте Link Explorer , чтобы проверить авторитетность домена страницы. Просто введите URL-адрес сайта в поле поиска и нажмите кнопку поиска справа.
Далее вы увидите домен и авторитет страницы:
Что делает ссылку плохой?Хорошая ссылка соответствует рекомендациям Google. Плохой ссылки нет.
Плохая ссылка — это просто ссылка, которая нарушает правила Google. Следовательно, это может привести к штрафам Google. Вы должны обращать внимание на сигналы при построении ссылок, независимо от того, откуда они берутся.
Фермы ссылок, платные ссылки, колеса ссылок и другие методы построения ссылок «черная шляпа» могут доставить вам неприятности. Избегайте их любой ценой.
Большинство оптимизаторов поисковых систем делают ошибку, бросая свои ссылки повсюду. Их не волнует, как это может повлиять на эффективность поиска, но вы должны.
Даже если у вас нет стопроцентного контроля над своими ссылками, те, которые вы можете контролировать (например, когда вы участвуете в других блогах), должны быть хорошими ссылками. Держитесь подальше от плохих звеньев ; последствия часто слишком негативны, чтобы их можно было преодолеть.
Вот способы распознавания плохих ссылок:
Глобальные ссылки на ваш сайт: Когда дело доходит до построения ссылок, «вас знает компания, в которой вы работаете». Что может произойти, если вы получите ссылку со страницы, которая также ведет на множество страниц, содержащих спам?
Вы узнаете это, когда увидите, что на каждой странице сайта есть ссылки dofollow на определенную веб-страницу, например.g., «страница бронирования путешествия». Поисковые системы считают эти ссылки подозрительными. В свою очередь, это может повлечь ручной штраф.
Почему сотни чрезмерно оптимизированных ссылок поступают из одного корневого домена?
Возможно, там происходит что-то манипулятивное.
Ссылки, указывающие на продукты, которые Google считает спамом — такие продукты, как ссуды до зарплаты, таблетки для похудания и т. Д. — с чрезмерно оптимизированными якорями, являются плохими ссылками, особенно когда ссылки идут с несвязанных страниц.
Ссылки с несвязанных сайтов или страниц: Я уже упоминал об этом ранее. Если ваши ссылки поступают с нерелевантных сайтов или страниц, они будут расценены как плохие ссылки.
Если вы эксперт по интернет-маркетингу, не пытайтесь получить ссылки из фитнес-блогов, потому что они не связаны.
Однако, если вы проходите собеседование с фитнес-экспертом, вам следует использовать название вашего бренда в качестве якорного текста. Это связано с тем, что текст привязки внешних ссылок на страницу влияет на то, как Google будет воспринимать вашу ссылку.
Так, например, вместо использования «компания цифрового маркетинга» в качестве якорного текста используйте «www.digitalmarketingservice.com »и ссылку на свою домашнюю страницу.
3. Ссылки на весь сайт и нижний колонтитул Dofollow: Если у вас есть несвязанные ссылки на внешний сайт, Google может вручную наложить штраф на ваш сайт.
Давайте проясним это: Мэтт Каттс сказал в видео на YouTube, что ссылки по всему сайту могут быть неплохими, потому что с алгоритмической точки зрения Google будет считать сотни ссылок по всему сайту как одну ссылку, поскольку они относятся к одному доменному имени. .
По его словам, «межсайтовые ссылки бывают.”Это имеет смысл, поскольку на большинстве сайтов есть статические страницы для таких вещей, как политика конфиденциальности, уведомления об авторских правах и т. Д.
Но когда Google находит оффтоп для всего сайта и ссылки в нижнем колонтитуле , это может вызвать тревогу. В своей базовой форме это просто выглядит манипулятивным.
Например, если цель вашего сайта — доставлять «уроки биологии», было бы не по теме давать ссылку на сайт торговли форекс в нижнем колонтитуле или на боковой панели.
Веб-сайт, на который ведет ссылка, имеет низкий авторитет домена: Авторитет домена — это показатель веб-сайта, разработанный Moz.Это довольно популярный поисковый запрос с приличным объемом поиска:
.Я думаю, что причина, по которой специалисты по SEO, владельцы сайтов и сам Google доверяют авторитету домена, сводятся к этим трем факторам:
Авторитет домена стал сильной метрикой веб-сайта. Если вы получаете ссылку с сайта с низким DA, она может быть засчитана как плохая ссылка, независимо от того, насколько она актуальна.
В корреляции рейтингов наибольшее влияние имеет авторитетность домена. Фактически, он весит больше, чем количество ссылок, указывающих на веб-страницу.
Итог: Получите ссылки с домена с как минимум 30% авторитетом . Ссылки с сайтов с более низким рейтингом могут считаться плохими.
Ссылки из каталогов статей: Каталоги статей были очень популярны примерно три года назад.
Митчелл Райт поделился 7 причинами, по которым ссылки из каталогов статей могут навредить вашему сайту.
Google осуждает некачественный контент . Вот почему каталоги статей вам не подходят. Они известны как фабрики контента, которые мало или совсем не ценят свой контент.
Для этих справочников количество важнее, чем качество. Но качество — это то, что способствует росту блогов, повышению рейтинга в органическом поиске и привлечению потенциальных клиентов к вашему контенту. Для умных маркетологов количество достигается за счет постоянства.
Google через Мэтта Каттса сообщил
Вы не должны отправлять статьи в крупные репозитории содержания, такие как электронные журналы.com, ezinearticles.com, articlecity.com и т. д.
Скорее всего, ссылка из каталога статей будет неестественной. Google прекрасно понимает, что авторы используют эти каталоги для разных целей и могут использовать один и тот же контент в 10 или более каталогах статей.
Обратные ссылки с чрезмерно оптимизированными якорными текстами: Просто и понятно: чрезмерно оптимизированные якорные тексты могут негативно повлиять на ваш поисковый трафик и рейтинг.
Ссылки, исходящие от чрезмерно оптимизированных якорей, опасны.Процент точного соответствия текстов привязок, которые привели к штрафу Penguin, был выше, чем у других текстов привязок.
В прошлом чрезмерная оптимизация была способом повышения рейтинга владельцев сайтов и оптимизаторов поисковых систем. Но это определенно больше не работает. A Любые манипулятивные средства получения ссылок — это самоубийство SEO.
Еще в апреле 2012 года Google ввел штраф за чрезмерную оптимизацию. Он полностью деиндексировал сайты с чрезмерным заполнением якорным текстом, ссылочным спамом и другими плохими методами SEO.
Чтобы получить более качественные ссылки и не попадаться на радар Google Penguin, вам необходимо распределить тексты привязки между точным соответствием, фразой, названием бренда, брендированным ключевым словом и т. Д.
Честно говоря, я не особо беспокоюсь о якорных текстах. Когда я пишу свои сообщения, я просто убеждаюсь, что каждое предложение звучит хорошо и имеет смысл. Если якорный текст, который я написал, плавно сочетается с остальной частью сообщения, я сохраняю его. Если нет — переписываю.
Попытка не отставать от всех правил текста привязки может быть не пустой тратой времени, но это только пока что.Вам нужны результаты, а не правила.
Так что сосредоточьтесь на создании правильного контента и позвольте якорям ложиться как можно более естественно. Как и эта ссылка, я получил с Entrepreneur.com:
На странице моего профиля в Википедии мои сайты связаны с помощью фирменных якорных текстов. Учитывая, что на некоторые из моих постов также ссылались, имеет смысл использовать бренды, которые перенаправляют на домашние страницы.
Ссылка со страницы с некачественным или тонким содержимым: Ссылки с некачественного и некачественного содержимого, скорее всего, не подходят.Google обнаружил страницы с тонким содержанием:
- Автоматически сгенерированный контент
- Тонкие партнерские страницы
- Некачественные гостевые посты
- Вычищенный контент
Эти страницы не дают пользователям содержательной информации. В этом нет никакой реальной ценности — никаких полезных советов или советов. Создать тонкий контент легко. В конце концов, требуется мало или совсем не нужно творческой работы.
Я уверен, что вы раньше видели некачественный контент. Такие элементы никоим образом не помогают пользователям, поэтому пользователи не взаимодействуют с ними. Подобный очищенный контент уводит пользователя с вашего сайта к вашим конкурентам.
Короче говоря, ссылка с тонкого контента или с некачественной страницы — это плохая ссылка. Вместо этого включает , , длинный контент, , , создает подробные руководства и следит за вашими конверсиями и кардинальным повышением вашего рейтинга в поиске.
Ссылка с оштрафованного сайта: Это очевидно. I Если вы получили ссылку с сайта, на который оштрафовали, значит, это плохая ссылка.
Сайты, на которые наложены штрафы, не индексируются Google. Таким образом, ваши ссылки будут потрачены впустую и могут даже повлиять на ваш рейтинг в долгосрочной перспективе.
Вы можете проверить, индексируется ли сайт по-прежнему или активен, с помощью этой поисковой строки: site: thesiteurl.com:
Держитесь подальше от этих блогов.
Каждый год Google меняет свой алгоритм поиска примерно 500 раз. Несомненно, новые сайты будут оштрафованы, а некоторые ранее оштрафованные сайты восстановят свою репутацию.
Есть несколько инструментов, которые можно использовать для проверки статуса сайта, с которого вы хотите получить ссылку. Я предпочитаю Ismywebsitepenalized.com.
На главной странице введите URL-адрес сайта, с которого вы собираетесь получать ссылки — например, через гостевой блог, создание ссылок, рассылку по электронной почте и т. Д. Затем нажмите кнопку, чтобы проверить:
Далее смотрим статус сайта:
ЗаключениеВажно отметить, что будущее SEO , создание ссылок и контент-маркетинг — это оптимизация пользователей .
Аудитория, на которую вы ориентируетесь, должна извлечь выгоду из вашего контента, ключевых слов и ссылок, если вы когда-нибудь захотите, чтобы Google вознаградил вас.
В некотором смысле Google похож на малыша, которого нужно кормить с ложечки. Все, что вам нужно сделать, это провести робота Googlebot за руку через подробный и ценный контент, и вы докажете, что заслуживаете рейтинга первой страницы .
Чем больше у вас хороших ссылок, указывающих на ваши веб-страницы, тем лучше и авторитетнее Google будет воспринимать ваши веб-страницы.В конце концов, хорошие ссылки ведут только на полезные сайты, которые интересны пользователям.
Если вы обнаружите, что не получаете органический трафик, независимо от усилий, которые вы вкладываете в создание контента — убедитесь, что вы приносите пользу — вот что я советую вам сделать:
Обратитесь к авторитетным и отраслевым блогам. Получайте естественные ссылки с надежных сайтов. Прежде всего, будьте последовательны и терпеливы, и постепенно вы подниметесь на вершину страниц рейтинга поисковых систем (SERP).
Какие еще стратегии вы используете для определения хороших и плохих ссылок? Какие шаги вы предпринимаете, чтобы создавать только хорошие ссылки?
Узнайте, как мое агентство может привлечь огромное количество трафика на ваш веб-сайт
- SEO — разблокируйте огромное количество SEO-трафика. Смотрите реальные результаты.
- Контент-маркетинг — наша команда создает эпический контент, которым будут делиться, получать ссылки и привлекать трафик.
- Paid Media — эффективные платные стратегии с четкой окупаемостью.
Заказать звонок
Создание ссылок [Руководство по поисковой оптимизации для новичков]
Многие методы, которые вы бы использовали для создания ссылок, также косвенно укрепят ваш бренд. Фактически, вы можете рассматривать создание ссылок как отличный способ повысить узнаваемость вашего бренда, тем, в которых вы являетесь авторитетным лицом, а также продуктов или услуг, которые вы предлагаете.
Как только ваша целевая аудитория познакомится с вами и у вас появится ценный контент, которым можно поделиться, сообщите об этом своей аудитории! Совместное использование вашего контента на социальных платформах не только сделает вашу аудиторию осведомленной о вашем контенте, но также может побудить их распространить эту осведомленность на свои собственные сети, тем самым расширив ваш собственный охват.
Рассылки в социальных сетях — это то же самое, что ссылки? Нет. Но если поделиться с нужными людьми, то могут появиться ссылки. Социальные сети также могут способствовать увеличению трафика и увеличению числа посетителей вашего веб-сайта, что может повысить узнаваемость бренда, а с ростом узнаваемости бренда может произойти рост доверия и ссылок. Связь между социальными сигналами и рейтингом кажется косвенной, но даже косвенные корреляции могут быть полезны для информирования стратегии.
Надежность имеет большое значение
Для поисковых систем доверие в значительной степени определяется качеством и количеством ссылок, полученных вашим доменом, но это не означает, что нет других факторов, которые могут повлиять на авторитет вашего сайта .Подумайте обо всех различных способах, которыми вы доверяете бренду:
- Осведомленность (вы знаете, что они существуют)
- Полезность (они дают ответы на ваши вопросы)
- Целостность (они делают то, что обещают)
- Качество ( их продукт или услуга представляют ценность, возможно, больше, чем другие, которые вы пробовали)
- Непрерывная ценность (они продолжают обеспечивать ценность даже после того, как вы получили то, что вам нужно)
- Голос (они общаются уникальными, запоминающимися способами)
- Настроение (у других есть хорошие отзывы о своем опыте работы с брендом)
На этом последнем моменте мы и сосредоточимся.Отзывы о вашем бренде, его продуктах или услугах могут сделать или разрушить бизнес.
Стремясь установить авторитетность отзывов, следуйте этим эмпирическим правилам проверки:
- Никогда не платите никому или агентству за создание ложного положительного отзыва о вашем бизнесе или ложного отрицательного отзыва о конкуренте.
- Не анализируйте свой бизнес или бизнес конкурентов. Не заставляйте своих сотрудников делать это.
- Никогда не предлагайте никаких поощрений в обмен на отзывы.
- Все отзывы покупатели должны оставлять непосредственно в их аккаунтах; никогда не публикуйте отзывы от имени клиента и не используйте для этого агентство.
- Не устанавливайте пункт проверки / киоск в своем офисе; многие отзывы с одного и того же IP-адреса можно рассматривать как спам.
- Прочтите инструкции для каждой платформы для обзоров, на которой вы надеетесь получить отзывы.
Имейте в виду, что обзорный спам — это проблема, которая принимает глобальные масштабы, и что нарушение правительственных руководящих принципов в отношении правды в рекламе привело к судебному преследованию и большим штрафам.Это слишком опасно, чтобы того стоить. Игра по правилам и предложение исключительного качества обслуживания клиентов — это выигрышная комбинация для укрепления доверия и авторитета с течением времени.