Анализ страницы https://swiftbysundell.com/archive
Основное Готовность: 100%
Домен
swiftbysundell.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
https://swiftbysundell.com/archive
301 MovedPermanently
https://swiftbysundell.com/archive/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 24.10.2026 15:21:20.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
UTF-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице UTF-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,14сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,14сек оптимальна.
Объем документа
347Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 347Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 1
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 1 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | text/css | /styles.css?v=87 |
Серверные заголовки
Кол-во: 9
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 9шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Date | Mon, 24 Aug 2026 08:52:09 GMT |
| Server | cloudflare |
| cf-cache-status | HIT |
| Vary | Accept-Encoding |
| nel | {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mga4yeI7tIBzuZ3hjyPpnJ7RFuwCv7rfMMGX3HxcMcyXO3KOJtArNP7%2B6LpjgpNpQY6xJksTtu6Jw98zG3%2BfyZHRprQNfSUBnJ6yQHJXsyk%2BV1cHZh2rOBZvXBqsrElx6dBIgg%3D%3D"}]} |
| Age | 851311 |
| Cache-Control | max-age=14400 |
| cf-ray | a3011e88fa3d9d8b-DME |
CMS
Не определена
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
CMS не определена. Вероятно, сайт самописный либо движок надёжно скрыт. Это не ошибка.
Веб-сервер
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
Сайт работает на веб-сервере Cloudflare.
Мета-теги Готовность: 33%
Title
Archive | Swift by Sundell
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение: 26, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Browse the Swift by Sundell archive, containing all articles published throughout the years.
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение: 92, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://www.swiftbysundell.com/archive
Указывает поисковику основную версию страницы
?
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:site_name | Swift by Sundell |
| og:url | https://www.swiftbysundell.com/archive |
| og:title | Archive | Swift by Sundell |
| og:description | Browse the Swift by Sundell archive, containing all articles published throughout the years. |
| og:image | https://www.swiftbysundell.com/images/social.png |
Все мета-теги
Кол-во: 13
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 13шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | twitter:url | https://www.swiftbysundell.com/archive |
| name | twitter:title | Archive | Swift by Sundell |
| name | description | Browse the Swift by Sundell archive, containing all articles published throughout the years. |
| name | twitter:description | Browse the Swift by Sundell archive, containing all articles published throughout the years. |
| name | twitter:card | summary |
| name | viewport | width=device-width, initial-scale=1.0 |
| name | twitter:image | https://www.swiftbysundell.com/images/social.png |
| name | theme-color | #ff644e |
| property | og:site_name | Swift by Sundell |
| property | og:url | https://www.swiftbysundell.com/archive |
| property | og:title | Archive | Swift by Sundell |
| property | og:description | Browse the Swift by Sundell archive, containing all articles published throughout the years. |
| property | og:image | https://www.swiftbysundell.com/images/social.png |
Оптимизация Готовность: 70%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в одном экземпляре).
Контент
Ошибок нет
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 5 встречаются в тексте достаточно.
Абзацев с текстом 369 достаточно.
Среднее число слов в абзаце 34 достаточно.
Кол-во знаков контента 118914 на странице оптимально.
Кол-во слов 19714 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 496. Это прекрасно.
Тошнота
22
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 5. Измените текст страницы!
Академич. тошнота
26,48%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| published | 484 | 2,46% |
| swiftui | 156 | 0,79% |
| features | 128 | 0,65% |
| language | 120 | 0,61% |
| testing | 72 | 0,37% |
| functions | 71 | 0,36% |
| structure | 71 | 0,36% |
| different | 66 | 0,33% |
| design | 53 | 0,27% |
| protocols | 52 | 0,26% |
| swift’s | 47 | 0,24% |
| techniques | 46 | 0,23% |
| system | 46 | 0,23% |
| combine | 45 | 0,23% |
| concurrency | 45 | 0,23% |
| values | 45 | 0,23% |
| properties | 43 | 0,22% |
| really | 42 | 0,21% |
| within | 42 | 0,21% |
| various | 39 | 0,20% |
Индексация Готовность: 0%
Индексирование
Есть ошибки
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 2056 слишком много. Проведите ревизию и оптимизацию ссылок сайта.
Robots.txt
Не найден
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Файл robots.txt не найден (ошибка 404). Крайне рекомендуем добавить файл robots.txt, это правило хорошего тона для поисковых роботов.
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 2045
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 2045 слишком много. Проведите оптимизацию сайта!
На странице присутствуют изображения 1.
Показать первые 100 внутренних ссылок
| Url | Анкор | Состояние |
|---|---|---|
| /articles |
Articles
|
|
| /podcast |
Podcast
|
|
| /archive |
Archive
|
|
| /subscribe |
Subscribe
|
|
| /about |
About
|
|
| /search |
Search
|
|
| /articles/swiftui-views-versus-modifiers |
SwiftUI views versus modifiers
|
|
| /tags/swiftui |
swiftui
|
|
| /articles/swiftui-views-versus-modifiers |
<p>What’s really the difference between building a piece of UI as a view versus a modifier, and how to choose between those two solutions?</p>
|
|
| /articles/observing-swiftui-scrollview-content-offset |
Observing the content offset of a SwiftUI ScrollView
|
|
| /tags/swiftui |
swiftui
|
|
| /articles/observing-swiftui-scrollview-content-offset |
<p>How the content offset of a SwiftUI ScrollView can be observed without bridging to UIKit.</p>
|
|
| /articles/opaque-return-types-primary-associated-types |
Combining opaque return types with primary associated types
|
|
| /tags/language-features |
language features
|
|
| /tags/protocols |
protocols
|
|
| /articles/opaque-return-types-primary-associated-types |
<p>How Swift’s opaque return types can be combined with primary associated types in order to create powerful abstractions without the need for any type erasure.</p>
|
|
| /articles/switching-between-swiftui-hstack-vstack |
Switching between SwiftUI’s HStack and VStack
|
|
| /tags/swiftui |
swiftui
|
|
| /tags/layout |
layout
|
|
| /tags/wwdc22 |
wwdc22
|
|
| /articles/switching-between-swiftui-hstack-vstack |
<p>Different ways to implement a dynamic SwiftUI stack that renders its content either horizontally or vertically, depending on the current context.</p>
|
|
| /articles/referencing-generic-protocols-with-some-and-any-keywords |
Using the ‘some’ and ‘any’ keywords to reference generic protocols in Swift 5.7
|
|
| /tags/wwdc22 |
wwdc22
|
|
| /tags/generics |
generics
|
|
| /tags/protocols |
protocols
|
|
| /articles/referencing-generic-protocols-with-some-and-any-keywords |
<p>How Swift 5.7 makes generic protocols more powerful and easier to work with, thanks to the ‘some’ and ‘any’ keywords.</p>
|
|
| /articles/rendering-swiftui-views-within-uitableview-or-uicollectionview |
Rendering SwiftUI views within UITableView or UICollectionView cells on iOS 16
|
|
| /tags/wwdc22 |
wwdc22
|
|
| /tags/uikit |
uikit
|
|
| /tags/swiftui |
swiftui
|
|
| /articles/rendering-swiftui-views-within-uitableview-or-uicollectionview |
<p>Exploring how iOS 16’s new UIHostingConfiguration API enables us to inline SwiftUI views within our UITableView or UICollectionView cells.</p>
|
|
| /special/five-years |
Swift by Sundell turns five years old today! Here’s what’s next for the website and the podcast
|
|
| /special/five-years |
<p>Celebrating the fifth birthday of this website, while also sharing some important announcements about its future.</p>
|
|
| /articles/type-placeholders-in-swift |
Type placeholders in Swift
|
|
| /tags/language-features |
language features
|
|
| /tags/generics |
generics
|
|
| /articles/type-placeholders-in-swift |
<p>New in Swift 5.6: We can now use type placeholders to select what generic types that we want the compiler to infer. Let’s take a look at how those placeholders work, and what kinds of situations that they could be really useful in.</p>
|
|
| /articles/abstract-types-and-methods |
Abstract types and methods in Swift
|
|
| /tags/generics |
generics
|
|
| /tags/protocols |
protocols
|
|
| /tags/reference-types |
reference types
|
|
| /articles/abstract-types-and-methods |
<p>What abstract types are, how they could be implemented in Swift, and how they relate to protocols and other polymorphic programming techniques.</p>
|
|
| /basics/equality |
Equality
|
|
| /basics |
Basics
|
|
| /tags/language-features |
language features
|
|
| /tags/value-types |
value types
|
|
| /tags/reference-types |
reference types
|
|
| /basics/equality |
<p>Let’s take a look at how Swift models the concept of equality, and how that concept varies between value and reference types.</p>
|
|
| /articles/writing-testable-code-when-using-swiftui |
Writing testable code when using SwiftUI
|
|
| /tags/swiftui |
swiftui
|
|
| /tags/unit-testing |
unit testing
|
|
| /articles/writing-testable-code-when-using-swiftui |
<p>Let’s take a look at how we can make our UI-related logic fully testable, even when that logic is primarily used within SwiftUI-based views.</p>
|
|
| /articles/combining-protocols-in-swift |
Combining protocols in Swift
|
|
| /tags/protocols |
protocols
|
|
| /tags/generics |
generics
|
|
| /articles/combining-protocols-in-swift |
<p>Let’s take a look at various ways to combine multiple protocols into new functionality, either by using protocol extensions, composition, or by defining dedicated types.</p>
|
|
| /articles/memory-management-when-using-async-await |
Memory management when using async/await in Swift
|
|
| /tags/concurrency |
concurrency
|
|
| /tags/memory-management |
memory management
|
|
| /articles/memory-management-when-using-async-await |
<p>Managing an app’s memory is something that tends to be especially tricky when it comes to asynchronous code, so let’s take a look at how to do just that when using async/await.</p>
|
|
| /articles/retrying-an-async-swift-task |
Automatically retrying an asynchronous Swift Task
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/retrying-an-async-swift-task |
<p>A few examples on how to use Swift Concurrency to write asynchronous operations that are automatically retried if an error was encountered.</p>
|
|
| /articles/backgrounds-and-overlays-in-swiftui |
Backgrounds and overlays in SwiftUI
|
|
| /tags/swiftui |
swiftui
|
|
| /articles/backgrounds-and-overlays-in-swiftui |
<p>How SwiftUI enables us to stack views along the Z axis, which in turn makes it possible to create all sorts of backgrounds, overlays, and other effects.</p>
|
|
| /basics/loops |
Loops
|
|
| /basics |
Basics
|
|
| /tags/collections |
collections
|
|
| /tags/language-features |
language features
|
|
| /basics/loops |
<p>A look at many different built-in ways to iterate over arrays, dictionaries, and other Swift collections.</p>
|
|
| /articles/creating-combine-compatible-versions-of-async-await-apis |
Creating Combine-compatible versions of async/await-based APIs
|
|
| /tags/combine |
combine
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/creating-combine-compatible-versions-of-async-await-apis |
<p>Creating convenience APIs that make it possible to convert async/await-based functions into Combine publishers.</p>
|
|
| /articles/two-ways-of-capturing-self-strongly |
Two ways of capturing self strongly within a closure
|
|
| /tags/closures |
closures
|
|
| /tags/language-features |
language features
|
|
| /articles/two-ways-of-capturing-self-strongly |
<p>How to use either explicit self references or a capture list to capture self strongly within an escaping Swift closure.</p>
|
|
| /articles/building-an-async-swiftui-button |
Building an asynchronous SwiftUI button
|
|
| /tags/swiftui |
swiftui
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/building-an-async-swiftui-button |
<p>How a custom SwiftUI button that’s capable of running asynchronous actions can be created, and how to make such a control versatile and easy to reuse across a project.</p>
|
|
| /articles/delaying-an-async-swift-task |
Delaying an asynchronous Swift Task
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/delaying-an-async-swift-task |
<p>How we can use the built-in Task type to delay certain operations when using Swift’s new concurrency system.</p>
|
|
| /articles/dependency-injection-and-unit-testing-using-async-await |
Lightweight dependency injection and unit testing using async functions
|
|
| /tags/concurrency |
concurrency
|
|
| /tags/dependency-injection |
dependency injection
|
|
| /articles/dependency-injection-and-unit-testing-using-async-await |
<p>Let’s explore how we could make use of Swift’s async/await capabilities to make our asynchronous code fully testable in a very lightweight way.</p>
|
|
| /articles/the-role-tasks-play-in-swift-concurrency |
What role do Tasks play within Swift’s concurrency system?
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/the-role-tasks-play-in-swift-concurrency |
<p>How Swift’s new Task type works, and how it enables us to encapsulate, observe, and control the way that our asynchronous code is executed.</p>
|
|
| /articles/swift-actors |
Swift actors: How do they work, and what kinds of problems do they solve?
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/swift-actors |
<p>Let’s explore Swift’s version of actors, and what kind of problems that we could solve by defining custom actor types within our code bases.</p>
|
|
| /articles/unit-testing-code-that-uses-async-await |
Unit testing Swift code that uses async/await
|
|
| /tags/unit-testing |
unit testing
|
|
| /tags/concurrency |
concurrency
|
|
| /articles/unit-testing-code-that-uses-async-await |
<p>Let’s take a look at how to call async APIs within our unit tests, and also how async/await can be a great testing tool in general.</p>
|
|
Внешние ссылки
Кол-во: 3
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 3 оптимально.
На странице ссылки с атрибутом rel='nofollow' 1.
Показать внешние ссылки
| Url | Анкор |
|---|---|
| mastodon.social |
John Sundell
|
| github.com |
Publish
|
| mastodon.social |
Mastodon
|
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Страница https://swiftbysundell.com/archive готова к продвижению на 51%. Чтобы еще улучшить страницу и попасть на первые места поисковой выдачи необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки индексации.
Поделитесь с друзьями: