Анализ страницы https://austinhenley.com/blog.html
Основное Готовность: 95%
Домен
austinhenley.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 03.09.2026 5:10:43.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
UTF-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице UTF-8.
Язык
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык страницы не указан. Рекомендуется явно указать язык документа!
Скорость загрузки
~0,47сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,47сек оптимальна.
Объем документа
15Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 15Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 2
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 2 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | modesty.css |
| js | https://plausible.io/js/plausible.js |
Серверные заголовки
Кол-во: 17
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 17шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | GitHub.com |
| Access-Control-Allow-Origin | * |
| ETag | "6a5307e5-3c99" |
| Cache-Control | max-age=600 |
| x-proxy-cache | MISS |
| x-github-request-id | 9B92:57185:36D0243:37440E5:6A8A6782 |
| x-github-edge-region | fra |
| Accept-Ranges | bytes |
| Age | 0 |
| Date | Sun, 23 Aug 2026 03:22:42 GMT |
| Via | 1.1 varnish |
| X-Served-By | cache-fra-eddf8230133-FRA |
| X-Cache | MISS |
| x-cache-hits | 0 |
| x-timer | S1787455363.697920,VS0,VE115 |
| Vary | Accept-Encoding |
| x-fastly-request-id | 99b6775fe48634f221c99bc31b04061c935e9eec |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
GitHub.com
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
В заголовке Server указано: GitHub.com.
Мета-теги Готовность: 48%
Title
Blog - Austin Z. Henley
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 23, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Technical blog covering software engineering, academia, product design, and usability.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение: 86, оптимально: от 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.0
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 4
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:title | Austin Henley's technical blog |
| og:description | Technical blog covering software engineering, academia, product design, and usability. |
| og:image | https://austinhenley.com/Henley2021.jpg |
| og:url | https://austinhenley.com/blog.html |
Все мета-теги
Кол-во: 8
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 8шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | description | Technical blog covering software engineering, academia, product design, and usability. |
| name | author | Austin Z. Henley |
| name | viewport | width=device-width, initial-scale=1.0 |
| name | twitter:card | summary_large_image |
| property | og:title | Austin Henley's technical blog |
| property | og:description | Technical blog covering software engineering, academia, product design, and usability. |
| property | og:image | https://austinhenley.com/Henley2021.jpg |
| property | og:url | https://austinhenley.com/blog.html |
Оптимизация Готовность: 85%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Абзацев с текстом 2 слишком мало. Добавьте больше абзацев с текстом (тег <p>)!
Слова из title 4 встречаются в тексте достаточно.
Среднее число слов в абзаце 10 достаточно.
Кол-во знаков контента 6272 на странице оптимально.
Кол-во слов 892 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 1. Это хорошо.
Тошнота
2,65
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота страницы в пределах нормы 3.
Академич. тошнота
25,45%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| programming | 7 | 0,78% |
| software | 6 | 0,67% |
| engineering | 6 | 0,67% |
| design | 6 | 0,67% |
| science | 4 | 0,45% |
| academia | 4 | 0,45% |
| language | 4 | 0,45% |
| students | 4 | 0,45% |
| research | 4 | 0,45% |
| compiler | 4 | 0,45% |
| teaching | 3 | 0,34% |
| coding | 3 | 0,34% |
| projects | 3 | 0,34% |
| making | 3 | 0,34% |
| copilot | 3 | 0,34% |
| learning | 3 | 0,34% |
| future | 3 | 0,34% |
| challenging | 3 | 0,34% |
| programmer | 3 | 0,34% |
| should | 3 | 0,34% |
Индексация Готовность: 50%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 119 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Не найден
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Файл robots.txt не найден (ошибка 404). Крайне рекомендуем добавить файл robots.txt, это правило хорошего тона для поисковых роботов.
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 116
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 116 оптимально.
Показать первые 100 внутренних ссылок
| Url | Анкор | Состояние |
|---|---|---|
| /index.html |
Home
|
|
| /publications.html |
Publications
|
|
| /teaching.html |
Teaching
|
|
| /blog.html |
Blog
|
|
| /blog/feed.rss |
RSS feed
|
|
| /blog/automatingmyjob.html |
Automating my job away
|
|
| /blog/academiastartupsbigtech.html |
Academia, startups, big tech, and back again
|
|
| /blog/dearresearchers.html |
Dear researchers: Is AI all you've got?
|
|
| /blog/ladybugclock.html |
Simulating the ladybug clock puzzle
|
|
| /blog/canceledbookdeal.html |
I canceled my book deal
|
|
| /blog/langjamgamejam.html |
Langjam Gamejam: Build a programming language and then use it to make a game in 7 days
|
|
| /blog/aidesignspace.html |
The design space of AI coding tools
|
|
| /blog/techstarsdiary.html |
My startup diary: Techstars
|
|
| /blog/startingacompany.html |
We are starting a company to rethink email
|
|
| /blog/babytypechecker.html |
Baby's first type checker
|
|
| /blog/aihomework.html |
Assessing students in the era of AI
|
|
| /blog/100.html |
100 blog posts, 6 years, 5 million views
|
|
| /blog/goodproject.html |
What makes a good side project?
|
|
| /blog/vowels.html |
The fastest way to detect a vowel in a string
|
|
| /blog/coord2state.html |
Mapping latitude and longitude to country, state, or city
|
|
| /blog/proactiveai.html |
Where are the proactive AI coding tools?
|
|
| /blog/groupprojects.html |
The design of software engineering course projects
|
|
| /blog/25yearsofai.html |
My 25-year adventure in AI and ML
|
|
| /blog/mirrorlang.html |
Mirror: An LLM-powered programming-by-example programming language
|
|
| /blog/promptcontext.html |
Ad hoc tools for gathering prompt context
|
|
| /blog/aiinthewild.html |
Evaluating your AI models in the wild
|
|
| /blog/notyetwritten.html |
The blog posts I haven't written (yet)
|
|
| /blog/chatgptdatascience.html |
Can ChatGPT do data science?
|
|
| /blog/rejoiningacademia.html |
Rejoining academia
|
|
| /blog/bignum2.html |
Optimizing a bignum library for fun
|
|
| /blog/bignum1.html |
Making a bignum library for fun
|
|
| /blog/codeaid.html |
CodeAid: A classroom deployment of an LLM-based programming assistant
|
|
| /blog/intellicode.html |
Exploring 50 user interfaces for AI code suggestions
|
|
| /blog/copilotworkspace.html |
How I would redesign Copilot Workspace
|
|
| /blog/datasciencemistakes.html |
Mistakes that data science students make
|
|
| /blog/learningwithai.html |
Learning to code with and without AI
|
|
| /blog/acquiredin99days.html |
Acquired in 99 days
|
|
| /blog/measuringacademics.html |
Satirical ways to measure academics
|
|
| /blog/copilotpainpoints.html |
The pain points of building a copilot
|
|
| /blog/leavingmicrosoft.html |
Leaving Microsoft
|
|
| /blog/machinelearningguis.html |
Machine learning of GUIs at scale
|
|
| /blog/raycasting.html |
A raycasting engine in 7 easy steps
|
|
| /blog/particle.html |
Particle playground
|
|
| /blog/90percent.html |
Stopping at 90%
|
|
| /blog/bespokeai.html |
Bespoke GUIs on the fly
|
|
| /blog/pmadventure.html |
PM is the choose-your-own-adventure role
|
|
| /blog/makinggames.html |
Why I started (and stopped) making games
|
|
| /blog/superoptimizer.html |
My first superoptimizer
|
|
| /blog/datawrangler.html |
Data wrangling with Data Wrangler
|
|
| /blog/futureofprogramming2023.html |
The future of programming: Research at CHI 2023
|
|
| /blog/grantbudget.html |
What does a research grant pay for?
|
|
| /blog/trappedchat.html |
Don't trap me in a chat window
|
|
| /blog/hofstadter.html |
Hofstadter: An esoteric programming language with concurrency, regex, and web requests
|
|
| /blog/aicodepermissions.html |
AI-generated code needs permission labels
|
|
| /blog/uxaicoding.html |
Papers on the UX of AI programming assistants
|
|
| /blog/naturallanguageui.html |
Natural language is the lazy user interface
|
|
| /blog/teachingpainpoints.html |
The pain points of teaching computer science
|
|
| /blog/firstswiftproject.html |
My first experience using Swift, SwiftUI, and XCode
|
|
| /blog/challengingalgorithms.html |
Challenging algorithms and data structures every programmer should try
|
|
| /blog/futureteachingstatement.html |
My future teaching statement
|
|
| /blog/experienceversusskill.html |
Does experience make you a better programmer?
|
|
| /blog/programmingasplay.html |
Programming as play
|
|
| /blog/copilotmodes.html |
Coding with Copilot for acceleration and exploration
|
|
| /blog/learnanotherpl.html |
Why is it hard to learn another programming language?
|
|
| /blog/monthlyobsessions.html |
Monthly obsessions
|
|
| /blog/aiterminal.html |
An AI assistant for command line errors
|
|
| /blog/measuringdemand.html |
Measuring demand for a feature: An economics approach
|
|
| /blog/myhcitoolbox.html |
My HCI toolbox: Methods for designing and evaluating UIs
|
|
| /blog/mycomputingstory.html |
Learning HTML was too hard so I made a compiler instead
|
|
| /blog/notebooksatchi2022.html |
Computational notebooks research at CHI 2022
|
|
| /blog/takemyappideas.html |
Take my app ideas
|
|
| /blog/11000lines.html |
The project with a single 11,000-line code file
|
|
| /blog/amplifyingothers.html |
Amplifying others
|
|
| /blog/sestudyguide.html |
A study guide for software engineering students
|
|
| /blog/500kgrant.html |
What a $500,000 grant proposal looks like
|
|
| /blog/leavingacademia.html |
Leaving academia
|
|
| /blog/lessonsfrommyphd.html |
Lessons from my PhD
|
|
| /blog/thisprojectwillonlytake.html |
"This project will only take 2 hours"
|
|
| /blog/perfecteditorparadox.html |
Paradox of the perfect code editor
|
|
| /blog/featurestheywanted.html |
When users never use the features they asked for
|
|
| /blog/solvingunknownproblems.html |
Building solutions to problems that no one knows exist yet
|
|
| /blog/favblogs.html |
Technical blogs worth reading
|
|
| /blog/gamification.html |
Gamification, life, and the pursuit of a gold badge
|
|
| /blog/stackoverflow.html |
Stack Overflow knows your future problem
|
|
| /blog/makinguselessstuff.html |
Why I prefer making useless stuff
|
|
| /blog/inquisitivecodeeditor.html |
An inquisitive code editor: Overcome bugs before you know you have them
|
|
| /blog/informationforaging.html |
A theory of how developers seek information
|
|
| /blog/allmyrejections.html |
All my career rejections
|
|
| /blog/coderibbon.html |
Navigate your code like it's 2021
|
|
| /blog/yestercode.html |
Why is it so hard to see code from 5 minutes ago?
|
|
| /blog/pythonstringsaremutable.html |
Python strings are immutable, but only sometimes
|
|
| /blog/webappwithoutgoogling.html |
Can you make a basic web app without googling? I can't
|
|
| /blog/morechallengingprojects.html |
More challenging projects every programmer should try
|
|
| /blog/fixprogressbars.html |
Progress bars still lie: Please fix them
|
|
| /blog/hcsedissertations.html |
List of human-centered software engineering dissertations
|
|
| /blog/parsingriscv.html |
Parsing RISC-V assembly
|
|
| /blog/usefulfunctions.html |
Useful functions for game development
|
|
| /blog/cosine.html |
Implementing cosine in C from scratch
|
|
| /blog/teenytinycompiler3.html |
Let's make a Teeny Tiny compiler, part 3
|
|
| /blog/teenytinycompiler2.html |
Let's make a Teeny Tiny compiler, part 2
|
|
Внешние ссылки
Кол-во: 2
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 2 оптимально.
Показать внешние ссылки
| Url | Анкор |
|---|---|
| twitter.com |
@austinzhenley
|
| github.com |
github/AZHenley
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Страница https://austinhenley.com/blog.html готова к продвижению на 70%. Чтобы еще улучшить страницу и попасть на первые места поисковой выдачи необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: