demelos.com has a solid technical foundation: HTTPS-everywhere with a clean redirect chain (apex → www, http → https), a working sitemap index from Rank Math, structured data (Organization, WebSite, WebPage), and clean indexability directives (index, follow). It's hosted on Cloudflare in front of CyberPanel + LiteSpeed running WordPress.
However, three on-page issues will materially limit ranking and CTR: the homepage has no H1 and no H2 (heading hierarchy starts at H3), no Open Graph or Twitter image (social previews will be blank), and the viewport disables user-scalable (a known accessibility/usability red flag). Performance is heavy: 47 external JS files (~618 KB) and 36 CSS files (~228 KB) on a single page, with 1.3 MB+ in unoptimized JPG hero slider images.
Fix the three critical items first — they're each <15 minutes of work in WordPress and will move multiple metrics.
<h1> tags. Search engines use H1 as the strongest on-page topical signal. Heading hierarchy currently jumps from page title directly to four H3s.og:image and twitter:image are both absent. Twitter card is set to summary_large_image but has no image to display, so social shares (LinkedIn, Twitter/X, Slack, iMessage previews) will appear blank or fall back to the favicon.user-scalable=no) A11Ywidth=device-width,initial-scale=1,user-scalable=no. Disabling pinch-zoom is a WCAG 2.1 SC 1.4.4 failure and a known Lighthouse accessibility deduction.width=device-width, initial-scale=1. In WordPress this is typically set by the theme (Bridge); override via the theme child or a small functions.php filter.defer or async. They block the first paint.loading="lazy". The remaining 32 (mostly slider and Elementor widgets) are eagerly fetched even if below the fold.<img> where SEO matters, or define explicit aspect-ratio in CSS.alt=""; informational ones get descriptive alt text including target keywords where natural.| Check | Status | Value |
|---|---|---|
| HTTPS enforced (apex, www, http) | PASS | All resolve to https://www.demelos.com/ |
| Single canonical destination | PASS | https://www.demelos.com/ |
| HTTP/2 enabled | PASS | HTTP/2 negotiated; alt-svc advertises HTTP/3 |
meta robots | PASS | index, follow, max-snippet:-1, max-image-preview:large |
| Canonical link | PASS | https://www.demelos.com/ (self-referencing) |
| HTML lang attribute | PASS | en-US |
| Charset declared | PASS | UTF-8 |
| Hreflang tags | N/A | None — site is single-locale (en-US). Add if/when international expansion happens. |
| X-Robots-Tag header | PASS | Not blocking indexation |
| Mixed content / HTTP assets | CHECK | 2 protocol-relative //www.demelos.com/... URLs in revslider — fine over HTTPS but tighten for clarity |
| Element | Status | Value | Notes |
|---|---|---|---|
| Title tag | PASS | "Enterprise AI Solutions | Custom AI Platforms by demelos" | 56 chars — fits SERP width |
| Meta description | PASS | 137 chars | Within 120–160 sweet spot |
| OG title | PASS | Matches page title | — |
| OG description | PASS | Matches meta description | — |
| OG image | FAIL | (missing) | Social previews will be blank |
| OG site_name | CHECK | "AI Solution Experts" | Inconsistent — title says "demelos", site_name says "AI Solution Experts". Pick one. |
| Twitter card | CHECK | summary_large_image | Set to large image but no image provided |
| Twitter image | FAIL | (missing) | Same as OG image fix |
| Favicon | PASS | icon-8.jpg | JPG works but PNG/ICO is more conventional |
| Word count (visible) | PASS | 738 words | Reasonable for a homepage |
Heading hierarchy is broken: H1=0, H2=0, jumping straight to H3.
| Level | Count | Examples |
|---|---|---|
| H1 | 0 | (none) |
| H2 | 0 | (none) |
| H3 | 4 | "demelos AI Services" · "An Intelligence Agency for the AI Era" · "Who We Work With" · "Foundations of Artificial Intelligence" |
| H4 | 9 | "Video Production" · "Market Analysis" · "Social Media" · "Market Expertise" · "Web Solution" · "Artificial Intelligence" · "Why user AI" · "AI Strategy & Advisory" · "Custom AI Solutions" |
| H5 | 4 | "Algorithms: The Intelligence Engine…" · "Data: The First and Most Critical Foundation" · "In the cloud of your choice" · "Contact Info" |
| H6 | 11 | "01" · "02" · "03" · "04" · "Built for Business" · "AI Agency" · "AI processes" · "AI Systems" · "Our AI Focus" · "analytics platform" (2x) |
Note: "Why user AI" is likely a typo for "Why use AI" — fix copy.
Single JSON-LD block found, generated by Rank Math, containing 5 entities:
| @type | Status | Notes |
|---|---|---|
| Organization | PASS | Brand entity present (twice — verify on second instance) |
| WebSite | PASS | Enables sitelinks search box if SearchAction nested |
| WebPage | PASS | Page-level entity |
| ImageObject | PASS | — |
Recommendations:
Service schema for the four AI service categories (Strategy, Custom Solutions, Voice Agents, Document AI).BreadcrumbList on inner pages.AggregateRating on the Organization or relevant Service.raw/schema_parsed.json).| Bytes (compressed) | URL |
|---|---|
| 534.9 KB | /wp-content/uploads/2021/05/slider-background-2.jpg |
| 448.9 KB | /wp-content/uploads/2021/05/slider-background-3.jpg |
| 146.4 KB | /wp-content/uploads/2021/05/slider-background-1-1.jpg |
Top recommendation: convert all uploads to WebP via LiteSpeed Image Optimization. Estimated savings on the three sliders alone: ~700 KB.
| Metric | Value |
|---|---|
| Total links | 72 |
| Internal | 64 (31 unique) |
| External | 0 |
| Nofollow | 2 |
Internal linking is healthy. Adding 2–4 outbound links to authoritative AI industry sources will strengthen E-E-A-T signals without diluting link equity.
| Bytes (compressed) | Source |
|---|---|
| 156.6 KB | googletagmanager.com/gtag/js |
| 87.8 KB | revslider/public/js/sr7.js |
| 70.0 KB | revslider/public/js/libs/tptools.js |
| 36.6 KB | qi-addons-for-elementor/swiper.min.js |
| 34.8 KB | wp-includes/mediaelement-and-player.min.js |
| Bytes (compressed) | Source |
|---|---|
| 94.0 KB | themes/bridge/css/stylesheet.min.css |
| 22.4 KB | qi-addons-for-elementor/main.min.css |
| 20.0 KB | themes/bridge/font-awesome-5.min.css |
Optimization opportunities:
| Resource | Status | Notes |
|---|---|---|
/robots.txt | 200 | Disallows /wp-admin/ (correct), declares sitemap_index.xml |
/sitemap_index.xml | 200 | Generated by Rank Math, 4 sub-sitemaps |
post-sitemap.xml | 200 | 3 URLs |
page-sitemap.xml | 200 | 27 URLs |
category-sitemap.xml | 200 | 3 URLs |
local-sitemap.xml | 200 | 1 URL |
Total indexable URLs declared: 34. For a service business, this is appropriate. As the blog grows, post-sitemap will populate.
| Layer | Detected |
|---|---|
| CDN / WAF | Cloudflare (cf-ray: SJC datacenter) |
| Hosting / Panel | CyberPanel-OLS 2.4.4 |
| Web server | OpenLiteSpeed (LiteSpeed) |
| CMS | WordPress (wp-json, wp-content present) |
| Theme | Bridge (themes/bridge/css/stylesheet.min.css) |
| Page builder | Elementor + Qi Addons for Elementor |
| SEO plugin | Rank Math |
| Cache | LiteSpeed Cache (x-turbo-charged-by header) |
| Slider | Slider Revolution (revslider 6.7.54) |
| Forms | Contact Form 7 |
| Analytics | Google Tag Manager (GT-PL3RXDDT) |
| # | Action | Impact | Effort |
|---|---|---|---|
| 1 | Add a single H1 to the homepage hero (Elementor) | High | 5 min |
| 2 | Promote 4 H3 section titles to H2 | High | 10 min |
| 3 | Set og:image + twitter:image in Rank Math | High | 10 min |
| 4 | Remove user-scalable=no from viewport meta | Med | 15 min (theme child) |
| 5 | Enable WebP image optimization (LiteSpeed) | Med | 20 min + sync time |
| 6 | Enable lazy-load + add explicit dims on Elementor images | Med | 20 min |
| 7 | Enable LiteSpeed full-page cache (currently DYNAMIC) | Med | 30 min + QA |
| 8 | Defer/delay Google Tag Manager until interaction | Med | 15 min |
| 9 | Defer jQuery (test Elementor/Rev Slider compatibility) | Med | 1 hr + QA |
| 10 | Add 2–4 outbound authoritative links (E-E-A-T) | Low | 15 min |
| 11 | Reconcile site_name "AI Solution Experts" vs. brand "demelos" | Low | 5 min |
| 12 | Fix typo "Why user AI" → "Why use AI" | Low | 2 min |
| 13 | Add Service/BreadcrumbList schema | Low | 30 min in Rank Math |
This audit was performed entirely from outside the server using HTTP probes (curl) and HTML/header parsing. Raw artifacts saved to /home/claude/demelos/seo/raw/:
home.html — full homepage HTMLheaders.txt — full HTTP response headers (including the 301)parsed.json — extracted on-page elementsschema_parsed.json — JSON-LD payloadperf.json — render-blocking analysisasset_sizes.json — measured byte sizes for CSS/JS/imagesrobots.txt, sitemap_index.xml, and the four sub-sitemapscurl_stats.txt — TTFB, redirect, TLS timingsNot measured (and why):
~/.config/claude-seo/google-api.json and re-run /seo google pagespeed.libatk-1.0.so.0). Run sudo apt install -y libatk1.0-0 libatk-bridge2.0-0 libcups2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2 to enable./home/demelos.com/public_html is mode 750 owned by demel3276; not readable by user fabio.Once the SEO skill is active (restart Claude Code), the same audit can be re-run with /seo audit https://www.demelos.com/ for a more comprehensive report including parallel sub-agent analysis (E-E-A-T deep-dive, schema validation, competitor comparison).