pmkattorneys.com
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 (26)
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".
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.
3 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.
Your domain has no recorded organic keyword rankings in Google (Nairobi, Kenya)
Potential customers searching for your products or services in your region cannot find you on Google, forcing your business to rely entirely on word-of-mouth or paid advertisements.
Execute an initial technical SEO indexing sprint, submit an XML sitemap to Google Search Console, and publish service-specific pages targeting buyer-intent keywords in your category.
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.
Your server publicly announces its exact software versions
Attackers scan the internet for specific software versions with known vulnerabilities. Publishing yours means an automated tool can match your site to a working exploit without doing any work first.
Suppress or genericise these headers in the web server or CDN configuration.
Links that open in a new tab give the destination control over yours
The page you link to can quietly replace the tab your visitor came from with a copy of your site — a convincing way to harvest logins. It also slows down the browser.
Add rel="noopener noreferrer" to every link using target="_blank".
Your page title is cut off in search results
Google truncates titles at roughly 60 characters. Anything past that is replaced with an ellipsis, so the end of your message never reaches the searcher.
Shorten to under 60 characters, front-loading the words people actually search for.
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.
Your DMARC record collects no reports, so you cannot see impersonation attempts
DMARC reporting is how you find out that someone is trying to send email as your company, and which of your own tools are misconfigured. Without a reporting address, that intelligence is discarded.
Add an "rua=mailto:" address to the DMARC record and review the aggregate reports.
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 pmkattorneys.com 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 search description is truncated
The end of your description, often where the call to action sits, never appears.
Trim to under 160 characters with the most persuasive point first.
Your robots.txt does not point to your sitemap
Referencing the sitemap from robots.txt is the standard way crawlers discover the full list of your pages without having to find each by following links.
Add a Sitemap: line to robots.txt with the full sitemap URL.
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.
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.pmkattorneys.com with "v=TLSRPTv1; rua=mailto:tls-reports@pmkattorneys.com".
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.
Your booking process still needs a person in the middle
Every booking arranged by exchanging messages costs staff time and loses the people who did not want to wait for a reply. Automated scheduling with confirmation and reminders removes both the delay and the no-shows.
Connect a scheduling system directly to your team calendars with automated confirmations and reminders by email and WhatsApp.
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.