- Add WRNexus push SDK (is:inline) to BaseLayout <head> so it loads on
every page that should collect subscribers (api.wrnexus.com/push/sdk.js)
- Add "Enable notifications" subscribe button in the footer wired via
addEventListener to window.WRNexusPush.subscribe()
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Repo robots.txt already matched the deployed file (verified via diff
against https://workroot.in/robots.txt). Added commonly-cited AI agents
that were still missing, each with Allow: /:
- OpenAI: OAI-SearchBot
- Anthropic: ClaudeBot, Claude-SearchBot, Claude-User
- Perplexity: Perplexity-User
- Meta: Meta-ExternalAgent / meta-externalagent
- Apple: Applebot, Applebot-Extended
- Amazon: Amazonbot
- ByteDance: Bytespider
- Cohere: cohere-ai
- DuckDuckGo: DuckAssistBot
- You.com: YouBot
- Diffbot
Disallow list unchanged (/admin/, /private/, /_astro/) so no content
directory needed for citation is blocked. Sitemap line preserved.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reconcile inconsistent company facts to the canonical set (single
source of truth):
- Structured-data Organization/LocalBusiness/publisher/provider names
now use the legal entity name "WorkRoot IT Solutions LLP"
(SEO.astro, utils/seo.ts) for NAP consistency. Brand short forms
("WorkRoot", "WorkRoot IT Solutions") retained only as display brand
and alternateName.
- Headline government-reach proof figure unified to "11+ districts"
across all company-level proof bands and marketing/SEO copy
(ProofNumbers, /about, /portfolio, homepage, /services, SEO desc).
Specific Bihar Police Management System case studies / service-page
stat tiles keep the factual "11 districts" — documented rationale.
- Verified phone (+91 9561417403), email (admin@workroot.in),
founded (2022), 20+ projects, 50,000+ records, 99.9% uptime and
IIT Patna partnership are consistent site-wide.
Added .agent/scratch/FACTS-CANONICAL.md as the single source of truth
plus an off-site checklist (LinkedIn, Clutch, GoodFirms, Crunchbase,
GeM) to keep external listings identical. Build passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add an LLM-citable "WorkRoot at a glance" section to the homepage with 7
standalone factual sentences that each bundle the company name + a concrete
claim + a number (founded 2022, 20+ projects, 11 districts, 50,000+ records,
99.9% uptime, IIT Patna partnership, GeM empanelment, 15,000+ officers, 8+
years), so each line stays accurate when quoted out of context.
- New companyFacts list + "Custom software vs off-the-shelf ERP" comparison
table in src/pages/index.astro (reuses the table pattern from the custom-ERP
service page; final row carries the canonical 11-districts / 99.9% proof).
- Rewrite vague HomepageFaq answers into definitive, self-contained one-
paragraph answers; visible text still drives the single FAQPage JSON-LD.
- Normalize stray "11+ districts" in the services array to the canonical
"11 districts" for exact sitewide numerical consistency.
Verified: build passes; rendered homepage shows all 7 facts, the comparison
table, definitive FAQ answers, exactly one FAQPage JSON-LD, and no "11+".
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add two long-form (1,200+ word) blog posts targeting buyer search
questions, with valid content-collection frontmatter, comparison
tables, India-specific rupee figures, and definitive FAQ blocks:
- how-much-custom-erp-cost-india-2026.md (hero: erp-systems.jpg)
- gem-empanelment-process-software-vendors.md (hero: govt-systems.jpg)
Both use category "Web Development" (valid enum), author "Ajay", and
reuse existing hero images. Verified: astro build passes schema
validation and both render at /blog/<slug> with working hero images
and appear in the blog index.
Also record the 1-2 posts/month editorial cadence in
.agent/scratch/SEO-NOTES.md.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add five SEO landing pages under /services that reuse existing section
components (GuaranteeBand, InlineLeadForm) and a new prop-driven ServiceFaq:
- /services/custom-erp-development
- /services/university-erp
- /services/government-it-solutions-gem-vendor
- /services/police-management-system
- /services/react-native-app-development
Each page has 1,000+ words of specific copy, a real portfolio-backed case
study (IIT Patna, PSCL Bihar, Police MS, Pophealth), a comparison table /
stat block, a page-specific FAQ that feeds the FAQPage schema, and a CTA into
the existing inline lead form (/api/contact). Service + FAQ + BreadcrumbList
schema are passed into SEO.astro; the visible FAQ accordion does not duplicate
the JSON-LD. All company stats match the canonical site-wide set.
Wire the pages into navigation: deep-dive links from the /services detail
sections, a new "Solutions" group on the HTML sitemap, and entries in both the
dynamic sitemap.xml.ts and the served static public/sitemap.xml.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Move the base Organization + LocalBusiness and WebSite structured data out of
BaseLayout's inline scripts into SEO.astro behind a new `base` prop, rendered
once from BaseLayout's <head> so every route (incl. pages without a
page-specific <SEO>) carries the canonical company schema exactly once.
- Organization/LocalBusiness now includes aggregateRating + Review nodes built
from the three real homepage testimonials (Ajay Pruthi, Dhirendra Singh,
Dilip Raj — all 5-star, reviewCount 3, rating 5.0).
- foundingDate 2022, telephone +91-9561417403, email admin@workroot.in,
areaServed Bihar (AdministrativeArea) + India (Country).
- Description keeps the canonical proof numbers identical to the site:
20+ projects, 11 districts, 50,000+ records, 99.9% uptime.
- Reusable Service node now links provider via @id to #organization and
serves Bihar/India; page-specific schema (Service/FAQ/WebPage/...) stays
opt-in and is gated off the base instance to prevent duplication.
- Homepage still emits a single FAQPage (from HomepageFaq) — no duplicate.
- Add jsdom devDependency required by scripts/validate-schema.js.
Verified: build succeeds; scripts/validate-schema.js passes (24 schemas, 0
issues, 0 warnings); rendered ld+json inspected on homepage, services, and
schema-less pages (privacy/terms/cookies/404).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Surface the existing, already-published Government IT credibility signals
on the homepage service card — 11+ districts live, 99.9% uptime, and GeM
empanelment (all already stated on /services and in the homepage FAQ) —
so the card matches the depth of the per-service quote CTA beside it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rework the homepage InlineLeadForm from a single combined "email or phone"
contact field to an explicit 5-field layout — name, email (type=email),
phone (type=tel), project type and an optional message — so each field gets
the correct mobile keyboard and leads carry a real email + phone separately.
- Required fields kept to name + email + project type for a low-friction
mobile flow; phone and message are optional.
- Email uses type=email + inputmode=email; phone uses type=tel + inputmode=tel
for the numeric keypad. Message is an optional textarea; when blank the
client synthesizes a >=10 char summary so the /api/contact validator passes.
- Still posts to the same /api/contact endpoint tagged source=homepage-inline,
delivering leads exactly the same way the /contact page does (no page nav).
- Update inline-lead-form.spec.ts to the new field set and keyboards.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reorder the shared navLinks array so 'WRNexus' renders as the second
item (right after Home) in both the desktop menubar and the mobile menu
panel. The mobile menu panel already includes a top-right cross close
icon (#mobile-menu-close, aria-label="Close menu") wired to closeMenu().
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restructure the homepage hero from a single centered block into a
responsive two-column grid: left column holds the left-aligned
headline, subtext, CTAs, click-to-call and trust line; right column
holds the framed product dashboard preview.
- Replace `max-w-5xl mx-auto text-center` with
`grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-center`.
- Scale headline down from text-5xl/8xl to a responsive
text-4xl md:text-5xl lg:text-6xl so it no longer overflows.
- Left-align CTAs/links on desktop (justify-start, lg:text-left)
while keeping centered stacking on mobile (grid-cols-1).
- Swap section min-h-screen for lg:min-h-[85vh] and py-24 lg:py-32
so the hero fits the viewport instead of dominating it.
- Preserve existing background gradient and decorative blur elements,
consistent with the about/portfolio heroes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a top-level "WRNexus" navigation item linking to https://wrnexus.com/
that opens in a new tab. Implemented via the data-driven navLinks array
with an `external` flag; desktop and mobile renderers apply
target="_blank" and rel="noopener noreferrer" and skip prefetch/active-state
for external links.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Generate crisp icon set from WorkRoot SVG: favicon.ico (16/32/48),
favicon-32x32.png, apple-touch-icon.png (180), logo.png (512),
and PWA icon-192.png / icon-512.png
- Add favicon.ico link with recommended <head> tag order in BaseLayout
- Reference icon-192/icon-512 in manifest.json for PWA installs
- JSON-LD Organization logo now resolves to the real 512x512 mark
- Header/Footer already render the new mark via /favicon.svg; dark-mode
wordmark contrast (BUG-5) preserved and verified
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Add WorkRoot Icon as public/favicon.svg, regenerate logo.png (512x512)
and apple-touch-icon.png (180x180) from the brand vector; add
favicon-32x32.png raster
- Register 32x32 PNG favicon link in BaseLayout <head> alongside the
SVG and apple-touch-icon
- Replace placeholder "W" logo boxes with the WorkRoot mark in the
header, mobile menu, and footer (preserving "WorkRoot" text spans
required by the dark-mode contrast tests and the home link wrapper)
JSON-LD/SEO logo (/logo.png) and PWA manifest icons now resolve to the
real brand assets. Build passes; BUG-5 dark-mode and navigation tests
green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>