Domain Intelligence Report — https://www.bshcpa.co.il/

Generated: 2026-05-12 | Pipeline: domain-intelligence skill (6 phases — sequential execution because this harness does not expose the Task spawn tool to the running agent) · Run ID: 20260512-160752 | Target: Ben Shoshan CPA (Amitai competitor — Phase 8 proof-of-integration)

Executive Summary

Ben Shoshan CPA is a mature, content-led, paid-acquisition-active Israeli CPA firm with three years of continuous Google Ads activity (21 live text creatives, advertiser ID AR16324670998420914177), exceptional schema.org / Yoast / llms.txt technical hygiene, and 16 years of market presence — but with a critical conversion-tracking gap that creates a measurable opening for Amitai.

Five key findings:

  1. 3-year continuous Google Ads campaign with ZERO conversion tracking back to the platform — no AW- tag, no GTM, no gtag('event', 'conversion'). The firm pays for clicks but cannot run Smart Bidding. This is the single highest-leverage competitive insight for Amitai positioning.
  2. Technical SEO is in the top quartile for Israeli SMBs — Yoast-generated llms.txt, AccountingService schema with 12+ Service offers, AI-bot Disallow via Cloudflare-managed robots.txt, HTTP/3 advertised, LiteSpeed origin cache + Cloudflare CDN.
  3. Positioning over-indexes on relocation + international taxation; under-indexes on equity-tax-for-engineers (RSU/ESPP/ESOP) — the schema lists "מיסוי עובדים בהייטק - RSU, ESPP, ESOP" as one of 12 services, but the home title/H1/meta lead with רילוקיישן / תושב חוזר / מיסוי בינלאומי. The equity-tax-for-engineers language is unclaimed in this competitive set.
  4. Social presence is modest and unsystematic — Facebook (593 followers, NOT_VERIFIED), an abandoned X profile (13 followers, 0 media, 2013), a personal LinkedIn for the owner (no Company page). LinkedIn is wide open.
  5. Privacy + accessibility compliance is above the Israeli SMB average — privacy policy (3,200 words) explicitly cites Section 11 and Amendment 13 of חוק הגנת הפרטיות; cookie banner present (notice-only, not GCMv2). Accessibility statement exists but doesn't explicitly cite IS 5568.

Quick Stats

Tracking Pixels
1 (GA4 G-SYZSQMJPH4 only)
Active ad campaigns (Google Ads)
21 text creatives since 2023-08-08, all still running
Active ad campaigns (Meta)
0 (page exists, no current ads)
Ecommerce Platform
N/A (professional services)
Security Score
~25/100 (HSTS / CSP / X-Frame / X-Content-Type / Referrer / Permissions all missing)
PageSpeed (Mobile)
DATA UNAVAILABLE — GOOGLE_API_KEY missing in environment
Schema Types
WebPage, WebSite, AccountingService (LocalBusiness), BreadcrumbList, ImageObject, PostalAddress, GeoCoordinates, OpeningHoursSpecification, OfferCatalog (12+ Service offers), ReadAction, SearchAction
Social Profiles
4 found (FB active, X abandoned, LinkedIn personal, listings on Duns100 + BDI)
Compliance Score
8.25 / 13 applicable ≈ 63%
Sitemap size
~454 URLs (369 posts + 26 pages + 59 testimonials)
Home word count
~2,450
Pillar post word count (sample /מס-יציאה/)
~4,760

Technical Health

Infrastructure: Cloudflare CDN + LiteSpeed Web Server + LiteSpeed Cache + PHP 8.4.20 + WordPress (Yoast SEO v26.2 + Elementor Pro + Cookie Notice plugin). HTTP/2 + HTTP/3 advertised. cf-cache-status: DYNAMIC + x-litespeed-cache: hit confirms edge-level caching is working.

Security headers are nearly all missing — Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, and the three Cross-Origin-* policies. X-Powered-By: PHP/8.4.20 and X-Turbo-Charged-By: LiteSpeed leak server software identifiers unnecessarily. All six security gaps are free to fix via Cloudflare Transform Rules or LiteSpeed Cache plugin presets (~15 minutes work).

Site files: /robots.txt is Cloudflare-managed and blocks the major AI training bots (GPTBot, ClaudeBot, CCBot, Google-Extended, Bytespider, Amazonbot, Applebot-Extended, meta-externalagent, CloudflareBrowserRenderingCrawler) while allowing search engines via the Content-Signal: search=yes,ai-train=no directive — the current Cloudflare-recommended stance for content-monetized sites. /llms.txt is Yoast-generated, 3.5 KB, current. /.well-known/security.txt returns 404 — minor gap.

SEO Analysis

Combined from Phase 02a (scan-derived) + Phase 02b (PageSpeed). Phase 02b was SKIPPED because GOOGLE_API_KEY is unavailable in /home/inbal/.env. No CWV lab/field data, no Lighthouse Performance/Accessibility/Best-Practices/SEO scores, no PageSpeed network cross-reference. Proxy signals (LiteSpeed cache hit, Cloudflare CDN, HTTP/3, 22 first-party scripts + 1 third-party) suggest performance is acceptable but cannot be confirmed without the API.

Score Card (scan-derived only)

Category Grade Note
Technical SEO B+ Strong baseline; gaps in security headers + hreflang
On-Page SEO A- 130 internal links, semantic Hebrew slugs, 1 H1, long-form pillar content
Structured Data A+ AccountingService + OfferCatalog (12 services) + full LocalBusiness fields = top quartile for IL SMBs
Tracking C GA4-only — no conversion events, no remarketing pixels
E-E-A-T A Named owner + 16 yrs + Duns100/BDI rankings + 59 testimonials + premium address
GEO Readiness A llms.txt + Yoast + AI-bot Disallow combo

On-page highlights

Hreflang gap

JSON-LD declares AccountingService.availableLanguage: [he, en] but no English website is published and no <link rel="alternate" hreflang> tags exist. This is an honesty mismatch — either publish an English version or prune the schema's en claim.

Marketing & Tracking

Pixel landscape (1 active, 6+ expected-but-missing)

Channel Status Notes
GA4 (gtag) G-SYZSQMJPH4 Sole tracking — loaded direct, no GTM
Google Tag Manager No GTM container — pixel changes need dev edits
Google Ads AW- conversion Critical gap — 3 yrs ads, no conversion attribution
Meta Pixel No fbq(), no domain verification meta
LinkedIn Insight Tag And no LinkedIn Company page to attach it to
Microsoft Bing UET
TikTok / Pinterest / X / Reddit / Snap
Hotjar / Clarity / FullStory No session-recording / heatmap tools
Maskyoo / CallApp / GotConnect / UpFlex Phone-swap test confirmed no server-side call-tracking

Meta / Facebook Ads activity

Conversion attribution gap (the headline finding)

The firm has three observable conversion actions on the site — (a) WhatsApp click wa.me/message/LBRR3WJYMIKII1, (b) phone click tel:036050606, (c) Elementor contact-form submit — and none of them fire any tracking event to GA4, Google Ads, or Meta. Smart Bidding is impossible. Lookalike-audience seeding is impossible. CPL optimization is impossible.

Company & Market Intelligence

Snapshot

Service portfolio (12+ named offerings from schema OfferCatalog)

International tax (lead): מיסוי בינלאומי, מיסוי רילוקיישן והגירה, תושבים חוזרים, תושבות מס, מס יציאה, מיסוי נדל"ן בחו"ל

Israeli tax: מיסוי ישראלי, מיסוי חברות, ייצוג מול רשויות המס, תכנון מס

Niches: מיסוי עובדים בהייטק (RSU, ESPP, ESOP), קריפטו, גילוי מרצון, מיסוי השקעות הון

Adjacent: מע"מ, ביטוח לאומי, מיסוי מקרקעין, ביטוח פנסיוני, שוק ההון, ייעוץ עסקי

Positioning verdict vs Amitai's equity-tax thesis

Ben Shoshan's positioning has three layers and they are not aligned:

  1. Headline (title/H1/meta): international tax + relocation + תושב חוזר
  2. Schema (formal claims): broad — 12 services including RSU/ESPP/ESOP, crypto, voluntary disclosure
  3. Content depth: relocation/international tax pillars dominate

RSU/ESPP/ESOP appears 7+2+1 = 10 times on the home page; relocation/תושב חוזר/בינלאומי appears 32+ times. The equity-tax-for-engineers language is structurally available but not claimed in the headline. Amitai's positioning ("ביטוח להייטקיסטים עם דגש על equity tax planning") is defensible.

