Анализ сайта craftedu.com
Основное Готовность: 70%
Домен
craftedu.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Кол-во редиректов 4 слишком большое! Проверьте настройки сайта и веб-сервера!
Цепочка редиректов:
http://craftedu.com
301 MovedPermanently
https://craftedu.com/
301 MovedPermanently
https://crafteducation.com/
301 MovedPermanently
https://www.crafteducation.com/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 19.10.2026 7:10:17.
Сервер поддерживает 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,77сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,77сек оптимальна.
Объем документа
58Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 58Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 24
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 24 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | https://cdn.prod.website-files.com/6865431604fe51ef32574297/css/craft-8734dd.webflow.shared.366c6daaf.css |
| js | text/javascript | https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js |
| js | module | https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js |
| js | module | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F6544eda5f000985a163a8687%2F68ae57e56d5ca93c4a8d8395%2Ffinsweetcomponentsconfig-1.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F66ba5a08efe71070f98dd10a%2F6a0b5cb993a0f14206b0d81c%2Fm7dc4hb6-1.1.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a296c6960a21f7929b7bc91%2Frrherostyles-0.0.6.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2998cf4e8cbdfca0a905a7%2Fhomenewnavdropdownstyles-1.6.0.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a304572650ea5ac21212f33%2Fcraftmobileresponsive-1.6.0.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F6920e91076f71b3b0ca97a18%2F6a0b5898fa5c82ff848310c1%2Fgoogle_tag-0.0.3.js |
| js | text/javascript | https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6865431604fe51ef32574297 |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297/js/webflow.schunk.e381ae44737afe02.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297/js/webflow.22875215.f08e2e2ab07c2bf6.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a20877eb80ce17feb72f727%2Fnavhoverintent-0.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a219a4b079c30f83dc3e643%2Fservicespagelayout-0.0.2.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a21c03967eb76a230f0c3f4%2Ffundingpagelayout-0.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a22e41878e3f3b4e6b507af%2Ffooterlogosize-0.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2341b66616490908de8b12%2Fservicesformselect-0.0.2.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a28822e68aba4c99edac03e%2Frrcalculator-0.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a28aeafaa3f0783847a1f5e%2Frrherolayout-0.0.2.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2966f79eb5e6b95bd19d37%2Frrpromobanner-0.0.1.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2c718dddd50a9fcfcf6bf5%2Fadventpage-0.0.3.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a3043c8ba57ca116bf7f2e5%2Frrscopereplace-0.0.2.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a30554c70f8a438529f3b6d%2Frrdompolish-0.0.8.js |
| js | text/javascript | https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a3d418471a898f560082519%2Fsapage-0.0.1.js |
Серверные заголовки
Кол-во: 13
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 13шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Fri, 21 Aug 2026 20:58:49 GMT |
| cf-ray | a2ec8eddda949dac-DME |
| cf-cache-status | HIT |
| Age | 87238 |
| x-wf-region | us-east-1 |
| Link | <https://cdn.prod.website-files.com>; rel=preconnect; crossorigin, <https://cdn.prod.website-files.com/6865431604fe51ef32574297/css/craft-8734dd.webflow.shared.366c6daaf.css>; rel=preload; as=style; crossorigin; integrity="sha384-NmxtqvGLjpma1mBCx/SijZjtMkCo/d0U7Asm3IpIA//rm/xOtB1mvOcoFRhT4++E", <https://fonts.googleapis.com>; rel=preconnect, <https://fonts.gstatic.com>; rel=preconnect; crossorigin |
| Server | cloudflare |
| Strict-Transport-Security | max-age=31536000 |
| Vary | accept-encoding |
| surrogate-control | max-age=2147483647 |
| surrogate-key | www.crafteducation.com 6865431604fe51ef32574297 pageId:6a199f014163b9c9a7fd0a91 |
| x-lambda-id | 68d79660-f07e-4eba-9173-f7a06609e867 |
| Alt-Svc | h3=":443" |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS Webflow.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 38%
Title
Craft Education | Your next nurse. Your next teacher. Already in your community.
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Устраните дубли в title: your(3), next(2)
Необходимо уменьшить число символов в title (текущее значение: 80, оптимально: от 40 до 45)
Description
Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 203, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
Указывает поисковику основную версию страницы
?
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
Кол-во: 3
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:title | Craft Education | Your next nurse. Your next teacher. Already in your community. |
| og:description | Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home. |
| og:type | website |
Все мета-теги
Кол-во: 10
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 10шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | description | Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home. |
| name | twitter:title | Craft Education | Your next nurse. Your next teacher. Already in your community. |
| name | twitter:description | Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home. |
| name | twitter:card | summary_large_image |
| name | viewport | width=device-width, initial-scale=1 |
| name | google-site-verification | google-site-verification=Zloa68Gdwl91zkIZ7sO8iQes2YaQJtT-SDPf7YZjOOU |
| name | generator | Webflow |
| property | og:title | Craft Education | Your next nurse. Your next teacher. Already in your community. |
| property | og:description | Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home. |
| property | og:type | website |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 9 встречаются в тексте достаточно.
Абзацев с текстом 16 достаточно.
Среднее число слов в абзаце 28 достаточно.
Кол-во знаков контента 6869 на странице оптимально.
Кол-во слов 1069 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 4. Это хорошо.
На странице присутствуют заголовки <h3> 10.
Тошнота
3,32
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
19,46%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| platform | 11 | 1,03% |
| funding | 11 | 1,03% |
| education | 10 | 0,94% |
| healthcare | 8 | 0,75% |
| pathways | 8 | 0,75% |
| apprenticeship | 7 | 0,65% |
| teacher | 6 | 0,56% |
| workforce | 5 | 0,47% |
| learning | 5 | 0,47% |
| program | 5 | 0,47% |
| learners | 5 | 0,47% |
| reporting | 5 | 0,47% |
| contact | 4 | 0,37% |
| agencies | 4 | 0,37% |
| community | 4 | 0,37% |
| work-based | 4 | 0,37% |
| partner | 4 | 0,37% |
| cohort | 4 | 0,37% |
| organization | 4 | 0,37% |
| security | 3 | 0,28% |
Индексация Готовность: 0%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 60 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Кол-во редиректов для файла robots.txt 4 слишком большое! Это может вызывать затруднение при индексации поисковыми роботами!
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://craftedu.com/robots.txt
301 MovedPermanently
https://craftedu.com/robots.txt
301 MovedPermanently
https://crafteducation.com/
301 MovedPermanently
https://www.crafteducation.com/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Thu Aug 20 2026 20:44:38 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.crafteducation.com" data-wf-page="6a199f014163b9c9a7fd0a91" data-wf-site="6865431604fe51ef32574297" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Craft Education | Your next nurse. Your next teacher. Already in your community.</title><meta content="Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home." name="description"/><meta content="Craft Education | Your next nurse. Your next teacher. Already in your community." property="og:title"/><meta content="Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home." property="og:description"/><meta content="Craft Education | Your next nurse. Your next teacher. Already in your community." name="twitter:title"/><meta content="Craft is the platform behind apprenticeship and work-based learning. Braid funding, name the academic partner, run the operational back office — train rural healthcare and education talent close to home." name="twitter:description"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="google-site-verification=Zloa68Gdwl91zkIZ7sO8iQes2YaQJtT-SDPf7YZjOOU" name="google-site-verification"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/6865431604fe51ef32574297/css/craft-8734dd.webflow.shared.366c6daaf.css" rel="stylesheet" type="text/css" integrity="sha384-NmxtqvGLjpma1mBCx/SijZjtMkCo/d0U7Asm3IpIA//rm/xOtB1mvOcoFRhT4++E" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({ google: { families: ["DM Sans:300,400,500,600,700","Inter:300,400,500,600,700","Sora:300,400,500,600,700"] }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/6865431604fe51ef32574297/68cc34fbd647cbe3c881928e_Favicon32pxx1.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/6865431604fe51ef32574297/68846d1f9e179401453dedad_Craft_Webclip.png" rel="apple-touch-icon"/><!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-M7DC4HB6');</script>
<!-- End Google Tag Manager -->
<!-- Keep this css code to improve the font quality -->
<style>
* {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-o-font-smoothing: antialiased;
}
</style>
<!-- End -->
<!-- This makes the blog and case study list filtering function properly -->
<script async type="module"
src="https://cdn.jsdelivr.net/npm/@finsweet/attributes@2/attributes.js"
fs-list
></script>
<!-- End -->
<!-- The prevents the homepage loader from showing the page content before playing -->
<style>
.loader3_component {
display: flex;
}
</style>
<!-- End -->
<!-- 💙 MEMBERSCRIPT #129 v0.1 💙 - COUNTRY GATING -->
<script>
// Configuration
const ACCESS_DENIED_PAGE = '/access-denied';
// List of disallowed countries using ISO 3166-1 alpha-2 country codes
const DISALLOWED_COUNTRIES = [
"CN", // China
"SG", // Singapore
"VN", // Vietnam
"SN", // Senegal
"HK", // Hong Kong
];
// Function to get visitor's country and check access
function checkCountryAccess() {
// Check if we're already on the access denied page
if (window.location.pathname === ACCESS_DENIED_PAGE) {
return; // Don't redirect if already on the access denied page
}
fetch('https://ipapi.co/json/')
.then(response => response.json())
.then(data => {
const visitorCountry = data.country_code; // This returns the ISO 3166-1 alpha-2 country code
if (DISALLOWED_COUNTRIES.includes(visitorCountry)) {
window.location.href = ACCESS_DENIED_PAGE;
}
})
.catch(error => {
console.error('Error fetching IP data:', error);
});
}
// Run the check when the page loads
document.addEventListener('DOMContentLoaded', checkCountryAccess);
</script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F6544eda5f000985a163a8687%2F68ae57e56d5ca93c4a8d8395%2Ffinsweetcomponentsconfig-1.0.1.js" type="module" async="" siteId="6865431604fe51ef32574297" finsweet="components"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F66ba5a08efe71070f98dd10a%2F6a0b5cb993a0f14206b0d81c%2Fm7dc4hb6-1.1.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a296c6960a21f7929b7bc91%2Frrherostyles-0.0.6.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2998cf4e8cbdfca0a905a7%2Fhomenewnavdropdownstyles-1.6.0.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a304572650ea5ac21212f33%2Fcraftmobileresponsive-1.6.0.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F6920e91076f71b3b0ca97a18%2F6a0b5898fa5c82ff848310c1%2Fgoogle_tag-0.0.3.js" type="text/javascript" data-gtag-id="AW-17464049193"></script></head><body><div class="global-styles"><div class="style-overrides w-embed"><style>
/* Ensure all elements inherit the color from its parent */
a,
.w-input,
.w-select,
.w-tab-link,
.w-nav-link,
.w-nav-brand,
.w-dropdown-btn,
.w-dropdown-toggle,
.w-slider-arrow-left,
.w-slider-arrow-right,
.w-dropdown-link {
color: inherit;
text-decoration: inherit;
font-size: inherit;
}
/* Focus state style for keyboard navigation for the focusable elements */
*[tabindex]:focus-visible,
input[type="file"]:focus-visible {
outline: 0.125rem solid #4d65ff;
outline-offset: 0.125rem;
}
/* Get rid of top margin on first element in any rich text element */
.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
margin-top: 0 !important;
}
/* Get rid of bottom margin on last element in any rich text element */
.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
margin-bottom: 0 !important;
}
/* Prevent all click and hover interaction with an element */
.pointer-events-off {
pointer-events: none;
}
/* Enables all click and hover interaction with an element */
.pointer-events-on {
pointer-events: auto;
}
/* Create a class of .div-square which maintains a 1:1 dimension of a div */
.div-square::after {
content: "";
display: block;
padding-bottom: 100%;
}
/* Make sure containers never lose their center alignment */
.container-medium,.container-small, .container-large {
margin-right: auto !important;
margin-left: auto !important;
}
/* Apply "..." after 3 lines of text */
.text-style-3lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
/* Apply "..." after 2 lines of text */
.text-style-2lines {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
/* Adds inline flex display */
.display-inlineflex {
display: inline-flex;
}
/* These classes are never overwritten */
.hide {
display: none !important;
}
/* Remove default Webflow chevron from form select */
select{
-webkit-appearance:none;
}
@media screen and (max-width: 991px) {
.hide, .hide-tablet {
display: none !important;
}
}
@media screen and (max-width: 767px) {
.hide-mobile-landscape{
display: none !important;
}
}
@media screen and (max-width: 479px) {
.hide-mobile{
display: none !important;
}
}
.margin-0 {
margin: 0rem !important;
}
.padding-0 {
padding: 0rem !important;
}
.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}
.margin-top {
margin-right: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-top {
padding-right: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-right {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
margin-left: 0rem !important;
}
.padding-right {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
padding-left: 0rem !important;
}
.margin-bottom {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-bottom {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-left: 0rem !important;
}
.margin-left {
margin-top: 0rem !important;
margin-right: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-left {
padding-top: 0rem !important;
padding-right: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-horizontal {
margin-top: 0rem !important;
margin-bottom: 0rem !important;
}
.padding-horizontal {
padding-top: 0rem !important;
padding-bottom: 0rem !important;
}
.margin-vertical {
margin-right: 0rem !important;
margin-left: 0rem !important;
}
.padding-vertical {
padding-right: 0rem !important;
padding-left: 0rem !important;
}
/* Apply "..." at 100% width */
.truncate-width {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Removes native scrollbar */
.no-scrollbar {
-ms-overflow-style: none;
overflow: -moz-scrollbars-none;
}
.no-scrollbar::-webkit-scrollbar {
display: none;
}
</style>
<style>
ol[role="list"] li {
background-image: none;
padding-left: 0;
}
</style>
<style>
/*
Accessibility-focused list reset
Scope resets only to specific navigation & footer containers
so that other <ul>/<li> styles across the site remain intact.
*/
.navbar8_menu-left,
.navbar8_menu-left ul,
.navbar8_menu-left li,
.navbar1_menu,
.navbar1_menu ul,
.navbar1_menu li,
.footer_link-list,
.footer_link-list ul,
.footer_link-list li,
.navbar8_dropdown-link-list,
.navbar8_dropdown-link-list ul,
.navbar8_dropdown-link-list li {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
/*
Default list item behavior in these areas:
Flex alignment for desktop to keep links aligned horizontally.
Avoids inheriting bullet/indentation styles from browser defaults.
*/
.navbar8_menu-left li,
.navbar1_menu li,
.footer_link-list li,
.navbar8_dropdown-link-list li {
display: flex; /* default desktop flex */
align-items: center;
}
/*
Desktop nav:
Keep primary nav containers as horizontal flex layouts
*/
.navbar8_menu-left,
.navbar1_menu {
display: flex !important;
flex-wrap: nowrap;
align-items: center;
}
/*
Dropdown link lists inside mega menu:
By default, keep them vertical.
*/
.navbar8_dropdown-link-list ul {
display: block; /* stacked vertically */
}
/*
Tablet & below:
Switch all nav lists to vertical stacking for better touch usability.
*/
@media (max-width: 991px) {
.navbar8_menu-left,
.navbar1_menu {
display: block !important; /* UL stacks vertically */
}
.navbar8_menu-left li,
.navbar1_menu li {
display: block !important; /* LI stack vertically */
margin-bottom: 1em; /* spacing between links */
}
/* Dropdown lists on mobile/tablet */
.navbar8_dropdown-link-list li {
display: block !important;
margin-bottom: 0.75em;
}
}
</style></div><div class="color-schemes w-embed"><style>
/* Color Schemes Controls*/
<meta name="relume-color-schemes" content="false"/>
.color-scheme-1 {
/*All sections should point to Color Scheme 1*/
}
.color-scheme-2 {
--color-scheme-1--text: var(--color-scheme-2--text);
--color-scheme-1--background: var(--color-scheme-2--background);
--color-scheme-1--foreground: var(--color-scheme-2--foreground);
--color-scheme-1--border: var(--color-scheme-2--border);
--color-scheme-1--accent: var(--color-scheme-2--accent);
}
.color-scheme-3 {
--color-scheme-1--text: var(--color-scheme-3--text);
--color-scheme-1--background: var(--color-scheme-3--background);
--color-scheme-1--foreground: var(--color-scheme-3--foreground);
--color-scheme-1--border: var(--color-scheme-3--border);
--color-scheme-1--accent: var(--color-scheme-3--accent);
}
.color-scheme-4 {
--color-scheme-1--text: var(--color-scheme-4--text);
--color-scheme-1--background: var(--color-scheme-4--background);
--color-scheme-1--foreground: var(--color-scheme-4--foreground);
--color-scheme-1--border: var(--color-scheme-4--border);
--color-scheme-1--accent: var(--color-scheme-4--accent);
}
.color-scheme-5 {
--color-scheme-1--text: var(--color-scheme-5--text);
--color-scheme-1--background: var(--color-scheme-5--background);
--color-scheme-1--foreground: var(--color-scheme-5--foreground);
--color-scheme-1--border: var(--color-scheme-5--border);
--color-scheme-1--accent: var(--color-scheme-5--accent);
}
.color-scheme-6 {
--color-scheme-1--text: var(--color-scheme-6--text);
--color-scheme-1--background: var(--color-scheme-6--background);
--color-scheme-1--foreground: var(--color-scheme-6--foreground);
--color-scheme-1--border: var(--color-scheme-6--border);
--color-scheme-1--accent: var(--color-scheme-6--accent);
}
.color-scheme-7 {
--color-scheme-1--text: var(--color-scheme-7--text);
--color-scheme-1--background: var(--color-scheme-7--background);
--color-scheme-1--foreground: var(--color-scheme-7--foreground);
--color-scheme-1--border: var(--color-scheme-7--border);
--color-scheme-1--accent: var(--color-scheme-7--accent);
}
.color-scheme-8 {
--color-scheme-1--text: var(--color-scheme-8--text);
--color-scheme-1--background: var(--color-scheme-8--background);
--color-scheme-1--foreground: var(--color-scheme-8--foreground);
--color-scheme-1--border: var(--color-scheme-8--border);
--color-scheme-1--accent: var(--color-scheme-8--accent);
}
.color-scheme-9 {
--color-scheme-1--text: var(--color-scheme-9--text);
--color-scheme-1--background: var(--color-scheme-9--background);
--color-scheme-1--foreground: var(--color-scheme-9--foreground);
--color-scheme-1--border: var(--color-scheme-9--border);
--color-scheme-1--accent: var(--color-scheme-9--accent);
}
.color-scheme-10 {
--color-scheme-1--text: var(--color-scheme-10--text);
--color-scheme-1--background: var(--color-scheme-10--background);
--color-scheme-1--foreground: var(--color-scheme-10--foreground);
--color-scheme-1--border: var(--color-scheme-10--border);
--color-scheme-1--accent: var(--color-scheme-10--accent);
}
/* Inherit slider dot colors */
.w-slider-dot {
background-color: var(--color-scheme-1--text);
opacity: 0.20;
}
.w-slider-dot.w-active {
background-color: var(--color-scheme-1--text);
opacity: 1;
}
/* Override .w-slider-nav-invert styles */
.w-slider-nav-invert .w-slider-dot {
background-color: var(--color-scheme-1--text) !important;
opacity: 0.20 !important;
}
.w-slider-nav-invert .w-slider-dot.w-active {
background-color: var(--color-scheme-1--text) !important;
opacity: 1 !important;
}
</style></div></div><div data-animation="default" class="navbar1_component hide-tablet w-nav" data-easing2="ease" fs-scrolldisable-element="smart-nav" data-easing="ease" data-collapse="medium" data-w-id="424949d5-9870-4149-7492-5262c17fc35a" role="banner" data-duration="400"><a href="#main-content" class="skip-link">Skip to main content.</a><div class="navbar1_container"><nav role="navigation" class="navbar1_menu is-page-height-tablet w-nav-menu"><a aria-label="Site Search" data-w-id="55971bb7-1730-1216-d5e5-e742beb2f8f0" href="/search" class="navbar1_search-icon_wrapper w-inline-block"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 24 24" fill="none" preserveAspectRatio="xMidYMid meet" aria-hidden="true" role="img">
<path d="M10 18C11.775 17.9996 13.4988 17.4054 14.897 16.312L19.293 20.708L20.707 19.294L16.311 14.898C17.405 13.4997 17.9996 11.7754 18 10C18 5.589 14.411 2 10 2C5.589 2 2 5.589 2 10C2 14.411 5.589 18 10 18ZM10 4C13.309 4 16 6.691 16 10C16 13.309 13.309 16 10 16C6.691 16 4 13.309 4 10C4 6.691 6.691 4 10 4Z" fill="currentColor"/>
</svg></div></a><div class="navbar1_menu-links"><a href="/about" class="navbar1_link w-nav-link">About</a><a href="/contact" class="navbar1_link w-nav-link">Contact</a><a href="https://support.crafteducation.com/hc/en-us" target="_blank" class="navbar1_link w-nav-link">Help Center</a></div><div class="navbar1_menu-buttons"></div><div data-w-id="424949d5-9870-4149-7492-5262c17fc377" class="button-group"><a aria-label="Log In" href="https://connect.crafteducation.com/" target="_blank" class="button is-link is-icon text-size-regular w-inline-block"><div>Log In</div><div class="navbar1_icon-wrapper"><div class="icon-embed-xsmall w-embed"><svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
width='20'
height='20'
fill='currentColor'
>
<g>
<g data-name="diagonal-arrow-right-up">
<rect
width="24"
height="24"
transform="rotate(180 12 12)"
opacity="0"
></rect>
<path
d="M18 7.05a1 1 0 0 0-1-1L9 6a1 1 0 0 0 0 2h5.56l-8.27 8.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L16 9.42V15a1 1 0 0 0 1 1 1 1 0 0 0 1-1z"
></path>
</g>
</g>
</svg></div></div></a></div></nav><div class="navbar1_menu-button w-nav-button"><div class="menu-icon1"><div class="menu-icon1_line-top"></div><div class="menu-icon1_line-middle"><div class="menu-icon1_line-middle-inner"></div></div><div class="menu-icon1_line-bottom"></div></div></div></div></div><div><nav class="hn_nav"><div class="hn_wrap_v"><a href="/" aria-current="page" class="hn_logo w-inline-block w--current"><img src="https://cdn.prod.website-files.com/6865431604fe51ef32574297/6866d08648a6c0bf6e290496_Craft_Logo-Main.svg" loading="lazy" alt="Craft Education" class="hn_logo_img"/></a><div class="hn_items_v"><a href="/rural-healthcare" class="hn_item">Healthcare</a><a href="/rural-teacher" class="hn_item">Education</a><div class="hn_dropdown"><a aria-haspopup="true" href="/platform" class="hn_item hn_item-dd w-button">Platform<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_caret hn_caret"><polyline points="6 9 12 15 18 9"></polyline></svg></a><div class="hn_menu"><a href="/platform#how" class="hn_menu-link"><span class="hn_menu-h">How it works</span><span class="hn_menu-s">The whole apprenticeship lifecycle in one record.</span></a><a href="/platform#roles" class="hn_menu-link"><span class="hn_menu-h">Roles & Users</span><span class="hn_menu-s">Role-scoped views — admin, learner, reviewer.</span></a><a href="/security-info" class="hn_menu-link"><span class="hn_menu-h">Trust & Security</span><span class="hn_menu-s">Built to pass the review, not just the demo.</span></a><a href="/rapid-register" class="hn_menu-link w-inline-block"><span class="hn_menu-h">Rapid Register</span><span class="hn_menu-s">Federal apprenticeship registration, done for you.</span></a></div></div><a href="/services" class="hn_item">Services</a><div class="hn_dropdown"><a aria-haspopup="true" href="/blog" class="hn_item hn_item-dd w-button">Resources<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_caret hn_caret"><polyline points="6 9 12 15 18 9"></polyline></svg></a><div class="hn_menu"><a href="/blog" class="hn_menu-link"><span class="hn_menu-h">Blog</span><span class="hn_menu-s">Fresh thinking from the Craft team.</span></a><a href="/data-and-research-team" class="hn_menu-link"><span class="hn_menu-h">Craft Research</span><span class="hn_menu-s">Reports and field studies from our research team.</span></a><a href="/funding-hub" class="hn_menu-link"><span class="hn_menu-h">Funding Hub</span><span class="hn_menu-s">Braid the federal streams that pay for paid pathways.</span></a><a href="/state-agencies" class="hn_menu-link"><span class="hn_menu-h">State Support</span><span class="hn_menu-s">For state agencies funding workforce programs.</span></a></div></div></div><div class="hn_right"><a href="/schedule" class="hn_cta w-inline-block">Schedule a Call<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_cta-arrow hn_cta-arrow"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div><a aria-expanded="false" type="button" aria-label="Open menu" href="#" class="w-button hn_burger"><span class="hn_burger-line"></span><span class="hn_burger-line"></span><span class="hn_burger-line"></span></a></div><div aria-hidden="true" class="hn_mobile"><div><div><imgraw data-raw-src="https://cdn.prod.website-files.com/6865431604fe51ef32574297/6866d08648a6c0bf6e290496_Craft_Logo-Main.svg" alt="Craft Education" class="hn_mobile-logo"></imgraw></div><a aria-label="Close menu" type="button" href="#" class="w-button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></a></div><div><div><a href="/" aria-current="page" class="w--current">Home</a><a href="/rural-healthcare">Healthcare</a><a href="/rural-teacher">Education</a><a href="/services">Services</a><details class="hn_m-group"><summary class="hn_m-item hn_m-summary">Platform<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_m-caret"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><div><a href="/platform#how">How it works</a><a href="/security-info">Trust & Security</a><a href="/platform#roles">Roles & Users</a><a href="/rapid-register" class="w-inline-block">Rapid Register</a></div></details><details class="hn_m-group"><summary class="hn_m-item hn_m-summary">Resources<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_m-caret"><polyline points="6 9 12 15 18 9"></polyline></svg></summary><div><a href="/blog">Blog</a><a href="/data-and-research-team">Craft Research</a><a href="/resource-hub">Guides & Webinars</a><a href="/funding-hub">Funding Hub</a><a href="/state-agencies">State Support</a></div></details></div><div><a href="/contact">Contact Us</a><a href="https://app.craftedu.com/welcome">Log In</a></div><div><a href="/about">About</a><a href="/contact">Contact</a><a href="https://help.crafteducation.com">Help Center</a></div><div class="w-form"><form id="rr-mobile-search" name="" data-name="Html Form" action="/search" method="get" data-wf-page-id="6a199f014163b9c9a7fd0a91" data-wf-element-id="3d1321c3-ef2c-670d-0089-c2222a648d14" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><input class="w-input" autocomplete="off" maxlength="256" name="q" data-name="q" aria-label="Search the site" placeholder="Search…" type="text" id="rr-search-q"/><input type="submit" data-wait="Please wait..." class="w-button" value="Search"/></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></nav></div><div><section class="hh_section"><div class="hh_wrap"><div class="hh_eyebrow"><span class="hh_dot"></span>One platform · Every pathway</div><h1 class="hh_h1">Your next nurse.<br/>Your next teacher.<br/>Already in <span class="hh_accent">your community.</span></h1><p class="hh_lede">Craft is the platform behind apprenticeship and work-based learning. We braid the funding, name the academic partner, and run the operational back office, so the talent your community needs can train close to home. Built for healthcare and education.</p><div class="hh_ctas"><a href="#contact" class="hh_btn hh_btn-pri">Start the Conversation</a><a href="#how" class="hh_btn hh_btn-out">See How It Works</a></div><div class="hh_stats"><div class="hh_stat"><div class="hh_stat-n">10M</div><div class="hh_stat-l">Billed labor-tracking hours to date</div></div><div class="hh_stat"><div class="hh_stat-n">2 fields</div><div class="hh_stat-l">Healthcare and education, built from the ground up</div></div><div class="hh_stat"><div class="hh_stat-n">Audit-ready</div><div class="hh_stat-l">Funder-grade records by default, not by deadline</div></div></div></div></section></div><div><section class="h_fields_section"><div class="htf_wrap"><div class="htf_grid h_card_bleed"><div class="htf_card htf_card-h"><div class="htf_eb"><span class="htf_dot htf_dot-blue"></span>FOR HEALTHCARE</div><h3 class="htf_h3">Allied health & nursing</h3><p class="htf_body">When a rural hospital cannot fill a role, traveler labor eats into margins, and care becomes harder to reach. Craft helps you develop CNAs, surgical techs, and medical assistants from within your community.</p><div class="htf_panel"><div class="htf_panel-h"><span class="htf_panel-role">Surgical Technologist</span><span class="htf_panel-tag">Audit-ready</span></div><div class="htf_panel-sub">Cohort 03 · Owatonna, MN</div><div class="htf_progress"><div class="htf_progress-row"><span>On-the-job hours</span><span class="htf_right">1840 / 2000</span></div><div class="htf_bar"><i STYLE="width:92%" class="htf_bar-i htf_bar-blue inline-i-0 htf_bar-i htf_bar-blue"></i></div></div><div class="htf_progress"><div class="htf_progress-row"><span>RTI competencies</span><span class="htf_right">14 / 16</span></div><div class="htf_bar"><i STYLE="width:88%" class="htf_bar-i htf_bar-sky inline-i-1 htf_bar-i htf_bar-sky"></i></div></div></div><div class="htf_foot"><span class="htf_pill">with Pangea Learning</span><a href="/rural-healthcare" class="htf_link">Explore Healthcare →</a></div></div><div class="htf_card htf_card-e"><div class="htf_eb"><span class="htf_dot htf_dot-lime"></span>FOR EDUCATION</div><h3 class="htf_h3">Teacher & CTE pathways</h3><p class="htf_body">Districts cannot hire their way out of the teacher shortage. Craft helps you build local registered teacher apprenticeships and CTE pathways that turn paraprofessionals and aides into credentialed educators who stay.</p><div class="htf_panel"><div class="htf_panel-h"><span class="htf_panel-role">Registered Teacher Apprenticeship</span><span class="htf_panel-tag htf_panel-tag-lime">On Pace</span></div><div class="htf_panel-sub">Cohort 02 · Marshall County, KY</div><div class="htf_progress"><div class="htf_progress-row"><span>Clinical hours</span><span class="htf_right">1000 / 1300</span></div><div class="htf_bar"><i STYLE="width:77%" class="htf_bar-i htf_bar-lime inline-i-2 htf_bar-i htf_bar-lime"></i></div></div><div class="htf_progress"><div class="htf_progress-row"><span>Competencies signed off</span><span class="htf_right">20 / 24</span></div><div class="htf_bar"><i STYLE="width:83%" class="htf_bar-i htf_bar-purple inline-i-3 htf_bar-i htf_bar-purple"></i></div></div></div><div class="htf_foot"><span class="htf_pill">with WGU School of Education</span><a href="/rural-teacher" class="htf_link">Explore Education →</a></div></div></div></div></section></div><div><section class="hbd_section"><div class="hbd_wrap"><div class="hbd_row"><div class="hbd_left"><h3 class="hbd_h">Built deep for two fields. Open to the rest.</h3><p class="hbd_p">Healthcare and education are home, and we design for them first. The platform itself is field-agnostic, so any employer or institution standing up registered apprenticeships and work-based learning can run on it, urban and rural alike.</p></div><div class="hbd_tags"><span class="hbd_tag">Urban districts</span><span class="hbd_tag">Health systems</span><span class="hbd_tag">Community colleges</span><span class="hbd_tag">Manufacturing</span><span class="hbd_tag">Public sector</span><span class="hbd_tag">Intermediaries</span></div></div></div></section></div><div><section class="hch_section"><div class="hch_wrap"><div class="hch_head"><div class="hch_eyebrow">What Craft handles</div><h2 class="hch_h2">A workforce program is a lot of moving parts. We hold them together.</h2><p class="hch_lede">Most organizations do not fail to build a pathway for lack of will. They fail because the funding, the academic partner, the compliance, and the day-to-day tracking each live somewhere else. Craft brings them onto one platform.</p></div><div class="hch_grid"><div class="hch_card"><div class="hch_icon hch_ic-blue"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><path d="M3 6c4 4 8 4 12 0"></path><path d="M3 12c4 4 8 4 12 0"></path><path d="M3 18c4 4 8 4 12 0"></path><path d="M15 6c2 2 4 2 6 0"></path><path d="M15 12c2 2 4 2 6 0"></path><path d="M15 18c2 2 4 2 6 0"></path></svg></div><h3 class="hch_h">Braided funding</h3><p class="hch_b">We align the federal and state streams that pay for paid pathways and document the use of funds so the dollars hold up to audit.</p></div><div class="hch_card"><div class="hch_icon hch_ic-sky"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><path d="M22 10v6"></path><path d="M2 10l10-5 10 5-10 5z"></path><path d="M6 12v5c0 2 3 3 6 3s6-1 6-3v-5"></path></svg></div><h3 class="hch_h">Named academic partner</h3><p class="hch_b">Related technical instruction is delivered by a national partner from day one, so you are not sourcing curriculum or accreditation alone.</p></div><div class="hch_card"><div class="hch_icon hch_ic-lime"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div><h3 class="hch_h">On-the-job tracking</h3><p class="hch_b">Learners log hours against the work-process schedule. Mentors approve in a queue. Totals roll up to the program at registered-apprenticeship standard.</p></div><div class="hch_card"><div class="hch_icon hch_ic-purple"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line></svg></div><h3 class="hch_h">Funder-ready reporting</h3><p class="hch_b">One data model produces the WIOA, Perkins, RAPIDS, and Workforce Pell reports your funders and accreditors actually accept.</p></div><div class="hch_card"><div class="hch_icon hch_ic-amber"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><h3 class="hch_h">Every role, one view</h3><p class="hch_b">Admins, learners, mentors, and reviewers each work in the same product, against the same source of truth scoped to their role.</p></div><div class="hch_card"><div class="hch_icon hch_ic-green"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="h_icon_md"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path><path d="m9 12 2 2 4-4"></path></svg></div><h3 class="hch_h">Compliant by default</h3><p class="hch_b">Security-compliant, invitation-gated, and accessible. The audit trail builds itself as the work happens, so review season is not a scramble.</p></div></div></div></section></div><div><section id="how" class="hwp_section"><div class="hwp_wrap"><div class="hwp_row"><div class="hwp_left"><div class="hwp_eyebrow">One platform · Every role</div><h2 class="hwp_h2">The whole program,<br/>in one record.</h2><p class="hwp_lede">No spreadsheet for hours or emails for approvals. Craft keeps the people, the evidence, and the reporting in one place, so each step feeds the next.</p><ul role="list" class="hwp_list"><li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h_icon_lg"><polyline points="20 6 9 17 4 12"></polyline></svg><span><strong>Enroll and invite</strong> learners, employers, and reviewers. Access is invitation-gated from the first click.</span></li><li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h_icon_lg"><polyline points="20 6 9 17 4 12"></polyline></svg><span><strong>Log hours and sign off</strong> against the work-process schedule with every action time-stamped and attributable.</span></li><li><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="h_icon_lg"><polyline points="20 6 9 17 4 12"></polyline></svg><span><strong>Natural language reports</strong> on demand. Re-run any reporting cycle without rebuilding the numbers.</span></li></ul><a href="/platform" class="hwp_cta">See the Platform →</a></div><div class="hwp_right"><div class="hwp_mock"><div class="hwp_mock-h"><div><div class="hwp_mock-eb">MANAGE</div><div class="hwp_mock-title">Active programs</div></div><span class="hwp_mock-chip">All audit-ready</span></div><div class="hwp_mock-stats"><div class="hwp_mock-stat"><div class="hwp_mock-stat-lbl">ACTIVE LEARNERS</div><div class="hwp_mock-stat-n">248</div></div><div class="hwp_mock-stat"><div class="hwp_mock-stat-lbl">OJL HOURS (90D)</div><div class="hwp_mock-stat-n">31.4k</div></div><div class="hwp_mock-stat"><div class="hwp_mock-stat-lbl">REVIEWS PENDING</div><div class="hwp_mock-stat-n">12</div></div></div><div class="hwp_mock-rows"><div class="hwp_mock-row"><div class="hwp_mock-row-l"><div class="hwp_mock-row-h">Surgical Tech · Cohort 03</div><div class="hwp_mock-row-s">OJL</div></div><div class="hwp_bar"><i STYLE="width:92%" class="hwp_bar-blue inline-i-0 hwp_bar-blue"></i></div><span class="hwp_mock-tag hwp_mock-tag-green">On track</span></div><div class="hwp_mock-row"><div class="hwp_mock-row-l"><div class="hwp_mock-row-h">Teacher Apprenticeship</div><div class="hwp_mock-row-s">C02</div></div><div class="hwp_bar"><i STYLE="width:74%" class="hwp_bar-lime inline-i-1 hwp_bar-lime"></i></div><span class="hwp_mock-tag hwp_mock-tag-green">On track</span></div><div class="hwp_mock-row"><div class="hwp_mock-row-l"><div class="hwp_mock-row-h">Medical Assistant</div><div class="hwp_mock-row-s">Cohort 01</div></div><div class="hwp_bar"><i STYLE="width:48%" class="hwp_bar-sky inline-i-2 hwp_bar-sky"></i></div><span class="hwp_mock-tag hwp_mock-tag-amber">Onboarding</span></div></div></div></div></div></div></section></div><div><section class="hpd_section"><div class="hpd_wrap"><div class="hpd_row"><div class="hpd_left"><div class="hpd_eyebrow">Braided funding</div><h2 class="hpd_h2">Public dollars already pay for this. We help you reach them.</h2><p class="hpd_lede">The funding to grow your own workforce exists. It is just siloed across agencies, heavily regulated, and exhausting to assemble. Craft aligns the streams into one funding model and documents the use of funds, so the money holds up when a funder asks.</p></div><div class="hpd_right"><div class="hpd_stream"><span class="hpd_dot hpd_dot-blue"></span><div class="hpd_stream-text"><div class="hpd_stream-h">WIOA</div><div class="hpd_stream-b">Work-based learning support for learners and measurable skill gains.</div></div></div><div class="hpd_stream"><span class="hpd_dot hpd_dot-sky"></span><div class="hpd_stream-text"><div class="hpd_stream-h">CTE / Perkins</div><div class="hpd_stream-b">Concentrator and completer activity across CTE pathways.</div></div></div><div class="hpd_stream"><span class="hpd_dot hpd_dot-lime"></span><div class="hpd_stream-text"><div class="hpd_stream-h">SAEF</div><div class="hpd_stream-b">Apprenticeship expansion. RTI and wage progression.</div></div></div><div class="hpd_stream"><span class="hpd_dot hpd_dot-purple"></span><div class="hpd_stream-text"><div class="hpd_stream-h">Title II</div><div class="hpd_stream-b">Educator preparation reporting for licensure pathways.</div></div></div><div class="hpd_stream"><span class="hpd_dot hpd_dot-dark"></span><div class="hpd_stream-text"><div class="hpd_stream-h">Workforce Pell</div><div class="hpd_stream-b">Eligibility outcomes, and the documentation the law requires.</div></div></div></div></div><div class="hpd_callout"><div class="hpd_callout-badge">$0–low</div><div class="hpd_callout-text"><strong>No- to low-cost to the employer when the funding stacks line up.</strong> Our nonprofit mission is to make paid pathways pencil out, not to add another line item to your budget.</div></div></div></section></div><div><section class="hpq_section"><div class="hpq_wrap"><div class="hpq_mark">“</div><blockquote class="hpq_q">Craft is the only place we document standards progress. Their platform gives us the credibility we need with the DOL and the districts. A spreadsheet cannot do that.</blockquote><cite class="hpq_cite hpq_cite">Gina Zuberbier · Program Manager, MI Talent Together</cite><div class="hpq_chips"><span class="hpq_chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="h_icon_xs"><rect x="4" y="11" width="16" height="10" rx="2"></rect><path d="M8 11V8a4 4 0 1 1 8 0v3"></path></svg>Invitation-gated access</span><span class="hpq_chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="h_icon_xs"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>WCAG 2.2 VPAT available</span><span class="hpq_chip"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" class="h_icon_xs"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline></svg>USDOL / RAPIDS reporting</span></div></div></section></div><div><section id="contact" class="rd_form-section"><div class="rd_wrap"><div class="rd_form-grid"><div class="rd_form-left"><div class="rd_form-eyebrow">Join the mission</div><h2 class="rd_form-h2">Help us end the skilled labor gap.</h2><p class="rd_form-lede">Whether you run a program, fund one, or want to build the utility with us, we would like to hear from you. Tell us where you fit and we will point you to the right conversation.</p><div class="rd_form-meta-tile"><div class="rd_form-meta-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="20" height="20" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div><div class="rd_form-meta-text">Employers and partners building pathways. <span class="rd_form-meta-strong">Funders and agencies</span> backing the work. People who want to come build with us.</div></div></div><div><div class="rd_form-card"><div class="rd_form-card-eyebrow">Discovery call</div><h3 class="rd_form-card-h3">Start the conversation.</h3><div class="w-form"><form id="wf-form-Homepage-Form" name="wf-form-Homepage-Form" data-name="Homepage Form" method="get" data-wf-page-id="6a199f014163b9c9a7fd0a91" data-wf-element-id="a4736873-7348-dbab-a0ea-9a59912e238e" data-turnstile-sitekey="0x4AAAAAAAQTptj2So4dx43e"><div class="rd_form-field-grid"><div class="rd_form-field"><label for="first_name" class="rd_form-label">First name</label><input class="rd_form-input w-input" maxlength="256" name="first_name" data-name="first_name" placeholder="Jordan" type="text" id="first_name" required=""/></div><div class="rd_form-field"><label for="last_name" class="rd_form-label">Last name</label><input class="rd_form-input w-input" maxlength="256" name="last_name" data-name="last_name" placeholder="Williams" type="text" id="last_name" required=""/></div><div class="rd_form-field"><label for="" class="rd_form-label">Work email</label><input class="rd_form-input w-input" maxlength="256" name="email" data-name="email" placeholder="you@hospital.org" type="email" id="email" required=""/></div><div class="rd_form-field"><label for="company" class="rd_form-label">Organization</label><input class="rd_form-input w-input" maxlength="256" name="company" data-name="company" placeholder="Mountain Plains Health" type="text" id="company" required=""/></div><div class="rd_form-field w-condition-invisible"><label for="utm_source" class="rd_form-label">Organization</label><input class="rd_form-input w-input" maxlength="256" name="utm_source" data-name="utm_source" placeholder="" type="text" id="utm_source"/></div><div class="rd_form-field w-condition-invisible"><label for="utm_medium" class="rd_form-label">Organization</label><input class="rd_form-input w-input" maxlength="256" name="utm_medium" data-name="utm_medium" placeholder="" type="text" id="utm_medium"/></div><div class="rd_form-field w-condition-invisible"><label for="utm_campaign" class="rd_form-label">Organization</label><input class="rd_form-input w-input" maxlength="256" name="utm_campaign" data-name="utm_campaign" placeholder="" type="text" id="utm_campaign"/></div><div class="rd_form-field"><label for="" class="rd_form-label">Message</label><textarea placeholder="Example Text" maxlength="5000" id="message" name="field-5" data-name="Field 5" class="rd_form-input w-input"></textarea></div></div><div class="rd_form-foot"><p class="rd_form-fine">By submitting, you agree to our <a href="https://vault.pactsafe.io/s/fcfe3595-bd7c-4985-9fbc-9b5b2523ed43/legal.html?g=32328#template-l7pu1-ise" target="_blank"><span class="text-span-3">Privacy Policy</span><span> </span></a>& <a href="https://vault.pactsafe.io/s/fcfe3595-bd7c-4985-9fbc-9b5b2523ed43/legal.html?g=32328#template-rg8-x-vs" target="_blank"><span class="text-span-2">Terms of Service</span></a> and provide consent to receive updates from Craft.</p><input type="submit" data-wait="Please wait..." class="rd_form-submit w-button" value="Submit"/></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div></div></section></div><div><footer class="hft_section"><div class="hft_wrap"><div class="hft_top"><div class="hft_brand"><div class="hft_logo"><img src="https://cdn.prod.website-files.com/6865431604fe51ef32574297/6a19aa2d7ec60f560613aaf6_Craft_Logo-Reverse.avif" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/6865431604fe51ef32574297/6a19aa2d7ec60f560613aaf6_Craft_Logo-Reverse-p-500.avif 500w, https://cdn.prod.website-files.com/6865431604fe51ef32574297/6a19aa2d7ec60f560613aaf6_Craft_Logo-Reverse-p-800.avif 800w, https://cdn.prod.website-files.com/6865431604fe51ef32574297/6a19aa2d7ec60f560613aaf6_Craft_Logo-Reverse.avif 2117w" alt="Craft Education"/></div><p class="hft_blurb">The platform behind apprenticeship and work-based learning. Helping communities fill skilled jobs with the talent they already have.</p></div><div class="hft_col"><div class="hft_col-h">Fields</div><a href="/rural-healthcare" class="hft_link">Healthcare</a><a href="/rural-teacher" class="hft_link">Education</a><a href="/funding-hub" class="hft_link">Braided funding</a><a href="/state-agencies" class="hft_link">State Agencies</a></div><div class="hft_col"><div class="hft_col-h">Platform</div><a href="/platform" class="hft_link">How it works</a><a href="/platform#security" class="hft_link">Trust & security</a><a href="/rapid-register" class="hft_link">Rapid Register</a></div><div class="hft_col"><div class="hft_col-h">Company</div><a href="/about" class="hft_link">About Craft</a><a href="/contact" class="hft_link">Contact</a><a href="/blog" class="hft_link">Blog</a></div></div><div class="hft_legal"><span>© 2026 Craft Education. A WGU Company. </span><a href="https://vault.pactsafe.io/s/fcfe3595-bd7c-4985-9fbc-9b5b2523ed43/legal.html?g=32328#template-l7pu1-ise" target="_blank"><span class="hft_legal-r">Privacy </span></a><a href="https://vault.pactsafe.io/s/fcfe3595-bd7c-4985-9fbc-9b5b2523ed43/legal.html?g=32328#template-rg8-x-vs" target="_blank"><span class="hft_legal-r">Terms of Service</span></a><span class="hft_legal-r"> </span></div></div></footer></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=6865431604fe51ef32574297" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297/js/webflow.schunk.e381ae44737afe02.js" type="text/javascript" integrity="sha384-aC+KDlIL9ZeLUzml1VnUJGQDHlvA39K/wuU6VzxknZMq8uI19vSz4Fi07d2Ipd31" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297/js/webflow.22875215.f08e2e2ab07c2bf6.js" type="text/javascript" integrity="sha384-REmnlKoL4anIjeaOlVvRGtm8yRjRSVtkJktSlfE/KiGdMMR6HYIL+W1tYS2HW7Bu" crossorigin="anonymous"></script><!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M7DC4HB6"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<!-- This adds a dataLayer.push() on Webflow form success (for conversion tracking) -->
<script>
document.addEventListener('DOMContentLoaded', function() {
document.querySelectorAll('form').forEach(function(form) {
form.addEventListener('submit', function() {
form.addEventListener('wfu-success', function() {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'formSubmission',
'formName': form.getAttribute('name') || form.getAttribute('id') || 'unknown_form'
});
}, { once: true });
});
});
});
</script>
<!-- This opens a Calendly booking page in a new window on form submit when the form class is .calendly-form -->
<script>
document.addEventListener("DOMContentLoaded", function () {
const forms = document.querySelectorAll(".calendly-form");
forms.forEach(function(form) {
form.addEventListener("submit", function() {
// Grab values immediately
const first = encodeURIComponent(form.querySelector('[name="first_name"]')?.value || "");
const last = encodeURIComponent(form.querySelector('[name="last_name"]')?.value || "");
const email = encodeURIComponent(form.querySelector('[name="email"]')?.value || "");
const company = encodeURIComponent(form.querySelector('[name="company"]')?.value || "");
const calendlyURL = `https://calendly.com/d/d2h4-cq3-hwv/learn-about-craft?first_name=${first}&last_name=${last}&email=${email}&a1=${company}`;
// Open Calendly in a new tab immediately
window.open(calendlyURL, "_blank");
});
});
});
</script>
<!-- This makes the links in the navs and footer accessible (wrapped in <li>) -->
<script>
document.addEventListener("DOMContentLoaded", function () {
/**
* Converts a container of links into an accessible <ul>/<li> structure.
* @param {string} selector - CSS selector for the container element.
* @param {boolean} forceFlex - Whether to force desktop flex layout on the UL.
* @param {boolean} preserveLinkStyles - Whether to preserve the original computed link styles.
* @param {boolean} specialNavbar1Handling - Whether to handle .navbar1_menu special case.
*/
function convertNavWrapper(selector, forceFlex = false, preserveLinkStyles = true, specialNavbar1Handling = false) {
const navWrappers = document.querySelectorAll(selector);
if (!navWrappers.length) return;
navWrappers.forEach(navWrapper => {
const links = Array.from(navWrapper.children);
if (links.length === 0) return;
const ul = document.createElement("ul");
ul.className = navWrapper.className;
// Reset list styles inline (CSS also covers this globally)
ul.style.listStyle = "none";
ul.style.margin = "0";
ul.style.padding = "0";
// Apply layout rules
if (forceFlex) {
ul.style.display = "flex";
ul.style.alignItems = "center";
} else {
ul.style.display = getComputedStyle(navWrapper).display;
ul.style.alignItems = getComputedStyle(navWrapper).alignItems;
ul.style.justifyContent = getComputedStyle(navWrapper).justifyContent;
ul.style.gap = getComputedStyle(navWrapper).gap;
}
// Special handling for navbar1_menu where .navbar1_menu-links exists
if (specialNavbar1Handling) {
links.forEach(link => {
if (link.classList.contains("navbar1_menu-links")) {
const innerLinks = Array.from(link.querySelectorAll(".navbar1_link"));
innerLinks.forEach(innerLink => {
const li = document.createElement("li");
li.style.display = "flex";
if (preserveLinkStyles) {
innerLink.querySelectorAll("a").forEach(a => {
const computed = getComputedStyle(a);
a.style.color = computed.color;
a.style.textDecoration = computed.textDecoration;
});
}
li.appendChild(innerLink);
ul.appendChild(li);
});
} else {
const li = document.createElement("li");
li.style.display = "flex";
if (preserveLinkStyles) {
link.querySelectorAll("a").forEach(a => {
const computed = getComputedStyle(a);
a.style.color = computed.color;
a.style.textDecoration = computed.textDecoration;
});
}
li.appendChild(link);
ul.appendChild(li);
}
});
} else {
// Default handling for standard nav/footer/dropdown lists
links.forEach(link => {
const li = document.createElement("li");
li.style.display = "flex";
if (preserveLinkStyles) {
link.querySelectorAll("a").forEach(a => {
const computed = getComputedStyle(a);
a.style.color = computed.color;
a.style.textDecoration = computed.textDecoration;
});
}
li.appendChild(link);
ul.appendChild(li);
});
}
navWrapper.parentNode.replaceChild(ul, navWrapper);
});
}
// Main nav
convertNavWrapper(".navbar8_menu-left", true, true);
// Utility nav with special handling for nested .navbar1_menu-links
convertNavWrapper(".navbar1_menu", true, true, true);
// Footer links
convertNavWrapper(".footer_link-list", false, false);
// Mega menu dropdown link lists
convertNavWrapper(".navbar8_dropdown-link-list", false, true);
});
</script>
<!-- End -->
<!-- This traps focus on the mobile nav when expanded for accessibility purposes -->
<script>
document.addEventListener("DOMContentLoaded", function () {
const menuButton = document.querySelector(".navbar8_menu-button");
const navMenu = document.querySelector(".navbar8_menu");
function isMenuVisible() {
// Adjust this logic if you're using a class toggle other than 'is-open'
return navMenu.offsetParent !== null;
}
function getFocusableElements(container) {
return [...container.querySelectorAll(
'a[href], button:not([disabled]), textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select'
)].filter(el => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden'));
}
let firstFocusable = null;
let lastFocusable = null;
function trapFocus(e) {
if (e.key !== 'Tab') return;
if (e.shiftKey) {
if (document.activeElement === firstFocusable) {
e.preventDefault();
lastFocusable.focus();
}
} else {
if (document.activeElement === lastFocusable) {
e.preventDefault();
firstFocusable.focus();
}
}
}
function openMenu() {
const focusableEls = getFocusableElements(navMenu);
if (focusableEls.length === 0) return;
firstFocusable = focusableEls[0];
lastFocusable = focusableEls[focusableEls.length - 1];
firstFocusable.focus();
document.addEventListener("keydown", trapFocus);
}
function closeMenu() {
document.removeEventListener("keydown", trapFocus);
menuButton.focus();
}
// Observe changes to class or detect clicks
let menuWasOpen = false;
const checkMenuState = () => {
const currentlyOpen = isMenuVisible();
if (currentlyOpen && !menuWasOpen) {
openMenu();
} else if (!currentlyOpen && menuWasOpen) {
closeMenu();
}
menuWasOpen = currentlyOpen;
};
// Hook into click and resize events to track menu state
menuButton.addEventListener("click", () => {
setTimeout(checkMenuState, 10); // slight delay to allow class toggle/render
});
window.addEventListener("resize", () => {
if (!isMenuVisible() && menuWasOpen) {
closeMenu();
menuWasOpen = false;
}
});
});
</script>
<!-- End -->
<!-- UTM Parameters to Forms When Applicable -->
<script>
document.addEventListener("DOMContentLoaded", function() {
const utmFields = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'];
const urlParams = new URLSearchParams(window.location.search);
utmFields.forEach(field => {
// If the UTM is in the current URL, save it (last-touch)
if (urlParams.has(field)) {
try { sessionStorage.setItem(field, urlParams.get(field)); } catch (e) {}
}
// Populate any matching fields from whatever's stored
let value;
try { value = sessionStorage.getItem(field); } catch (e) { value = null; }
if (value) {
document.querySelectorAll('[name="' + field + '"]').forEach(element => {
element.value = value;
});
}
});
});
</script>
<!-- End -->
<!-- State field auto-populate: fills any <select name="state"> with US states + DC -->
<script>
document.addEventListener("DOMContentLoaded", function() {
var STATES = [["AL","Alabama"],["AK","Alaska"],["AZ","Arizona"],["AR","Arkansas"],["CA","California"],["CO","Colorado"],["CT","Connecticut"],["DE","Delaware"],["DC","District of Columbia"],["FL","Florida"],["GA","Georgia"],["HI","Hawaii"],["ID","Idaho"],["IL","Illinois"],["IN","Indiana"],["IA","Iowa"],["KS","Kansas"],["KY","Kentucky"],["LA","Louisiana"],["ME","Maine"],["MD","Maryland"],["MA","Massachusetts"],["MI","Michigan"],["MN","Minnesota"],["MS","Mississippi"],["MO","Missouri"],["MT","Montana"],["NE","Nebraska"],["NV","Nevada"],["NH","New Hampshire"],["NJ","New Jersey"],["NM","New Mexico"],["NY","New York"],["NC","North Carolina"],["ND","North Dakota"],["OH","Ohio"],["OK","Oklahoma"],["OR","Oregon"],["PA","Pennsylvania"],["RI","Rhode Island"],["SC","South Carolina"],["SD","South Dakota"],["TN","Tennessee"],["TX","Texas"],["UT","Utah"],["VT","Vermont"],["VA","Virginia"],["WA","Washington"],["WV","West Virginia"],["WI","Wisconsin"],["WY","Wyoming"]];
document.querySelectorAll('select[name="state"]').forEach(function(sel) {
if (sel.options && sel.options.length > 1) return;
if (!sel.options.length || sel.options[0].value !== "") {
var ph = document.createElement("option");
ph.value = ""; ph.textContent = "Select a state…"; ph.disabled = true; ph.selected = true;
sel.insertBefore(ph, sel.firstChild);
}
STATES.forEach(function(pair) {
var opt = document.createElement("option");
opt.value = pair[0]; opt.textContent = pair[1];
sel.appendChild(opt);
});
});
});
</script>
<!-- End --><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a20877eb80ce17feb72f727%2Fnavhoverintent-0.0.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a219a4b079c30f83dc3e643%2Fservicespagelayout-0.0.2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a21c03967eb76a230f0c3f4%2Ffundingpagelayout-0.0.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a22e41878e3f3b4e6b507af%2Ffooterlogosize-0.0.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2341b66616490908de8b12%2Fservicesformselect-0.0.2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a28822e68aba4c99edac03e%2Frrcalculator-0.0.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a28aeafaa3f0783847a1f5e%2Frrherolayout-0.0.2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2966f79eb5e6b95bd19d37%2Frrpromobanner-0.0.1.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a2c718dddd50a9fcfcf6bf5%2Fadventpage-0.0.3.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a3043c8ba57ca116bf7f2e5%2Frrscopereplace-0.0.2.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a30554c70f8a438529f3b6d%2Frrdompolish-0.0.8.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/6865431604fe51ef32574297%2F689e5ba67671442434f3ca35%2F6a3d418471a898f560082519%2Fsapage-0.0.1.js" type="text/javascript"></script></body></html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 40
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 40 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /about |
About
|
|
Анализировать url |
| /contact |
Contact
|
|
Анализировать url |
| /rural-healthcare |
Healthcare
|
|
Анализировать url |
| /rural-teacher |
Education
|
|
Анализировать url |
| /platform |
Platform<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_caret hn_caret"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
|
Анализировать url |
| /security-info |
<span class="hn_menu-h">Trust & Security</span><span class="hn_menu-s">Built to pass the review, not just the demo.</span>
|
|
Анализировать url |
| /rapid-register |
<span class="hn_menu-h">Rapid Register</span><span class="hn_menu-s">Federal apprenticeship registration, done for you.</span>
|
|
Анализировать url |
| /services |
Services
|
|
Анализировать url |
| /blog |
Resources<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_caret hn_caret"><polyline points="6 9 12 15 18 9"></polyline></svg>
|
|
Анализировать url |
| /blog |
<span class="hn_menu-h">Blog</span><span class="hn_menu-s">Fresh thinking from the Craft team.</span>
|
|
Анализировать url |
| /data-and-research-team |
<span class="hn_menu-h">Craft Research</span><span class="hn_menu-s">Reports and field studies from our research team.</span>
|
|
Анализировать url |
| /funding-hub |
<span class="hn_menu-h">Funding Hub</span><span class="hn_menu-s">Braid the federal streams that pay for paid pathways.</span>
|
|
Анализировать url |
| /state-agencies |
<span class="hn_menu-h">State Support</span><span class="hn_menu-s">For state agencies funding workforce programs.</span>
|
|
Анализировать url |
| /schedule |
Schedule a Call<svg viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="hn_cta-arrow hn_cta-arrow"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
|
|
Анализировать url |
| / |
Home
|
|
Анализировать url |
| /rural-healthcare |
Healthcare
|
|
Анализировать url |
| /rural-teacher |
Education
|
|
Анализировать url |
| /services |
Services
|
|
Анализировать url |
| /security-info |
Trust & Security
|
|
Анализировать url |
| /rapid-register |
Rapid Register
|
|
Анализировать url |
| /blog |
Blog
|
|
Анализировать url |
| /data-and-research-team |
Craft Research
|
|
Анализировать url |
| /resource-hub |
Guides & Webinars
|
|
Анализировать url |
| /funding-hub |
Funding Hub
|
|
Анализировать url |
| /state-agencies |
State Support
|
|
Анализировать url |
| /contact |
Contact Us
|
|
Анализировать url |
| /about |
About
|
|
Анализировать url |
| /contact |
Contact
|
|
Анализировать url |
| /rural-healthcare |
Explore Healthcare →
|
|
Анализировать url |
| /rural-teacher |
Explore Education →
|
|
Анализировать url |
| /platform |
See the Platform →
|
|
Анализировать url |
| /rural-healthcare |
Healthcare
|
|
Анализировать url |
| /rural-teacher |
Education
|
|
Анализировать url |
| /funding-hub |
Braided funding
|
|
Анализировать url |
| /state-agencies |
State Agencies
|
|
Анализировать url |
| /platform |
How it works
|
|
Анализировать url |
| /rapid-register |
Rapid Register
|
|
Анализировать url |
| /about |
About Craft
|
|
Анализировать url |
| /contact |
Contact
|
|
Анализировать url |
| /blog |
Blog
|
|
Анализировать url |
Внешние ссылки
Кол-во: 7
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 7 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
На странице присутствуют ссылки на субдомены 1.
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| support.crafteducation.com |
Help Center
|
Анализировать url |
| connect.crafteducation.com |
<div>Log In</div><div class="navbar1_icon-wrapper"><div class="icon-embed-xsmall w-embed"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" width='20' height='20' fill='currentColor'>
<g>
<g data-name="diagonal-arrow-right-up">
<rect width="24" height="24" transform="rotate(180 12 12)" opacity="0"></rect>
<path d="M18 7.05a1 1 0 0 0-1-1L9 6a1 1 0 0 0 0 2h5.56l-8.27 8.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L16 9.42V15a1 1 0 0 0 1 1 1 1 0 0 0 1-1z"></path>
</g>
</g>
</svg></div></div>
|
Анализировать url |
| help.crafteducation.com |
Help Center
|
Анализировать url |
| vault.pactsafe.io |
<span class="text-span-3">Privacy Policy</span><span> </span>
|
Анализировать url |
| vault.pactsafe.io |
<span class="text-span-2">Terms of Service</span>
|
Анализировать url |
| vault.pactsafe.io |
<span class="hft_legal-r">Privacy </span>
|
Анализировать url |
| vault.pactsafe.io |
<span class="hft_legal-r">Terms of Service</span>
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Анализ сайта craftedu.com, слабо оптимизирован на 48%. Для хорошей оптимизации и выхода на первые места в поиске требуется:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: