Анализ сайта mathiesonfacer.com
Основное Готовность: 100%
Домен
mathiesonfacer.com
Состояние доменного имени
?
Проверяем корректность доменного имени и наличие технических проблем на уровне домена.
Длина домена велика. Но если вы продвигаете запрос, входящий в название домена, то это хорошо.
Домен второго уровня идеален для продвижения.
Ответ сервера
200 Успешный ответ
HTTP-код ответа и цепочка редиректов
?
Код 200 — страница доступна. Коды 3xx — редиректы (цепочки замедляют загрузку и размывают ссылочный вес). Коды 4xx/5xx — ошибки, поисковик не сможет проиндексировать страницу.
Сервер настроен корректно.
Цепочка редиректов:
http://mathiesonfacer.com
301 MovedPermanently
https://matfacer.com/
200 OK
Безопасность
Сайт безопасен
Использование HTTPS и SSL-сертификат
?
HTTPS — обязательный стандарт. Google и Яндекс отдают предпочтение защищённым сайтам. Отсутствие SSL или просроченный сертификат ведут к предупреждениям в браузере и снижению позиций.
Не настроен HSTS (Strict-Transport-Security) — рекомендуется включить.
На сайте работает защищенный протокол ssl и сайт открывается по https.
Ssl-сертификат действителен до 25.10.2026 5:33:24.
HTTP автоматически перенаправляется на HTTPS.
Поздравляем! Сайт не содержится в реестре РКН.
Кодировка
utf-8
Кодировка символов страницы
?
Стандарт — UTF-8. Неправильная кодировка вызывает нечитаемые символы и мешает поисковику корректно распознать текст страницы.
Указана кодировка на странице utf-8.
Язык
en
Атрибут lang в HTML-теге
?
Атрибут lang (<html lang="ru">) сообщает поисковикам и браузерам, на каком языке написана страница. Помогает при ранжировании в региональном поиске.
Язык документа указан явно: en.
Скорость загрузки
~0,69сек
Время отклика сервера (TTFB)
?
Time To First Byte — время до получения первого байта от сервера. Норма до 200 мс. Медленный отклик ухудшает пользовательский опыт и ранжирование: Яндекс и Google учитывают скорость страниц.
Скорость загрузки сайта 0,69сек оптимальна.
Объем документа
32Кб
Размер HTML-кода страницы
?
Слишком большой HTML замедляет парсинг браузером и сканирование поисковым роботом. Рекомендуется не более 200 Кб.
Объем html-документа 32Кб оптимален.
Структура html-документа корректна.
Ресурсы
Ресурсы: 3
Внешние ресурсы страницы (CSS, JS, изображения)
?
Количество и тип подключённых ресурсов влияют на скорость загрузки. Большое число запросов увеличивает время рендеринга страницы.
Кол-во файлов ресурсов 3 достаточно.
Показать полный список ресурсов
| Тип | Название | Значение |
|---|---|---|
| stylesheet | https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,100,1&family=Montserrat:wght@600;700&family=Lato:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap | |
| js | //gc.zgo.at/count.js | |
| js | /js/infinite-scroll.js |
Серверные заголовки
Кол-во: 17
HTTP-заголовки ответа сервера
?
Заголовки сервера передают браузеру и поисковику служебную информацию: кеширование, безопасность (CSP, HSTS), сжатие (gzip). Правильная настройка ускоряет загрузку и повышает защищённость.
Найдены серверные заголовки 17шт. Подробнее про серверные заголовки.
Показать полный список серверных заголовков
| Ключ | Значение |
|---|---|
| Server | GitHub.com |
| Access-Control-Allow-Origin | * |
| ETag | "6a67a15e-812e" |
| Cache-Control | max-age=600 |
| x-proxy-cache | MISS |
| x-github-request-id | DDF4:0A67:104AF7:11E6DD:6A8ACBDA |
| x-github-edge-region | swedencentral |
| Accept-Ranges | bytes |
| Age | 0 |
| Date | Sun, 23 Aug 2026 10:30:51 GMT |
| Via | 1.1 varnish |
| X-Served-By | cache-bma-essb1270024-BMA |
| X-Cache | MISS |
| x-cache-hits | 0 |
| x-timer | S1787481051.948702,VS0,VE109 |
| Vary | Accept-Encoding |
| x-fastly-request-id | 4a7e97e1090fc1fa9f70a1e2d524ab4a3278acb0 |
CMS
Hugo 0.155.3
Система управления сайтом (движок)
?
CMS — это движок, на котором работает сайт (WordPress, 1C-Bitrix, Tilda и др.). Знание CMS помогает понять возможности SEO-оптимизации и подобрать подходящие инструменты. «Не определена» — вероятно, самописный сайт или нестандартная сборка.
В мета-теге generator указано: Hugo 0.155.3.
Веб-сервер
GitHub.com
Программное обеспечение сервера
?
Веб-сервер — это ПО, которое отдаёт страницы посетителям (nginx, Apache, IIS, LiteSpeed и др.). Определяется по серверным заголовкам ответа (Server, X-Powered-By и т.п.). «Не определён» — сервер намеренно скрывает эти заголовки, это нормальная практика безопасности.
В заголовке Server указано: GitHub.com.
Мета-теги Готовность: 23%
Title
Mat's Mind Dump
Заголовок страницы в браузере и поисковой выдаче
?
Title — главный SEO-заголовок страницы. Влияет на CTR в поиске и ранжирование. Оптимальная длина: 50–70 символов. Ключевые слова — ближе к началу.
Необходимо увеличить число символов в title (текущее значение мало: 19, минимум: 25, оптимально: от 40 до 45)
Дублей словоформ в title не найдено.
Description
Adventures in Tech Art, AI & iOS Dev
Описание страницы в поисковой выдаче (сниппет)
?
Meta Description — текст под заголовком в выдаче. Напрямую на позиции не влияет, но влияет на CTR. Оптимальная длина: 120–160 символов.
Необходимо увеличить число символов в description (текущее значение мало: 40, минимум: 80, оптимально: от 120 до 130)
Keywords
Список ключевых слов страницы (устаревший тег)
?
Meta Keywords не учитывается Яндексом и Google для ранжирования с 2009–2012 годов. Заполнение не обязательно, но не вредит. Конкурент может использовать содержимое для анализа.
Установите мета-тег keywords!
Канонический Url
https://matfacer.com/
Указывает поисковику основную версию страницы
?
Canonical (rel=canonical) предотвращает проблему дублей страниц. Должен точно совпадать с URL проверяемой страницы. Неправильный canonical может передать ссылочный вес на другую страницу.
Канонический Url прописан корректно.
Robots
index, follow
Директивы для поисковых роботов на уровне страницы
?
Meta Robots управляет индексацией конкретной страницы: index/noindex — индексировать ли, follow/nofollow — следовать ли по ссылкам. Noindex полностью исключает страницу из поиска.
Meta-тег robots со значениями index, follow не накладывает ограничений на индексирование и показ контента.
Адаптивность
width=device-width, initial-scale=1, shrink-to-fit=no
Настройка масштабирования на мобильных устройствах
?
Тег viewport (<meta name="viewport">) сообщает браузеру, как масштабировать страницу на мобильных. Стандарт: width=device-width, initial-scale=1. Отсутствие — признак отсутствия мобильной версии.
Meta-тег viewport со значением-константой width=device-width задаёт ширину страницы в соответствии с размером экрана.
Meta-тег viewport со значением initial-scale=1.0 определяет масштаб 1:1, т.е. «не масштабировать».
Разметка OpenGraph
Кол-во: 7
Мета-теги для красивых превью в соцсетях
?
OpenGraph (og:title, og:description, og:image) управляет тем, как страница выглядит при репосте в социальных сетях и мессенджерах. Отсутствие OG-тегов — невзрачный превью при шеринге.
Разметка OpenGraph задана. Страница оптимизирована под социальные сети.
Показать полный список og мета-тегов
| Тип | Значение |
|---|---|
| og:url | https://matfacer.com/ |
| og:site_name | Mat's Mind Dump |
| og:title | Mat's Mind Dump |
| og:description | Adventures in Tech Art, AI & iOS Dev |
| og:locale | en_us |
| og:type | website |
| og:image | https://matfacer.com/og-default.jpg |
Все мета-теги
Кол-во: 18
Полный список мета-тегов страницы
?
Таблица всех meta-тегов, включая нестандартные. Позволяет найти опечатки, дубли и лишние теги.
Найдены мета-теги 18шт. Мета-теги не видимы для человека и предназначены для обмена информацией между веб-страницей и поисковыми системами, браузерами и другими веб-службами. С ними роботы 🤖 и устройства ведут себя более ожидаемо.
Показать полный список мета-тегов
| Тип | Название | Значение |
|---|---|---|
| name | generator | Hugo 0.155.3 |
| name | viewport | width=device-width, initial-scale=1, shrink-to-fit=no |
| name | robots | index, follow |
| name | description | Adventures in Tech Art, AI & iOS Dev |
| name | author | Mat |
| name | theme-color | #2e2e33 |
| name | msapplication-TileColor | #2e2e33 |
| name | twitter:card | summary_large_image |
| name | twitter:image | https://matfacer.com/og-default.jpg |
| name | twitter:title | Mat's Mind Dump |
| name | twitter:description | Adventures in Tech Art, AI & iOS Dev |
| property | og:url | https://matfacer.com/ |
| property | og:site_name | Mat's Mind Dump |
| property | og:title | Mat's Mind Dump |
| property | og:description | Adventures in Tech Art, AI & iOS Dev |
| property | og:locale | en_us |
| property | og:type | website |
| property | og:image | https://matfacer.com/og-default.jpg |
Оптимизация Готовность: 60%
Структура
Ошибок нет
Семантические HTML-элементы страницы
?
Проверяет наличие основных структурных элементов: nav, header, footer, main. Корректная семантическая структура помогает поисковику понять архитектуру страницы.
Структура документа корректна (теги <html> и <body> присутствуют в единственном экземпляре).
Контент
Есть ошибки
Объём и качество текстового содержимого
?
Анализирует объём полезного текста на странице. Слишком мало — страница может считаться малополезной. Слишком много — ухудшается читаемость и восприятие.
Слова из title 2 встречаются в тексте редко. Добавьте в контент страницы слова из тега <title>!
Абзацев с текстом 10 достаточно.
Среднее число слов в абзаце 89 достаточно.
Кол-во знаков контента 6244 на странице оптимально.
Кол-во слов 1097 на странице оптимально.
Заголовки
Ошибок нет
Иерархия заголовков H1–H6
?
H1 должен быть один и содержать ключевой запрос. H2–H6 описывают подразделы. Пропуск уровней (H1 → H3) и несколько H1 — типичные ошибки, снижающие понятность страницы для поисковика.
На странице присутствуют заголовки <h1> 1. Это прекрасно.
На странице присутствуют заголовки <h2> 10. Это хорошо.
Тошнота
3,32
Насколько одно слово доминирует в тексте
?
Классическая тошнота = √(частота самого повторяющегося слова). Норма до 7–8: текст воспринимается естественно. Выше — поисковик может счесть страницу переспамленной.
Тошнота превышает норму 3. Измените текст страницы!
Академич. тошнота
20,97%
Насколько текст перенасыщен ключевыми словами
?
Академическая тошнота = (частота слова / общее количество слов) × 100%. Показывает долю конкретного слова в тексте. Норма 5–15%.
Академическая тошнота превышает норму 5-15%. Измените текст страницы!
Семантическое ядро
20
Наиболее часто встречающиеся слова на странице
?
Топ слов по частоте использования. Показывает, какие слова доминируют в тексте с точки зрения поисковика.
Контент страницы содержит осмысленный текст и слова.
Показать список слов
| Слово | Кол-во | Частота |
|---|---|---|
| python | 11 | 1,00% |
| pycharm | 7 | 0,64% |
| learning | 7 | 0,64% |
| training | 5 | 0,46% |
| development | 4 | 0,36% |
| machine-learning | 4 | 0,36% |
| deep-learning | 4 | 0,36% |
| coredata | 4 | 0,36% |
| optional | 4 | 0,36% |
| pytorch | 4 | 0,36% |
| courses | 4 | 0,36% |
| tooling | 3 | 0,27% |
| tech-art | 3 | 0,27% |
| reinforcement | 3 | 0,27% |
| mayapy | 3 | 0,27% |
| through | 3 | 0,27% |
| swiftui | 3 | 0,27% |
| education | 3 | 0,27% |
| tensorflow | 3 | 0,27% |
| debugging | 3 | 0,27% |
Индексация Готовность: 25%
Индексирование
Ошибок нет
Разрешено ли индексирование страницы
?
Проверяет, не закрыта ли страница от индексации через robots.txt, meta robots или X-Robots-Tag. Страница, закрытая от индексации, не появится в поисковой выдаче.
Анкоров на странице 47 оптимально. Поисковые роботы обязательно проиндексируют сайт.
Robots.txt
Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 32986 байт. Загружен за: 1сек.
Проверяемая страница не запрещена в robots.txt.
Robots.txt доступен по постоянному адресу
Цепочка редиректов для файла robots.txt:
http://mathiesonfacer.com/robots.txt
301 MovedPermanently
https://matfacer.com/
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="en" dir="auto" data-theme="light">
<head>
<meta name="generator" content="Hugo 0.155.3"><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>Mat's Mind Dump</title>
<meta name="description" content="Adventures in Tech Art, AI & iOS Dev">
<meta name="author" content="Mat">
<link rel="canonical" href="https://matfacer.com/">
<link crossorigin="anonymous" href="/assets/css/stylesheet.c52571852f406e2422a18e0b691123a29e777e7393d9a4bc85ef0e64b6c74583.css" integrity="sha256-xSVxhS9AbiQioY4LaREjop53fnOT2aS8he8OZLbHRYM=" rel="preload stylesheet" as="style">
<link rel="icon" href="https://matfacer.com/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://matfacer.com/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://matfacer.com/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://matfacer.com/apple-touch-icon.png">
<link rel="mask-icon" href="https://matfacer.com/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" type="application/rss+xml" href="https://matfacer.com/index.xml" title="rss">
<link rel="alternate" type="application/json" href="https://matfacer.com/index.json" title="json">
<link rel="alternate" type="text/plain" href="https://matfacer.com/robots.txt" title="robots">
<link rel="alternate" hreflang="en" href="https://matfacer.com/">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
</noscript>
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.querySelector("html").dataset.theme = 'dark';
}
</script><link rel="icon" type="image/png" sizes="32x32" href="https://matfacer.com/favicon-32x32-dark.png" media="(prefers-color-scheme: dark)">
<link rel="icon" type="image/png" sizes="16x16" href="https://matfacer.com/favicon-16x16-dark.png" media="(prefers-color-scheme: dark)">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,600,100,1&family=Montserrat:wght@600;700&family=Lato:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap" rel="stylesheet">
<script data-goatcounter="https://matfacer.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
<meta property="og:url" content="https://matfacer.com/">
<meta property="og:site_name" content="Mat's Mind Dump">
<meta property="og:title" content="Mat's Mind Dump">
<meta property="og:description" content="Adventures in Tech Art, AI & iOS Dev">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
<meta property="og:image" content="https://matfacer.com/og-default.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://matfacer.com/og-default.jpg">
<meta name="twitter:title" content="Mat's Mind Dump">
<meta name="twitter:description" content="Adventures in Tech Art, AI & iOS Dev">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Mat's Mind Dump",
"url": "https://matfacer.com/",
"description": "Adventures in Tech Art, AI \u0026 iOS Dev",
"logo": "https://matfacer.com/favicon.ico",
"sameAs": [
"https://github.com/mathieson", "https://linkedin.com/in/matfacer"
]
}
</script>
</head>
<body class="list" id="top">
<header class="header">
<nav class="header-nav">
<div class="logo">
<a href="https://matfacer.com/" accesskey="h" title="Mat's Mind Dump (Alt + H)">
<img src="https://matfacer.com/logos_hu_703e81d02529ebd6.png" alt="" aria-label="logo"
height="40">Mat's Mind Dump</a>
<div class="logo-switches">
<button id="theme-toggle" class="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
<svg class="moon" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg class="sun" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu" class="menu">
<li>
<a href="https://matfacer.com/search/" title="Search (Alt + /)" accesskey=/>
<span>Search</span>
</a>
</li>
<li>
<a href="https://matfacer.com/tags/" title="Tags">
<span>Tags</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main"><div class="profile">
<div class="profile_inner"><a class="profile-brand" href="/" aria-label="Mat's Mind Dump">
<img draggable="false" src="https://matfacer.com/logos_hu_62357df9efb4e40a.png" alt="Mat's Mind Dump" title="Mat's Mind Dump"
height="180" width="270" />
<h1>Mat’s Mind Dump</h1>
</a>
<span></span><div class="social-icons" >
<a href="https://github.com/mathieson" target="_blank" rel="noopener noreferrer me"
title="Github">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path
d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
</path>
</svg>
</a>
<a href="https://linkedin.com/in/matfacer" target="_blank" rel="noopener noreferrer me"
title="Linkedin">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round">
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path>
<rect x="2" y="9" width="4" height="12"></rect>
<circle cx="4" cy="4" r="2"></circle>
</svg>
</a>
</div>
</div>
</div>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon_hu_db779428c3517234.png 360w,https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon_hu_10fe75dcd34ca0c3.png 480w,https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon_hu_461b4c5a3877dab3.png 720w,https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon_hu_a9f5be91b58dc207.png 1080w,https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon.png 1200w'
src="https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/images/vscode-icon.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="Visual Studio Code icon">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Switching from PyCharm to VS Code — and Fixing Python Environments with uv
</h2>
</header>
<div class="entry-content">
<p>If you’ve been around here before, you might have seen my post on setting up PyCharm for Maya Python development. It’s been one of my more practical posts, and for a long time it reflected how I actually worked. PyCharm was my IDE of choice for Maya scripting, and I didn’t have much reason to look elsewhere.
I’d tried VS Code over the years and never really landed on it. Getting it properly configured for Maya — pointing it at the right interpreter, getting reasonable autocomplete — always felt like more friction than it was worth. PyCharm just worked, and once you had a good setup going, it was hard to argue with.
...</p>
</div>
<footer class="entry-footer"><span title='2026-04-02 00:00:00 +0000 UTC'>Apr 2, 2026</span> · <span>⏱ 6 min</span>
<ul class="post-tags"><li><a href="/tags/maya">maya</a></li><li><a href="/tags/python">python</a></li><li><a href="/tags/vscode">vscode</a></li><li><a href="/tags/tooling">tooling</a></li><li><a href="/tags/tech-art">tech-art</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Switching from PyCharm to VS Code — and Fixing Python Environments with uv" href="https://matfacer.com/posts/switching-from-pycharm-to-vscode-with-uv/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1_hu_afbf757ce65e0353.png 360w,https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1_hu_69997f8c19b1d438.png 480w,https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1_hu_d4932dfd91728706.png 720w,https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1_hu_a676504d424f812.png 1080w,https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1.png 1200w'
src="https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/images/sympy-1.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="SymPy logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">SymPy to Solve a Low Level ML Training Loop
</h2>
</header>
<div class="entry-content">
<p>A few months ago, I overcame a challenging hurdle in my spare time passion project. It seemed like I reached a dead end, but I got past it thanks to discovering a new Python package, SymPy.
The Background After going down the rabbit hole with reinforcement learning, I conceded my problem was best solved using a regression algorithm. Still, the best results I saw came from exploiting the training loop in the early days.
...</p>
</div>
<footer class="entry-footer"><span title='2022-08-26 00:00:00 +0000 UTC'>Aug 26, 2022</span> · <span>⏱ 5 min</span>
<ul class="post-tags"><li><a href="/tags/machine-learning">machine-learning</a></li><li><a href="/tags/python">python</a></li><li><a href="/tags/deep-learning">deep-learning</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to SymPy to Solve a Low Level ML Training Loop" href="https://matfacer.com/posts/sympy-to-solve-a-low-level-ml-training-loop/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon_hu_733e0cd1b5be1f5.png 360w,https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon_hu_337a0fcc0172f638.png 480w,https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon_hu_eb1058bc9b5d9146.png 720w,https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon_hu_ca55f0bb56dad83b.png 1080w,https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon.png 1200w'
src="https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/images/pycharm-icon.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="PyCharm icon">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">The Best PyCharm MayaPy Interpreter Setup
</h2>
</header>
<div class="entry-content">
<p>There’s no denying - Maya makes development hard.
Python is one of the most popular programming languages in the world as of 2022. The language supports many great workflows, but most are off-limits when working with Maya. Even just setting up an IDE with MayaPy has been a challenge through the years.
Today I will share how I set up PyCharm to work with MayaPy and how it enables a super-slick workflow for unit testing.
...</p>
</div>
<footer class="entry-footer"><span title='2022-06-16 00:00:00 +0000 UTC'>Jun 16, 2022</span> · <span>⏱ 6 min</span>
<ul class="post-tags"><li><a href="/tags/maya">maya</a></li><li><a href="/tags/python">python</a></li><li><a href="/tags/pycharm">pycharm</a></li><li><a href="/tags/tooling">tooling</a></li><li><a href="/tags/tech-art">tech-art</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to The Best PyCharm MayaPy Interpreter Setup" href="https://matfacer.com/posts/the-best-pycharm-mayapy-interpreter-setup/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon_hu_728e45ad92131099.png 360w,https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon_hu_fc7d82f8c3fb620b.png 480w,https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon_hu_c56089a34ad379ad.png 720w,https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon_hu_bc4d4d272a1356b4.png 1080w,https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon.png 1200w'
src="https://matfacer.com/posts/coredata-swift-scalar-optionals/images/swift-icon.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="Swift icon">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">CoreData Swift Scalar Optionals
</h2>
</header>
<div class="entry-content">
<p>The project I am currently working on has an input form that takes doubles for some of its fields. I am using CoreData to persist my data and was surprised to find optional scalars are not supported.
Regardless of whether or not Optional is checked, the type in the Swift codegen will always be Double and never be optional. This behaviour is not a bug, but rather just a difference in how Optionals work in CoreData - it refers to optional at save time.
...</p>
</div>
<footer class="entry-footer"><span title='2022-01-22 00:00:00 +0000 UTC'>Jan 22, 2022</span> · <span>⏱ 3 min</span>
<ul class="post-tags"><li><a href="/tags/swift">swift</a></li><li><a href="/tags/ios">ios</a></li><li><a href="/tags/coredata">coredata</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to CoreData Swift Scalar Optionals" href="https://matfacer.com/posts/coredata-swift-scalar-optionals/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon_hu_4570eb80e23a5398.png 360w,https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon_hu_fc449773c67bd2d.png 480w,https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon_hu_22d989b33c1a6da3.png 720w,https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon_hu_62c75b6d2029c49b.png 1080w,https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon.png 1200w'
src="https://matfacer.com/posts/my-swiftui-currency-field/images/swiftui-icon.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="SwiftUI icon">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">My SwiftUI Currency Field
</h2>
</header>
<div class="entry-content">
<p>I’ve been spending a lot of time in SwiftUI lately and, so far, I love it.
While it is remarkably flexible and powerful, it is still very young. There are still pain points from what seems to be a lack of coverage in the framework. Worse still, because it is changing and updating so rapidly, I am finding that much advice on StackOverflow and many blog posts are outdated already.
...</p>
</div>
<footer class="entry-footer"><span title='2022-01-12 00:00:00 +0000 UTC'>Jan 12, 2022</span> · <span>⏱ 2 min</span>
<ul class="post-tags"><li><a href="/tags/ios">ios</a></li><li><a href="/tags/swift">swift</a></li><li><a href="/tags/swiftui">swiftui</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to My SwiftUI Currency Field" href="https://matfacer.com/posts/my-swiftui-currency-field/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo_hu_2d47c481df42d900.png 360w,https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo_hu_42f8c36293187cb2.png 480w,https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo_hu_95be848cbf38ea00.png 720w,https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo_hu_b700f82b796aa3c1.png 1080w,https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo.png 1200w'
src="https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/images/pytorch-logo.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="PyTorch logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Loss vs. reward in reinforcement learning
</h2>
</header>
<div class="entry-content">
<p>Reinforcement learning is my area of focus so far when it comes to deep learning. RL is probably not the first stop for most on the machine learning education circuit, but it just happens to be where the problem I am trying to solve has taken me.
When starting down the RL road, I was immediately confused by the concept of reward. Nothing was confusing about what it was - giving a dog a treat when it sits after you’ve asked it to sums things up pretty well. Instead, I was confused by its relation to the loss function. Both, at a high level, help inform when the correct thing is happening.
...</p>
</div>
<footer class="entry-footer"><span title='2021-10-17 00:00:00 +0000 UTC'>Oct 17, 2021</span> · <span>⏱ 6 min</span>
<ul class="post-tags"><li><a href="/tags/machine-learning">machine-learning</a></li><li><a href="/tags/deep-learning">deep-learning</a></li><li><a href="/tags/pytorch">pytorch</a></li><li><a href="/tags/reinforcement-learning">reinforcement-learning</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Loss vs. reward in reinforcement learning" href="https://matfacer.com/posts/loss-vs-reward-in-reinforcement-learning/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo_hu_2d47c481df42d900.png 360w,https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo_hu_42f8c36293187cb2.png 480w,https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo_hu_95be848cbf38ea00.png 720w,https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo_hu_b700f82b796aa3c1.png 1080w,https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo.png 1200w'
src="https://matfacer.com/posts/tensorflow-to-pytorch/images/pytorch-logo.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="PyTorch logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Tensorflow to PyTorch
</h2>
</header>
<div class="entry-content">
<p>My journey into machine learning is still in its relatively early stages. I began by familiarizing myself with Tensorflow. It was an excellent introduction, whetting my appetite for AI, but I am now ready to make the switch to PyTorch.
There are two key drivers behind my decision to make this change.
Debugging Process transparency Debugging Debugging in Tensorflow has been problematic, to say the least, being most painful when writing custom loss functions. I’d feed dummy data to the loss function while writing it, pre-vetting what I was creating. However, when something didn’t work as expected during training, troubleshooting was near impossible. Tensors at training time are opaque, acting in some “virtual” fashion if my memory serves (this was a while ago now).
...</p>
</div>
<footer class="entry-footer"><span title='2021-10-10 00:00:00 +0000 UTC'>Oct 10, 2021</span> · <span>⏱ 3 min</span>
<ul class="post-tags"><li><a href="/tags/machine-learning">machine-learning</a></li><li><a href="/tags/deep-learning">deep-learning</a></li><li><a href="/tags/pytorch">pytorch</a></li><li><a href="/tags/python">python</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Tensorflow to PyTorch" href="https://matfacer.com/posts/tensorflow-to-pytorch/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/kaggle-courses/images/dataset-card2_hu_d35fe9b76bdbeb8e.png 360w,https://matfacer.com/posts/kaggle-courses/images/dataset-card2_hu_62095ad451387d8a.png 480w,https://matfacer.com/posts/kaggle-courses/images/dataset-card2_hu_a7de343b225732ef.png 720w,https://matfacer.com/posts/kaggle-courses/images/dataset-card2_hu_30bd7536e9d6063b.png 1080w,https://matfacer.com/posts/kaggle-courses/images/dataset-card2.png 1200w'
src="https://matfacer.com/posts/kaggle-courses/images/dataset-card2.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="Kaggle logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Kaggle Courses
</h2>
</header>
<div class="entry-content">
<p>I have been dabbling in deep learning recently, and I have completed a few courses and read through and watched many resources during that time. It can be hard to find good help, so I wanted to share my experience with Kaggle quickly.
If you’re not familiar with Kaggle, it is an excellent source of datasets for training your models. I believe this is what they are most well known for. They also have a complete set of courses relating to many things data science-related. The topics include data visualization, how to use the Pandas library, and more.
...</p>
</div>
<footer class="entry-footer"><span title='2021-08-08 00:00:00 +0000 UTC'>Aug 8, 2021</span> · <span>⏱ 2 min</span>
<ul class="post-tags"><li><a href="/tags/machine-learning">machine-learning</a></li><li><a href="/tags/deep-learning">deep-learning</a></li><li><a href="/tags/education">education</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Kaggle Courses" href="https://matfacer.com/posts/kaggle-courses/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo_hu_58eaaa6701be20c2.png 360w,https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo_hu_6c6512b62c59d34b.png 480w,https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo_hu_32f3e4c797563b07.png 720w,https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo_hu_ec6d965adc8ee054.png 1080w,https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo.png 1200w'
src="https://matfacer.com/posts/demystifying-python-logging-in-maya/images/python-logo.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="Python logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Python logging in Maya
</h2>
</header>
<div class="entry-content">
<p>The logging module, while something I’ve been using for years, is not something I can say I’ve been clear on. I’ve dug in more recently and thought I would share some quick learnings.
Logger Hierarchy The first item to note is that Python’s logging module behaves as an inheritance hierarchy. This hierarchy will automatically kick in by using dot notation in the naming of your logger. For example, “eh.bee.sea” inherits from “eh.bee”, which inherits from “eh”.
...</p>
</div>
<footer class="entry-footer"><span title='2021-07-13 00:00:00 +0000 UTC'>Jul 13, 2021</span> · <span>⏱ 2 min</span>
<ul class="post-tags"><li><a href="/tags/maya">maya</a></li><li><a href="/tags/python">python</a></li><li><a href="/tags/tech-art">tech-art</a></li><li><a href="/tags/tooling">tooling</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Python logging in Maya" href="https://matfacer.com/posts/demystifying-python-logging-in-maya/"></a>
</article>
<article class="post-entry">
<figure class="entry-cover">
<img loading="lazy"
srcset='https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1_hu_70e9a1bf1937fe15.png 360w,https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1_hu_ae4a94ca57ac8e5a.png 480w,https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1_hu_2017b791ab558a8f.png 720w,https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1_hu_7c4e61940e4b2c1a.png 1080w,https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1.png 1200w'
src="https://matfacer.com/posts/applied-software-development-retrospective/images/BCIT_logo2-1.png"
sizes="(min-width: 768px) 720px, 100vw"
width="1200" height="1000"
alt="BCIT logo">
</figure>
<header class="entry-header">
<h2 class="entry-hint-parent">Applied Software Development Retrospective
</h2>
</header>
<div class="entry-content">
<p>Recently, I completed the Applied Software Development part-time studies program at BCIT. It has been a three-year journey, and so I thought I would do a quick write-up about some of my favourite courses and my takeaways.
Why go back to school? I had been established in the industry for over ten years, was well experienced with Python, and had some experience in other languages. Why go back to school? Well, I was entirely self-taught through my years on the job.
...</p>
</div>
<footer class="entry-footer"><span title='2021-04-05 00:00:00 +0000 UTC'>Apr 5, 2021</span> · <span>⏱ 6 min</span>
<ul class="post-tags"><li><a href="/tags/software-development">software-development</a></li><li><a href="/tags/education">education</a></li>
</ul>
</footer>
<a class="entry-link" aria-label="post link to Applied Software Development Retrospective" href="https://matfacer.com/posts/applied-software-development-retrospective/"></a>
</article>
<footer class="page-footer">
<nav class="pagination">
<a class="next" href="https://matfacer.com/page/2/">Next »
</a>
</nav>
</footer>
</main>
<footer class="footer">
<span>© 2026 <a href="https://matfacer.com/">Mat's Mind Dump</a></span> ·
<span>
Powered by
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
</span>
</footer>
<a href="#top" id="top-link" class="top-link hidden" aria-label="go to top" title="Go to Top (Alt + G)" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevrons-up">
<polyline points="17 11 12 6 7 11"></polyline>
<polyline points="17 18 12 13 7 18"></polyline>
</svg>
</a>
<script src="/js/infinite-scroll.js" defer></script><script>
(function() {
var giscusScript = document.querySelector('script[data-giscus-dark-theme]');
var lightTheme = giscusScript ? giscusScript.getAttribute('data-theme') : 'noborder_light';
var darkTheme = giscusScript ? giscusScript.getAttribute('data-giscus-dark-theme') : 'noborder_dark';
function getTheme() {
return document.documentElement.getAttribute('data-theme') === 'dark' ? darkTheme : lightTheme;
}
function setGiscusTheme(theme) {
var iframe = document.querySelector('iframe.giscus-frame');
if (iframe) {
iframe.contentWindow.postMessage(
{ giscus: { setConfig: { theme: theme } } },
'https://giscus.app'
);
}
}
window.addEventListener('message', function(e) {
if (e.origin === 'https://giscus.app') {
setGiscusTheme(getTheme());
}
});
var observer = new MutationObserver(function() {
setGiscusTheme(getTheme());
});
observer.observe(document.documentElement, { attributes: true, attributeFilter: ['data-theme'] });
})();
</script>
<script>
let menu = document.getElementById('menu');
if (menu) {
const scrollPosition = localStorage.getItem("menu-scroll-position");
if (scrollPosition) {
menu.scrollLeft = parseInt(scrollPosition, 10);
}
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
</script>
<script>
var toplink = document.getElementById("top-link");
window.onscroll = function () {
const scrollThreshold = window.innerHeight;
if (document.body.scrollTop > scrollThreshold || document.documentElement.scrollTop > scrollThreshold) {
toplink.classList.remove("hidden");
} else {
toplink.classList.add("hidden");
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
const html = document.querySelector("html");
if (html.dataset.theme === "dark") {
html.dataset.theme = 'light';
localStorage.setItem("pref-theme", 'light');
} else {
html.dataset.theme = 'dark';
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
</body>
</html>
Sitemap
Кол-во: 0
XML-карта сайта для поисковиков
?
Sitemap.xml помогает поисковику быстрее находить и индексировать страницы. Особенно важен для крупных сайтов и новых страниц, на которые ещё нет входящих ссылок.
Robots.txt не содержит ссылку на карту сайта. Рекомендуется добавить карту сайта и указать ссылку на нее в robots.txt.
Внутренние ссылки
Кол-во: 36
Ссылки на другие страницы своего сайта
?
Внутренние ссылки распределяют ссылочный вес между страницами и помогают поисковику обходить сайт. Пустые анкоры и ссылки на запрещённые robots.txt страницы — типичные ошибки.
Внутренних ссылок на странице 36 оптимально.
Внутренние ссылки не запрещены к индексации в robots.txt.
На странице присутствуют изображения 1.
Показать внутренние ссылки
| Url | Анкор | Состояние | Анализировать |
|---|---|---|---|
| /tags/maya |
maya
|
|
Анализировать url |
| /tags/python |
python
|
|
Анализировать url |
| /tags/vscode |
vscode
|
|
Анализировать url |
| /tags/tooling |
tooling
|
|
Анализировать url |
| /tags/tech-art |
tech-art
|
|
Анализировать url |
| /tags/machine-learning |
machine-learning
|
|
Анализировать url |
| /tags/python |
python
|
|
Анализировать url |
| /tags/deep-learning |
deep-learning
|
|
Анализировать url |
| /tags/maya |
maya
|
|
Анализировать url |
| /tags/python |
python
|
|
Анализировать url |
| /tags/pycharm |
pycharm
|
|
Анализировать url |
| /tags/tooling |
tooling
|
|
Анализировать url |
| /tags/tech-art |
tech-art
|
|
Анализировать url |
| /tags/swift |
swift
|
|
Анализировать url |
| /tags/ios |
ios
|
|
Анализировать url |
| /tags/coredata |
coredata
|
|
Анализировать url |
| /tags/ios |
ios
|
|
Анализировать url |
| /tags/swift |
swift
|
|
Анализировать url |
| /tags/swiftui |
swiftui
|
|
Анализировать url |
| /tags/machine-learning |
machine-learning
|
|
Анализировать url |
| /tags/deep-learning |
deep-learning
|
|
Анализировать url |
| /tags/pytorch |
pytorch
|
|
Анализировать url |
| /tags/reinforcement-learning |
reinforcement-learning
|
|
Анализировать url |
| /tags/machine-learning |
machine-learning
|
|
Анализировать url |
| /tags/deep-learning |
deep-learning
|
|
Анализировать url |
| /tags/pytorch |
pytorch
|
|
Анализировать url |
| /tags/python |
python
|
|
Анализировать url |
| /tags/machine-learning |
machine-learning
|
|
Анализировать url |
| /tags/deep-learning |
deep-learning
|
|
Анализировать url |
| /tags/education |
education
|
|
Анализировать url |
| /tags/maya |
maya
|
|
Анализировать url |
| /tags/python |
python
|
|
Анализировать url |
| /tags/tech-art |
tech-art
|
|
Анализировать url |
| /tags/tooling |
tooling
|
|
Анализировать url |
| /tags/software-development |
software-development
|
|
Анализировать url |
| /tags/education |
education
|
|
Анализировать url |
Внешние ссылки
Кол-во: 18
Ссылки на сторонние сайты
?
Исходящие внешние ссылки передают часть ссылочного веса на чужие сайты. Ссылки на авторитетные ресурсы безопасны; ссылки на мусорные сайты могут навредить репутации страницы.
Внешних ссылок на странице 18 слишком много. Спрячьте лишние ссылки в тег noindex или атрибут rel='nofollow'!
На странице присутствуют внешние ссылки с пустым анкором: 10!
Показать внешние ссылки
| Url | Анкор | Анализировать |
|---|---|---|
| matfacer.com |
<span>Search</span>
|
Анализировать url |
| matfacer.com |
<span>Tags</span>
|
Анализировать url |
| github.com |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22">
</path>
</svg>
|
Анализировать url |
| linkedin.com |
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path>
<rect x="2" y="9" width="4" height="12"></rect>
<circle cx="4" cy="4" r="2"></circle>
</svg>
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Пустой анкор
|
Анализировать url |
| matfacer.com |
Next »
|
Анализировать url |
| matfacer.com |
Mat's Mind Dump
|
Анализировать url |
| gohugo.io |
Hugo
|
Анализировать url |
| github.com |
PaperMod
|
Анализировать url |
Конкуренты Готовность: 0%
Конкуренты в Яндексе
Кол-во: 0
Топ сайтов-конкурентов в Яндексе
?
Сайты, чаще всего появляющиеся в ТОПе Яндекса по запросам из семантического ядра этой страницы.
Мы не нашли у вас конкурентов в Яндексе. Сайт или очень молодой или плохо продвигается.
Конкурентов в ТОП-10 Яндекса не нашлось.
Конкуренты в Google
Кол-во: 0
Топ сайтов-конкурентов в Google
?
Сайты, чаще всего появляющиеся в ТОПе Google по запросам из семантического ядра этой страницы.
Конкуренты в Google тоже не найдены. Займитесь продвижением сайта!
Конкурентов в ТОП-10 Google не нашлось.
ЗоЗПП: права потребителей Готовность: 100%
Нарушения
Не выявлены
Признаков дистанционной продажи товаров (интернет-магазина) не обнаружено — требования ЗоЗПП о раскрытии информации продавца к сайту не применяются. Нарушений нет.
ФЗ-149: рекомендательные технологии Готовность: 100%
Нарушения
Не выявлены
Рекомендательные блоки («с этим покупают», «похожие товары» и т.п.) на сайте не обнаружены — требования ст. 10.7 ФЗ-149 к сайту не применяются. Нарушений нет.
ФЗ-38: реклама Готовность: 100%
Нарушения
Не выявлены
Рекламных тематик с обязательными оговорками (медицина, БАД, кредиты и займы, новостройки) на сайте не обнаружено. Нарушений нет.
ФЗ-436: защита детей Готовность: 100%
Нарушения
Не выявлены
Признаков информационной продукции (новости, видео, книги, игры, курсы) не обнаружено — обязательная возрастная маркировка по ФЗ-436 сайту не требуется. Нарушений нет.
Вердикт
Оптимизация сайта mathiesonfacer.com выполнена всего на 52%. Чтобы исправить ситуацию и попасть в ТОП необходимо:
Исправьте ошибки в мета-тегах.
Исправьте ошибки оптимизации.
Исправьте ошибки индексации.
Поделитесь с друзьями: