Анализ сайта editions.dev
Основное Готовность: 70%
Домен
editions.dev
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Кол-во редиректов 4 слишком большое! Проверьте настройки сайта и веб-сервера!
Цепочка редиректов:
http://editions.dev
301 MovedPermanently
https://editions.dev/
301 MovedPermanently
https://www.shopify.com/dotdev
301 MovedPermanently
https://dotdev.shopify.com/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 14.11.2026 16:18:31.
Сервер поддерживает HTTP/3 (QUIC) — новейший протокол.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,57сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,57сек оптимальна.
Объем документа
69Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 69Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 15
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 15 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | //dotdev.shopify.com/cdn/shop/t/32/assets/critical.css?v=131137538456597899211785260682 |
| stylesheet | https://dotdev.shopify.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css | |
| stylesheet | //dotdev.shopify.com/cdn/shop/t/32/compiled_assets/styles.css?v=34975842302769195241785260683 | |
| js | /checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2013298921 | |
| js | https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2013298921&shop_id=72156348649 | |
| js | module | //dotdev.shopify.com/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js |
| js | //dotdev.shopify.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js | |
| js | //dotdev.shopify.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812 | |
| js | //cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js | |
| js | //dotdev.shopify.com/cdn/shop/t/32/assets/swissgl.js?v=165106731030009125551775486131 | |
| js | //dotdev.shopify.com/cdn/shop/t/32/assets/blob-dots.js?v=125921342448349490461775760237 | |
| js | https://www.googletagmanager.com/gtag/js?id=G-MRW5T5XCY0 | |
| js | https://dotdev.shopify.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js | |
| js | //dotdev.shopify.com/cdn/shop/t/32/assets/main.js?v=27932441921678243451782749915 | |
| js | module | https://cdn.shopify.com/storefront/standard-actions.js |
Серверные заголовки
Кол-во: 25
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 25шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Fri, 21 Aug 2026 04:16:21 GMT |
| x-download-options | noopen |
| X-Request-ID | d8c259dc-86da-4dfc-87a2-9fb3f9e63641-1787285781 |
| x-permitted-cross-domain-policies | none |
| Link | <https://cdn.shopify.com>; rel="preconnect", <https://cdn.shopify.com>; rel="preconnect"; crossorigin, <//dotdev.shopify.com/cdn/shop/t/32/assets/critical.css?v=131137538456597899211785260682>; as="style"; rel="preload", <https://dotdev.shopify.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css>; as="style"; rel="preload"; crossorigin, <//dotdev.shopify.com/cdn/shop/t/32/compiled_assets/styles.css?v=34975842302769195241785260683>; as="style"; rel="preload" |
| speculation-rules | "/cdn/shopifycloud/storefront/assets/storefront/storefronts.moderate.specrules-eb468f32.json" |
| Set-Cookie | localization=US; path=/; expires=Sat, 21 Aug 2027 04:16:21 GMT |
| nel | {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} |
| shopify-complexity-score | 0 |
| shopify-complexity-score-v2 | 32 |
| X-Frame-Options | DENY |
| Content-Security-Policy | block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests; |
| Strict-Transport-Security | max-age=7889238 |
| Vary | accept-encoding |
| Alt-Svc | h3=":443" |
| powered-by | Shopify |
| Server-Timing | processing;dur=40, db;dur=13, asn;desc="200044", edge;desc="HEL", country;desc="RU", theme;desc="157637181673", pageType;desc="index", servedBy;desc="vz6p", requestID;desc="d8c259dc-86da-4dfc-87a2-9fb3f9e63641-1787285781", _y;desc="2f4a0162-366c-4144-8d8b-a88a0ec5b989", _s;desc="be0c5cd6-dd62-442c-9af4-8efe9072f6c6", _cmp;desc="3.AMPS_RU_f_f_1XQM3fT8T8iDxZRXBAc1Pg", compressionLevel;desc="5" |
| x-dc | gcp-europe-west4,gcp-europe-west1,gcp-europe-west1 |
| X-XSS-Protection | 1; mode=block |
| cf-cache-status | DYNAMIC |
| Server | cloudflare |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=c6YTjPlGt0agZtm2Kf2O6e43g8qxFTZMXlDRZPEn%2Ff9VdMrmM965Tld2bFi7lhDnrGgNJYe3QiNkeVzGP8JYotVqP%2BwVwWlZzBMSWuWbm20UCb1k7MhJJJItNOdZs9zhGspHig%3D%3D"}]} |
| X-Content-Type-Options | nosniff |
| ETag | W/"page_cache:72156348649:IndexController:06f1385781ee2b5a8ecf21e1776ac2d8:a605f7cfa26e50b715994a6ce63f6865" |
| cf-ray | a2e6d2647b7250c1-HEL |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS Shopify.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 48%
Title
DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо уменьшить число символов в title (текущее значение: 70, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Two days of APIs, product demos, and face time with the teams building what's next in commerce.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение: 99, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://dotdev.shopify.com/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
Ошибок нет
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots не указан. Страница свободна для индексации.
Адаптивность
width=device-width,initial-scale=1
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 9
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:site_name | DotDev |
| og:url | https://dotdev.shopify.com/ |
| og:title | DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22 |
| og:type | website |
| og:description | Two days of APIs, product demos, and face time with the teams building what's next in commerce. |
| og:image | http://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017 |
| og:image:secure_url | https://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017 |
| og:image:width | 1200 |
| og:image:height | 628 |
Все мета-теги
Кол-во: 22
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 22шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | viewport | width=device-width,initial-scale=1 |
| name | twitter:image | https://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017 |
| name | twitter:card | summary_large_image |
| name | twitter:title | DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22 |
| name | twitter:description | Two days of APIs, product demos, and face time with the teams building what's next in commerce. |
| name | description | Two days of APIs, product demos, and face time with the teams building what's next in commerce. |
| name | format-detection | telephone=no,date=no,address=no,email=no |
| name | google-site-verification | Vm0H0Jn2RGEM6iiXXq7oCfE8aWj3nVGj7TFCAVKkLIw |
| name | shopify-digital-wallet | /72156348649/digital_wallets/dialog |
| name | shopify-checkout-api-token | a56816a0e1654edffcf6c79b233ac373 |
| name | shopify-y | 2f4a0162-366c-4144-8d8b-a88a0ec5b989 |
| name | shopify-s | be0c5cd6-dd62-442c-9af4-8efe9072f6c6 |
| name | new-cookie-storage-activated | f |
| property | og:site_name | DotDev |
| property | og:url | https://dotdev.shopify.com/ |
| property | og:title | DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22 |
| property | og:type | website |
| property | og:description | Two days of APIs, product demos, and face time with the teams building what's next in commerce. |
| property | og:image | http://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017 |
| property | og:image:secure_url | https://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017 |
| property | og:image:width | 1200 |
| property | og:image:height | 628 |
Оптимизация Готовность: 57%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Абзацев с текстом 4 слишком мало. Добавьте больше абзацев с текстом (тег <p>)!
Кол-во знаков контента 907 слишком мало. Добавьте больше текста!
Кол-во слов 143 слишком мало. Добавьте больше текста (минимум 400 слов)!
Слова из title 3 встречаются в тексте достаточно.
Среднее число слов в абзаце 18 достаточно.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h3> 3.
Тошнота
4,90
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
22,38%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
19
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| highlights | 24 | 16,78% |
| shopify | 2 | 1,40% |
| harley | 2 | 1,40% |
| fireside | 2 | 1,40% |
| winners | 2 | 1,40% |
| content | 1 | 0,70% |
| dotdev | 1 | 0,70% |
| thanks | 1 | 0,70% |
| building | 1 | 0,70% |
| address | 1 | 0,70% |
| welcome | 1 | 0,70% |
| keynote | 1 | 0,70% |
| leadership | 1 | 0,70% |
| replays | 1 | 0,70% |
| what's | 1 | 0,70% |
| driving | 1 | 0,70% |
| forward | 1 | 0,70% |
| awards | 1 | 0,70% |
| revealed | 1 | 0,70% |
Индексация Готовность: 50%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 8 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 4 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://editions.dev/robots.txt
301 MovedPermanently
https://editions.dev/robots.txt
301 MovedPermanently
https://www.shopify.com/dotdev
301 MovedPermanently
https://dotdev.shopify.com/
200 OK
Показать содержимое robots.txt
<!doctype html>
<html lang="en">
<head>
<style data-shopify>
@font-face {
font-family: 'Inter';
src: url('//dotdev.shopify.com/cdn/shop/t/32/assets/InterVariable.woff2?v=177268745893582462481773887485') format('woff2');
font-weight: 100 900;
font-display: swap;
}
@font-face {
font-family: 'IBM Plex Mono';
src: url('//dotdev.shopify.com/cdn/shop/t/32/assets/IBMPlexMono-Medium.woff2?v=176429120053252757381773887485') format('woff2');
font-weight: 500;
font-display: swap;
}
:root {
--page-width: var(--breakpoint-2xl);
--page-bg-color: #F5572D;
--page-padding: 20px;
/* Colors */
--color-terminal: #031E1D;
--color-lavender: #C9B2FF;
--color-grey: #D3D3D3;
--color-green: #057C09;
--color-sky: #8FD5F1;
--color-red: #F5572D;
--color-mint: #9BF1B0;
--color-amber: #FF8A1D;
/* Typography - Font Families */
--font-mono: 'IBM Plex Mono', monospace;
--font-sans: 'Inter', sans-serif;
/* Typography - Sizes */
--font-heading-size: 90px;
--font-heading-weight: 500;
--font-heading-line-height: 1.06;
--font-heading-letter-spacing: -0.02em;
--font-heading-sm-size: 58px;
--font-heading-sm-weight: 500;
--font-heading-sm-line-height: 1.1;
--font-heading-sm-letter-spacing: -0.02em;
--font-body-lg-size: 18px;
--font-body-lg-weight: 450;
--font-body-lg-line-height: 1.1;
--font-body-lg-letter-spacing: -0.02em;
--font-body-sm-size: 16px;
--font-body-sm-weight: 450;
--font-body-sm-line-height: 1.1;
--font-body-sm-letter-spacing: 0;
--font-label-lg-size: 20px;
--font-label-lg-weight: 500;
--font-label-lg-line-height: 1.1;
--font-label-lg-letter-spacing: 0.02em;
--font-label-lg-text-transform: uppercase;
--font-label-sm-size: 16px;
--font-label-sm-weight: 500;
--font-label-sm-line-height: 1;
--font-label-sm-letter-spacing: 0.02em;
--font-label-sm-text-transform: uppercase;
--font-badge-size: 14px;
--font-badge-weight: 500;
--font-badge-line-height: 1.3;
--font-badge-text-transform: uppercase;
/* Breakpoints */
--breakpoint-xs: 390px;
--breakpoint-sm: 768px;
--breakpoint-md: 1024px;
--breakpoint-lg: 1440px;
--breakpoint-xl: 1920px;
--breakpoint-2xl: 2560px;
}
/* sm — Tablet */
@media screen and (min-width: 768px) {
:root {
--font-heading-size: 120px;
--font-body-lg-size: 22px;
--font-body-lg-letter-spacing: -0.02em;
}
}
/* lg — Desktop */
@media screen and (min-width: 1440px) {
:root {
--font-heading-size: 160px;
--font-body-lg-size: 28px;
--font-label-lg-line-height: 1.15;
--font-label-sm-line-height: 1.15;
}
}
</style>
<link href="//dotdev.shopify.com/cdn/shop/t/32/assets/critical.css?v=131137538456597899211785260682" rel="stylesheet" type="text/css" media="all" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta
property="og:site_name"
content="DotDev"
>
<meta
property="og:url"
content="https://dotdev.shopify.com/"
>
<meta
property="og:title"
content="DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22"
>
<meta
property="og:type"
content="website"
>
<meta
property="og:description"
content="Two days of APIs, product demos, and face time with the teams building what's next in commerce."
><meta
property="og:image"
content="http://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017"
>
<meta
property="og:image:secure_url"
content="https://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017"
>
<meta
property="og:image:width"
content="1200"
>
<meta
property="og:image:height"
content="628"
>
<meta
name="twitter:image"
content="https://dotdev.shopify.com/cdn/shop/files/DotDev-2026.jpg?v=1775161017"
><meta
name="twitter:card"
content="summary_large_image"
>
<meta
name="twitter:title"
content="DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22"
>
<meta
name="twitter:description"
content="Two days of APIs, product demos, and face time with the teams building what's next in commerce."
>
<title>
DotDev 2026 - Shopify's Developer Event in Toronto, July 21–22
</title>
<link
rel="canonical"
href="https://dotdev.shopify.com/"
><link rel="icon" type="image/png" href="//dotdev.shopify.com/cdn/shop/files/favicon.png?v=1775256464&width=32"><meta
name="description"
content="Two days of APIs, product demos, and face time with the teams building what's next in commerce."
>
<meta name="format-detection" content="telephone=no,date=no,address=no,email=no">
<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="google-site-verification" content="Vm0H0Jn2RGEM6iiXXq7oCfE8aWj3nVGj7TFCAVKkLIw">
<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/72156348649/digital_wallets/dialog">
<meta name="shopify-checkout-api-token" content="a56816a0e1654edffcf6c79b233ac373">
<script async="async" src="/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2013298921"></script>
<link rel="preconnect" href="https://shop.app" crossorigin="anonymous">
<script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-US&default_configuration_id=2013298921&shop_id=72156348649" crossorigin="anonymous"></script>
<script id="apple-pay-shop-capabilities" type="application/json">{"shopId":72156348649,"countryCode":"CA","currencyCode":"USD","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/72156348649","merchantName":"DotDev","requiredBillingContactFields":["postalAddress","email"],"requiredShippingContactFields":["postalAddress","email"],"shippingType":"shipping","supportedNetworks":["visa","masterCard","amex","discover","jcb"],"total":{"type":"pending","label":"DotDev","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":true}</script>
<script id="shopify-features" type="application/json">{"accessToken":"a56816a0e1654edffcf6c79b233ac373","betas":["rich-media-storefront-analytics"],"domain":"dotdev.shopify.com","predictiveSearch":true,"shopId":72156348649,"locale":"en"}</script>
<script>var Shopify = Shopify || {};
Shopify.shop = "summit-2025.myshopify.com";
Shopify.locale = "en";
Shopify.currency = {"active":"USD","rate":"1.0"};
Shopify.country = "US";
Shopify.theme = {"name":"DotDev 2026","id":157637181673,"schema_name":"DotDev 2026","schema_version":"1.0.0","theme_store_id":null,"role":"main"};
Shopify.theme.handle = "null";
Shopify.theme.style = {"id":null,"handle":null};
Shopify.cdnHost = "dotdev.shopify.com/cdn";
Shopify.routes = Shopify.routes || {};
Shopify.routes.root = "/";
Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js";
Shopify.SignInWithShop = Shopify.SignInWithShop || {};
Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {};
Shopify.SignInWithShop.User.recognized = false;</script>
<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
<script>
window.ShopifyPay = window.ShopifyPay || {};
window.ShopifyPay.apiHost = "shop.app\/pay";
window.ShopifyPay.redirectState = null;
</script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {};
window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 };
window.Shopify.SignInWithShop.eligible = true;
</script>
<script id="shop-js-analytics" type="application/json">{"pageType":"index"}</script>
<script defer="defer" async type="module" src="//dotdev.shopify.com/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
<script type="module">
await import("//dotdev.shopify.com/cdn/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js");
window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true});
</script>
<script>
window.Shopify = window.Shopify || {};
if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {};
window.Shopify.featureAssets['shop-js'] = {"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"avatar":["modules/v2/loader.avatar.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"]};
</script>
<script>(function() {
var isLoaded = false;
function asyncLoad() {
if (isLoaded) return;
isLoaded = true;
var urls = ["https:\/\/evey-files.s3.amazonaws.com\/js\/online_store.js?shop=summit-2025.myshopify.com"];
for (var i = 0; i < urls.length; i++) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = urls[i];
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s, x);
}
};
if(window.attachEvent) {
window.attachEvent('onload', asyncLoad);
} else {
window.addEventListener('load', asyncLoad, false);
}
})();</script>
<script id="__st">var __st={"a":72156348649,"offset":-14400,"reqid":"8faf5fa2-e78a-4e09-93b7-03886c84a542-1787272800","pageurl":"dotdev.shopify.com\/","u":"71ef41b7e9e2","p":"home"};</script>
<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//dotdev.shopify.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//dotdev.shopify.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script><script crossorigin="anonymous" defer="defer" src="//dotdev.shopify.com/cdn/shopifycloud/storefront/assets/shopify_pay/storefront-bf1cdb70.js?v=20250812"></script>
<script id="shopify-origin-trials" async="async" integrity="sha256-mqQjA+yhr1DtPsW5MhDIq3zDu+LghfjNT49r/ttG3eY=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-5059b83f.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
<script>
window.Shopify = window.Shopify || {};
window.Shopify.MCP = window.Shopify.MCP || {};
window.Shopify.MCP.enabled = true;
window.Shopify.MCP.shop = "summit-2025.myshopify.com";
window.Shopify.MCP.mcpEndpoint = "https:\/\/dotdev.shopify.com\/api\/mcp";
window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."}},"required":["query"]}}];
</script>
<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("https:\/\/cdn.shopify.com\/storefront\/webmcp\/webmcp-0.1.1.js","");})();
</script>
<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://dotdev.shopify.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}};
</script>
<script data-source-attribution="shopify.dynamic_checkout.buyer_consent">
function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent);
</script>
<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}}));
</script>
<link id="shopify-accelerated-checkout-styles" rel="stylesheet" media="screen" href="https://dotdev.shopify.com/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous">
<style id="shopify-accelerated-checkout-cart">
#shopify-buyer-consent {
margin-top: 1em;
display: inline-block;
width: 100%;
}
#shopify-buyer-consent.hidden {
display: none;
}
#shopify-subscription-policy-button {
background: none;
border: none;
padding: 0;
text-decoration: underline;
font-size: inherit;
cursor: pointer;
}
#shopify-subscription-policy-button::before {
box-shadow: none;
}
</style>
<link rel="stylesheet" media="screen" href="//dotdev.shopify.com/cdn/shop/t/32/compiled_assets/styles.css?v=34975842302769195241785260683">
<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
<script src="//dotdev.shopify.com/cdn/shop/t/32/assets/swissgl.js?v=165106731030009125551775486131" defer></script>
<script src="//dotdev.shopify.com/cdn/shop/t/32/assets/blob-dots.js?v=125921342448349490461775760237" defer></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-MRW5T5XCY0"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-MRW5T5XCY0');
</script>
<link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 72156348649,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "index"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
<script>
window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || [];
</script>
<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,r=/bytedance/i;function o(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var r=0,o=e.split(";");r<o.length;r++){var d=o[r],t=d.indexOf("=");if(-1!==t){var n=d.slice(0,t).trim();if(n){var i=void 0;try{i=decodeURIComponent(n)}catch(e){i=n}if("_shopify_s"===i){var a=d.slice(t+1).trim();try{return decodeURIComponent(a)}catch(e){return a}}}}}return}catch(e){return}}function d(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}return function(t,n,i,a){var s,c,u,l,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},p=(c=(s={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,u=s.legacy,(l=navigator.userAgent).match(e)?"bot":l.match(c)?"modern":l.match(u)?"legacy":l.match(r)?"bot":"unknown"),h=function(e){var r=e.version,t=e.browserTarget,n=e.surface,i=e.shopId,a=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var c,u=e.status,l=e.errorMsg;if(!a)return d("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{var f=(new Date).getTime();c=JSON.stringify({metadata:{event_sent_at_ms:f},events:[{schema_id:"web_pixels_manager_load/3.2",payload:{version:r,bundle_target:t,page_url:s,status:u,surface:n,error_msg:l,shop_id:i,visit_token:o()},metadata:{event_created_at_ms:f}}]})}catch(e){return!1}var p,h=!1;try{"function"==typeof window.navigator.sendBeacon&&-1===(p=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===p.indexOf("iPad; CPU OS 12_")&&-1===p.indexOf("iPod touch; CPU iPhone OS 12_")&&(h=window.navigator.sendBeacon.bind(window.navigator)(a,c))}catch(e){h=!1}if(h)return!0;try{var m=new XMLHttpRequest;return m.open("POST",a,!0),m.setRequestHeader("Content-Type","text/plain"),m.send(c),!0}catch(e){return d("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:i,browserTarget:p,surface:t.surface,shopId:t.shopId,monorailEndpoint:t.monorailEndpoint});if(Boolean(null==(y=null==(m=window.Shopify)?void 0:m.analytics)?void 0:y.replayQueue))h.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var m,y;h.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var g=window.Shopify;g.analytics=g.analytics||{};var v=g.analytics;v.replayQueue=[],v.publish=function(e,r,o){return v.replayQueue.push([e,r,o]),!0};try{self.performance.mark("wpm:start")}catch(e){}var w,b="modern"===p?"modern":"legacy",P=(null!=a?a:{modern:"",legacy:""})[b],S=[(w={baseUrl:n,hashVersion:i,buildTarget:b}).baseUrl,"/wpm","/b",w.hashVersion,"modern"===w.buildTarget?"m":"l",".js"].join("");try{f.browserTarget=p,O(function(){try{O(_)}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}),h.emit({status:"loading"})}catch(e){h.emit({status:"failed",errorMsg:U(e)})}}function C(){if(!function(){var e,r;return Boolean(null==(r=null==(e=window.Shopify)?void 0:e.analytics)?void 0:r.initialized)}()){var e=window.webPixelsManager.init(t)||void 0;if(e){var r=window.Shopify.analytics;r.replayQueue.forEach(function(r){var o=r[0],d=r[1],t=r[2];e.publishCustomEvent(o,d,t)}),r.replayQueue=[],r.publish=e.publishCustomEvent,r.visitor=e.visitor,r.initialized=!0}}}function _(){return h.emit({status:"failed",errorMsg:"".concat(S," has failed to load")})}function O(e){var r;!function(e){var r=e.src,o=e.async,d=void 0===o||o,t=e.onload,n=e.onerror,i=e.sri,a=e.scriptDataAttributes,s=void 0===a?{}:a,c=document.createElement("script"),u=document.querySelector("head"),l=document.querySelector("body");if(c.async=d,c.src=r,i&&(c.integrity=i,c.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{c.dataset[f]=s[f]}catch(e){}if(t&&c.addEventListener("load",t),n&&c.addEventListener("error",n),u)u.appendChild(c);else{if(!l)throw new Error("Did not find a head or body element to append the script");l.appendChild(c)}}({src:S,async:!0,onload:C,onerror:e,sri:(r=P,"string"==typeof r&&/^sha384-[A-Za-z0-9+/=]+$/.test(r)?P:""),scriptDataAttributes:f})}function U(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 72156348649,storefrontBaseUrl: "https://dotdev.shopify.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://dotdev.shopify.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["d5bdd5d0","873d0e44","656605ce"],webPixelsConfigList: [{"id":"2012381417","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-MRW5T5XCY0\\\"],\\\"target_country\\\":\\\"ZZ\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-MRW5T5XCY0\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"9120410995b7c9c6f4f039573265c0ea","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0510","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"DotDev","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"summit-2025.myshopify.com","countryCode":"CA","storefrontUrl":"https:\/\/dotdev.shopify.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"products":[],"purchasingCompany":null},},"https://dotdev.shopify.com/cdn","2d9dfbe8w1156b718pbb247b16m64115e31",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"157637181673","themePublished":"true","eventMetadataId":"b3e1c49f-4a2f-42e1-84ee-fe93d424ec2a","pageType":"home","shopId":"72156348649","storefrontBaseUrl":"https:\/\/dotdev.shopify.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"d5bdd5d0\", \"873d0e44\", \"656605ce\"]","isMerchantRequest":"false","hashVersion":"2d9dfbe8w1156b718pbb247b16m64115e31","publish":"custom","events":"[[\"page_viewed\",{}]]"});})();</script><script>
window.ShopifyAnalytics = window.ShopifyAnalytics || {};
window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {};
window.ShopifyAnalytics.meta.currency = 'USD';
var meta = {"page":{"pageType":"home","requestId":"8faf5fa2-e78a-4e09-93b7-03886c84a542-1787272800"}};
for (var attr in meta) {
window.ShopifyAnalytics.meta[attr] = meta[attr];
}
</script>
<script class="analytics">
(function () {
var customDocumentWrite = function(content) {
var jquery = null;
if (window.jQuery) {
jquery = window.jQuery;
} else if (window.Checkout && window.Checkout.$) {
jquery = window.Checkout.$;
}
if (jquery) {
jquery('body').append(content);
}
};
var hasLoggedConversion = function(token) {
if (token) {
return document.cookie.indexOf('loggedConversion=' + token) !== -1;
}
return false;
}
var setCookieIfConversion = function(token) {
if (token) {
var twoMonthsFromNow = new Date(Date.now());
twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2);
document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow;
}
}
var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || [];
window.ShopifyAnalytics.lib.trekkie = window.trekkie;
if (trekkie.integrations) {
return;
}
trekkie.methods = [
'identify',
'page',
'ready',
'track',
'trackForm',
'trackLink'
];
trekkie.factory = function(method) {
return function() {
var args = Array.prototype.slice.call(arguments);
args.unshift(method);
trekkie.push(args);
if (window.__TREKKIE_SHIM_QUEUE && (method == 'track' || method == 'page')) {
try {
window.__TREKKIE_SHIM_QUEUE.push({
from: 'trekkie-stub',
method: method,
args: args.slice(1)
});
} catch (e) {
// no-op
}
}
return trekkie;
};
};
for (var i = 0; i < trekkie.methods.length; i++) {
var key = trekkie.methods[i];
trekkie[key] = trekkie.factory(key);
}
trekkie.load = function(config) {
trekkie.config = config || {};
trekkie.config.initialDocumentCookie = document.cookie;
var first = document.getElementsByTagName('script')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.onerror = function(e) {
var scriptFallback = document.createElement('script');
scriptFallback.type = 'text/javascript';
scriptFallback.onerror = function(error) {
var Monorail = {
produce: function produce(monorailDomain, schemaId, payload) {
var currentMs = new Date().getTime();
var event = {
schema_id: schemaId,
payload: payload,
metadata: {
event_created_at_ms: currentMs,
event_sent_at_ms: currentMs
}
};
return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event));
},
sendRequest: function sendRequest(endpointUrl, payload) {
// Try the sendBeacon API
if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) {
var blobData = new window.Blob([payload], {
type: 'text/plain'
});
if (window.navigator.sendBeacon(endpointUrl, blobData)) {
return true;
} // sendBeacon was not successful
} // XHR beacon
var xhr = new XMLHttpRequest();
try {
xhr.open('POST', endpointUrl);
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send(payload);
} catch (e) {
console.log(e);
}
return false;
},
isIos12: function isIos12() {
return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1;
}
};
Monorail.produce('monorail-edge.shopifysvc.com',
'trekkie_storefront_load_errors/1.1',
{shop_id: 72156348649,
theme_id: 157637181673,
app_name: "storefront",
context_url: window.location.href,
source_url: "//dotdev.shopify.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js"});
};
scriptFallback.async = true;
scriptFallback.src = '//dotdev.shopify.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(scriptFallback, first);
};
script.async = true;
script.src = '//dotdev.shopify.com/cdn/s/trekkie.storefront.7bcd7bb8195e24c65a61d69d69eb32392ed0d53f.min.js';
first.parentNode.insertBefore(script, first);
};
trekkie.load(
{"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":72156348649,"isMerchantRequest":null,"themeId":157637181673,"themeCityHash":"17394426339273449931","contentLanguage":"en","currency":"USD","eventMetadataId":"b3e1c49f-4a2f-42e1-84ee-fe93d424ec2a"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["f43e7f5e","b5387b81","d5bdd5d0"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}}
);
var loaded = false;
trekkie.ready(function() {
if (loaded) return;
loaded = true;
window.ShopifyAnalytics.lib = window.trekkie;
var originalDocumentWrite = document.write;
document.write = customDocumentWrite;
try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {};
document.write = originalDocumentWrite;
var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/)
var token = match? match[1]: undefined;
if (!hasLoggedConversion(token)) {
setCookieIfConversion(token);
}
});
window.ShopifyAnalytics.lib.page(null,{"pageType":"home","requestId":"8faf5fa2-e78a-4e09-93b7-03886c84a542-1787272800","shopifyEmitted":true});
var eventsListenerScript = document.createElement('script');
eventsListenerScript.async = true;
eventsListenerScript.src = "//dotdev.shopify.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js";
document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);
})();</script>
<script
defer
src="https://dotdev.shopify.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.8.4.min.js"
data-application="storefront-renderer"
data-shop-id="72156348649"
data-render-region="gcp-europe-west1"
data-page-type="index"
data-theme-instance-id="157637181673"
data-theme-name="DotDev 2026"
data-theme-version="1.0.0"
data-monorail-region="shop_domain"
data-resource-timing-sampling-rate="10"
data-shs="true"
data-shs-beacon="true"
data-shs-export-with-fetch="true"
data-shs-logs-sample-rate="1"
data-shs-beacon-endpoint="https://dotdev.shopify.com/api/collect"
></script>
<meta name="shopify-y" content="5a5072de-924f-499a-aaef-c8141a13e9f7"><meta name="shopify-s" content="426c9d72-e7e9-423a-8dd4-435003e171a0"><meta name="new-cookie-storage-activated" content="f">
</head>
<body>
<a class="skip-to-main" href="#main-content">Skip to main content</a>
<script>
(function () {
var combos = [
['#C9B2FF', '#D3D3D3'],
['#8FD5F1', '#D3D3D3'],
['#F5572D', '#D3D3D3'],
['#FF8A1D', '#D3D3D3'],
['#9BF1B0', '#D3D3D3'],
['#8FD5F1', '#FF8A1D'],
['#FF8A1D', '#8FD5F1'],
['#C9B2FF', '#FF8A1D'],
['#FF8A1D', '#C9B2FF'],
['#9BF1B0', '#FF8A1D'],
['#FF8A1D', '#9BF1B0'],
['#8FD5F1', '#F5572D'],
['#F5572D', '#8FD5F1'],
['#C9B2FF', '#F5572D'],
['#F5572D', '#C9B2FF'],
['#9BF1B0', '#F5572D'],
['#F5572D', '#9BF1B0'],
['#8FD5F1', '#057C09'],
['#C9B2FF', '#057C09'],
];
var isReload = performance.getEntriesByType('navigation')[0].type === 'reload';
if (isReload) {
sessionStorage.removeItem('color-combo');
}
var stored = sessionStorage.getItem('color-combo');
if (!stored) {
stored = JSON.stringify(combos[Math.floor(Math.random() * combos.length)]);
sessionStorage.setItem('color-combo', stored);
}
var pair = JSON.parse(stored);
document.documentElement.style.setProperty('--page-bg-color', pair[0]);
window.__colorCombo = pair;
document.addEventListener('DOMContentLoaded', function () {
var dotsLayer = document.getElementById('dots-layer');
if (dotsLayer) {
dotsLayer.style.backgroundColor = pair[1];
}
if (window.__updateBlobColors) {
window.__updateBlobColors(pair[0], pair[1]);
}
});
})();
</script>
<div
id="dots-layer"
></div>
<canvas id="dots-canvas"></canvas>
<style data-shopify>
#dots-layer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 0;
-webkit-mask-image: url('//dotdev.shopify.com/cdn/shop/t/32/assets/dots.svg?v=147420004412968337741773887485');
mask-image: url('//dotdev.shopify.com/cdn/shop/t/32/assets/dots.svg?v=147420004412968337741773887485');
-webkit-mask-size: 200%;
mask-size: 200%;
-webkit-mask-position: 90% -20%;
mask-position: 90% -20%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
pointer-events: none;
z-index: -1;
opacity: 0;
transition: opacity 0.6s ease;
}
@media screen and (min-width: 768px) {
#dots-layer {
-webkit-mask-size: 120%;
mask-size: 120%;
-webkit-mask-position: 50% 15%;
mask-position: 50% 15%;
}
}
@media screen and (min-width: 1024px) {
#dots-layer {
-webkit-mask-size: 120%;
mask-size: 120%;
-webkit-mask-position: 50% 15%;
mask-position: 50% 15%;
}
}
@media screen and (min-width: 1920px) {
#dots-layer {
-webkit-mask-position: 50% 5%;
mask-position: 50% 5%;
}
}
#dots-layer.dots-layer--product {
-webkit-mask-position: 50% 5%;
mask-position: 50% 5%;
}
#dots-canvas {
display: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 0;
pointer-events: none;
z-index: -1;
opacity: 0;
transition: opacity 0.4s ease-in;
}
@media screen and (min-width: 768px) {
#dots-canvas {
pointer-events: auto;
}
}
</style>
<script>
document.addEventListener('DOMContentLoaded', function () {
const dotsLayer = document.getElementById('dots-layer');
const dotsCanvas = document.getElementById('dots-canvas');
const agenda = document.querySelector('.agenda');
const productValueProps = document.querySelector('.product-value-props');
const landmark = agenda || productValueProps;
if (!landmark || !dotsLayer || !dotsCanvas) return;
function resize() {
const h = landmark.offsetTop + landmark.offsetHeight + 'px';
dotsLayer.style.height = h;
dotsCanvas.style.height = h;
}
resize();
window.addEventListener('resize', resize);
dotsLayer.style.opacity = '1';
});
</script>
<!-- BEGIN sections: header-group -->
<div id="shopify-section-sections--21351380517097__header" class="shopify-section shopify-section-group-header-group">
<header class="header">
<div class="header__mobile-bar">
<a class="header__mobile-logo" href="/">
<img
class="header__logo-mobile"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-logo-mobile.svg?v=58911845242476208501773846337"
alt="DotDev logo"
width="87"
height="45"
>
</a>
<a class="header__mobile-center" href="/">
<img
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-shopify-logo.svg?v=50761440549302788701773846337"
alt="Shopify logo"
width="35"
height="40"
>
</a>
</div>
<div class="header__container wrapper">
<div class="header__logo">
<a href="/">
<img
class="header__logo-desktop"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-logo-desktop.svg?v=112636077941762535861773846337"
alt="DotDev logo"
width="220"
height="26"
>
</a>
</div>
<div class="header__center">
<a href="/">
<img
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-shopify-logo.svg?v=50761440549302788701773846337"
alt="Shopify logo"
width="35"
height="40"
>
</a>
</div>
</div>
</header>
</div>
<!-- END sections: header-group -->
<main id="main-content" tabindex="-1">
<h1 class="visually-hidden">DotDev 2026</h1>
<div id="shopify-section-template--21351380648169__main" class="shopify-section">
<div class="hero wrapper">
<div class="hero__media">
<video
class="hero__video"
autoplay
loop
muted
playsinline
aria-hidden="true"
data-poster-mobile="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-poster-mobile.png?v=12206936288832613361775249390"
data-poster-tablet="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-poster-tablet.png?v=62681960166399542561775249390"
data-poster-desktop="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-poster-desktop.png?v=91446087789137411191775249390"
data-fallback-mobile="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-fallback-mobile.png?v=140401640118046721071775249389"
data-fallback-tablet="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-fallback-tablet.png?v=183749781682502955591775249389"
data-fallback-desktop="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-fallback-desktop.png?v=129917850653115006381775249390"
style="object-fit: cover; object-position: center;"
>
<source
src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-desktop.mov?v=85619315713239999691775249390"
media="(min-width: 1024px)"
type="video/mp4; codecs=hvc1"
>
<source
src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-tablet.mov?v=59337093941428037411775249390"
media="(min-width: 768px)"
type="video/mp4; codecs=hvc1"
>
<source src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-mobile.mov?v=138001372474553632501775249390" type="video/mp4; codecs=hvc1">
<source src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-desktop.webm?v=118814124270177965571775682215" media="(min-width: 1024px)" type="video/webm">
<source src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-tablet.webm?v=92111326744945488981775251157" media="(min-width: 768px)" type="video/webm">
<source src="//dotdev.shopify.com/cdn/shop/t/32/assets/product-video-mobile.webm?v=101711143086619351891775251158" type="video/webm">
</video>
</div>
<div class="hero-content">
<div class="hero-content__top">
<span class="hero-content__eyebrow label-sm">That’s a wrap</span>
<div class="hero-content__body">
<p class="hero-content__copy body-lg">
Thanks for building with us. Sign up so you don’t miss the next one.
</p>
</div>
</div>
<form method="post" action="/contact#contact_form" id="contact_form" accept-charset="UTF-8" class="contact-form"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="✓" />
<input type="hidden" name="contact[tags]" value="waitlist">
<div class="waitlist">
<div class="waitlist__label">
<span class="label-sm">stay in touch</span>
</div>
<div class="waitlist__input">
<div class="waitlist__field-wrap">
<label for="waitlist-email" class="visually-hidden">Email address</label>
<input
type="email"
id="waitlist-email"
name="contact[email]"
class="waitlist__field label-sm"
placeholder="enter email"
required
>
</div>
<button type="submit" class="waitlist__btn">
<img src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" width="17" height="14" alt="Submit">
</button>
</div>
</div>
</form>
<script>
// After waitlist form submission, Shopify redirects to #contact_form which scrolls
// the page down. This cleans up the URL and scrolls back to the top.
if (window.location.hash === '#contact_form') {
history.replaceState(
null,
'',
window.location.pathname + window.location.search.replace(/[?&]customer_posted=true/, '')
);
window.scrollTo(0, 0);
}
</script>
</div>
</div>
<style data-shopify>
.hero {
display: flex;
flex-direction: column;
}
/* Media (left side / top) — behind dots layer */
.hero__media {
position: relative;
z-index: -2;
overflow: hidden;
aspect-ratio: 13.6 / 9;
}
.hero__video {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
background: transparent;
}
/* Hero content panel */
.hero-content {
display: flex;
flex-direction: column;
min-height: 313px;
}
.hero-content__top {
display: flex;
flex-direction: column;
justify-content: space-between;
flex: 1;
}
.hero-content__eyebrow {
padding: 20px var(--page-padding);
}
.hero-content__body {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end;
flex: 1;
gap: 20px;
}
.hero-content__copy {
padding-inline: var(--page-padding);
padding-bottom: 20px;
}
.hero-content .waitlist {
border-top: 1px solid var(--color-terminal);
}
@media screen and (min-width: 768px) {
.hero {
flex-direction: row;
position: relative;
}
.hero__media {
width: 50%;
aspect-ratio: 10 / 9;
}
.hero-content {
width: 50%;
height: auto;
border-top: none;
border-left: 1px solid var(--color-terminal);
}
.hero-content__top {
gap: 200px;
}
.hero-content__body {
gap: 30px;
}
}
@media screen and (min-width: 1024px) {
.hero-content__eyebrow {
font-size: var(--font-label-lg-size);
}
}
</style>
<script>
(function () {
var video = document.querySelector('.hero__video');
if (!video) return;
var isDesktop = window.matchMedia('(min-width: 1024px)').matches;
var isTablet = window.matchMedia('(min-width: 768px)').matches;
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
var src = isDesktop
? video.dataset.fallbackDesktop
: isTablet
? video.dataset.fallbackTablet
: video.dataset.fallbackMobile;
var img = document.createElement('img');
img.src = src;
img.alt = 'DotDev 2026';
img.setAttribute('aria-hidden', 'true');
img.style.cssText = 'width:100%;height:100%;object-fit:cover;object-position:center;display:block;';
video.parentNode.replaceChild(img, video);
return;
}
var poster = isDesktop
? video.dataset.posterDesktop
: isTablet
? video.dataset.posterTablet
: video.dataset.posterMobile;
if (poster) video.poster = poster;
})();
</script>
</div><div id="shopify-section-template--21351380648169__agenda" class="shopify-section">
<section class="agenda wrapper">
<div class="agenda-highlights">
<div class="ticker agenda-highlights__ticker" aria-hidden="true">
<div class="ticker__inner">
<div class="ticker__track"><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-hex.svg?v=174393359142989421201773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-phillips.svg?v=144032344384334688451773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-polydrive.svg?v=4342794293192579681773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-slot.svg?v=181217522280957788071773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-spline.svg?v=34746173662133488151773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-torx.svg?v=57673328320446166771773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-hex.svg?v=174393359142989421201773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-phillips.svg?v=144032344384334688451773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-polydrive.svg?v=4342794293192579681773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-slot.svg?v=181217522280957788071773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-spline.svg?v=34746173662133488151773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-torx.svg?v=57673328320446166771773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
></div>
<div class="ticker__track" aria-hidden="true"><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-hex.svg?v=174393359142989421201773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-phillips.svg?v=144032344384334688451773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-polydrive.svg?v=4342794293192579681773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-slot.svg?v=181217522280957788071773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-spline.svg?v=34746173662133488151773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-torx.svg?v=57673328320446166771773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-hex.svg?v=174393359142989421201773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-phillips.svg?v=144032344384334688451773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-polydrive.svg?v=4342794293192579681773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-slot.svg?v=181217522280957788071773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
><span class="ticker__item label-lg">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-spline.svg?v=34746173662133488151773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
>
<span class="ticker__item label-lg" x-apple-data-detectors="false">Catch the highlights</span>
<img
class="ticker__dot"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-torx.svg?v=57673328320446166771773846337"
alt=""
width="16"
height="16"
aria-hidden="true"
></div>
</div>
</div>
<div class="agenda-highlights__cards">
<article class="agenda-highlight-card">
<div class="agenda-highlight-card__meta">
<div class="agenda-highlight-card__header">
<span
class="agenda-highlight-card__icon"
style="--agenda-highlight-icon: url('//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-hex.svg?v=174393359142989421201773846337');"
aria-hidden="true"
></span>
<h3 class="agenda-highlight-card__title label-lg">Welcome & Keynote</h3>
</div>
</div>
<div class="agenda-highlight-card__image-wrap">
<img
class="agenda-highlight-card__image"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/agenda-highlight-1.webp?v=68303742338048437891785854889"
alt="Welcome & Keynote"
width="1264"
height="754"
>
</div>
<p class="agenda-highlight-card__description body-lg">Shopify leadership takes the mic to open the show.</p>
<a
class="btn-arrow label-lg"
href="https://www.youtube.com/playlist?list=PLDRyt8fMwbcs"
target="_blank" rel="noopener noreferrer"
>
<span class="btn-arrow__text">Watch the replays</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
</a>
</article>
<article class="agenda-highlight-card">
<div class="agenda-highlight-card__meta">
<div class="agenda-highlight-card__header">
<span
class="agenda-highlight-card__icon"
style="--agenda-highlight-icon: url('//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-polydrive.svg?v=4342794293192579681773846337');"
aria-hidden="true"
></span>
<h3 class="agenda-highlight-card__title label-lg">Tobi & Harley Fireside</h3>
</div>
</div>
<div class="agenda-highlight-card__image-wrap">
<img
class="agenda-highlight-card__image"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/agenda-highlight-2.webp?v=94091028705554488031785260682"
alt="Tobi & Harley Fireside"
width="1264"
height="754"
>
</div>
<p class="agenda-highlight-card__description body-lg">
Tobi and Harley get real about what's driving Shopify forward.
</p>
<a
class="btn-arrow label-lg"
href="https://youtu.be/t5xslC6f7FY"
target="_blank" rel="noopener noreferrer"
>
<span class="btn-arrow__text">Catch the fireside</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
</a>
</article>
<article class="agenda-highlight-card">
<div class="agenda-highlight-card__meta">
<div class="agenda-highlight-card__header">
<span
class="agenda-highlight-card__icon"
style="--agenda-highlight-icon: url('//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dot-torx.svg?v=57673328320446166771773846337');"
aria-hidden="true"
></span>
<h3 class="agenda-highlight-card__title label-lg">Build Awards</h3>
</div>
</div>
<div class="agenda-highlight-card__image-wrap">
<img
class="agenda-highlight-card__image"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/agenda-highlight-3.webp?v=132120614136245017601785260682"
alt="Build Awards"
width="1264"
height="754"
>
</div>
<p class="agenda-highlight-card__description body-lg">The 2026 Build Award Winners, revealed.</p>
<a
class="btn-arrow label-lg"
href="https://www.shopify.com/partners/blog/shopify-build-award-2026"
target="_blank" rel="noopener noreferrer"
>
<span class="btn-arrow__text">Meet the winners</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
</a>
</article>
</div>
</div>
</section>
<style data-shopify>
.agenda-highlights {
border-bottom: 1px solid var(--color-terminal);
}
.agenda-highlights__cards {
display: grid;
border-top: 1px solid var(--color-terminal);
}
.agenda-highlight-card {
position: relative;
display: flex;
flex-direction: column;
gap: 24px;
padding: var(--page-padding);
color: var(--color-terminal);
border-bottom: 1px solid var(--color-terminal);
transition: background-color 0.3s ease, color 0.3s ease;
}
.agenda-highlight-card:last-child {
border-bottom: 0;
}
.agenda-highlight-card__image {
display: block;
width: 100%;
aspect-ratio: 440 / 264;
object-fit: cover;
border-radius: 999px;
}
.agenda-highlight-card__meta {
display: flex;
flex-direction: column;
gap: 12px;
}
.agenda-highlight-card__header {
display: flex;
align-items: center;
gap: 12px;
}
.agenda-highlight-card__icon {
display: block;
width: 24px;
height: 24px;
flex-shrink: 0;
background-color: currentColor;
mask: var(--agenda-highlight-icon) center / contain no-repeat;
-webkit-mask: var(--agenda-highlight-icon) center / contain no-repeat;
}
.agenda-highlight-card__title {
margin: 0;
}
.agenda-highlight-card .btn-arrow {
margin-top: auto;
align-self: flex-start;
color: inherit;
}
.agenda-highlight-card .btn-arrow::after {
content: '';
position: absolute;
inset: 0;
}
@media screen and (min-width: 1024px) and (hover: hover) and (pointer: fine) {
.agenda-highlight-card:hover {
background-color: var(--color-terminal);
color: var(--color-grey);
}
.agenda-highlight-card:hover .btn-arrow__img {
filter: brightness(0) invert(0.827);
}
}
@media screen and (min-width: 768px) {
.agenda-highlights__cards {
grid-template-columns: repeat(3, 1fr);
}
.agenda-highlight-card {
border-right: 1px solid var(--color-terminal);
border-bottom: 0;
padding: var(--page-padding) 10px;
}
.agenda-highlight-card:last-child {
border-right: 0;
}
.agenda-highlight-card__meta {
min-height: 111px;
}
}
@media screen and (min-width: 1024px) {
.agenda-highlight-card {
gap: 36px;
}
.agenda-highlight-card__meta {
min-height: initial;
}
}
@media screen and (min-width: 1440px) {
.agenda-highlight-card {
padding: var(--page-padding);
}
}
</style>
</div>
</main>
<!-- BEGIN sections: footer-group -->
<div id="shopify-section-sections--21351380484329__footer" class="shopify-section shopify-section-group-footer-group">
<footer class="footer wrapper">
<div class="footer__container">
<img
class="footer__logo"
src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-dotdev.svg?v=118875594124639624181773846337"
alt="DotDev"
width="137"
height="27"
>
<picture>
<source
media="(min-width: 768px)"
srcset="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-powered-by-desktop.svg?v=160826271384833504131774899602"
width="186"
height="30"
>
<img src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-powered-by-mobile.svg?v=49054161558942307371774899603" alt="Powered by Shopify" width="106" height="28">
</picture>
</div>
</footer>
<style data-shopify>
.footer__container {
background-color: var(--color-terminal);
padding: 20px var(--page-padding);
display: flex;
justify-content: space-between;
align-items: center;
}
.footer__logo {
display: block;
width: 137px;
height: 27px;
}
.footer__link {
color: var(--color-grey);
text-decoration: none;
}
</style>
</div>
<!-- END sections: footer-group -->
<script src="//dotdev.shopify.com/cdn/shop/t/32/assets/main.js?v=27932441921678243451782749915" defer></script>
<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Не найдено
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 0 оптимально.
На странице присутствуют изображения 4.
Внешние ссылки
Кол-во: 3
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 3 оптимально.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| youtube.com |
<span class="btn-arrow__text">Watch the replays</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
|
Анализировать url |
| youtu.be |
<span class="btn-arrow__text">Catch the fireside</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
|
Анализировать url |
| shopify.com |
<span class="btn-arrow__text">Meet the winners</span>
<span class="btn-arrow__icon">
<img class="btn-arrow__img" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
<img class="btn-arrow__img btn-arrow__img--clone" src="//dotdev.shopify.com/cdn/shop/t/32/assets/icon-arrow.svg?v=11975452953276086281773846337" alt="" width="17" height="14" aria-hidden="true">
</span>
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Таким сайт editions.dev видят поисковые системы. Процент оптимизации невысокий - 56%. Чтобы улучшить сайт и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки оптимизации.
Исправьте ошибки индексации.
Поделитесь с друзьями: