mirror of
https://github.com/Ku6epXBOCTuK/easy-png-tools.git
synced 2026-11-13 17:08:20 +00:00
docs: large update docs
This commit is contained in:
+25
-26
@@ -50,11 +50,10 @@
|
||||
клиенте (localStorage) — для SEO не учитываем.
|
||||
- **Прод-домен без `BASE_PATH`.** Сборка с базой (GitHub Pages `/repo/`) ломает
|
||||
абсолютные URL, canonical и «корневость» страниц. Свой домен + корень.
|
||||
- **URL-схема инструментов:** короткие плоские адреса. После C17 вынести
|
||||
страницы инструментов в корень: `/crop-png` (как у конкурента), каталог —
|
||||
`/tools`. Переезд `/preview/tools/[id]` → `/[id]` сделать **одновременно с
|
||||
C17** (в одном атомарном коммите): после индексации переименование URL = 301 и
|
||||
потеря позиций.
|
||||
- **URL-схема инструментов:** короткие плоские адреса. После C17 страницы
|
||||
инструментов находятся в корне на `/tools/[id]`, каталог — на `/list-tools`;
|
||||
текущую схему не менять без отдельного SEO-плана: после индексации
|
||||
переименование URL означает 301 и потерю позиций.
|
||||
- **Без GA и рекламных скриптов:** аналитика — self-hosted Plausible/Umami или
|
||||
Cloudflare Web Analytics. «No tracking» — часть позиционирования, её нельзя
|
||||
подрывать собственными скриптами.
|
||||
@@ -68,10 +67,10 @@
|
||||
- SvelteKit + `adapter-static`, `prerender = true` на весь сайт
|
||||
(`web/src/routes/+layout.ts`) — весь контент в статичном HTML, ботам не нужен
|
||||
JS. Это главный технический козырь.
|
||||
- 121 инструмент в `registry-new` с «SEO-шными» id (`crop-png`,
|
||||
- 122 инструмента в `web/src/lib/registry` с «SEO-шными» id (`crop-png`,
|
||||
`add-border-png`, …) — URL уже повторяют паттерн конкурента.
|
||||
- Уникальные `<title>` + `<meta description>` на страницах инструментов старой
|
||||
ветки; механика переносится на новую при C17.
|
||||
- На корневых страницах инструментов есть базовые `<title>` и `robots`; полный
|
||||
SEO-слой (canonical, OG, content и JSON-LD) остаётся S1/S2.
|
||||
- Каталог со ссылками на все инструменты (внутренняя перелинковка) и карта
|
||||
инструментов против конкурента: `docs/tools-map.md` (у них 311, из них 107 —
|
||||
нишевые клоны-серии Logo*/Icon*/Stamp* поверх обычных операций).
|
||||
@@ -79,17 +78,17 @@
|
||||
|
||||
Чего нет (пробелы закрываются этапами ниже):
|
||||
|
||||
| Пробел | Где сейчас | Этап |
|
||||
| ----------------------------------------------------- | ----------------------------------- | ------ |
|
||||
| `sitemap.xml` | нет | S1 |
|
||||
| `robots.txt` без `Sitemap:` | allow-all (`web/static/robots.txt`) | S1 |
|
||||
| `rel=canonical` | нет | S1 |
|
||||
| OG/Twitter-теги, OG-картинки | нет | S1 |
|
||||
| `noindex, nofollow` на страницах инструментов preview | `preview/tools/[id]/+page.svelte` | S1/C17 |
|
||||
| Контент страницы (H1-текст, how-to, FAQ, related) | только title/description | S2 |
|
||||
| JSON-LD (SoftwareApplication, FAQPage, Breadcrumb) | нет | S3 |
|
||||
| `llms.txt`, хабы категорий с текстом | нет | S3 |
|
||||
| GSC + приватная аналитика | нет | S4 |
|
||||
| Пробел | Где сейчас | Этап |
|
||||
| ----------------------------------------------------- | ---------------------------------------- | ---- |
|
||||
| `sitemap.xml` | нет | S1 |
|
||||
| `robots.txt` без `Sitemap:` | allow-all (`web/static/robots.txt`) | S1 |
|
||||
| `rel=canonical` | нет | S1 |
|
||||
| OG/Twitter-теги, OG-картинки | нет | S1 |
|
||||
| `noindex, nofollow` на страницах инструментов preview | `web/src/routes/tools/[id]/+page.svelte` | S1 |
|
||||
| Контент страницы (H1-текст, how-to, FAQ, related) | только title/description | S2 |
|
||||
| JSON-LD (SoftwareApplication, FAQPage, Breadcrumb) | нет | S3 |
|
||||
| `llms.txt`, хабы категорий с текстом | нет | S3 |
|
||||
| GSC + приватная аналитика | нет | S4 |
|
||||
|
||||
## 2. Конкурент (onlinepngtools.com)
|
||||
|
||||
@@ -111,7 +110,7 @@
|
||||
## 3. Стратегия
|
||||
|
||||
1. **Не лобовая, а ядро интентов.** 80% объёма поиска приносят ~30–50 запросов.
|
||||
Покрытие инструментов у нас почти полное (121); приоритет — контент и
|
||||
Покрытие инструментов у нас почти полное (122); приоритет — контент и
|
||||
качество страниц ядра, затем хвосты.
|
||||
2. **Страница = лендинг, а не «пустая коробка».** Шаблон контента: H1 → 1–2
|
||||
абзаца «что делает» → как использовать (шаги) → параметры → FAQ (3–5 вопросов
|
||||
@@ -163,10 +162,10 @@
|
||||
(`tools/[id]/+page.svelte`) — делается одновременно с S1d (canonical)
|
||||
чтобы Google сразу проиндексировал с правильным доменом.
|
||||
- [ ] **[S1b]** Скрипт `web/scripts/gen-sitemap.mjs`: генерирует `sitemap.xml` в
|
||||
`build/` из `TOOLS` реестра (`registry-new`) + статических страниц. Вызов
|
||||
из `pnpm build` после `vite build` (adapter-static пишет в `build/`,
|
||||
дописываем файл там же). Origin — из env (`PUBLIC_SITE_ORIGIN`), учёт
|
||||
опционального `BASE_PATH`.
|
||||
`build/` из `TOOLS` реестра (`web/src/lib/registry`) + статических
|
||||
страниц. Вызов из `pnpm build` после `vite build` (adapter-static пишет в
|
||||
`build/`, дописываем файл там же). Origin — из env (`PUBLIC_SITE_ORIGIN`),
|
||||
учёт опционального `BASE_PATH`.
|
||||
- [ ] **[S1c]** `robots.txt`: `Sitemap:` + закрыть служебные маршруты (`/kit` до
|
||||
C19; после — вернуть минимальный allow-all).
|
||||
- [ ] **[S1d]** Компонент `Seo.svelte` (kit): canonical (абсолютный URL по
|
||||
@@ -183,7 +182,7 @@
|
||||
- [ ] **[S2a]** Схема данных: `seo`-блок per-tool (`longDescription`,
|
||||
`howTo: string[]`, `faq: {q, a}[]`) — в i18n-словарях (ru/en), не в коде
|
||||
реестра. Черновики — генерацией из схемы параметров инструмента, вычитка
|
||||
вручную пачками по категориям (самый трудоёмкий этап: ~121 × 2 локали; RU
|
||||
вручную пачками по категориям (самый трудоёмкий этап: ~122 × 2 локали; RU
|
||||
— отложить до решения о `/ru/`).
|
||||
- [ ] **[S2b]** Компонент контента страницы инструмента (kit): H1, lead, how-to
|
||||
(`ol`), описание параметров (из схемы), FAQ, related tools (перелинковка
|
||||
@@ -239,7 +238,7 @@
|
||||
|
||||
## 5. Приоритизация инструментов (первая волна контента)
|
||||
|
||||
Источник — `docs/tools-map.md` (121 реализовано; у конкурента 311, из них 107 —
|
||||
Источник — `docs/tools-map.md` (122 реализовано; у конкурента 311, из них 107 —
|
||||
клоны-серии). Первая волна — топ-интенты, где конкуренты ранжируются, а у нас
|
||||
уже есть инструмент и он не хуже:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user