Анализ страницы https://daveceddia.com/archives
Основное Готовность: 100%
Домен
daveceddia.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Домен второго уровня идеален для продвижения.
Отличный запоминающийся домен.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
https://daveceddia.com/archives
301 MovedPermanently
https://daveceddia.com/archives/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 13.11.2026 10:19:20.
Включён HSTS (Strict-Transport-Security) — защита от подмены на http.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,76сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,76сек оптимальна.
Объем документа
31Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 31Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 2
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 2 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | https://daveceddia.com/assets/css/site.min.css?v=5 |
| js | /scripts.js |
Серверные заголовки
Кол-во: 10
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 10шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Accept-Ranges | bytes |
| Age | 0 |
| Cache-Control | public, must-revalidate, max-age=0 |
| cache-status | "Netlify Edge"; fwd=miss; fwd-status=200; stored |
| Date | Sat, 22 Aug 2026 10:50:06 GMT |
| ETag | "ecf4defa5946811082ef481f6fe8142e-ssl" |
| Server | Netlify |
| Strict-Transport-Security | max-age=31536000 |
| Vary | Accept-Encoding |
| x-nf-request-id | 01M0MHF4XRA28FFCH213ZTA20J |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Netlify
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
В заголовке Server указано: Netlify.
Мета-теги Готовность: 48%
Title
Every Post Ever
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 15, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Установите мета-тег description!
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://daveceddia.com/archives/
Указывает поисковику основную версию страницы
?
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
Кол-во: 5
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:locale | en_US |
| og:type | article |
| og:title | Every Post Ever |
| og:url | https://daveceddia.com/archives/ |
| og:site_name | Dave Ceddia |
Все мета-теги
Кол-во: 13
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 13шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | twitter:title | Every Post Ever |
| name | twitter:site | @dceddia |
| name | twitter:creator | @dceddia |
| name | HandheldFriendly | True |
| name | MobileOptimized | 320 |
| name | viewport | width=device-width, initial-scale=1.0 |
| property | og:locale | en_US |
| property | og:type | article |
| property | og:title | Every Post Ever |
| property | og:url | https://daveceddia.com/archives/ |
| property | og:site_name | Dave Ceddia |
| property | fb:admins | 50205984 |
| property | dc:page_id |
Оптимизация Готовность: 72%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют по одному на документ).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Абзацев с текстом 0 слишком мало. Добавьте больше абзацев с текстом (тег <p>)!
Среднее число слов в абзаце 0 слишком мало. Сделайте контент более читаемым!
Слова из title 3 встречаются в тексте достаточно.
Кол-во знаков контента 6294 на странице оптимально.
Кол-во слов 1035 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 1. Это хорошо.
На странице присутствуют заголовки <h3> 9.
Тошнота
4
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
1,84%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота не дотягивает до нормы 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| angular | 16 | 1,55% |
| create | 8 | 0,77% |
| testing | 7 | 0,68% |
| tutorial | 6 | 0,58% |
| svelte | 5 | 0,48% |
| errors | 5 | 0,48% |
| project | 5 | 0,48% |
| example | 4 | 0,39% |
| render | 4 | 0,39% |
| javascript | 4 | 0,39% |
| examples | 4 | 0,39% |
| express | 4 | 0,39% |
| electron | 3 | 0,29% |
| vscode | 3 | 0,29% |
| react? | 3 | 0,29% |
| customize | 3 | 0,29% |
| useeffect | 3 | 0,29% |
| deploy | 3 | 0,29% |
| complete | 3 | 0,29% |
| component | 3 | 0,29% |
Индексация Готовность: 70%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 154 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 137 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Показать содержимое robots.txt
User-Agent: *
Disallow: /freebies/
Disallow: /workshop-files/
Disallow: /thanks-pure-react/
Sitemap: https://daveceddia.com/sitemap.xml
Sitemap
Кол-во: 1
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt содержит карту сайта. Это прекрасно!
Robots.txt не содержит ошибок в карте сайта.
Показать карту сайта
| Url | Статус |
|---|---|
| https://daveceddia.com/sitemap.xml |
|
Внутренние ссылки
Кол-во: 153
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 153 слишком много. Проведите оптимизацию сайта!
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать первые 100 внутренних ссылок
| Url | Анкор | Состояние |
|---|---|---|
| / |
Dave Ceddia
|
|
| /archives/ |
All Posts
|
|
| /about/ |
About
|
|
| /clean-up-merged-git-branches/ |
Delete Git Branches That Have Been Merged
|
|
| /sketchup-make-2017-on-m1-mac-monterey/ |
How to Run SketchUp Make 2017 on an M1 Mac with macOS Monterey
|
|
| /code-signing-windows-electron-sectigo/ |
Installing a Code Signing Cert from Sectigo (to sign an Electron app on Windows)
|
|
| /svelte-store-in-rust/ |
Implementing A Svelte Store In Rust
|
|
| /interview-questions-to-ask-company/ |
Interview Questions to Ask Your Interviewer
|
|
| /debug-electron-native-rust-with-vscode/ |
Attach VSCode Debugger to native Rust in an Electron app
|
|
| /napi-rs-electron-example/ |
Example of Using napi-rs with Electron
|
|
| /escape-liquid-braces-in-convertkit/ |
Escape Liquid in ConvertKit (so you can use double braces)
|
|
| /manually-symbolicate-crash-log-macos-app/ |
How to Manually Symbolicate a Crash Log from a macOS App
|
|
| /react-forms/ |
Using Forms in React
|
|
| /vscode-use-eslintrc/ |
ESLint + VSCode: How to Format Your Code Using .eslintrc
|
|
| /fix-react-errors/ |
How to Read React Errors (fix 'Cannot read property of undefined'!)
|
|
| /react-state-management/ |
React State Management Libraries and How to Choose
|
|
| /react-ecosystem-overview/ |
State of the React Ecosystem in 2021
|
|
| /react-image-tag/ |
Using the image tag in React
|
|
| /remove-xml-tags-with-sed/ |
Remove XML Tag Blocks from the command line with sed
|
|
| /react-before-render/ |
Run Code in React Before Render
|
|
| /inspector-stylesheet-chrome/ |
Directly Open The Inspector Stylesheet in Chrome
|
|
| /svelte-typescript-jest/ |
Svelte with TypeScript and Jest (Starter Project)
|
|
| /center-css-vscode-snippet/ |
Center Things in CSS with this VSCode Snippet
|
|
| /setup-chrome-for-screencasting/ |
Set Up Chrome for Screencasting with a Custom Profile
|
|
| /use-css-in-react/ |
Do you need CSS-in-JS with React?
|
|
| /react-confirmation-modal-state-machine/ |
Build A Confirmation Modal in React with State Machines
|
|
| /vscode-change-error-squiggles-color/ |
Customize the Color of VSCode's Error Underline Squiggles
|
|
| /useeffect-triggers-every-change/ |
Fix useEffect re-running on every render
|
|
| /tiny-mba-review/ |
A Review of The Tiny MBA
|
|
| /svelte-reactive-destructuring/ |
Example of Reactively Destructuring Variables in Svelte
|
|
| /react-hook-after-render/ |
React Hook to Run Code After Render
|
|
| /linked-lists-javascript/ |
Linked Lists for JavaScript Developers
|
|
| /javascript-references/ |
A Visual Guide to References in JavaScript
|
|
| /parcel-react-project/ |
Smaller React Projects, with Parcel
|
|
| /deploy-git-repo-to-server/ |
Deploy a Project to Your Server with Git
|
|
| /tailwind-create-react-app/ |
Using Tailwind CSS with Create React App
|
|
| /how-i-learn-things/ |
How I Learn New Things
|
|
| /tutorial-trap/ |
The Tutorial Trap
|
|
| /what-react-does/ |
What React Does (and Doesn't Do)
|
|
| /react-getting-started-tutorial/ |
A Complete React Tutorial for 2020
|
|
| /why-react-hard-to-learn/ |
Why React has been Hard to Learn
|
|
| /how-i-learned-react/ |
How I Learned React
|
|
| /react-is-trending/ |
React is Trending
|
|
| /why-react/ |
Why I Got Into React
|
|
| /whats-coming-react-conf-2019/ |
What's Coming at React Conf 2019?
|
|
| /useeffect-vs-uselayouteffect/ |
When to useLayoutEffect Instead of useEffect (example)
|
|
| /svelte-with-sass-in-vscode/ |
Use Svelte with SASS/SCSS in VSCode (example + cloneable repo)
|
|
| /svelte-intro/ |
Introduction to Svelte
|
|
| /custom-hooks/ |
Write Custom Hooks to Clean Up Your Code
|
|
| /implement-a-design-with-css/ |
CSS Layout Tutorial, Step by Step
|
|
| /redux-selectors/ |
Redux Selectors: A Quick Tutorial
|
|
| /redux-tutorial/ |
A Complete React Redux Tutorial for Beginners (2019)
|
|
| /access-redux-store-outside-react/ |
Access the Redux Store Outside a React Component
|
|
| /how-to-blog/ |
How to Write a Blog That People Will Read
|
|
| /start-blog-gatsby-netlify/ |
Start a Blog in 2019 with Gatsby.js and Netlify
|
|
| /react-cli-with-bash/ |
Make Your Own React CLI with Bash
|
|
| /path-to-frontend-developer-2019/ |
The Path to Becoming a Front End Developer in 2019
|
|
| /your-own-react-project-ideas/ |
React Project Ideas, and How to Invent Your Own
|
|
| /redux-connect-export/ |
How to Export a Connected Component
|
|
| /usecontext-hook/ |
React useContext Hook Tutorial (with Examples)
|
|
| /useeffect-hook-examples/ |
How the useEffect Hook Works (with Examples)
|
|
| /usereducer-hook-examples/ |
Examples of the useReducer Hook
|
|
| /usestate-hook-examples/ |
4 Examples of the useState Hook
|
|
| /intro-to-hooks/ |
A Simple Intro to React Hooks
|
|
| /customize-create-react-app-structure-with-bash/ |
Customize Create React App Structure with Bash
|
|
| /redux-mapdispatchtoprops-object-form/ |
You Might Not Need The mapDispatchToProps Function
|
|
| /react-practice-projects/ |
6 Fun React Project Ideas
|
|
| /react-redux-immutability-guide/ |
Immutability in React and Redux: The Complete Guide
|
|
| /computed-properties-in-react/ |
Computed Properties in React
|
|
| /display-a-list-in-react/ |
How to Display a List in React
|
|
| /pluggable-slots-in-react-components/ |
Pass Multiple Children to a React Component with Slots
|
|
| /context-api-vs-redux/ |
Redux vs. The React Context API
|
|
| /access-control-allow-origin-cors-errors-in-react-express/ |
Access-Control-Allow-Origin: Dealing with CORS Errors in React and Express
|
|
| /ajax-requests-in-react/ |
AJAX Requests in React: How and Where to Fetch Data
|
|
| /perfect-pulled-pork-react-native-expo-express/ |
Perfect Pulled Pork with React Native, Expo, and Express
|
|
| /what-is-a-thunk/ |
What the heck is a 'thunk'?
|
|
| /why-not-modify-react-state-directly/ |
Why Not To Modify React State Directly
|
|
| /deploy-react-express-app-heroku/ |
Deploy React and Express to Heroku
|
|
| /unexpected-token-in-json-at-position-0/ |
Unexpected token < in JSON at position 0
|
|
| /where-initialize-state-react/ |
Where to Initialize State in React
|
|
| /what-is-a-reducer/ |
What is a Redux reducer?
|
|
| /love-js-hate-css/ |
Love JavaScript, but hate CSS?
|
|
| /where-fetch-data-redux/ |
Where and When to Fetch Data With Redux
|
|
| /hot-reloading-create-react-app/ |
Hot Reloading in Create React App Without Ejecting
|
|
| /how-does-redux-work/ |
How Redux Works: A Counter-Example
|
|
| /what-does-redux-do/ |
What Does Redux Do? (and when should you use it?)
|
|
| /learn-react-as-experienced-developer/ |
Learning React as an Experienced Developer
|
|
| /react-business-value/ |
Justifying React to the Business
|
|
| /snapshot-testing-apis-with-jest/ |
Snapshot Testing APIs with Jest
|
|
| /customize-create-react-app-webpack-without-ejecting/ |
Create React App: Customize Webpack Config Without Ejecting
|
|
| /keeping-up-with-javascript/ |
Keeping Up With the JavaScript World
|
|
| /multiple-environments-with-react/ |
Using React in Multiple Environments
|
|
| /learn-react-with-copywork/ |
Cheat to Win: Learn React with Copywork
|
|
| /learning-react-start-small/ |
Learning React? Start Small.
|
|
| /react-project-structure/ |
How to Structure Your React Project
|
|
| /convert-createclass-to-es6-class/ |
Convert React.createClass to ES6 Class
|
|
| /convert-createclass-to-function-component/ |
Convert React.createClass to Stateless Function Components
|
|
| /create-react-app-express-backend/ |
Create React App with an Express Backend
|
|
| /snapshot-testing-react-with-jest/ |
Snapshot Testing React with Jest
|
|
| /extract-state-with-higher-order-components/ |
Reusable State with Higher Order Components
|
|
Внешние ссылки
Не найдено
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице не найдено.
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Страница https://daveceddia.com/archives готова к продвижению на 72%. Чтобы еще улучшить страницу и попасть на первые места поисковой выдачи необходимо:
Исправьте ошибки в мета-тегах.
Поделитесь с друзьями: