westonlogisticsltd.co.ke
Full technical assessment across email security, infrastructure encryption, search & AI discovery, and conversion pathways. Written with exact steps for non-technical leadership and developers.
Requires immediate remediation
Under 1 hour to resolve
Perplexity & ChatGPT visibility
Revenue & security upsides
Google Search Footprint & Competitor Value
Ranking in Top 100 on Google
High-intent non-paid traffic
Official brand entity card
System Category Breakdown
Detailed Findings & Recommendations (24)
Your DMARC policy is set to monitor only — forged mail is still delivered
A policy of "none" means you are watching for forged email but instructing receiving servers to deliver it anyway. Someone impersonating your domain today would still reach the inboxes of your customers. Monitoring is the correct first step, but stopping there leaves the door open.
Review your DMARC aggregate reports to confirm every legitimate sender passes, then move the policy to "p=quarantine" and then "p=reject".
You track visitors before asking their permission
These tools set identifiers and send visitor behaviour to third parties from the first moment of the visit. Kenya's Data Protection Act requires consent for this, and GDPR requires it before the tracker loads, not after. Enforcement in this area has been rising, and the fines are calculated against turnover.
Add a consent mechanism that genuinely blocks these scripts until the visitor agrees, rather than a banner that only informs. The distinction matters legally — a notice that tracking has already started is not consent.
Missing HSTS header — the first visit each day is downgradeable
HSTS tells browsers to only ever contact your site over an encrypted connection. Without it, a visitor on public Wi-Fi can be silently redirected to an unencrypted copy of your site before the redirect to HTTPS happens, and anything they type there is readable.
Add a Strict-Transport-Security header with a max-age of at least one year, after confirming every subdomain you use supports HTTPS.
Your pages can be embedded inside another site
An attacker can load your site invisibly inside their own page and trick your visitors into clicking your buttons — submitting a form or authorising an action they cannot see. It is also used to host convincing copies of login pages.
Add X-Frame-Options: SAMEORIGIN, or a frame-ancestors directive in your Content Security Policy.
Your images have no declared size, so the page jumps around as it loads
The browser cannot reserve space for an image it has not measured, so content shifts down the moment each image arrives. Visitors tap the wrong thing, and Google penalises this directly through the Cumulative Layout Shift metric.
Add explicit width and height attributes (or a CSS aspect-ratio) to every image. The browser then reserves the correct space before the image loads.
Your homepage has no main heading
The main heading tells both search engines and screen readers what the page is about. Its absence weakens your ranking for your core terms and makes the page harder to navigate for anyone using assistive technology.
Add exactly one <h1> per page stating the primary offer in plain language.
2 form fields have no proper label
A screen reader announces an unlabelled field as just "edit text", so a blind user cannot complete the form at all. For sighted users, placeholder-only labels vanish as soon as they start typing, which causes errors and abandonment.
Associate a visible <label> with every field. Placeholders are not a substitute for labels.
No Content Security Policy — the browser will run any script injected into your pages
A Content Security Policy tells the browser which scripts it is allowed to run. Without one, if an attacker manages to inject code into a page — through a comment field, a compromised plugin, or a third-party script that gets hijacked — the browser executes it without question. This is the mechanism behind most card-skimming attacks on small e-commerce sites.
Add a Content-Security-Policy header listing the domains permitted to serve scripts, styles and frames. Roll it out in report-only mode first so you can see what would break before enforcing it.
Missing X-Content-Type-Options header
Without this header, browsers may guess the type of a file rather than trusting what the server declares. An uploaded image that actually contains script can then be executed as script.
Add the header X-Content-Type-Options: nosniff. It is a one-line server configuration change.
No llms.txt — you have no summary written for AI assistants
llms.txt is an emerging convention: a plain-text file giving AI assistants a clean, authoritative summary of what your business does and which pages matter, instead of leaving them to infer it from navigation menus and marketing copy. Adoption is early, which is exactly why publishing one now is cheap and puts you ahead of competitors who will get to it in a year.
Publish a short /llms.txt describing the business, the services, the service area and links to the pages you most want cited.
Google AI Overviews are actively appearing on 4 of your ranking keywords
When Google triggers an AI Overview at the top of the search page, traditional organic clicks drop by up to 35% unless your site is explicitly cited inside the AI synthesis. Being cited in the AI answer preserves top-of-funnel lead flow.
Add authoritative schema markup, explicit definitions, and structured answer blocks directly below H2 headers on your target pages so Google Gemini and AI Overviews source their summary directly from you.
Your structured data does not identify your business as an entity
Organization or LocalBusiness markup is what links your website to a real business entity that search engines and AI assistants can recognise, remember and cite by name. Without it you may have rich results on individual pages while the business itself remains anonymous to the machines.
Add Organization schema sitewide with your legal name, logo, contact details and social profiles, and LocalBusiness schema if you serve customers from a physical location.
No MTA-STS policy — inbound email can be intercepted via TLS downgrade
Standard SMTP encryption (STARTTLS) is opportunistic, meaning an active attacker on the network can strip the encryption handshake and read incoming emails in plaintext. MTA-STS (RFC 8461) forces sending mail servers to use TLS 1.2+ encryption, closing the man-in-the-middle downgrade loophole.
Publish an MTA-STS DNS record at _mta-sts and host the standard policy text at https://mta-sts.<domain>/.well-known/mta-sts.txt.
No CAA record — any Certificate Authority is permitted to issue certificates for you
A CAA (Certificate Authority Authorization) DNS record explicitly specifies which Certificate Authorities (like Let's Encrypt, DigiCert, or Google Trust Services) are allowed to issue certificates for your domain. Without it, if any CA anywhere in the world is compromised or misconfigured, it could issue an unauthorized certificate for your domain without your knowledge.
Publish a CAA DNS record for westonlogisticsltd.co.ke naming your approved certificate provider(s) (e.g. '0 issue "letsencrypt.org"').
Missing Referrer-Policy header
Without a referrer policy, the full address of the page a visitor came from — which may contain private identifiers or search terms — is passed to every external site they click through to.
Add Referrer-Policy: strict-origin-when-cross-origin.
Every image loads immediately, including the ones nobody scrolls to
Visitors download images far below the fold that most of them will never see. On mobile data this is bandwidth they pay for, spent slowing down the part of the page they actually wanted.
Add loading="lazy" to images below the fold — keeping it off the main hero image, which should load immediately.
Your links look broken when shared on WhatsApp or LinkedIn
When someone shares your link on WhatsApp, LinkedIn or Facebook, these tags decide whether it appears as a rich preview with an image and headline, or as a bare grey URL. In a market where WhatsApp is the main sharing channel, this directly affects how many people click a link a customer forwards.
Add og:title, og:description and og:image (1200x630px) to every page, plus the Twitter card equivalents.
Your pages are not cached, so every visit is rebuilt from scratch
Caching lets repeat visitors and the CDN reuse work already done. Without it your server does the full job for every single request, which costs you both speed and hosting capacity on your busiest days.
Set appropriate Cache-Control headers — long-lived for assets with versioned filenames, short with revalidation for HTML.
Your images use older, heavier formats
Modern image formats are typically 25-50% smaller at the same visual quality. On an image-heavy page this is often the single largest saving available.
Convert images to WebP or AVIF with a fallback, or move to an image CDN that does the conversion automatically per visitor.
No FAQ markup — you are not answering the questions AI assistants get asked
AI assistants answer questions. Publishing your common customer questions in a structured, machine-readable format is the most direct way to become the source an assistant quotes when someone asks that exact question about your category.
Publish a genuine FAQ covering the questions your sales team answers every week, marked up with FAQPage schema.
Google ranks your domain for 54 search queries in Kenya
Organic search traffic is high-intent compounding revenue. Knowing which keywords drive inbound interest allows you to protect your highest-converting search positions against aggressive competitors.
Strengthen internal linking to your top-ranking pages and publish dedicated landing pages for second-page keywords (positions 11-20) to push them into the top 3.
No TLS-RPT reporting configured for mail transport security
TLS-RPT (RFC 8460) works alongside MTA-STS to send you daily diagnostic reports on inbound email delivery failures and TLS decryption attempts.
Publish a TXT record at _smtp._tls.westonlogisticsltd.co.ke with "v=TLSRPTv1; rua=mailto:tls-reports@westonlogisticsltd.co.ke".
No security.txt — researchers have no way to report a problem to you
When someone discovers a vulnerability in your site, security.txt tells them where to report it. Without one, findings tend to go unreported or get posted publicly instead of coming to you first.
Publish a short /.well-known/security.txt listing a contact address and a preferred language.
Your FAQ page is doing a job an assistant does better
An FAQ answers the questions you predicted. A visitor with a slightly different question has to find your phone number instead, and most will not bother. An assistant grounded in your own documentation answers the long tail of variations, at any hour, and tells you what people are actually asking — which is the most useful marketing data you are currently not collecting.
Deploy a retrieval-based assistant grounded strictly in your own content, so it answers from your documentation and declines rather than inventing when it does not know. Grounding is what separates a useful assistant from one that confidently misquotes your prices.
How HarLyn Resolves These Findings
Every issue and opportunity above maps directly to one of our four core offerings. Our 48-hour diagnostic sprint delivers the exact technical remediation blueprint, zero-trust implementation, and AI discovery foundation.
Email Authentication & Zero-Trust Hardening
Full DMARC p=reject rollout, SPF & DKIM alignment, MTA-STS mail encryption, and compliance auditing under Kenya Data Protection Act 2019.
SSR Architecture & Edge Performance
Eliminating client-rendering bottlenecks, instant page transitions, CDN caching, security header enforcement, and carbon footprint reduction.
Entity Schema & LLM Discovery
Structured JSON-LD schema (Organization, LocalBusiness, FAQ), /llms.txt deployment, and unlocking crawl access for ChatGPT, Claude, and Perplexity.
Self-Healing Lead & Inbound Pipelines
Instant quote automation, Telegram/WhatsApp alert routing, and autonomous client acquisition pipelines built with n8n and TypeScript.