Анализ страницы https://learnopengl.com/Advanced-Lighting/Normal-Mapping
Основное Готовность: 75%
Домен
learnopengl.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 04.10.2026 22:45:22.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,89сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,89сек оптимальна.
Объем документа
55Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 55Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 11
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 11 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | /layout.css |
| stylesheet | text/css | /js/styles/obsidian.css |
| js | https://cmp.gatekeeperconsent.com/min.js | |
| js | https://the.gatekeeperconsent.com/cmp.min.js | |
| js | //www.ezojs.com/ezoic/sa.min.js | |
| js | https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7855791439695850 | |
| js | /js/jquery-1.11.0.min.js | |
| js | /js/hoverintent.js | |
| js | /js/highlight.pack.js | |
| js | /js/functions.js | |
| js | text/javascript | /js/mathjax/MathJax.js?config=TeX-AMS_HTML |
Серверные заголовки
Кол-во: 7
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 7шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Cache-Control | no-store, must-revalidate, no-cache, private |
| Pragma | no-cache |
| Set-Cookie | PHPSESSID=2d83a0deb24721e7ea61b89995676a0d; path=/ |
| Vary | Accept-Encoding |
| Referrer-Policy | no-referrer-when-downgrade |
| Date | Sat, 22 Aug 2026 17:41:13 GMT |
| Server | Apache |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Apache.
Мета-теги Готовность: 22%
Title
LearnOpenGL - Normal Mapping
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 28, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Learn OpenGL . com provides good and clear modern 3.3+ OpenGL tutorials with clear examples. A great resource to learn modern OpenGL aimed at beginners.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо уменьшить число символов в description (текущее значение: 152, оптимально: от 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 не указан. Страница свободна для индексации.
Адаптивность
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport не указан. Страница не адаптивная.
Разметка OpenGraph
Не найдено
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph не задана. Страница не оптимизирована под социальные сети. Мета-теги с разметкой Og помогают социальным роботам лучше структурировать Ваш сайт.
Все мета-теги
Кол-во: 2
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 2шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | description | Learn OpenGL . com provides good and clear modern 3.3+ OpenGL tutorials with clear examples. A great resource to learn modern OpenGL aimed at beginners. |
| name | fragment | ! |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 3 встречаются в тексте достаточно.
Абзацев с текстом 69 достаточно.
Среднее число слов в абзаце 51 достаточно.
Кол-во знаков контента 27917 на странице оптимально.
Кол-во слов 4640 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 2. Это прекрасно.
На странице присутствуют заголовки <h2> 5. Это хорошо.
На странице присутствуют заголовки <h3> 2.
Тошнота
11,14
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 5. Измените текст страницы!
Академич. тошнота
28,32%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| normal | 124 | 2,67% |
| vectors | 49 | 1,06% |
| tangent | 47 | 1,01% |
| vector | 43 | 0,93% |
| matrix | 38 | 0,82% |
| mapping | 35 | 0,75% |
| lighting | 33 | 0,71% |
| surface | 28 | 0,60% |
| \delta | 27 | 0,58% |
| direction | 26 | 0,56% |
| shader | 25 | 0,54% |
| texture | 25 | 0,54% |
| fragment | 22 | 0,47% |
| positive | 19 | 0,41% |
| bitangent | 19 | 0,41% |
| normals | 13 | 0,28% |
| calculate | 13 | 0,28% |
| coordinate | 12 | 0,26% |
| transform | 12 | 0,26% |
| vertex | 12 | 0,26% |
Индексация Готовность: 100%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 92 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 75 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Показать содержимое robots.txt
User-agent: *
Disallow: /demo/
Sitemap: https://learnopengl.com/sitemap.php
Sitemap
Кол-во: 1
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt содержит карту сайта. Это прекрасно!
Robots.txt не содержит ошибок в карте сайта.
Показать карту сайта
| Url | Статус |
|---|---|
| https://learnopengl.com/sitemap.php |
|
Внутренние ссылки
Кол-во: 84
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 84 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
Показать внутренние ссылки
| Url | Анкор | Состояние |
|---|---|---|
|
<div id="header">
</div>
|
|
|
| /Introduction |
Introduction
|
|
| /Getting-started/OpenGL |
OpenGL
|
|
| /Getting-started/Creating-a-window |
Creating a window
|
|
| /Getting-started/Hello-Window |
Hello Window
|
|
| /Getting-started/Hello-Triangle |
Hello Triangle
|
|
| /Getting-started/Shaders |
Shaders
|
|
| /Getting-started/Textures |
Textures
|
|
| /Getting-started/Transformations |
Transformations
|
|
| /Getting-started/Coordinate-Systems |
Coordinate Systems
|
|
| /Getting-started/Camera |
Camera
|
|
| /Getting-started/Review |
Review
|
|
| /Lighting/Colors |
Colors
|
|
| /Lighting/Basic-Lighting |
Basic Lighting
|
|
| /Lighting/Materials |
Materials
|
|
| /Lighting/Lighting-maps |
Lighting maps
|
|
| /Lighting/Light-casters |
Light casters
|
|
| /Lighting/Multiple-lights |
Multiple lights
|
|
| /Lighting/Review |
Review
|
|
| /Model-Loading/Assimp |
Assimp
|
|
| /Model-Loading/Mesh |
Mesh
|
|
| /Model-Loading/Model |
Model
|
|
| /Advanced-OpenGL/Depth-testing |
Depth testing
|
|
| /Advanced-OpenGL/Stencil-testing |
Stencil testing
|
|
| /Advanced-OpenGL/Blending |
Blending
|
|
| /Advanced-OpenGL/Face-culling |
Face culling
|
|
| /Advanced-OpenGL/Framebuffers |
Framebuffers
|
|
| /Advanced-OpenGL/Cubemaps |
Cubemaps
|
|
| /Advanced-OpenGL/Advanced-Data |
Advanced Data
|
|
| /Advanced-OpenGL/Advanced-GLSL |
Advanced GLSL
|
|
| /Advanced-OpenGL/Geometry-Shader |
Geometry Shader
|
|
| /Advanced-OpenGL/Instancing |
Instancing
|
|
| /Advanced-OpenGL/Anti-Aliasing |
Anti Aliasing
|
|
| /Advanced-Lighting/Advanced-Lighting |
Advanced Lighting
|
|
| /Advanced-Lighting/Gamma-Correction |
Gamma Correction
|
|
| /Advanced-Lighting/Shadows/Shadow-Mapping |
Shadow Mapping
|
|
| /Advanced-Lighting/Shadows/Point-Shadows |
Point Shadows
|
|
| /Advanced-Lighting/Normal-Mapping |
Normal Mapping
|
|
| /Advanced-Lighting/Parallax-Mapping |
Parallax Mapping
|
|
| /Advanced-Lighting/HDR |
HDR
|
|
| /Advanced-Lighting/Bloom |
Bloom
|
|
| /Advanced-Lighting/Deferred-Shading |
Deferred Shading
|
|
| /Advanced-Lighting/SSAO |
SSAO
|
|
| /PBR/Theory |
Theory
|
|
| /PBR/Lighting |
Lighting
|
|
| /PBR/IBL/Diffuse-irradiance |
Diffuse irradiance
|
|
| /PBR/IBL/Specular-IBL |
Specular IBL
|
|
| /In-Practice/Debugging |
Debugging
|
|
| /In-Practice/Text-Rendering |
Text Rendering
|
|
| /In-Practice/2D-Game/Breakout |
Breakout
|
|
| /In-Practice/2D-Game/Setting-up |
Setting up
|
|
| /In-Practice/2D-Game/Rendering-Sprites |
Rendering Sprites
|
|
| /In-Practice/2D-Game/Levels |
Levels
|
|
| /In-Practice/2D-Game/Collisions/Ball |
Ball
|
|
| /In-Practice/2D-Game/Collisions/Collision-detection |
Collision detection
|
|
| /In-Practice/2D-Game/Collisions/Collision-resolution |
Collision resolution
|
|
| /In-Practice/2D-Game/Particles |
Particles
|
|
| /In-Practice/2D-Game/Postprocessing |
Postprocessing
|
|
| /In-Practice/2D-Game/Powerups |
Powerups
|
|
| /In-Practice/2D-Game/Audio |
Audio
|
|
| /In-Practice/2D-Game/Render-text |
Render text
|
|
| /In-Practice/2D-Game/Final-thoughts |
Final thoughts
|
|
| /Guest-Articles/How-to-publish |
How to publish
|
|
| /Guest-Articles/2020/OIT/Introduction |
Introduction
|
|
| /Guest-Articles/2020/OIT/Weighted-Blended |
Weighted Blended
|
|
| /Guest-Articles/2020/Skeletal-Animation |
Skeletal Animation
|
|
| /Guest-Articles/2021/CSM |
CSM
|
|
| /Guest-Articles/2021/Scene/Scene-Graph |
Scene Graph
|
|
| /Guest-Articles/2021/Scene/Frustum-Culling |
Frustum Culling
|
|
| /Guest-Articles/2021/Tessellation/Height-map |
Height map
|
|
| /Guest-Articles/2021/Tessellation/Tessellation |
Tessellation
|
|
| /Guest-Articles/2021/DSA |
DSA
|
|
| /Guest-Articles/2022/Compute-Shaders/Introduction |
Introduction
|
|
| /Guest-Articles/2022/Phys.-Based-Bloom |
Phys. Based Bloom
|
|
| /Guest-Articles/2022/Area-Lights |
Area Lights
|
|
| /Code-repository |
Code repository
|
|
| /Translations |
Translations
|
|
| /Privacy |
Privacy
|
|
| /About |
About
|
|
| /img/textures/brickwall.jpg |
this
|
|
| /img/textures/brickwall_normal.jpg |
this
|
|
| /Getting-Started/Camera |
camera
|
|
| /code_viewer_gh.php?code=src/5.advanced_lighting/4.normal_mapping/normal_mapping.cpp |
here
|
|
| /Model-Loading/Assimp |
model loader
|
|
Внешние ссылки
Кол-во: 5
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 5 оптимально.
Показать внешние ссылки
| Url | Анкор |
|---|---|
| paypal.me |
<div id="donate_img"></div>
<img style="display: none" src="/img/donate_button_hover.png">
|
| ogldev.atspace.co.uk |
Tutorial 26: Normal Mapping
|
| youtube.com |
How Normal Mapping Works
|
| youtube.com |
Normal Mapping Mathematics
|
| opengl-tutorial.org |
Tutorial 13: Normal Mapping
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Страница https://learnopengl.com/Advanced-Lighting/Normal-Mapping готова к продвижению на 70%. Чтобы еще улучшить страницу и попасть на первые места поисковой выдачи необходимо:
Исправьте ошибки в мета-тегах.
Поделитесь с друзьями: