Анализ страницы https://www.codewithjason.com/articles/
Основное Готовность: 75%
Домен
codewithjason.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-US
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en-US.
Скорость загрузки
~0,90сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,90сек оптимальна.
Объем документа
40Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 40Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 13
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 13 много для одной страницы. Приемлемо до 10. Проведите оптимизацию файлов ресурсов!
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://fonts.googleapis.com/css?family=Source+Serif+Pro | |
| stylesheet | https://fonts.googleapis.com/css?family=Hammersmith+One | |
| stylesheet | text/css | https://www.codewithjason.com/wp-includes/css/dist/block-library/style.min.css?ver=5.7.2 |
| stylesheet | text/css | https://www.codewithjason.com/wp-content/plugins/prismatic/css/styles-blocks.css?ver=5.7.2 |
| stylesheet | text/css | https://www.codewithjason.com/wp-content/plugins/poddington/css/poddington.css?ver=5.7.2 |
| stylesheet | text/css | https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700&subset=latin,latin-ext |
| stylesheet | text/css | https://www.codewithjason.com/wp-content/themes/codewithjason/style.css?ver=5.7.2 |
| js | https://www.googletagmanager.com/gtag/js?id=UA-44986862-10 | |
| js | https://kit.fontawesome.com/5b11c02f02.js | |
| js | text/javascript | https://www.codewithjason.com/wp-includes/js/jquery/jquery.min.js?ver=3.5.1 |
| js | text/javascript | https://www.codewithjason.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 |
| js | text/javascript | https://www.codewithjason.com/wp-content/themes/codewithjason/js/navigation.js?ver=20140711 |
| js | text/javascript | https://www.codewithjason.com/wp-includes/js/wp-embed.min.js?ver=5.7.2 |
Серверные заголовки
Кол-во: 7
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 7шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | nginx/1.29.5 |
| Date | Sun, 23 Aug 2026 12:11:11 GMT |
| Transfer-Encoding | chunked |
| Connection | keep-alive |
| X-Powered-By | PHP/5.6.40 |
| Link | <https://www.codewithjason.com/wp-json/>; rel="https://api.w.org/" |
| Vary | Accept-Encoding |
CMS
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
Сайт работает на CMS WordPress.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере nginx.
Мета-теги Готовность: 23%
Title
All Articles - Code with Jason
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 30, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://www.codewithjason.com/articles/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
index, follow, max-video-preview:-1, max-snippet:-1, max-image-preview:large
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Разметка OpenGraph
Кол-во: 6
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:locale | en_US |
| og:type | article |
| og:title | All Articles - Code with Jason |
| og:description | Personal Favorites How to program in feedback loops How to have a productive programming day All my best programming tips Binary search debugging The “20 Questions” method of debugging How to defend good code Sharp blades and dull blades No epicycles Testing implementation vs. behavior in Rails How I organize my Rails apps Organizing Rails […] |
| og:url | https://www.codewithjason.com/articles/ |
| og:site_name | Code with Jason |
Все мета-теги
Кол-во: 14
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 14шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | google-site-verification | YeiHJXfXcgp5N8xBA_AOhufMvB-tKo-KmWAfhYhy9lE |
| name | viewport | width=device-width |
| name | robots | index, follow, max-video-preview:-1, max-snippet:-1, max-image-preview:large |
| name | twitter:label1 | Est. reading time |
| name | twitter:data1 | 8 minutes |
| name | generator | WordPress 5.7.2 |
| name | msapplication-TileImage | https://www.codewithjason.com/wp-content/uploads/2022/06/cropped-portrait-2-270x270.png |
| property | og:locale | en_US |
| property | og:type | article |
| property | og:title | All Articles - Code with Jason |
| property | og:description | Personal Favorites How to program in feedback loops How to have a productive programming day All my best programming tips Binary search debugging The “20 Questions” method of debugging How to defend good code Sharp blades and dull blades No epicycles Testing implementation vs. behavior in Rails How I organize my Rails apps Organizing Rails […] |
| property | og:url | https://www.codewithjason.com/articles/ |
| property | og:site_name | Code with Jason |
| property | article:modified_time | 2026-01-29T17:27:51+00:00 |
Оптимизация Готовность: 82%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 5 встречаются в тексте достаточно.
Абзацев с текстом 12 достаточно.
Среднее число слов в абзаце 137 достаточно.
Кол-во знаков контента 10235 на странице оптимально.
Кол-во слов 1693 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 2. Это прекрасно.
На странице присутствуют заголовки <h2> 4. Это хорошо.
На странице присутствуют заголовки <h3> 8.
Тошнота
5,10
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
24,22%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| testing | 26 | 1,54% |
| programming | 11 | 0,65% |
| factory | 8 | 0,47% |
| docker | 8 | 0,47% |
| application | 7 | 0,41% |
| difference | 7 | 0,41% |
| between | 7 | 0,41% |
| legacy | 7 | 0,41% |
| objects | 6 | 0,35% |
| should | 6 | 0,35% |
| debugging | 5 | 0,30% |
| capybara | 5 | 0,30% |
| understanding | 5 | 0,30% |
| rubyconf | 5 | 0,30% |
| common | 4 | 0,24% |
| questions | 4 | 0,24% |
| program | 4 | 0,24% |
| without | 4 | 0,24% |
| approach | 4 | 0,24% |
| integration | 4 | 0,24% |
Индексация Готовность: 10%
Индексирование
Есть ошибки
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 232 слишком много. Проведите ревизию и оптимизацию ссылок сайта.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 67 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Показать содержимое robots.txt
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Не найдено
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 0 оптимально.
Внешние ссылки
Кол-во: 230
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 230 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
Показать первые 100 внешних ссылок
| Url | Анкор |
|---|---|
| codewithjason.com |
Code with Jason
|
| codewithjason.com |
Rails Testing Guide
|
| codewithjason.com |
Articles
|
| amazon.com |
Book
|
| codewithjason.com |
Podcast
|
| nonsensemonthly.com |
Snail Mail
|
| saturnci.com |
SaturnCI
|
| codewithjason.com |
About
|
| codewithjason.com |
<h2>The Beginner's Guide<br>to Rails Testing</h2>
<p>Get answers to the 8 most common<br>Rails testing questions.</p>
<button class="toaster-opt-in-button">Get the Free Guide</button>
|
| codewithjason.com |
How to program in feedback loops
|
| codewithjason.com |
How to have a productive programming day
|
| codewithjason.com |
All my best programming tips
|
| codewithjason.com |
Binary search debugging
|
| codewithjason.com |
The “20 Questions” method of debugging
|
| codewithjason.com |
How to defend good code
|
| codewithjason.com |
Sharp blades and dull blades
|
| codewithjason.com |
No epicycles
|
| codewithjason.com |
Testing implementation vs. behavior in Rails
|
| codewithjason.com |
How I organize my Rails apps
|
| codewithjason.com |
Organizing Rails files by meaning
|
| codewithjason.com |
When used intelligently, Rails concerns are great
|
| codewithjason.com |
What is a Rails model?
|
| codewithjason.com |
How I code without service objects
|
| codewithjason.com |
How to do multi-step forms in Rails
|
| codewithjason.com |
Which test framework should I learn, RSpec or Minitest?
|
| codewithjason.com |
What are the different kinds of Rails tests and when should I use each?
|
| codewithjason.com |
What are all the Rails testing tools and how do I use them?
|
| codewithjason.com |
What level of test coverage should I shoot for?
|
| codewithjason.com |
How do I make testing a habitual part of my development work?
|
| codewithjason.com |
How do I add tests to an existing Rails project?
|
| codewithjason.com |
Should I be doing test-driven development?
|
| codewithjason.com |
How to get started with Rails testing
|
| codewithjason.com |
A Rails testing “hello world” using RSpec and Capybara
|
| codewithjason.com |
A Rails model test “hello world”
|
| codewithjason.com |
Rails model spec tutorial
|
| codewithjason.com |
The four phases of a test
|
| codewithjason.com |
How I set up a Rails application for testing
|
| codewithjason.com |
Why I organize my tests by domain concept, not by test type
|
| codewithjason.com |
Testing implementation vs. behavior in Rails
|
| codewithjason.com |
My general approach to Rails testing
|
| codewithjason.com |
What kinds of Rails tests I write and what kinds I don’t
|
| codewithjason.com |
Why DSLs are a necessary part of learning Rails testing
|
| codewithjason.com |
RSpec/Capybara integration tests: the ultimate guide
|
| codewithjason.com |
A repeatable, step-by-step process for writing Rails integration tests with Capybara
|
| codewithjason.com |
How to write a test when the test implementation isn’t obvious
|
| codewithjason.com |
Understanding Factory Bot syntax by coding your own Factory Bot
|
| codewithjason.com |
How to deal with complex Factory Bot associations in RSpec tests
|
| codewithjason.com |
Nested factories in Factory Bot: what they are and how to use them
|
| codewithjason.com |
When to use Factory Bot’s traits versus nested factories
|
| codewithjason.com |
Transient attributes in Factory Bot
|
| codewithjason.com |
Examples of pointless types of RSpec tests
|
| codewithjason.com |
The difference between let, let! and instance variables in RSpec
|
| codewithjason.com |
Why I don’t use Shoulda matchers
|
| codewithjason.com |
Ruby/Rails testing glossary
|
| codewithjason.com |
Rails testing resource roundup
|
| codewithjason.com |
Factories and fixtures in Rails
|
| codewithjason.com |
How I set up Factory Bot on a fresh Rails project
|
| codewithjason.com |
Where to start with introducing TDD to a new Rails app
|
| codewithjason.com |
Why use Factory Bot instead of creating test data manually?
|
| codewithjason.com |
How I write characterization tests
|
| codewithjason.com |
Refactoring to POROs (using tests)
|
| codewithjason.com |
How to clear up obscure Rails tests using Page Objects
|
| codewithjason.com |
Test smell: Obscure Test
|
| codewithjason.com |
Code smell: long, procedural background jobs (and how to fix it)
|
| codewithjason.com |
Testing private methods
|
| codewithjason.com |
How I test JavaScript-heavy Rails applications
|
| codewithjason.com |
RSpec mocks and stubs in plain English
|
| codewithjason.com |
How to test methods that involve puts or gets
|
| codewithjason.com |
Mystified by RSpec’s DSL? Some parentheses can add clarity
|
| codewithjason.com |
Sometimes it’s better for tests to hit the real API
|
| codewithjason.com |
How dependency injection can make Rails tests easier
|
| codewithjason.com |
Things you can ignore when getting started with Rails testing
|
| codewithjason.com |
Taming legacy Ruby code using the “Sprout Method” technique, example 1
|
| codewithjason.com |
Taming legacy Ruby code using the “Sprout Method” technique, example 2
|
| codewithjason.com |
When I use controller/request specs in Rails and when I don’t
|
| codewithjason.com |
The difference between integration tests and controller tests in Rails
|
| codewithjason.com |
The difference between RSpec, Capybara and Cucumber
|
| codewithjason.com |
The difference between system specs and feature specs
|
| codewithjason.com |
How to get RSpec to skip view specs when you generate scaffolds
|
| codewithjason.com |
RSpec hello world
|
| codewithjason.com |
Testing anti-pattern: merged setup data
|
| codewithjason.com |
Testing anti-pattern: accessing private properties
|
| codewithjason.com |
Achieving blur in capybara
|
| codewithjason.com |
Capybara: expect field to have value
|
| codewithjason.com |
Logging the user in before Capybara feature specs
|
| codewithjason.com |
Why I recommend against using Cucumber
|
| codewithjason.com |
How to see your feature specs run in the browser
|
| codewithjason.com |
How to run system specs headlessly or not headlessly at will
|
| codewithjason.com |
A VCR + WebMock “hello world” tutorial
|
| codewithjason.com |
Avoiding network calls in Rails tests without using mocks, stubs or VCR
|
| codewithjason.com |
Rails scaffolding and TDD are incompatible (but that’s okay)
|
| codewithjason.com |
In which I dissect and improve a Rails test file I found on Reddit
|
| codewithjason.com |
Reader Q&A: Tommy’s question about testing legacy code
|
| codewithjason.com |
If you want to learn testing, first learn how to program in feedback loops
|
| codewithjason.com |
Keep test code and application code separate
|
| codewithjason.com |
What causes flaky tests
|
| codewithjason.com |
Why tests flake more on CI than locally
|
| codewithjason.com |
How I fix flaky tests
|
| codewithjason.com |
Why duplication is more acceptable in tests
|
| codewithjason.com |
Using tests as a tool to wrangle legacy projects
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Страница https://www.codewithjason.com/articles/ готова к продвижению на 48%. Чтобы еще улучшить страницу и попасть на первые места поисковой выдачи необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: