Опубликовано 02.10.2026 19:59
Журнал проекта fppplumbing.com
Обновляется после каждой сессии и каждого законченного блока работы. Последнее обновление: 2 октября 2026.
Где что лежит
- Проект на GitHub (закрытый): https://github.com/request-fpp/fppplumbing-site
- Правила проекта: CLAUDE.md в корне проекта
- Макеты: design/mockups/ (открываются через встроенный браузер)
- Фото: photos/originals (160 файлов), лист с номерами photos/contact-sheet.html, подписи photos/captions.csv
- Отзывы: reviews/all-reviews.csv (все площадки), reviews/ledger.md (что стоит на старом сайте), reviews/proposed-placement.md (предложение по страницам)
Сделано (30 сентября и 1 октября 2026)
- Скан старого сайта: 63 страницы плюс служебная переадресация, итого 64 адреса. Сохранено в source/crawl.
- Проект на GitHub, аккаунт request-fpp, закрытый.
- Search Console: выгрузка за 3 и 16 месяцев, индексация, карта сайта, старые адреса. Через официальный API: связка страница плюс запрос (доступ gsc-reader, только чтение, оставляем для сравнения после переезда).
- Semrush подключен, данные по гайдам и блогу сохранены.
- Карта ключей seo/keyword-map.md и отчет о каннибализации seo/cannibalization-*.csv. Показы страниц Frisco и Plano на позициях 1 до 3 по запросам без своего города считаются картами, не конфликтом.
- Отзывы: Google из Takeout (131: Frisco 26, Plano 105), Thumbtack 249 с текстом, Yelp 27 из 29. Все в одном файле с прямыми ссылками на Google.
- Фото: 160 файлов пронумерованы, Денис надиктовал все номера, город по месту съемки (координаты нигде не сохраняются).
- Дизайн: варианты A, B, C, B2, D, E, F, G показаны. Выбран F «Under the house» за основу. Собраны F, F2 (разрез из реальных фото), F3 (светлый).
Принятые решения
- Все 64 адреса остаются один к одному, ничего не объединяем на запуске.
- Страницы с позициями переносим с точечными правками: убрать tankless, запрещенные города, услуги, которых не делаем. Отрицания вроде «мы не делаем reroute» остаются.
- «North Dallas» только как «North Dallas suburbs». Highland Park и University Park можно называть как зону обслуживания, без страниц.
- Водонагреватели: /water-heaters/ ремонт и замена; /water-heater-repair-frisco-mckinney/ расширительный бак и T&P, McKinney второстепенно.
- Hose bib: без слов «faucet repair» в title и H1; «faucet repair» принадлежит странице смесителей.
- Подпись Дениса: «Denys Kavaler, Managing Partner and Licensed Plumber». Слова owner и owned не используем. PHCC нигде не упоминаем.
- Фраза про отзывы: «more than 450 five-star reviews across Google, Yelp and Thumbtack». «450+» только в ряду крупных цифр.
- Nextdoor только ссылкой в футере и в схеме, «Recommended on Nextdoor». Yelp: профиль fpp-plumbing-plano-2.
- Логотип не перерисовываем никогда: только оригинал и полностью белая версия тех же контуров. Все цвета сайта из логотипа, медь в схемах медного цвета.
- Город дежурного плумбера не показываем: «A licensed plumber is on duty 24/7».
- Соцсети и площадки иконками с живыми ссылками в футере и в блоке Дениса.
- Тексты «что сделать прямо сейчас» для четырех кнопок утверждены (source/approved-text-edits.md).
- Slab leak всегда пайка (brazing), никогда ProPress. Слайдер «до и после» на slab leak пока выключен.
- Умягчители Aquasana и коммерческие вызовы бывают редко: показываем на фото, отдельных страниц нет.
- Отзыв на Prosper: настоящее имя Savannah Park вместо «John Doe»; DMarcus Jones с настоящим текстом из Google.
Решено 1 октября: дизайн
- Берем F2 «Under the house, real photos»: темный сайт, первый экран это разрез дома из настоящих фото, точки ведут на страницы услуг, под ним блок «What is happening right now?».
- Шрифты облегчены: заголовки тоньше, крупные цифры тонкие.
- В блоке о Денисе его фото 112 (в форме, перекрывает воду на аварийном вызове).
- Плитки услуг на главной: лучшие фото по каждой услуге (118, 45, 89, 55, 43, 49, 155, 99, 141, 115, 101, 47).
- Slab leak: пометки маркером с фото 42 и 45 убраны, это уже готовая пайка; подписи исправлены.
- Ряд цифр: 4,500+ happy customers, 450+ отзывов, 24/7, 2 офиса. Плашка BBB официальная со ссылкой, под Thumbtack добавлен Yelp 5.0, Founded 2022, fully licensed and insured.
Решено 1 октября, поздно вечером
- Лицензия без имени, как на старом сайте: «Responsible Master Plumber, License M-44816» в футере, в блоке о Денисе и в ряду с плашками.
- Подвал (футер) переделан ровно: оригинальный логотип на белой плашке (белая версия не используется, ключ в ней теряется), оба офиса со ссылкой на свой профиль Google, часы, почта, ряд иконок отдельной строкой.
- Ряд с плашками: Google Plano и Frisco столбиком, Thumbtack и Yelp отдельными колонками, официальная плашка BBB со ссылкой.
- Главное фото slab leak: 42 (пайка). 65 уходит на leak detection и water lines.
- Плитка slab leak: фото 161, Денис с детектором утечек по полу, со старого сайта. Тепловизор 89 на плитке поиска утечек.
- Celina и Lewisville: пока фото фургона, Денис снимет на ближайших вызовах.
- Liane W. с суммой $700: берем дословно на leak detection.
- Yelp: два отзыва вне PDF пропускаем, 27 из 29 достаточно. Оба профиля Yelp остаются, сайт ссылается на «-2».
- Nextdoor: адрес пока остается, Денис напишет в поддержку. Thumbtack: описание Денис поправит сам.
- 4,500+ happy customers: официальная цифра для всего сайта.
- Старый gist удален.
1 октября, ночь
- Сделан короткий ролик со счетчиком: красная стрелка крутится сама (из видео 72, ускорено в 2 раза, серийный номер обрезан). Заменит фото 79 с кружком.
- Подобраны новые фото для плиток: slab leak 162 (кадр из видео 125, вода бьет из пинхола под плитой), emergency 112, водонагреватель 50.
- В работе у помощника: ровный разрез дома на главной, полоса с лицензией в новом порядке (Responsible Master Plumber, Google Plano и Frisco столбиком, Thumbtack и Yelp столбиком, Founded 2022 и fully licensed and insured, в конце плашка BBB), светлый подвал с красной полосой и оригинальным логотипом без плашки.
- Для продолжения работы: страница state.html (что где лежит, что в работе, что ждет решений).
1 октября, утро
- Кнопка Request Service как на старом сайте: вверху в шапке (на телефоне тоже) и в подвале. По нажатию открывается форма с теми же полями, что на старом сайте: имя, фамилия, телефон, email, адрес, «что случилось», кнопка Send. Email сделан необязательным, чтобы заявок было больше (если нужно обязательным, как раньше, скажите). На настоящем сайте заявка пойдет вам сразу через Cloudflare Worker.
- Подвал: варианты A и B не понравились. Новые: C (красная полоса «Need a plumber?» с кнопками, ниже синий) и D (фото нашего фургона с логотипом, рядом кнопки, ниже синий). Картинки: design/review/footer-option-c.png и footer-option-d.png.
- Отзывы на главной теперь настоящие (Google Frisco, Google Plano, Yelp, Thumbtack), текст дословно, со ссылкой на источник. На slab leak и emergency стоят отзывы из предложения по страницам. Это для вида, окончательный выбор после утверждения reviews-proposal.
- Счетчик крутится: вместо фото 79 с кружком стоит ролик (играет, когда виден на экране).
- Плитки услуг: slab leak 162, emergency 112, водонагреватель 50.
- Дом на первом экране перерисован как настоящий дом: кирпичный одноэтажный дом с улицы, крыша, гараж с водонагревателем, кухня, ванная, под полом плита с медными трубами, канализация к улице. 8 красных номеров простыми словами, каждый ведет на свою услугу; под рисунком 8 карточек с фото настоящих работ. Картинка: design/review/house-after.png. Скорость на телефоне 1.25 с.
1 октября, утро, после ответа Дениса
- Фургон в подвале не ставим. Подвал теперь вариант C: красная полоса с кнопкой Request Service, ниже синий.
- Рисованный дом похож на мультик, не годится. Делаем два варианта, чтобы выглядело дорого, под стать медному крану на фоне: (1) настоящее фото кирпичного дома (бесплатный сток, Денис разрешил скачать) с разрезом земли под ним; (2) подробный объемный 3D рисунок дома в разрезе.
- Точек на доме 16: счетчик и редуктор, главная труба, течь под плитой, поиск течей, водонагреватель, расширительный бак и клапан, уличный кран, кухонный смеситель, клапан душа, измельчитель, унитаз, засоры, канализация и ревизия, прорыв трубы 24/7, тест дренажа перед ремонтом фундамента, раковина в ванной. Страниц услуг 13, каждая точка ведет на свою.
- Ролик со счетчиком: город Plano (со слов Дениса).
- Умягчитель (Aquasana) на дом пока не ставим (Денис).
- Вариант с настоящим фото дома Денису не понравился («что-то не то вообще»), карточки с фото под домом тоже. Денис: ничего не списываем, нужно свое, дорогое, с эффектом «вау».
- В работе три новые идеи, Денис выбрал все три: (1) медная труба через всю страницу от крана на видео, с ответвлениями к услугам; (2) «рентген» дома: при прокрутке стены становятся прозрачными и загорается медная сеть труб; (3) инженерный чертеж дома тонкими линиями, который прорисовывается сам, потом трубы наполняются медным светом. Каждую покажем видеозаписью прокрутки. Параллельно заканчивается объемный 3D рисунок.
1 октября, ночь: готовы четыре варианта дома
- Медная труба через всю страницу: design/review/wow-pipe-desktop.mp4 и wow-pipe-phone.mp4.
- Рентген дома: design/review/wow-xray-desktop.mp4 и wow-xray-phone.mp4.
- Инженерный чертеж: design/review/wow-blueprint-desktop.mp4 и wow-blueprint-phone.mp4.
- Объемный 3D дом (картинка): design/review/house-3d-desktop.png и house-3d-phone.png.
- Макеты: f2-home-wow-pipe.html, f2-home-wow-xray.html, f2-home-wow-blueprint.html, f2-home-house-3d.html.
- Ждем выбора Дениса.
1 октября, утро: решения Дениса
- Выбрана медная труба: теперь это главная страница F2 (f2-home.html).
- Email в форме заявки обязательный, как на старом сайте.
- Фото 112 это фото Дениса для блока о нем, отдельный портрет не нужен.
1 октября, день: собираем сайт
- Шапка крупнее: логотип, меню и телефоны (по просьбе Дениса).
- Node.js поставлен в проект (Денис разрешил скачать Node, пакеты Astro и картинки со старого сайта).
- В работе три помощника: (1) отзывы по новым правилам Дениса, уровни Local Guide из профилей; (2) тексты всех 64 страниц со старого сайта с одобренными правками и журнал изменений по каждой странице, карта редиректов; (3) сайт на Astro в дизайне F2: шапка, подвал C, форма Request Service, главная с медной трубой, страницы услуг, городов, гайдов и постов, схема, sitemap, robots, llms.txt, noindex на каждой странице, проверки.
- Выкладка на тестовый адрес: нужен вход Дениса в Cloudflare (входы делает только Денис). Инструкция будет в docs/deploy-preview.md. Тестовый сайт закроем через Cloudflare Access: вход по коду, который приходит на почту Дениса, пароля нет, поэтому в журнал ничего секретного не пишем.
1 октября, день: отзывы переделаны
- Предложение по отзывам обновлено по решениям Дениса: страница reviews-proposal.html. Убраны отзывы с SEO-фразами, Javeed заменен на отзыв Google про поиск течи (Oksana Toporina), добавлены вторые отзывы на disposal (Madison h.) и на страницу ремонта водонагревателя (Stephan S). Повторы со старым сайтом проверены по тексту. Уровни Local Guide взяты из профилей, у всех 21 рецензентов Google они есть.
- На главной заменены два отзыва: Lori F. уже стоял на старом сайте (на Prosper), Ann Crawford писала «plumber near me». Теперь на главной: Vince Gunn (Google), Adam Lis (Google), Paul J. (Yelp), Sarah (Thumbtack).
1 октября, день: тексты 64 страниц готовы
- Все 64 страницы перенесены со старого сайта с правками: tankless, запрещенные города, reroute и hydro jetting как услуга, 4,500+, фраза про 450 отзывов, строка лицензии, подпись Дениса (33 места), North Dallas suburbs (23), длинные тире, обещания времени приезда (11), телефоны в тексте (6). Полный список по каждой странице: site/src/data/launch-changes.csv (645 строк).
- Редиректы старых адресов: 300 правил (вложения, рубрики, ленты).
- Cloudflare: Денис вошел, создан тестовый проект fppplumbing-preview, пока на нем заглушка. Ждем, когда Денис включит защиту кодом (Zero Trust, Access).
- Igor B.: «boiler» это водонагреватель (Денис подтвердил), отзыв остается на странице водонагревателей.
1 октября, день: тестовый сайт выложен
- Адрес: https://fppplumbing-preview.pages.dev (закрыт). Вход: открыть адрес, ввести почту request@fppplumbing.com, на эту почту придет код из 6 цифр, ввести его. Пароля нет, входить может только эта почта. Защита (Cloudflare Access) стоит и на главном адресе, и на служебных адресах каждой выкладки.
- На сайте все 64 адреса в дизайне F2: главная с медной трубой, блок «What is happening right now?», страницы услуг, 10 городов, гайды и посты, подвал C, форма Request Service (email обязательный; пока не отправляет, показывает «форма еще не подключена»), отзывы по новому предложению, иконки площадок, noindex на каждой странице, robots без запрета.
- Проверки пройдены: все 64 адреса открываются; 300 переадресаций старых адресов ведут на живые страницы; несуществующий адрес отдает «не найдено» (404); адрес без слеша на конце переводится на адрес со слешем; нет длинных тире вне отзывов; на каждой странице один H1, title, description, canonical, noindex и схема с одной организацией; FAQ в схеме совпадает с FAQ на странице; телефоны кликаются и ведут только на два номера; нет телефонов в тексте и обещаний времени приезда; нет запрещенных городов, PHCC и «Dallas» без «suburbs»; все внутренние ссылки и картинки на месте; robots.txt, sitemap.xml, llms.txt.
- Скорость на телефоне по нашей методике (норма 1,6 с): главная 1,31 с, slab leak 1,51 с, Frisco 1,53 с, пост 1,25 с.
- Не пройдено: tankless еще стоит в двух гайдах (раздел «Tank or Tankless» и раздел с ценами tankless в гайде о стоимости), ждет решения Дениса (вопрос 1 ниже). Схема проверена нашим скриптом (разбирается, одна организация, FAQ совпадает), но не прогнана через валидатор schema.org, это следующий шаг. Форма в Telegram, GA4 и учет звонков еще не подключены.
- Предупреждения: «Denton County» в одобренном тексте главной и на slab leak; повторы абзацев на slab leak, Allen, Celina; слово «owner» 6 раз (про хозяина дома, не про Дениса, проверю).
- Найдено и исправлено при выкладке: Cloudflare читал только первые 110 из 300 переадресаций (правило со звездочкой стояло вверху); не было страницы 404, и любой неверный адрес показывал главную.
1 октября, день: гайды не трогаем
- По решению Дениса гайды, которые хорошо ранжируются, стоят ровно как на старом сайте, без единой правки: цена замены водонагревателя, как перекрыть главный кран, клапан под раковиной (angle stop) и автоматический запорный клапан. Tankless в гайдах остается как было. Тестовый сайт обновлен, все проверки пройдены (27 из 27).
- Денис уточнил: заморожен гайд про клапан под раковиной (angle stop). Гайд про автоматический запорный клапан получает обычные правки запуска.
- Страница emergency: блок называется «Close the main shut-off valve». Главный кран это main shut-off valve, не «quarter turn valve» (Денис). Старая строка «A quarter turn stops the water» убрана везде.
1 октября: новое фото
- Фото 163 от Дениса: пайка (brazing) медной трубы в туннеле под плитой. Стоит на странице slab leak в разделе про туннель, рядом с готовым стыком (45), снято в Plano. Фото в этом разделе сделаны крупнее, на всю ширину текста. Тестовый сайт обновлен.
1 октября: текст главной для Дениса
- Весь текст главной страницы тестового сайта выгружен в exports/homepage-text.md (по порядку: шапка, страница, подвал) с правилами, которые текст должен соблюдать. Денис оптимизирует его в другом чате; новый текст потом проверю по правилам и поставлю.
1 октября: плагин superseo и SEO аудит
- Поставлен плагин superseo из оригинального маркетплейса inhouseseo/superseo-skills (только для этого проекта). Его выводы это предложения, CLAUDE.md и файл голоса Дениса главнее.
- Аудит E-E-A-T и аудит страницы для главной и slab leak по локальной сборке, сравнение с конкурентами по «plumber frisco tx» и «slab leak repair plano»: https://fpp-journal.pages.dev/seo-audit-2026-10-01-1356 . Тексты не менялись, только список находок; в конце 15 вопросов к Денису.
1 октября: плагин claude-seo
- Поставлен плагин claude-seo из оригинального маркетплейса AgriciDaniel/claude-seo (только для этого проекта). Внутри навыки, скрипты на Python и один локальный хук, который проверяет схему после правки файла. Модуль programmatic SEO не используется никогда (правило записано в CLAUDE.md). Выводы это предложения, CLAUDE.md и файл голоса главнее.
- В работе три аудита (только чтение, тексты не меняются): (1) старый живой сайт как точка отсчета; (2) локальное SEO: оба профиля Google, упоминания в каталогах, видимость на карте вокруг офисов; (3) техника и схема новой сборки через локальный сервер. Каждый выйдет отдельной страницей с датой и временем.
1 октября: Semrush Local, Map Rank Tracker
- Через API Semrush отчетов Map Rank Tracker нет: в 5 проектах FPP подключены только Position Tracking, Site Audit, Backlink Audit и похожие, а списки кампаний Position Tracking через API пустые. Подробно: source/semrush-local/README.md.
- Сайт Semrush во встроенном браузере не залогинен. Нужен вход Дениса (пароль вводит сам), тогда посмотрю Local и Map Rank Tracker и сохраню сетку в source/semrush-local.
1 октября: сетка на карте до переезда (Semrush Map Rank Tracker)
- Денис вошел в Semrush. В Map Rank Tracker две кампании, сетка 7x7 (49 точек): Frisco (последний замер 25 сентября, 4 слова) и Plano (29 сентября, 6 слов). Данные выгружены только на чтение, новые замеры не запускались, кредиты не тратились: source/semrush-local/.
- Plano: средняя позиция 8.01, доля видимости 8.48%; по «plumber near me» 6.49, в топ 3 в 21 точке из 49. Frisco: средняя 13.53, доля 4.17%; по «plumber near me» 14.18, в топ 3 в 6 точках, вне топ 20 в 17.
- У Frisco в Semrush 27 отзывов против сотен у соседей (Earl's 755, Genzel 1,231, Legacy 2,291): это главный разрыв на карте.
1 октября: три аудита плагином claude-seo готовы
- Старый живой сайт (точка отсчета): https://fpp-journal.pages.dev/seo-baseline-live-2026-10-01-1414
- Локальное SEO (профили Google, каталоги, карта): https://fpp-journal.pages.dev/seo-local-2026-10-01-1414
- Техника и схема новой сборки: https://fpp-journal.pages.dev/seo-build-technical-2026-10-01-1418
- Сразу исправлено (не текст): iCloud насоздавал копий файлов с « 2» в папке сборки; сборка пересобрана начисто, тестовый сайт перевыложен, добавлена проверка, которая не даст выложить такие копии.
- Главное по приоритету (список правок, тексты пока не трогаю): недостающие переадресации старых адресов с показами (/plumber-the-celina-tx/, адрес гайда с опечаткой, /news, ?attachment_id); 9 страниц услуг медленнее 1,6 с на телефоне (нужны маленькие фото первого экрана); на 29 страницах схема ссылается на Дениса, а самого Дениса в схеме нет; нет GTM/GA4 со старого сайта; фото HEIC в одном посте не показывается в Chrome; страницы Frisco и Plano ссылаются друг на друга.
- Локальное: в профиле Google Plano в зоне обслуживания стоят Irving, Addison, Coppell, Richardson, Fairview, Farmers Branch и Dallas, нет Celina и Carrollton; у Frisco зона не задана. Описание Plano устарело (4,000 и 400+). Yelp и Thumbtack: «$179 service minimum», Thumbtack «12 years in business» и «within the hour»; на Yelp Plano другой телефон. Yelp Frisco не заявлен. В профилях услуги, которых FPP не делает. Это правит Денис в своих кабинетах (или дает доступ).
1 октября: адреса с ошибками и переиндексация
- Денис: страницы, которые раньше были с ошибкой в адресе (/plumber-the-celina-tx/, гайд «cost-guid-2026», /news), давно переадресованы на правильные, Google их переиндексировал, все нормально. Данные Search Console это подтверждают: за 16 месяцев у /plumber-the-celina-tx/ было 10,668 показов, за последние 3 месяца только 482; у гайда с опечаткой 2,677 и 15; у /news 1,270 и 0. Тревоги в аудите старого сайта по этим адресам нет, это уже сделанная работа.
- Чтобы ее не потерять при переезде, в новой сборке сохранены те же переадресации 301, что стоят на старом сайте (4 правила). Без них эти старые адреса после переезда отдавали бы «не найдено». Тестовый сайт обновлен, проверки пройдены.
1 октября: проверка индексации (Search Console)
- Проверено через Search Console 81 адрес: https://fpp-journal.pages.dev/gsc-index-check-2026-10-01 . Адреса с ошибками в порядке: гайд с опечаткой Google сам склеил с правильным, /news выпал, правильные страницы в индексе. У /plumber-the-celina-tx/ старая отметка «Redirect error» с 27 июля, сейчас переадресация чистая, правильная Celina в индексе. 55 из 64 страниц в индексе, 8 коротких постов и гайд Google обошел, но не взял.
1 октября: проект перенесен из iCloud
- Проект перенесен с Рабочего стола (папка синхронизировалась с iCloud, iCloud делал копии файлов с « 2» и ломал git) в ~/Projects/fppplumbing-site. Перенос внутри одного диска: все 21,965 файлов на месте, история git та же, фото и source внутри проекта. Другие папки Рабочего стола не трогались.
- Две копии служебного файла git от iCloud убраны в резерв (не удалены). Пути в документах обновлены. Сайт собирается из новой папки, все 28 проверок пройдены, оба SEO плагина включены.
- Денису: в Claude Code выбрать папку ~/Projects/fppplumbing-site.
1 октября: кто пишет тексты
- Тексты пишет Claude, голосом Дениса, из его диктовок. Порядок для каждой страницы: (1) Денис надиктовывает 2 или 3 минуты по теме страницы, голосом, своими словами; (2) Claude пишет полный текст по voice/denys-voice.md и правилам CLAUDE.md; (3) проверки: правила, повторы со старым сайтом и конкурентами, два детектора ИИ; (4) текст на тестовом сайте, Денис читает и правит голосом; (5) «ок» Дениса.
- Тексты, которые Денис делает в другом чате, годятся как черновик и идеи: Claude прогоняет их через те же правила и голос.
- Первая страница: главная. Вопросы к Денису для диктовки записаны ниже.
- В голосовом файле поправлено: «managing partner», не «owner»; главный кран всегда «main shut-off valve».
1 октября: диктовка Дениса и главная v3
- Диктовка сохранена: source/dictation/2026-10-01-homepage.md. Факты внесены в CLAUDE.md: больше 9 лет в профессии, 4,5 года в Техасе; у Дениса лично journeyman, экзамен на мастера в ноябре; гарантия обычно от 6 месяцев до года, водонагреватели год, slab leak год, гарантия на то, что под нашим контролем (жир от готовки, предметы в унитазе, волосы, жесткая вода не покрываются); самый частый вызов сейчас: забитая линия под раковиной, куда врезан дренаж кондиционера, около 5 в день. Национальность клиентов на сайте никогда не называем.
- Главная v3 (v2 Дениса плюс диктовка): страница home-v3 с датой и временем. Убрано то, что нарушает правила (телефоны в тексте, слоган в описании), и то, что еще не подтверждено (вынесено в 11 вопросов в конце страницы). Добавлены блоки про вызов с дренажем кондиционера и про гарантию.
- Еще не сделано по правилам: проверка v3 двумя детекторами ИИ и сверка на повторы с конкурентами; сделаю перед установкой на тестовый сайт.
1 октября: ответы Дениса по главной
- Подтверждено: FPP зарегистрирована как сантехнический подрядчик во всех городах, которые обслуживает; получаем городские пермиты и проходим городские инспекции там, где это требуется; много вернувшихся довольных клиентов. Вписано в главную v3 и в CLAUDE.md. Формулировка про клиентов: «a lot of our calls come from people who already called us once» (не «most»).
1 октября: еще ответы Дениса по главной
- Два сантехника в каждой смене. Инвойс с описанием работы; крупные работы всегда фотографируем, сантехники носят очки с камерой, фото и видео по запросу. Водонагреватели: предпочтение Bradford White, также State (State Pro), A. O. Smith, Rheem. Есть партнер по восстановлению после воды (пока без названия). Много рефералов от постоянных клиентов. Русского и украинского нет: американская компания, на сайте этого быть не должно (из голосового файла убрано и упоминание Украины). Denton County оставляем. Самый частый вызов: дренаж кондиционера в линии раковины, бывает до 5 вызовов в день. Города не из списка: в пределах примерно 20 миль от Frisco или Plano (на сайте мили, не минуты, чтобы не читалось как время приезда).
- Все вписано в главную v3 (новые вопросы FAQ про водонагреватели, фото и отчет, восстановление) и в CLAUDE.md.
1 октября: главная v3, все вопросы закрыты
- Города не из списка: «about a twenty minute drive from our Frisco or Plano office» (решение Дениса; это описание района, не время приезда).
- Блок «What Rides on Every Truck» вернулся, только с тем, что назвал Денис: акустическое оборудование для поиска течей, тепловизор, тросовые машины, chain snake, ProPress (только над плитой, под плитой всегда пайка), фитинги и трубы.
- Партнер по восстановлению: «a restoration partner we trust», без названия и ссылки.
- Вопросов по тексту главной больше нет. Дальше: два детектора ИИ и проверка на совпадения с конкурентами, потом текст на тестовый сайт.
1 октября: правки Дениса по ProPress и восстановлению
- Никаких общих правил на сайте о том, где можно жать ProPress, а где нет: в разных городах по-разному (Денис). Из главной убрано «над плитой жмем, под плитой паяем» и «never crimped»; осталось «медь под плитой паяется и проверяется давлением». В CLAUDE.md правило смягчено так же.
- Восстановление после воды: клиент звонит или пишет нам; на аварию можем приехать сразу вместе с командой партнера по восстановлению. Партнер без названия и ссылки.
1 октября: финальная проверка главной v3
- Отчет: страница home-v3-check (ссылка с датой в ответе Денису). Правила: пройдено. С 19 страницами конкурентов совпадений ноль. Заключительный абзац совпадал с 6 городскими страницами: переписан. Добавлены «licensed plumber near me» и «closest plumber».
- Решение нужно: главная сейчас стоит выше страницы emergency по «emergency plumber» (место 10, 24,723 показа за 16 месяцев). Предложено на запуске оставить заголовок раздела с «24/7 Emergency Plumbing».
- Детекторы ИИ: GPTZero отметил как ИИ и главную, и настоящие отзывы клиентов, то есть не отличает. Нужно решение, как проверять «голос»: подсказка, английская диктовка Дениса для ключевых кусков или платный детектор.
- Новые инструменты для всех следующих страниц: tools/check_text.py (правила) и tools/check_overlap.py (совпадения).
1 октября: какой детектор ИИ годится
- Pangram прошел контроль (настоящие отзывы клиентов: «Human»), GPTZero не прошел (отзывы: «AI 100%»). Pangram признал первую половину главной v3 «AI Generated». Вывод и варианты: в отчете home-v3-check, раздел 5.
1 октября: английский Дениса прошел Pangram
- Денис сказал три куска главной по-английски сам (блок о себе, гарантия, вызов с кондиционером). Claude поправил только грамматику. Pangram: «Human Written». Эти куски стоят в главной v3 вместо текста Claude. Исходник: source/dictation/2026-10-01-homepage-en.md.
- Работаем так дальше: Claude дает русский текст, Денис говорит по-английски своими словами, Claude правит только грамматику и проверяет в Pangram.
1 октября: еще кусок английского Дениса
- Денис по-английски: про жир и тяжелую еду в disposal, «говорю заранее, чтобы вы не расстраивались». Поставлено в блок гарантии. Pangram на весь блок гарантии: «Human Written».
1 октября: кусок про старый чугун и влажные салфетки
- Денис по-английски: дом около 50 лет, чугунные трубы, ржавчина, кальций, жир и крутые повороты цепляют салфетки и дают новый засор; смывать только обычную туалетную бумагу. В блоке гарантии. Pangram: «Human Written». Бесплатных проверок Pangram осталось 3.
1 октября: блок гарантии собран, телефоны и приезд
- Денис надиктовал (частично по-английски, частично по-русски): многоканальный телефон (звонит у всех, кто первый увидел, тот ответил); время приезда (если есть окно, не ждете; работаем вокруг вашего расписания; настоящая авария получает приоритет); год гарантии на водонагреватели и slab leak; почему slab leak не под нашим контролем (фундамент и грунт двигаются, корни); что достаем из унитазов и из главной линии (термос, кружки, садовая лопатка); жесткая вода и картриджи, флаппер, клапан бачка; таблетки в бачок разъедают резину; давление выше 80 PSI и проверка раз в год.
- Блок гарантии в главной v3 собран из этого: английские куски Дениса как есть, остальное простыми словами по его фактам. Pangram на куски, написанные по его русским фактам (телефоны, приезд, унитазы, жесткая вода): «Human Written». Бесплатные проверки Pangram закончились.
- Факты внесены в CLAUDE.md.
1 октября: Pangram, пробный период и вся главная
- Денис завел Pangram Individual, 7 дней бесплатно, потом $20 в месяц (оплата помесячно). Напоминание об отмене стоит на 6 октября, 10:00; отменять только после «да» Дениса в тот день. Кредитов 2,974 (около 300 тысяч слов).
- Вся главная v3: 85% ИИ, 15% человек (блок гарантии Дениса). Дальше переводим голосом Дениса оставшиеся большие куски: «кто отвечает» и цена, «как проходит вызов», FAQ, грузовик.
1 октября, вечер: главная v3, складность и Pangram
- По замечанию Дениса («кто отвечает» был набором слов) главная перестроена по смыслу: кто отвечает; частый вызов с кондиционером; как проходит вызов (цена, приезд, пайка); гарантия по порядку (засоры, унитазы, slab leak, жесткая вода, давление); грузовик; районы; о Денисе; отзывы с цифрами; FAQ. Повторы убраны.
- Вывод по Pangram: когда Claude сглаживает текст своими словами, Pangram ставит 100% ИИ; фразы Дениса (с правкой только грамматики) проходят как человек. Правило работы дальше: порядок и логику делает Claude, фразы остаются Денисовы.
- Сделано по этому правилу: «кто отвечает» и блок про кондиционер снова словами Дениса. Не проверено в Pangram после последней правки.
- Дальше: проверить в Pangram «кто отвечает» и кондиционер; шаги «как проходит вызов» и ответы FAQ нужны английской диктовкой Дениса (или оставить как есть); решение Дениса по заголовку «24/7 Emergency Plumbing»; потом главная на тестовый сайт.
1 октября, вечер: Pangram и текст Claude «манерой Дениса»
- Проверено трижды: когда Claude пишет сам, даже манерой Дениса и по его фактам, Pangram ставит 100% ИИ; фразы Дениса с правкой только грамматики проходят как человек. Обойти этот детектор текстом Claude нельзя (у Pangram заявлена точность 99.8% именно на модели Claude).
- В главную возвращены варианты Дениса для «кто отвечает» и блока про кондиционер (они проходили как человек).
- Решение Дениса нужно: (1) основа каждой страницы: английская диктовка Дениса по разделам, Claude только выстраивает порядок и правит грамматику; или (2) Claude пишет сам, Pangram только для сведения; или (3) смешанно: главные живые блоки словами Дениса, служебные (шаги, FAQ, списки) пишет Claude.
1 октября, вечер: решение по тексту (вариант 3) и главная в работе
- Денис выбрал вариант 3: живые блоки (о Денисе, истории, гарантия, частые вызовы) словами Дениса и должны проходить Pangram как человек; служебные части (шаги, FAQ, списки) пишет Claude; оценка всей страницы только для сведения. Записано в CLAUDE.md.
- Проба через ChatGPT сделать текст «человеческим» не прошла (Pangram: 100% ИИ). В главной остались собственные варианты Дениса.
- В работе: главная v3 ставится на тестовый сайт (новые разделы, 13 плиток с симптомами, FAQ v3, отзывы с цифрами, гайды, заключительный абзац), текст берется прямо из source/home-text-v3.md.
1 октября, ночь: главная v4
- Задание Дениса на главную v4 выполнено. Текст: source/home-text-v4.md. Главная на тестовом сайте собрана прямо из этого файла.
- Денис прочитал первый вариант и забраковал три места: заголовок первого блока («Who Answers When You Search...»), блок про раковину с дренажом кондиционера и строку о команде («It's not only me»). Все три исправлены: первый блок теперь называется «A Local Plumbing Company With Licensed Plumbers on Every Call» и начинается с компании; блок про кондиционер убран с главной и сохранен для страницы drain cleaning; строка о команде: «The FPP team: licensed plumbers on the trucks, two on every shift, and a dispatcher on the phones.»
- Что еще в v4: раздела гарантии и сроков гарантии на главной нет (в FAQ старый ответ без цифр); раздел про вызов называется «24/7 Emergency Plumbing: How a Call Works»; в тексте стоят формулировки, по которым главную показывают в Google (emergency plumber, emergency plumbers, same day plumber, 24/7 plumber, licensed plumber near me, closest plumber); абзац про районы перестроен; в блоке о Денисе есть стаж (больше девяти лет, четыре с половиной в Техасе) и нет номера лицензии; FAQ 9 вопросов; на кнопках первого экрана снова номера.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, 1,872 слова, сайт 28 из 28, главная на телефоне 1.33 секунды.
- Повторный аудит superseo: доверие к странице (E-E-A-T) 25 из 40 стало 29 из 40; вся страница 43 из 70 стало 52 из 70. Подробно: страница home-v4-check-2026-10-01.html.
- Pangram не запущен: встроенный браузер вышел из аккаунта, войти может только Денис.
- Семь абзацев Дениса о гарантии и уходе перенесены слово в слово в source/dictation/2026-10-01-warranty-and-care.md с пометками страниц.
- Новые правила записаны в CLAUDE.md: Pangram только для сведения, один раз на страницу; живые блоки пишутся голосом Дениса по его диктовкам, не дословно; сроки гарантии нигде не публикуются, пока Денис не решит по каждой странице; заголовки на главной простые, без поисковых фраз, согнутых в вопрос.
1 октября, ночь: живая главная против новой
- Денис спросил, что новая главная выигрывает для SEO против живой. Сравнение с цифрами: страница home-live-vs-v4-2026-10-01.html.
- Коротко: текст сам по себе не поднимет «plumber near me» с 27 места, это решают карточки в Google Картах, отзывы и ссылки. Новая главная выигрывает скоростью (телефон грузит около 10 файлов вместо 93), чистотой (нет «за час», PHCC, чужих городов, мусорных заголовков) и точными словами в тексте («emergency plumber» на живой странице нет ни разу).
- Риски: «Same-Day» ушло из заголовков; «plumber near me» в тексте 3 раза вместо 7; страница Frisco слабая и должна забрать запросы Frisco у главной.
- Главная сейчас почти не дает кликов не по имени компании: за 3 месяца 59 кликов, из известных 41 клика 30 по запросу «fpp plumbing».
- Авторитет домена по Semrush: FPP 21, Trident 27, Berkeys 35, Baker Brothers 36.
- Что делать дальше, по силе: счетчики Google до переезда, форма, страница Frisco, карточки Google и отзывы во Frisco, ссылки с местных сайтов, после переезда проба title с «24/7 Emergency Plumber».
1 октября, ночь: с тем, что ранжируется, не рискуем
- Решение Дениса после сравнения с живой главной: вернуть в текст то, чем живая страница ранжируется. Сделано и выложено на тестовый сайт: «plumber near me» теперь 6 раз в тексте (на живой 7); «Same-Day» снова в заголовке раздела услуг («Same-Day Plumbing Services in Frisco, Plano & McKinney»), в описании для выдачи и в шаге 2; названия 13 услуг снова заголовки третьего уровня, как на живой странице; во вступлении к услугам есть «residential plumbing services».
- Правило записано в CLAUDE.md: прежде чем убрать заголовок или формулировку со страницы, которая ранжируется, сверяться с Search Console и живой страницей.
- Поправка к сравнению: Baker Brothers и Berkeys сравнивать с FPP неправильно. Среди местных компаний такого же размера FPP по авторитету домена в середине (Legacy 30, Trident 27, Lex's 22, FPP 21, Plano Plumbing TX 18, GPS 17, Watermark 9). Ссылки не слабое место.
- Счетчики Google на живом сайте: Google Tag Manager (GTM-NVSNS9FK) и метка Google Ads (AW-9807662480). На новой сборке их пока нет, перенесу с включением только в день переезда.
1 октября, ночь: усиливаем каждую страницу до переезда
- Решение Дениса: переезд это не только новый вид. Каждую страницу усиливаем так же, как главную, до переезда. Прежний план (страницы с позициями переезжают со старым текстом, переписываем после) отменен. Записано в CLAUDE.md.
- Правило безопасности (тоже Дениса): с тем, что уже ранжируется, не рискуем. Перед правкой страницы смотрим ее запросы в Search Console и живой текст; что держит показы и клики, остается.
- Три гайда по-прежнему не трогаем: перекрытие воды, кран под раковиной, цена водонагревателя.
- Цифры за 3 месяца: весь сайт 555 кликов, 12 страниц дали 515 из них, 32 страницы из 64 не дали ни одного клика.
- План по страницам с порядком и цифрами: pages-plan.html.
- Плагины с GitHub: в проекте стоят два (superseo и claude-seo). Ими сделаны аудиты главной, живого сайта, карточек Google и разметки. Для работы над страницами берем навыки superseo: сравнение с конкурентами по темам, вопросы для диктовки, аудит до и после.
2 октября, ночь: второе задание по главной
- «Plumber near me» в тексте 6 раз (Денис поправил задание: шесть, не пять): H1, заголовок блока о компании, заголовок районов, ответ FAQ про районы (новая первая фраза из задания), ответ FAQ про приезд («same day plumber near me»), последний абзац.
- Заголовок «Who Answers When You Search for a Plumber Near Me» из задания не возвращен: Денис забраковал эту формулировку тем же вечером. Фраза стоит в простом заголовке: «Local Plumber Near Me: A Licensed Plumbing Company With Two Offices». Ждет слова Дениса, если нужен именно старый вариант.
- «Same-Day»: заголовок раздела услуг «Same-Day Plumbing Services in Frisco, Plano & McKinney»; в шаге 2 «If we have time open, we come the same day, you don't wait.»; в ответе про приезд отдельной фразой «Most weekday calls are handled the same day.»
- Счетчики Google: Денис решил перенести позже. Что снято с живого сайта: Google tag GT-PJ4NVLSP (через него Google Analytics 4 G-CQV2CCXYQ8 и Google Ads AW-11391189401), метка Google Ads AW-9807662480, контейнер Tag Manager GTM-NVSNS9FK (пустой). Подмены номера для учета звонков на живом сайте нет, событий клика по телефону и отправки формы тоже нет. Заготовка для новой сборки лежит в проекте и не подключена.
- Порядок после главной: форма в Telegram, страница Frisco, карточки Google, ссылки. Title не трогаем.
- Тестовый сайт обновлен, 28 проверок из 28.
2 октября, утро: финальный пакет правок главной, главная закрыта
- Новый блок «From the Job» после «See the Work», перед отзывами: четыре настоящие истории. Порядок: раковина с дренажом кондиционера; ночной вызов, который мог быть утренним; забитая главная канализационная линия («One clog, the whole house», добавлена тем же утром); труба PEX, перегрызенная на чердаке. У истории про чердак стоит фото от Дениса (номер 164 в архиве). Для остальных трех подходящих фото в архиве нет, стоят без фото.
- В историях вместо «the owner» написано «the homeowner»: слово owner на сайте не используется. Время приезда («20 minutes») на сайт не пошло.
- Ответ «How quickly can a plumber arrive?» начинается с фразы из задания («a same-day plumber is the normal case for us, not a special promise»). «Plumber near me» в тексте 5 раз.
- Раздел гайдов: три карточки выбраны вручную (пост про двойную раковину с дренажом кондиционера, гайд про перекрытие главного крана, гайд про цену замены водонагревателя). Подписи новые, заголовки гайдов не менялись.
- Подтверждаю: в подвале 13 услуг, включая Expansion tank replacement. До этой правки их было 12, тринадцатую добавил.
- Подтверждаю: в блоке о Денисе стоит иконка LinkedIn (https://www.linkedin.com/in/denys-kavaler-504698310), и LinkedIn записан в sameAs у Дениса (в скрытой разметке, узел Person). Это личный профиль, поэтому в подвале и в разметке компании его нет.
- Счетчики Google: заготовка готова и не подключена. В плане переезда отдельной строкой: ставим в день переезда, до переключения nameservers.
- Фразы «like 90%, it will happen again» и «no way to prevent it» оставлены в запасе для страницы drain cleaning.
- В CLAUDE.md записано: блок «From the Job» обновляется из диктовок Дениса, старые истории переезжают на страницы услуг; главная закрыта.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, сайт 28 из 28, главная на телефоне 1.34 секунды. Текст 2,599 слов (верхняя граница из первого задания была 2,200, четыре истории ее превысили).
- Замечание: первая история отправляет на страницу drain cleaning «за подробностями», а на той странице про дренаж кондиционера пока ничего нет. Записано в план: дописать до переезда.
2 октября, утро: видео для страницы slab leak
- Денис прислал видео (номер 165 в архиве, снято 27 августа 2026): slab leak, вода выбивает из-под фундамента на улицу. Только начали копать яму под тоннель и уже видно, что труба прошла через фундамент без гильзы и из-под бетона бьет вода.
- Видео сохранено в архиве проекта со словами Дениса. На сайт пока не ставил: Денис сказал, что поставим позже, на страницу slab leak. Записано в план страниц.
2 октября, утро: вент-стояк в домике, smoke test, ответы Дениса
- В домике на главной появился вент-стояк: канализационная труба поднимается из-под плиты через ванную и чердак и выходит над крышей. Там стоит 17-я точка «Vent pipe: sewer smell, smoke test» в новой группе «Roof». Ведет на страницу sewer line repair; когда на той странице появится раздел про smoke test, ссылка пойдет прямо на него.
- Точка «Burst pipe, 24/7 emergency» теперь красная и мигает красным, когда на нее наводят (просьба Дениса). На телефоне, где наведения нет, она просто красная. У кого в системе выключена анимация, не мигает.
- Готовый раздел про smoke test для страницы sewer line лежит в source/dictation/2026-10-02-sewer-smoke-test.md, поставим при переписывании страницы.
- Search Console: по «sewer smell», «sewer gas» и «smoke test» у сайта нет показов ни у одной страницы (за 16 и за 3 месяца). Тема свободна: отдаем странице sewer line, гайд после переезда нужен (в США «sewer smell in house» ищут 1,900 раз в месяц, «sewer smell in bathroom» 2,900, конкуренция слабая).
- В план после переезда записан гайд под запрос «sewer smell in the house» с фото и видео теста от Дениса.
- Ответы Дениса: видео 165 (вода из-под фундамента) это Little Elm; фото 23 не с ночного вызова, во вторую историю не ставим; 2,600 слов на главной нормально, сокращать не надо, можно до 3,000. Перегрызенные трубы PEX: записан Allen, как расслышал в голосовом сообщении, Денис подтвердит или поправит.
- Проверки: 28 из 28, главная на телефоне 1.34 секунды. Тестовый сайт обновлен.
2 октября, утро: мигающая точка emergency, карточка гайда, пустота в окне
- Точка «Burst pipe, 24/7 emergency» в домике теперь мигает красным все время, а не только при наведении (просьба Дениса). У кого в системе выключена анимация, она красная и не мигает.
- В разделе «Guides From the Trucks» пост про двойную раковину заменен на гайд про кран под раковиной (решение Дениса). Причина в цифрах: у поста 50 показов и 0 кликов за 3 месяца, у гайда 66 кликов. Теперь три карточки это три гайда, которые приносят клики: кран под раковиной (66), перекрытие воды (104), цена водонагревателя (12).
- Город перегрызенных труб подтвержден: Allen.
- Пустота и незагруженные картинки, которые Денис увидел в окне встроенного браузера: это была локальная копия сайта, а я после своих снимков остановил ее сервер, поэтому картинки ниже по странице не могли загрузиться. Сервер включен снова, страница проверена в том же окне (ширина как у телефона): все картинки грузятся, пустых мест нет. На самом тестовом сайте этой проблемы не было. Дальше сервер локальной копии не выключаю, пока Денис смотрит.
2 октября, день: страница Frisco, версия 1
- Файл Дениса
frisco-text-v1.mdлежит вsource/. Страница /plumber-frisco-tx/ собрана по нему и стоит на тестовом сайте. Title, описание, H1 и семь разделов как в файле, жирные первые фразы стоят текстом, не заголовками. Было 986 слов, стало 1,688. - Полный текст, проверки и таблица запросов: отдельная страница журнала frisco-v1 (адрес с датой в ответе Денису).
- Против файла девять мелких правок, все перечислены на странице frisco-v1. Главные две: вернул фразу с «plumber near me» и ссылкой на главную, и добавил строку с тремя услугами (toilet repair, garbage disposal repair, water line repair). По Search Console эти две фразы закрывают 157 запросов страницы: 11,011 показов и 14 кликов из 73 за 16 месяцев.
- Остальные правки убирают повторы фраз с главной (разрешены только фраза про $49 и шаги вызова) и одну фразу, которую я не могу проверить («Reviews from Frisco addresses»).
- Фото: первый экран фото 2 (новый фургон у офиса, номер Frisco на борту, номерной знак закрыт размытием), у PRV фото 46, у водонагревателей фото 43, у уличного крана фото 101, в истории про закопанный PRV фото 47. Для истории про главную линию фото раскопа в архиве нет.
- Отзывы: в файле отзывов за Frisco закреплено четыре (со старой страницы). Отзыв с «best plumber near me» снят, на его место поставлен Tamer Sharkawy (профиль Frisco, март 2026, уличный кран). Уровни Local Guide всех четверых проверены по профилям в Google.
- Блок офиса теперь с картой Google. На первом экране одна кнопка «Call Frisco» с номером и «Request Service».
- Схема: офис Frisco с часами и точкой на карте, семь вопросов FAQ слово в слово, четыре отзыва, Денис.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, проверки сайта 28 из 28, скорость на телефоне 1.47 секунды.
- Pangram, по одному разу, для сведения (Денис вошел в аккаунт): страница Frisco «AI Generated», 100% (1,700 слов); главная v4 «AI», 100% (2,615 слов). Долг по главной закрыт. Текст под цифру не переписываем.
- Search Console: по главным запросам города главная стоит выше страницы Frisco («frisco plumber» 12.3 против 24.6, «plumber in frisco» 13.5 против 39.4 за 3 месяца). Новый текст закрывает 95% показов страницы. Подробности и одна таблица на 1,068 запросов на странице frisco-v1.
- Профиль офиса Frisco в Google ведет на эту страницу как на сайт, поэтому ее текст важен и для карты.
- В проекте появилась общая сборка для переписанных страниц (текст в
source/, сборка, сверка с Search Console, отчет страницей журнала). Следующие страницы пойдут быстрее. - Заодно исправлена шапка на очень узких экранах (уже 360 точек): кнопка «Request Service» больше не вылезает за край. Это было видно в узком окне встроенного браузера. На обычных телефонах шапка не менялась.
- Скриншоты страницы:
exports/frisco-v1-shots/(шесть кадров с компьютера, шесть с телефона).
2 октября, день: Frisco, правки по ответам Дениса
- Денис ответил на три вопроса: фургон снят у офиса Frisco; слово plumbing в два заголовка добавить; отзывы подобрать самому, с профиля Frisco, более релевантные, с ключевыми словами, про компанию, а не про Дениса по имени.
- Заголовки: «The Plumbing Calls We Get Most in Frisco» и «Our Plumbing Office in Frisco, TX».
- Фото 1 до 4 (фургон) записаны как снятые у офиса Frisco. В подписи к фото для Google на странице Frisco стоит «at our Frisco office on Westridge Boulevard».
- Отзывы на странице Frisco теперь: tony phuong (забитая главная линия в доме во Frisco), Rushi Nani («Great plumber in Frisco», картридж в душе), Tamer Sharkawy (уличный кран), Marina Sexton («this plumbing company»). Все четыре с профиля Frisco в Google, уровни Local Guide проверены по профилям.
- Kathryn Michelle и Vic Jones со страницы сняты. Rushi Nani переехал со страницы смесителей на Frisco, на странице смесителей его заменил Jimmy R (замена клапана в душе).
- Строка над отзывами: «Reviews left on our Frisco Google profile, word for word, with the links to the source.»
- В сообщение Дениса случайно попал кусок телефонного разговора с клиентом. Он нигде не сохранен и не использован.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, проверки сайта 28 из 28, скорость на телефоне 1.47 секунды. Тестовый сайт обновлен.
- Объем страницы 1,697 слов. Осталось пять вопросов к Денису, они на странице frisco-v1.
2 октября, день: Frisco, второй заход по ответам Дениса
- Строка над отзывами теперь словами Дениса: «Reviews from Frisco homeowners, word for word, with the links to the source.» Слов «Frisco profile» на странице нет.
- Денис разрешил один отзыв со словами «best plumber near me», более живой из двух. Поставлен Sergey Kravchenko: воскресная ночь, забитая главная линия, FPP Plumbing единственные ответили и приехали, камера, честно про цену. В Google его имя написано кириллицей, на сайте стоит латиницей, как делал старый сайт. Отзывы на странице: tony phuong, Rushi Nani, Sergey Kravchenko, Tamer Sharkawy. Marina Sexton со страницы снята.
- Камера и прочистка главной линии. Денис: бывает по-разному, зависит от степени засора. Иногда камера проходит сразу, иногда только после прочистки, потому что в забитой линии ничего не видно. Текст пункта про корни исправлен, правило в CLAUDE.md тоже.
- Фото 46 и 47 остаются у истории про закопанный PRV: Денис подтвердил, что это та работа.
- Вторая история (главная линия, раскоп у фундамента) получила картинки от Дениса: фото раскопа у стены дома (номер 166) и видео из ямы (номер 167). Из видео вырезаны пять секунд без звука, где из лопнувшего стыка льется вода и видны корни. Цвета исправлены (телефон снимал в HDR). Видео включается само, когда до него долистали, и не грузится раньше.
- Объем: Денис сказал, что жесткого правила 3,000 слов нет, это было про главную. Для страниц городов и услуг ориентир около 2,500 слов. В правилах исправлено. Сейчас на странице Frisco 1,735 слов, остальное Денис додиктует.
- Вопросов по странице Frisco больше нет, осталась диктовка по шести темам.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, проверки сайта 28 из 28, скорость на телефоне 1.47 секунды. Тестовый сайт обновлен.
2 октября, день: Frisco, диктовка Дениса и новые фото
- Денис надиктовал четыре темы для Frisco. Диктовка записана в
source/dictation/2026-10-02-frisco-additions.md, в текст вошли только факты из нее. - На странице три новых раздела: «Water Pressure in Frisco Homes: What the Gauge Shows» (80, 90 и до 105 PSI, ставим 70, и 30 PSI при забитом PRV), «Water Line Leaks in Frisco Start at the Valve Box» (утечки у PRV и второго запорного клапана, короба закопаны и в сырости, труба ржавеет до пинхолов), «Emergency Plumbing in Frisco: The Night Calls» (дренаж кондиционера в одиннадцать вечера, душ со сломанным картриджем, ребенок что-то смыл).
- В «From the Job in Frisco» третья история, «A week with the plunger»: неделю прочищали вантузом, на первом изгибе стояла губка от ершика, достали коротким pickup tool. Фото 169.
- Замечание Дениса по фото: история называется «The buried PRV», а показывала уже починенный клапан. Теперь под историей рядом «до» и «после» (фото 46 и 47). У пункта про PRV в списке стоит манометр на 30 PSI (фото 153). В разделе про valve box фото 44.
- Новые файлы в архиве: 168 (пинхол на медной трубе), 169 (губка на инструменте), 170 (видео из туалета), 171 (видео smoke test, Plano).
- Фото пинхола на страницу Frisco не поставлено: по месту съемки оно сделано в Plano. Пойдет на water lines и Plano, если Денис не скажет, что труба с работы во Frisco.
- Видео smoke test сохранено для страницы sewer line и гайда про запах канализации.
- Объем страницы Frisco: 2,267 слов, десять разделов. До ориентира около 2,500 осталось две темы: измельчители и пермит на водонагреватель.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, проверки сайта 28 из 28, скорость на телефоне 1.48 секунды. Новый текст закрывает 652 запроса страницы из Search Console. Тестовый сайт обновлен.
2 октября, день: Frisco, мелкая правка и новые вопросы
- Денис подтвердил: трос для унитаза шестифутовый. В истории «A week with the plunger» теперь «a six-foot toilet auger».
- Денис попросил задать еще вопросы, чтобы дописать страницу. Отправлены восемь коротких вопросов: измельчители, пермит и инспекция на водонагреватель, водонагреватели на чердаке, мороз, slab leak во Frisco, скрытые утечки в двухэтажных домах, счет за воду после утечки, backflow полива.
2 октября, день: Frisco, вторая диктовка
- Денис ответил голосом на вопросы. Диктовка дописана в
source/dictation/2026-10-02-frisco-additions.md(вторая часть). - На странице Frisco четыре новых раздела: пермит и инспекция на водонагреватель (на что смотрит инспектор Frisco, поддон, автоматический запорный клапан), гвоздь в стене гардероба (скрытая утечка в новых домах), что ломает мороз (линия в гараже, трубы в стенах), backflow на поливе (замена, тест, отчет в город). Плюс абзац про измельчители и четвертая история, про бак, который висел на трубе.
- Объем: 3,056 слов, четырнадцать разделов. Ориентир 2,500 пройден без воды, все из диктовки.
- Новые ссылки со страницы: гайд о сроке службы водонагревателей, пост со случаем из Frisco, гайд про автоматический клапан, пост про уличный кран после мороза.
- В правила записаны две подтвержденные услуги без своих страниц: backflow на системах полива (пермит, тест, отчет в город) и автоматические запорные клапаны.
- Фото 5 (замененный backflow, Frisco) стоит в разделе про backflow.
- Проверки: правила без нарушений, совпадений с конкурентами ноль, проверки сайта 28 из 28, скорость на телефоне 1.49 секунды. Новый текст закрывает 660 запросов страницы из Search Console. Тестовый сайт обновлен.
- Ждем от Дениса: фото бака на трубе; ответы про slab leak во Frisco и про счет за воду; город работы для фото пинхола.
2 октября, день: Frisco, видео с ночных вызовов и заметки на потом
- Денис прислал еще файлы. В архив записаны: 172 (кран течет и не закрывается), 173 (видео: водонагреватель лопнул на чердаке во Frisco), 174 (видео: ручка душа крутится, вода не перекрывается).
- Раздел «Emergency Plumbing in Frisco: The Night Calls» дополнен: водонагреватель на чердаке лопнул ночью, вода шла струей, поддон не спас. Под текстом рядом два видео по пять секунд без звука (174 и 173). Они грузятся и включаются только когда до них долистали.
- Объем страницы Frisco: 3,102 слова.
- Заметки Дениса для страницы водонагревателей (на потом): при замене того бака вентиляционная труба оказалась слишком низкой, был backdraft; отзыв Steve Fredrickson (Plano, водонагреватель, городская инспекция пройдена) подходит на эту страницу. Записано в
docs/pages-plan.mdи в диктовку. - Фото крана (172) оставлено для страницы hose bib, город не назван.
- Проверки сайта: 28 из 28, скорость на телефоне 1.49 секунды. Тестовый сайт обновлен.
2 октября, день: Frisco, бак на трубе и slab leak
- Денис объяснил историю с баком еще раз и прислал видео (номер 175). История переписана по его словам: пока бак с воздухом, труба PEX его держит; мяч внутри живет три до пяти лет; бак на два галлона налился водой и согнул трубу; бак заменили, новый закрепили по коду. Рядом с историей пять секунд видео.
- Slab leak во Frisco: за все время починили около десяти, это один из самых новых районов. Вписано в раздел про дома Frisco.
- Для страницы expansion tank записано на потом: мяч накачан примерно на 5 PSI выше давления в системе и берет на себя лишнее давление, когда бак греет воду.
- Объем страницы Frisco: 3,178 слов. На странице четыре коротких видео, все грузятся только когда до них долистали. Скорость на телефоне не изменилась.
- Проверки сайта: 28 из 28. Тестовый сайт обновлен.
2 октября, день: Frisco, замечания Дениса по крану и видео
- Текст про уличный кран был неверный, исправлен по словам Дениса: капать перед морозом оставляют краны в доме; уличный кран frost free и при правильной установке не должен замерзнуть и лопнуть, ему нужен только чехол. Исправлено в пункте списка и в ответе FAQ про мороз. Правило записано в CLAUDE.md, чтобы не повторить на других страницах.
- У пункта про уличные краны теперь стоит фото Дениса с текущим краном (номер 172). Денис хочет живое трехсекундное фото: пришел только кадр, нужна видео-часть.
- Видео на странице: у двух из них при быстром пролистывании появлялись кнопки плеера. Причина была в моем коде. Исправлено: все четыре видео просто крутятся по кругу, без кнопок, звука и полного экрана, нажать на них нельзя. Проверено в браузере прокруткой туда и обратно.
- Вопрос про отступ правого блока Денис снял сам.
- Проверки сайта: 28 из 28. Тестовый сайт обновлен. Объем страницы 3,235 слов.
2 октября, день: Frisco, видео с заклинившим краном
- Денис прислал короткое видео: другой уличный кран, заклинил, ручка крутится, а вода идет (номер 176, по месту съемки Frisco). Стоит у пункта про уличные краны, три секунды по кругу, без кнопок. Фото 172 осталось в архиве для страницы hose bib.
- Проверки сайта: 28 из 28. Тестовый сайт обновлен.
2 октября, день: Frisco, знак на асфальте, январская история и новые видео
- Фото фургона у офиса (номер 2, первый экран страницы Frisco): инвалидный знак на асфальте закрашен на всех веб-версиях (Денис: «закрась его»). Сделано в tools/optimize_photos.py (список PAINT_OVER): синий квадрат залит бетоном из тех же строк кадра, распил плиты, который шел под знаком, продолжен его же чистым отрезком, второй распил и конец белой полосы разметки в заливку не попали. Оригинал не тронут, номерной знак закрыт, как и раньше. Правило записано в CLAUDE.md.
- История «The main line that was more than roots» начинается теперь с января, как рассказал Денис: засор в мороз и снег, клинауты под снегом не нашли, сняли унитаз, трос и камера через фланец, труба забита корнями и лопнула, chain snake вытащил кучу корней, семья сохранила отчет и вызвала починить участок, когда собрала бюджет. Под историей четыре картинки в два ряда: экран камеры с корнями (новое видео 179) и корни через фланец на chain snake (видео 122 из архива, оказалось, та же работа), раскоп (166) и вода из лопнувшего стыка (167). Денис спрашивал, в тему ли это: в тему, это начало той же истории и показывает отчет как бумагу, которая остается у хозяина.
- Пункт про смесители дополнен спаутами (жесткая вода, кальций на дивертере, вода идет из спаута и из лейки сразу), рядом фото 177: картридж из Frisco в кальции (вторая фотография той же работы была в архиве как 60). Видео 180 со спаутом по месту съемки из Prosper: ждет страницу смесителей.
- Раздел про мороз получил фото 178: новая медь на линии к уличному крану в стене гаража. В подписи города нет, пока Денис не назовет (по месту съемки граница Frisco и The Colony, январь 2024).
- В архив на потом (Денис: «оставь себе»): видео 181 и 182, текущий Delta картридж во Frisco (редко, но бывает), для страницы смесителей; видео 183, 184, 185, полный overflow главной линии (ванна, унитаз, уличные клинауты), вне десяти городов, без города, для страниц дренажа и канализации.
- Страница пересобрана: 3,483 слова, проверки 28 из 28, совпадений с конкурентами ноль, выложена на тестовый сайт. Заметки для Дениса и текст страницы обновлены на странице журнала frisco-v1.
- Вопросы к Денису из этого блока: город фото 178 (гараж, линия к крану): Денис ответил вечером, Frisco, подпись дополнена; остальные прежние (видео 174, фото 168, счет за воду).
2 октября, день: Frisco, кеш картинок, замечания Дениса со страницы и пятнадцать файлов на потом
- Денис обновил страницу и увидел старый знак на асфальте: у картинок срок хранения 30 дней под тем же адресом (site/public/_headers), и браузер держал старую копию. Теперь сборка добавляет к адресу каждого фото, видео и логотипа отпечаток файла (tools/stamp_assets.py, шаг «npm run build»; проверки его игнорируют): замененный файл получает новый адрес, старая копия никому не показывается, долгий кеш остается, страницы сами по себе всегда свежие. Правило в CLAUDE.md.
- По замечаниям Дениса со страницы: пункт про PRV получил его новый случай (PRV лопнул в коробке во Frisco, откопали, заменили с запорным краном, выставили давление, прошли инспекцию) и пять секунд видео 199; раздел про давление показывает два манометра (83 и 153); пункт про корни получил фото 53 (без города: место съемки не записано); раздел про гвоздь рассказывает его случай в гараже во Frisco с фото 192 и 193. Его правило: где у раздела может быть настоящее фото, оно должно быть, в одном стиле по всей странице.
- Пятнадцать файлов от Дениса записаны в архив (186 до 200) с его словами и назначением: Plano, главная линия с тройником на кран (186, 187) и пинхол за водонагревателем в клозете, счетчик крутится (188, 189); унитаз, забитый бумагой, шестифутовый огер (190, 191, по месту съемки Allen); гвоздь в стене гаража во Frisco (192, 193, 194); McKinney, кран в laundry box, вздувшийся пол (195, 196); лопнувший PRV во Frisco (197, 198, 199); кейс с оборудованием для поиска утечек (200, вне десяти городов). Главная закрыта, поэтому кадр с оборудованием пойдет на страницу поиска утечек, куда ведет точка домика «finding a hidden leak». Факты в source/dictation/2026-10-02-frisco-additions.md, назначения в docs/pages-plan.md.
- Еще от Дениса: фото 201 (Frisco), раковина с линией кондиденсата кондиционера, как раз при прочистке. Стоит у пункта про раковину; черный шланг на веб-версии помечен стрелкой и подписью «AC condensate line» (MARK в tools/optimize_photos.py, цвет сайта, оригинал не тронут), как он просил, чтобы читатель понял, о какой линии речь.
- Денис: в разделе про давление одного манометра достаточно, оставить 30 PSI. Сделано, фото 83 вернулось в архив.
- Денис про пункт PRV: написано «лопнул», а на видео клапан течет в коробке; логика отказов PRV: забился и давление упало, перестал работать и давление подскочило (система в стрессе), или течет в коробке. Текст исправлен, подпись и имя файла клипа тоже (199-prv-leaking-in-box-frisco). Урок записан: в истории описывать ровно то, что видно на видео, и не усиливать слова Дениса.
- Фото офиса Plano от Дениса (202, 5700 Tennyson Pkwy, май 2025) со старым фургоном у края кадра. Денис просил вставить на его место новый фургон с Frisco «так, чтобы не было видно». Не сделано, и причина сказана ему: с моими средствами (без ретуши уровня Photoshop) фургон с другого ракурса и в другом свете будет выглядеть вклеенным, а поддельное фото на сайте, который держится на настоящих фото, вредит доверию. Вместо этого веб-версия 202 обрезана слева, старого фургона на ней нет, остается вход с табличкой 5700: годится для блока офиса на странице Plano. Настоящее фото нового фургона у офиса Plano Денис может снять за пять минут, когда будет там (CROP в tools/optimize_photos.py).
- Денис про структуру («перезабей, собери нормально»): абзац про измельчители выглядел хвостом пункта про смесители; короткие абзацы под фото стояли сиротами. Сделано: измельчители стали пунктом списка с жирным началом (лишняя фраза убрана), разделы про давление, коробку клапанов и список инспектора идут одним абзацем, мороз разбит на два ровных абзаца, ночные вызовы заканчиваются клипами. На компьютере фото в абзаце теперь плавает справа и следующий текст обтекает его (фото первым в разметке, .pic-row в site.css); на телефоне порядок прежний. Общее правило на все страницы: под фото не оставлять абзац в две строки.
- Денис просит адрес, по которому обычный чат Claude мог бы перепроверить страницу: тестовый сайт закрыт входом, поэтому это страница журнала frisco-v1 (полный текст страницы, ссылки, фото, таблица Search Console), постоянный адрес https://fpp-journal.pages.dev/frisco-v1.
- Денис переслал задание на структуру (из другого чата): четыре H2 без «услуга плюс город», разделы про инспекцию, коробку клапанов и гвоздь сокращены до того, что про Frisco, пункт PRV короче. Сделано; «Night Calls in Frisco» получил хвост «When It Is an Emergency», потому что страница показывается по семи запросам «emergency plumber frisco» (1,000 до 1,500 показов каждый). Все вырезанные предложения лежат в source/dictation/2026-10-02-frisco-reserve-for-service-pages.md для страниц водонагревателей, водопровода, поиска утечек и PRV.
- Отзыв: Sergey Kravchenko снят с Frisco (Денис: без «best» и «near me»). Поставлен Jan Shangle: сам пишет про дом во Frisco Lakes, конкретная работа (унитаз, прокладка под раковиной, расширительный бак пересобран и закреплен), не про Дениса по имени; оставлен на профиле Plano; Local Guide Level 4 проверен; в тексте есть фраза про комиссию 2.99% картой, показана без правок (правило 11), Денису сказано.
- Верстка «поплыла» (Денис): обтекание фото справа в узкой колонке рядом с боковой панелью сжимало текст до нескольких слов в строке. Отменено. Теперь фото стоит под своим абзацем на всех экранах, шириной 280 px, как одна картинка ряда; порядок в разметке прежний. Постеры клипов грузятся за 1500 px до появления. Правило: не плавающие фото в колонке с боковой панелью.
- Пункт 7 задания, видео: нажатие на клип открывает окно поверх страницы с полным видео Дениса (640 px, со звуком, плеер, крестик, Esc, нажатие мимо), полный файл грузится только при открытии; в углу клипа значок «Play video»; на каждый клип VideoObject в разметке (поле videos в front matter, tools/export_page_text.py, site/src/lib/schema.ts). Фоновые клипы без изменений. Полные видео восьми клипов: design/video/*-full.mp4, 16 МБ вместе. Правило в CLAUDE.md обновлено.
- Пункт 9: слов 3,454, 28 из 28, LCP на телефоне 1.50 с (утром 1.47), вес страницы при полной прокрутке 1.39 МБ плюс клипы 2.9 МБ, полные видео 16 МБ только по нажатию (tools/page_weight.py), совпадений с конкурентами 0, таблица Search Console пересчитана; скриншоты с телефона и компьютера отправлены Денису. Инвентарь фото по 64 адресам (tools/image_inventory.py, exports/image-inventory.md): 386 картинок, 53 без alt, 89 с номером вместо имени, 1 без размеров, og:image не 1200 x 630 на 63 страницах. Пункт 8 (имена файлов, alt и подписи, размеры, ленивая загрузка, sitemap с картинками, og:image на каждой странице) следующий блок, еще не начат.
- Скриншоты всей страницы (exports/frisco-v1-shots, снимаются с копии страницы, где клипы заменены обложками, а шапка и панель звонка не липнут: .tools/snap3, склейка PIL): первая партия была склеена с ошибкой и отправлена заново. Кнопка «Play video» на клипе увеличена до 44 px (проверка тапов).
- Денис про верстку (вечер): ему нравится, как было сначала: фото справа от текста, и если текст длиннее фото, он заходит под фото, буквой Г. Возвращено на широких экранах (от 1100 px): фото плавает справа, каждое следующее становится под предыдущим (clear:right, без этого они вставали рядом и сжимали текст, это и было «поплыло»), текст обтекает; на телефоне текст, под ним фото. Подпись «Video, N seconds» у клипов убрана (Денис: ни к селу ни к городу).
- Фото офиса Plano: Денис настаивает (своя машина, свой офис, не подделка, ехать в дождь перефотографировать незачем): новый фургон с фото 1 (Frisco, вид спереди справа, как стоял старый) вклеен поверх старого в photos/composites/202-plano-office-new-van.jpg (обводка вручную, баланс белого по кузову, тень, номер закрыт). Веб-версии 202 собираются из этого файла (COMPOSITE в tools/optimize_photos.py); оригинал в архиве не тронут, в подписи сказано, что фургон добавлен в кадр.
- Денис (около 18:50): фото опять уехали от своих пунктов (у крана стоял водонагреватель, у измельчителя картридж). Причина: при обтекании с clear:right фото выстраивались колонкой и отставали от текста. Исправлено: каждый абзац с фото теперь отдельный блок (display:flow-root), фото справа у своего абзаца, текст заходит под него, следующий пункт начинается ниже обоих; фото 200 px, клипы 170 px. Проверено на снимке ширины 1280: все шесть фото списка стоят у своих пунктов. Замечено: файл site.css между моими правками менялся кем-то еще (появилась версия с flow-root и :has(video), которой я не писал): похоже, в той же папке работает второй чат; Денису сказано, что две сессии в одной папке будут мешать друг другу.
- Денис (около 19:05), два замечания. Верстка: под коротким абзацем рядом с высоким фото оставалось пустое место (раздел про мороз). Теперь в разделах с одним фото следующий абзац поднимается к фото и заполняет место (буква Г на весь раздел), а пункт списка (абзац с жирным началом, класс pic-row item) остается отдельным блоком, чтобы фото не уезжало от своего пункта; фото 180 px, клипы 150 px. Проверено снимками на 1280 и 1440. Измельчители: переписано его словами (самая базовая модель застройщика, треть или полсилы, гарантия год, плохо справляется с тяжелыми отходами, застревает, забивается, через два три года останавливается или течет, не ремонтируется, а меняется; мы ставим Moen 3/4 л.с. с десятилетней гарантией производителя); фраза «как везде» убрана. Про «кто-то менял site.css»: Денис говорит, никого больше не было; значит, версию с flow-root я видел из своей же незаконченной правки, вопрос снят.
- Страница Frisco: 3,495 слов, проверки 28 из 28, выложена; заметки и текст на странице журнала frisco-v1.
2 октября, вечер: вёрстка медиа одним правилом и проверка главной и Frisco
- Сессия по заданию Дениса из другого чата: две задачи, вторая только после чистого скрипта первой. Полный отчёт на странице журнала check-2026-10-02-layout-seo. Тексты страниц не менялись.
- Вёрстка: обтекание и заплатки (float, clear, flow-root) заменены одним правилом «текст плюс медиа» (design/layout-rules.md): от 1024 px сетка, текст слева, медиа справа (треть контента, для пары и четвёрки половина), медиа у верха своего абзаца; до 1024 один столбец, медиа на всю ширину; каждое фото и клип в ячейке заданной формы (фото 3:4 или 4:3, клип 9:16, обрезка по ячейке, не выше 80% экрана); пары и четвёрки равными ячейками; подпись внутри ячейки одним стилем. Применено ко всем фото и клипам главной (истории «From the Job», галерея «See the Work» равными ячейками) и Frisco. Отступления от задания и почему: вертикальные фото 3:4, а не 9:16 (фото сняты 3:4, 9:16 резало бы четверть ширины и подпись на фото 201); пары в половину, а не треть (иначе ячейка 86 до 105 px); следующие абзацы раздела заходят в текстовую колонку (иначе пустота под коротким абзацем); блок Дениса и галерея остались по дизайну F2.
- Скрипт tools/check_layout.py: снимки обеих страниц на 390, 768, 1024, 1280 и 1440 (exports/layout-shots), проверка, что ни одна картинка не пересекает текст и не выходит за экран. Результат чистый на всех 10 проверках. Сводные снимки блоков отправлены Денису и лежат на странице журнала.
- Проверка главной и Frisco: факты против CLAUDE.md сходятся; H2 без «услуга плюс город» (на границе только «Sprinkler Backflow Preventers in Frisco…»); FAQ обеих страниц уникальны на сайте; «plumber near me» 5 раз в теле главной, 1 раз на Frisco; все ссылки ведут куда написано, 23 внешних адреса проверены; валидатор schema.org 0 ошибок и 0 предупреждений у обеих; 8 VideoObject на 8 клипов; клипы без кнопок, по нажатию окно с полным видео, кнопки звонка видны на всех ширинах; check_text чисто, совпадений с конкурентами 0; LCP на телефоне 1,34 и 1,51 с при пределе 1,6.
- Починено сразу, без правки текста: ссылки на Google-профили и YouTube без переадресаций; dateModified у главной; подпись у плеера полного видео; строка лицензии в разметке как в подвале; оба офиса с координатами и часами в разметке на каждой странице; имя последней крошки в разметке как на странице; reviewedBy на Дениса у страниц с его узлом; og:image:width и height; VideoObject для клипа счётчика на главной; H3 услуг с заглавной буквы в HTML; alt двух фото блока «What is happening right now?» из captions-en.csv; из srcset фото в тексте убран файл 1600 px; журнал отзывов нового сайта reviews/site-ledger.md (32 рецензента, повторов 0).
- Аудиты: superseo page-audit главная 52 из 70 (1 октября 43), Frisco 55 из 70 (планка slab leak 49); claude-seo seo-page главная 82 из 100, Frisco 86 из 100 (сравнимого числа за 1 октября нет).
- Решения Дениса (12 пунктов) и предложения чату для текста (16 пунктов) на странице отчёта. Главные: отзыв Paul J. с «in 20 minutes» на главной, фото для соцсетей главной, отзыв Jan Shangle с «2.99%», город фото 053, лента доверия под вступлением Frisco, H3 домика до первого H2, повтор фразы про пермит на двух страницах, номер лицензии в тексте Frisco, «second most common call» после PRV, «under twenty» против «under ten», предложение с тремя ссылками в разделе про разрешения.
- Тестовый сайт обновлён. Коммиты: 1157d0a (вёрстка), ec83c35 и 62965f3 (первая партия правок), вторая партия: коммит 422fdb5.
Решения Дениса на следующую обычную сессию (получены 1 октября, еще не сделаны)
- Отзыв Oksana Toporina снять и подобрать другой.
- Отзыв Ann Crawford можно поставить на страницу expansion tank.
- Отзыв Yulia B заменить (в тексте SEO-фраза).
- Reroute во всех трех местах оставить.
- Газовые водонагреватели делаем. Раздел «Gas Line Mistakes» оставить. «Gas line repair» как услугу не заявлять.
- Цены в гайдах оставить.
- Повторы на странице Allen и на slab leak убрать.
- /blog/author/admin/ оставить переадресацией.
- Map Rank Tracker: новые слова не добавлять до переезда.
Открытые вопросы к Денису
- Отменить пробный Pangram до 8 октября или оставить (напоминание 6 октября). Проверки главной и Frisco сделаны 2 октября.
- Страница Frisco: с какой работы фото пинхола на медной трубе (по месту съемки это Plano); пересчитывает ли город счет за воду после утечки; город для фото 172 (кран течет, граница Plano и Frisco).
- Главная v4: посмотреть на тестовом сайте и сказать, что еще режет глаз.
- Заголовок блока о компании: оставить «Local Plumber Near Me: A Licensed Plumbing Company With Two Offices» или вернуть «Who Answers When You Search for a Plumber Near Me», как в задании?
- Какой был третий плагин с GitHub? В проекте стоят два: superseo и claude-seo.
- Вернуть «Same-Day» и в H1? Сейчас: «Plumber Near Me in Frisco, Plano & McKinney: Licensed, Local, 24/7». На живой странице в H1 есть «Same-Day Plumbing». Вариант: «Plumber Near Me in Frisco, Plano & McKinney: Licensed, Local, Same-Day, 24/7».
- Идет ли сейчас реклама в Google Ads? На живом сайте стоит ее метка, от ответа зависит, как переносить учет звонков.
- На остальных страницах кнопки первого экрана пока без цифр («Call Frisco office»). Поставить номера и там?
- В блоке автора под гайдами и постами осталась строка «Responsible Master Plumber, License M-44816» под именем Дениса. Убрать ее там, как на главной?
- В файле llms.txt (факты о компании для ИИ-поисковиков) осталось «within about 20 miles of Frisco». Заменить на «about a twenty minute drive from our Frisco or Plano office»?
- Блок про раковину с дренажом кондиционера: поставить на страницу drain cleaning сейчас или вместе с углублением этой страницы?
- Картинка для соцсетей у главной сейчас логотип. Какое фото с работы поставить (нужен горизонтальный кадр)?
- Диктовка: номер личной лицензии и показывать ли; одна или две настоящие истории с объекта (для страниц услуг).
- Вопросы из трех аудитов claude-seo: в конце каждой страницы аудита.
- Вопросы из SEO аудита (15 штук): в конце страницы seo-audit-2026-10-01-1356. Часть закрыта главной v4 (стаж, описание для выдачи, абзац про районы, ссылки на гайды).
- Вопросы по отзывам на странице reviews-proposal.html, в конце (три из них закрыты решениями выше). 1. Утвердить предложение отзывов по страницам: страница reviews-proposal.html (полные тексты отзывов), сначала ее проверяет Claude. 4. Надиктовать: фото 13, 14, 21, 104, 131, 132, 149, 160; город для 8; пары 9/10 и 29/30; труба на 93/94; лицо на 112.
Журнал
- Журнал публикуется открытой страницей на Cloudflare Pages (проект fpp-journal), отдельно от сайта. Gist отменен.
Сделано 1 октября, вечер
- Английские подписи и alt для 150 фото и видео, раскладка по страницам: photos/captions-review.html (на проверку Денису).
- Готовые пары «до и после» для слайдера: 18/19, 31/32, 33/34, 35/36, 46/47, 57/58, 71/73, 98/99, 100/101, 106/108, 123/124, 137/138, 144/148, 151/152. На slab leak пары нет.
- В макетах исправлены фото по диктовке: главное фото slab leak теперь 65, кнопка «вода на полу» 47, участки F2: 51 и 158.
- Предложены отзывы для страниц услуг: reviews/proposed-placement.md.
- Журнал работает в двух местах, обновляется одновременно: https://fpp-journal.pages.dev и https://request-fpp.github.io/fpp-journal/ (открыт для всех роботов, в том числе для Claude). Обновляется сам после каждой публикации.
В работе сейчас
- Главная v4 и Frisco версия 1 на тестовом сайте с новой вёрсткой медиа (2 октября, вечер); ждут взгляда Дениса и его решений по странице отчёта check-2026-10-02-layout-seo.
- Форма заявки в Telegram (следующая по плану), страница Plano, карточки Google.
- Следующая обычная сессия: решения Дениса по отзывам, повторам на Allen и slab leak (список выше).