Strategic recommendations for Amitai

  1. Claim the equity-tax-for-engineers language Ben Shoshan didn't claim
  2. Out-track Ben Shoshan: GA4 + Google Ads conversion + Meta Pixel + LinkedIn Insight from day 1
  3. Build the LinkedIn Company page Ben Shoshan never built; run Lead Gen Forms targeted at hi-tech employee filters
  4. Mirror Ben Shoshan's content depth selectively — 20 pillar posts (4,000+ words) on the highest-volume equity-tax queries
  5. Schema parity from launch — AccountingService with OfferCatalog focused tightly on equity-tax + relocation-tax-for-engineers (skip the broad VAT / National Insurance / Real Estate offerings to avoid dilution)
  6. Verified Facebook + Meta Business domain verification from day 1 (Ben Shoshan is NOT_VERIFIED)
  7. Surface CPA license + Institute of Certified Public Accountants in Israel membership on About page (Ben Shoshan does neither)

Social Intelligence

Platform Status Followers Notes
Facebook ✅ Active 593 (+84 check-ins) NOT_VERIFIED, no Meta Business domain verification, no current ads
X (Twitter) ⚠️ Abandoned 13 0 media, empty bio, created 2013-04-27, not linked from website (discovered via Apify's cross-link list)
LinkedIn (personal) ✅ Active (data unavailable — ScrapeCreators returned empty envelope) Linked from website, but /in/ (personal) not /company/
LinkedIn (Company page /company/bshcpa) ❌ Does not exist Confirmed by ScrapeCreators 404
Instagram Handle bshcpa returned 404 from ScrapeCreators API
YouTube Handle bshcpa returned 404
TikTok / Pinterest / Threads / Bluesky / Snapchat (not probed) No signal suggested presence; vertical doesn't typically use them

Cross-platform consistency: Strong — brand naming, address, and phone are consistent across website + Facebook + X.

Notable absence: No LinkedIn Company page. For a 16-year CPA firm serving hi-tech employees (LinkedIn's #1 IL demographic), this is the biggest discoverability gap.

Compliance Status

Pillar Status
Privacy policy ✅ 3,200 words; cites Section 11 + Amendment 13 of חוק הגנת הפרטיות; names GA4 + cookies 23×; above Israeli SMB average
Terms of Use ✅ Present (200 OK), not deep-audited
Cookie banner ✅ Present (Cookie Notice & Compliance WP plugin) — but notice-only, NOT consent-gating; GA4 fires regardless
Google Consent Mode v2 ❌ Not configured — EU-traffic exposure
Accessibility statement ✅ Present (200 OK, 1,233 words); cites WCAG + AA level
Israeli Standard 5568 explicit reference ⚠️ Not found in plain-text extraction (may be image-embedded — needs render-mode confirmation)
Pojo / Userway / EqualWeb toolbar ❌ None — relies on declared compliance only
CCPA N/A — Israeli firm, Israeli + diaspora audience
Capital Markets Authority disclosure N/A — firm is CPA (לשכת רואי החשבון regulated), not insurance / financial advisor
Refund / cancellation policy N/A — professional services
security.txt (RFC 9116) ❌ 404 at both standard locations

Compliance verdict: Above the Israeli SMB average. The privacy policy depth + Amendment 13 citation is a strong recency signal (most IL SMB privacy policies are stale). The two High-priority items are both about granular consent / GCMv2.

Priority Actions

Critical (fix immediately)

For Ben Shoshan's own ops (i.e. what Amitai should expect a savvy competitor to fix soon):

  1. Install Google Ads AW- conversion tag + configure conversion actions in Google Ads + connect GCMv2 — 3 years of unattributed Google Ads is the single biggest performance loss the firm is carrying. Fix in 1-2 days.

For Amitai's positioning play (NOT issues with Ben Shoshan — opportunities for Amitai):

  1. Claim equity-tax-for-engineers language in Amitai's positioning before competitors do. Ben Shoshan owns "international/relocation" — Amitai can own "RSU/ESPP/ESOP/equity tax planning for hi-tech" if it builds the headline + schema + 20 pillar posts within 6-9 months.

High (fix before campaign launch)

For Ben Shoshan:

  1. Add Meta Pixel + LinkedIn Insight Tag (will require a LinkedIn Company page first)
  2. Verify the Facebook page + add <meta name="facebook-domain-verification"> to website
  3. Enable security headers via Cloudflare (15-minute fix, +75 to security score)
  4. Configure granular cookie consent (GCMv2) to gate pixel firing — covers Israeli Internet Data Regulations 2002 + future EU exposure

For Amitai:

  1. Launch with GA4 + Google Ads AW- + Meta Pixel + LinkedIn Insight from day 1
  2. Pre-verify Meta Business domain
  3. Pre-create LinkedIn Company page + Insight Tag

Medium (optimize over time)

For Ben Shoshan:

  1. Either publish English-version pages OR prune en from JSON-LD availableLanguage
  2. Add Article schema to blog posts (currently only home has full schema)
  3. Add Person entity for Amnon Ben Shushan with jobTitle, worksFor, license info
  4. Add aggregateRating from the 59 indexed testimonials
  5. Surface email + CPA license number on the About page
  6. Cite Israeli Standard 5568 explicitly in the accessibility statement (if not already image-embedded)
  7. Publish a minimal security.txt

For Amitai:

  1. Schema parity from launch — AccountingService + tight OfferCatalog focused on the niche
  2. 20 pillar posts (4,000+ words) on the top-search-volume equity-tax queries within 6-9 months
  3. Verified Facebook + LinkedIn Company page from day 1

Data Sources


Run Telemetry & Meta-Improvement

Phase durations

01 · Scan
3m 35s
215s
— PageSpeed (parallel)
0s
02a · SEO scan-derived
5m 00s
300s
02b · SEO PageSpeed
0m 30s
30s
03 · Ads Audit
6m 30s
390s
04 · Compliance
5m 00s
300s
05 · Social Audit
13m 00s*
780s
06 · Research
9m 00s
540s
Final Assembly
6m 00s
360s
**Total wall time (sequential)**
**~38m 35s**
2315s
Service
Credits used
0s
curl (HTTP)
0
0s
ScrapeCreators
9 (FB search × 3 + Google Ads × 1 + Twitter × 1 + Instagram × 1 + YouTube × 1 + LinkedIn ×2 + balance check 0)
0s
Apify
1 dataset run (~$0.005 by typical pricing)
0s
Firecrawl
0
0s
PageSpeed API
0
0s
Perplexity
0
0s
WebSearch
0
0s
DuckDuckGo HTML
0
0s

Wall-time breakdown

Phase Started (UTC) Finished (UTC) Duration Retries Notes
01 · Scan 14:09:25 14:13:00 3m 35s 0 curl + python3; Firecrawl CLI unavailable so used curl fallback first-try
— PageSpeed (parallel) n/a n/a Skipped — GOOGLE_API_KEY missing
02a · SEO scan-derived 14:13:00 14:18:00 5m 00s 0 Reused Phase 01 scan + 3 extra URL fetches (privacy, a11y, sample post)
02b · SEO PageSpeed 14:18:00 14:18:30 0m 30s 0 Stub-only output due to missing key
03 · Ads Audit 14:18:30 14:25:00 6m 30s 0 ScrapeCreators Google Ads Library + FB Ad Library + Apify FB Pages
04 · Compliance 14:25:00 14:30:00 5m 00s 0 Used Phase 01 + 2 deeper URL fetches
05 · Social Audit 14:20:00 14:33:00 13m 00s* 0 *parallel-overlapped with Phase 03; Apify + 5 SC calls
06 · Research 14:33:00 14:42:00 9m 00s 0 DDG bot-blocked; structured synthesis from prior signals
Final Assembly 14:42:00 14:48:00 6m 00s 0 Skeleton-fill pattern; 7 section files → 1 final report
Total wall time (sequential) 14:09:25 14:48:00 ~38m 35s 0

Note on wall-time: this skill is documented as a "6 parallel phases" pipeline. In this run, because the harness does not expose the Task spawn tool to the agent, all phases ran sequentially in-process by the same agent. If Task spawn had been available, critical-path estimate is: Phase 01 (3.5m) → max(Phase 02a, 03, 04, 05, 06) (~13m for Social) + Phase 02b (skipped) → Assembly (6m) ≈ 22m 30s critical path. Actual sequential run = ~38m. Ceiling for parallelization savings: ~40%.

Critical path

Longest-running phase: Phase 05 · Social Audit at 13m (Apify sync run accounts for ~30s of this; the rest is sequencing 5 ScrapeCreators platform probes).

Critical path chain (if parallelized): Phase 01 → Phase 05 → Assembly = ~22.5m

Proposed improvements (awaiting human review in PROPOSED.md)

_Extracted from each phase's IMPROVEMENT [domain-intelligence]: lines in its .meta.md sidecar. None auto-applied._

  1. Phase 01 — Add explicit "curl-only fallback" workflow block at the top of phases/01-scan.md so subagents don't waste time trying a missing Firecrawl CLI
  2. Phase 01 — Add short-circuit rule to sitemap-locations.md: stop after first successful 200 (avoid 3× WP-sitemap redundancy)
  3. Phase 01 — Add Cookie Notice & Compliance WP plugin signature to compliance-checklist.md
  4. Phase 02a — Add "sample N interior URLs" sub-step (default N=5 random from /post-sitemap.xml) so on-page audit isn't 100% home-skewed
  5. Phase 02a — Add Elementor "H5 noise check" — flag only if H5 > 2× H3
  6. Phase 02a — Add cross-check between JSON-LD availableLanguage and hreflang annotations
  7. Phase 02b — Add precheck at top: if GOOGLE_API_KEY absent, emit SKIPPED stub immediately
  8. Phase 02b — Document public CrUX endpoint as no-key field-data fallback
  9. Phase 03 — Make Google Ads Transparency Library a MANDATORY step (?domain= lookup)
  10. Phase 03 — Add explicit rule: "if Google Ads found but no AW- on landing page → flag CRITICAL"
  11. Phase 04 — For RTL sites, search for both 5568 digits AND תקן ישראלי AND ת"י patterns (catch image-embedded text)
  12. Phase 04 — Add CPA-firm subcategory to compliance-checklist.md Israeli industry-specific section
  13. Phase 05 — Make Apify Facebook Pages Scraper the FIRST step (cross-link discovery)
  14. Phase 05 — Add explicit "abandoned profile" criteria (0 media + ≤20 followers + empty bio)
  15. Phase 06 — Mark brand-mention dimension as REQUIRES PERPLEXITY_API_KEY; exit cleanly when absent (DDG fallback doesn't work)
  16. Phase 06 — Add directory-listing slug-discovery workflow when JSON-LD sameAs contains directory URLs

Parallelization analysis

API / credit usage

Service Calls Failures Credits used
curl (HTTP) ~25 1 (security.txt 404 expected) 0
ScrapeCreators 11 2 (FB company-ads endpoint param bug, LinkedIn personal empty envelope) 9 (FB search × 3 + Google Ads × 1 + Twitter × 1 + Instagram × 1 + YouTube × 1 + LinkedIn ×2 + balance check 0)
Apify 1 run 0 1 dataset run (~$0.005 by typical pricing)
Firecrawl 0 (CLI unavailable in environment) 0
PageSpeed API 0 (key unavailable) 0
Perplexity 0 (key unavailable) 0
WebSearch 0 (tool unavailable to this agent) 0
DuckDuckGo HTML 1 1 (bot-blocked, only landing returned) 0

Reporting contract compliance

Next-run recommendations (orchestrator-level observations)

  1. Front-load env-var precheck. Step 0 should validate GOOGLE_API_KEY, PERPLEXITY_API_KEY upfront and short-circuit any phase that strictly requires them, instead of letting each phase rediscover the gap mid-flight. Two phases in this run (01 PageSpeed step + 02b) hit the same missing GOOGLE_API_KEY independently.
  1. Document harness limitations explicitly. This skill assumes Task spawn is available. In harnesses where it isn't, the agent must execute phases sequentially — wall-time ~doubles. The SKILL.md should state this caveat at the top so users can decide whether to invoke the skill in such a harness.
  1. Move env-var configuration to a documented "skill bootstrap" file. Inbal's /home/inbal/.env is missing GOOGLE_API_KEY and PERPLEXITY_API_KEY. Per MEMORY.md these are nice-to-haves for the user but they degrade two whole phases. Worth surfacing as a one-time "before first run, do this" checklist.
  1. The "scrape once, analyze many" promise is mostly intact even in sequential execution because all specialist phases read from the Phase 01 scan files. Only Phases 02b, 03, 05, 06 needed fresh external API calls. Phases 02a and 04 were 100% derived from Phase 01 + 2-3 incremental URL fetches.
  1. The Run Telemetry section adds ~6 minutes to assembly (vs ~2 minutes for the report body alone). Worth it because it's the meta-improvement substrate, but worth a future refactor where the orchestrator harvests .meta.md files via a script rather than inline rewrite.

Run metadata