Commit Graph

15 Commits

Author SHA1 Message Date
110d971dca feat: migrate prod docs to OVH VPS + UTC→Warsaw timezone in all templates
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Production moved from on-prem VM 249 (10.22.68.249) to OVH VPS
(57.128.200.27, inpi-vps-waw01). Updated ALL documentation, slash
commands, memory files, architecture docs, and deploy procedures.

Added |local_time Jinja filter (UTC→Europe/Warsaw) and converted
155 .strftime() calls across 71 templates so timestamps display
in Polish timezone regardless of server timezone.

Also includes: created_by_id tracking, abort import fix, ICS
calendar fix for missing end times, Pros Poland data cleanup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 13:41:53 +02:00
9bb9085810 fix: remove broken now() call in domain expiry template
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Jinja2 doesn't have now() available - removed date comparison that
caused TypeError.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 06:15:42 +01:00
3690b4d77e feat: add performance metrics, category benchmarks, and WHOIS domain info
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Speed Index, Time to Interactive, Total Blocking Time from PageSpeed
- Benchmark table: company vs category avg vs all-members avg with arrows
- WHOIS via RDAP: domain registration, expiry, last change, registrar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 06:09:22 +01:00
04bbf5db18 fix: show OG image link on load failure + add no-referrer policy
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
When OG image fails to load (hotlink protection, CORS), shows
clickable URL instead of just "Obrazek niedostepny". Adds
referrerpolicy=no-referrer to bypass referer-based hotlink blocking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 06:02:24 +01:00
fc04604098 fix: guard all JSONB list fields against dict type in SEO detail
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Adds 'is not mapping' checks for gsc_top_queries, gsc_top_pages,
and gbp_search_keywords to prevent KeyError on slicing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:59:48 +01:00
d4046f4a65 fix: handle google_reviews_data as dict instead of list
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Adds mapping check before slicing to prevent KeyError when
google_reviews_data is a dict instead of a list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:57:10 +01:00
c079bb0f02 feat: improve audit stepper with simulated progress and persistent results
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- 7 granular steps instead of 4 (connect, pagespeed, onpage, technical,
  GSC, save, done) - steps advance on timers during API call
- Results stay visible until user clicks "Ukryj" or "Odswiez strone"
- No more auto-reload that hides results
- Error results also stay visible with hide button

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:54:25 +01:00
9fa364bfeb feat: replace custom progress with stepper + modals matching dashboard UX
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Uses vertical stepper with checkmarks (connect → analyze → save → done),
confirmation modal before audit, info modal for results. Matches the
pattern used in admin_seo_dashboard.html.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:50:35 +01:00
51cddebd1f feat: replace system alerts with progress bar for SEO audit
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Removes browser alert/confirm dialogs. Adds inline progress bar with
spinner, percentage, status messages and log entries. Auto-reloads
page after successful audit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:46:26 +01:00
89cb997487 feat: add remaining SEO audit fields - OG preview, meta keywords, diagnostics
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Adds: H3 count, hreflang, meta keywords, canonical URL, noindex reason,
Open Graph Facebook preview (image + title + description), portfolio,
live chat detection, Google website URL, Google business categories,
audit diagnostics section (source, version, errors).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:33:10 +01:00
4839ac251a feat: add hosting company details and server location via IP geolocation
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Uses ip-api.com to look up ISP name, organization, city, region,
country and AS number for the hosting IP address.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:15:49 +01:00
e38071c321 fix: parse Google opening hours JSONB for readable display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:14:34 +01:00
d7a96e9c37 feat: add remaining data sections to SEO detail view
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Google reviews with text and star ratings (top 5)
- Opening hours from Google Business Profile
- GBP search keywords (how people find this business in Maps)
- GSC top pages (most popular subpages in Google)
- Infrastructure: server IP, software, generator, frameworks,
  HTTP status code, last modification date

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:10:46 +01:00
8f96e82161 feat: add complete data sections to SEO detail view
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- Content & keywords: word count, content richness, H1 text, AI summary,
  detected services, keywords, structured data types, broken links
- CrUX real user metrics: LCP, FCP, INP, CLS, TTFB with thresholds
- Google Search Console: clicks, impressions, CTR, position, top queries
- GBP details: address, photos, posts, review response rate, Maps link
- GBP statistics: search/maps impressions, phone/web clicks, directions
- Technical extras: SSL expiry, redirect URL, hosting, site author

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 05:03:51 +01:00
b44722fd2c feat: add detailed SEO audit view per company with recommendations
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
- New /admin/seo/<id> detail page with full audit breakdown
- 4 score cards with visual rings and Polish descriptions
- Recommendations section: critical/warning/info issues with actionable text
- SEO checklist: meta tags, sitemap, robots, structured data, OG tags
- Technical details: SSL, mobile, CWV metrics, security headers
- Google Business Profile section when available
- Add "Szczegoly" button in company table (replaces profile link)
- Add visible column descriptions above table (not hidden tooltips)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 04:54:58 +01:00