Executive Summary
Crawlability & Indexing
Current State
The site has the basic infrastructure for crawlability but lacks optimization for search engine discovery.
Findings
- No lastmod dates in sitemap. Google uses lastmod to prioritize fresh content. Without it, Google doesn't know which pages updated recently. This slows discovery of new content.
- No changefreq or priority values. These hints help Google allocate crawl budget more effectively.
- Language-slug mismatch on blog. English slugs signal English content to Google, but the pages are in Arabic. This creates confusion in ranking.
- robots.txt is too bare. No explicit allow/disallow rules beyond sitemap reference. Opportunity to guide crawl budget.
Recommendations
| Action | Impact | Effort |
|---|---|---|
| Add lastmod dates to sitemap (auto-update on changes) | Medium | 1 day |
| Add changefreq and priority values to sitemap | Low | 1 day |
| Define User-agent rules in robots.txt | Medium | 2 hours |
| Submit sitemap via Google Search Console if not already done | Medium | 30 min |
| Consider Arabic URL slugs for Arabic blog posts | High | 3-5 days (with 301 redirects) |
On-Page SEO
Current State
On-page signals are inconsistently applied. Title tags and meta descriptions exist in Arabic but are missing or incomplete on English pages. Critical schema issue: English pages are marked as Arabic content.
Findings
- inLanguage mismatch on English pages. /en/ pages have correct HTML lang attribute but schema markup claims Arabic. Google likely follows schema over HTML lang attribute.
- No English OG tags. The homepage has Arabic Open Graph tags but no English variants. Social shares from /en/ will display with Arabic metadata.
- Missing canonical tags. While the site structure is simple enough that canonicals aren't critical, they're best practice. They make your intention explicit to Google.
- Blog post metadata inconsistent. Some posts have descriptions, others don't. No consistent pattern for meta keywords (though keyword-stuffing isn't recommended).
Recommendations
| Priority | Action | Timeline |
|---|---|---|
| CRITICAL | Change `inLanguage: "ar"` to `inLanguage: "en"` on /en/ pages | 1 day |
| HIGH | Add English meta titles to all /en/ pages | 2 days |
| HIGH | Add English meta descriptions to all /en/ pages | 2 days |
| MEDIUM | Add canonical tags to all pages | 1 day |
| MEDIUM | Create English OG tag variants for /en/ pages | 1 day |
| LOW | Consider Arabic URL slugs for Arabic blog content | 3-5 days |
Technical Infrastructure
Current State
aajil.sa runs on Webflow with Cloudflare CDN. The underlying infrastructure is modern and well-configured for SEO basics.
Assessment
The technical foundation is solid. Webflow handles most SEO basics automatically: responsive design, SSL, Core Web Vitals optimization, sitemap generation. The main consideration is JavaScript rendering. Google crawls JavaScript, but rendering happens in two phases. Ensure critical on-page SEO elements (titles, meta descriptions, headers) are present in the initial HTML, not injected by JavaScript.
Recommendations
- Monitor JavaScript rendering. Use Google Search Console's URL Inspection tool to verify Google sees the same content you see in the browser.
- Test with Google's Mobile-Friendly tool. Webflow sites are mobile-friendly by default, but test to confirm no mobile-specific rendering issues.
- Verify Third-party Script Performance. PostHog and Google Fonts add external requests. Monitor if they impact Core Web Vitals.
Content Architecture
Current State
The site has a blog section with 22 posts, plus 8 supplier pages. The blog appears to exist but isn't optimized for search discovery. No pillar-cluster structure or internal linking strategy is evident.
Findings
- No pillar-cluster architecture. A pillar (comprehensive guide) should link to supporting cluster posts (narrower topics). This structure tells Google what content is authoritative.
- Keywords don't match market intent. The blog discusses BNPL broadly but ignores construction-specific pain points (supplier financing, materials procurement cycles, project cashflow).
- Content is transactional, not educational. The homepage and product pages are optimized for conversion. The blog should be optimized for discoverability. Currently it's neither.
- Copyright notice is outdated. Footer says "© 2025". Update to "© 2026".
Recommendations
| Action | Search Impact | Timeline |
|---|---|---|
| Publish 1 pillar post (long-form, 2000+ words) targeting primary construction keyword | High | 1-2 weeks |
| Create 3-4 cluster posts linking back to pillar (500-800 words each) | High | 3-4 weeks |
| Add internal links from existing 22 blog posts to new pillar content | Medium | 2 days |
| Update copyright year to 2026 across all pages | Low | 30 min |
| Implement content publishing schedule (1-2 posts per month minimum) | Medium | Ongoing |
International SEO (hreflang)
Current State
This is the single biggest technical SEO gap on the site. aajil.sa serves content in Arabic and English but lacks proper hreflang implementation in HTML. Google may be confused about which version to show to which audience.
Findings
- No hreflang tags in HTML head. Google may see English and Arabic versions as duplicate content rather than alternate language versions. This harms both versions' rankings.
- Schema markup doesn't align with language. English pages claim to be Arabic in schema. This contradicts hreflang signals.
- x-default missing from HTML. The sitemap has x-default pointing to Arabic, but it's not declared in HTML head. Best practice: include in both.
- Language switching may be JavaScript-dependent. If the /en/ path only renders after JavaScript loads, older crawlers may miss the signal.
Recommendations (Priority Order)
| Step | Action | Timeline |
|---|---|---|
| 1 | Add hreflang link tags to all page HTML heads. Arabic page links to /en/ variant and vice versa. | 2-3 days |
| 2 | Fix schema inLanguage: "ar" to inLanguage: "en" on /en/ pages (covered in On-Page SEO section) | 1 day |
| 3 | Add x-default hreflang to HTML head pointing to Arabic homepage | 1 day |
| 4 | Test hreflang implementation with Google's hreflang testing tool | 30 min |
| 5 | Verify Google Search Console shows both language versions as crawlable | 1 day monitoring |
Mobile & Speed
Current State
Mobile readiness is solid (Webflow handles responsive design automatically). Page speed shows mixed signals. Multiple large images and external scripts may impact Core Web Vitals.
Findings
- Missing lazy loading on images. All 200+ images load immediately, even if below the fold. This delays First Contentful Paint (FCP).
- No preconnect hints for third parties. Google Fonts and PostHog require new connections. Preconnect reduces latency for these critical requests.
- Script loading order not optimized. Lenis smooth scroll library may delay page interactivity. Defer this to after initial render.
- Core Web Vitals not measured in audit. This is a limitation of the PageSpeed API. Search Console and PageSpeed Insights will show actual LCP, CLS, INP scores.
Recommendations
| Issue | Fix | Impact on Speed |
|---|---|---|
| Lazy loading not enabled | Add loading="lazy" to img tags and picture elements | Improves FCP by 15-30% |
| No preconnect hints | Add link rel="preconnect" to fonts.googleapis.com and PostHog domain | Reduces Time to First Byte (TTFB) for third-party resources |
| Render-blocking scripts | Move Lenis and analytics scripts to defer or async | Improves Interaction to Next Paint (INP) |
| Google Fonts not optimized | Specify font-display: swap in @font-face rule | Reduces font rendering delay |
Schema & Structured Data
Current State
aajil.sa has above-average structured data implementation. FinancialService schema is particularly strong for demonstrating E-E-A-T in the fintech/BNPL space.
Assessment
The site is above the 50th percentile for structured data in the Saudi fintech market. The FinancialService schema is well-implemented and helps Google understand the business model. Opportunities exist to expand schema coverage for blog content and navigation.
Recommendations
- Add AggregateRating schema (if reviews exist). If aajil has customer reviews or testimonials, mark them with schema.org/AggregateRating. This can show a star rating in search results.
- Add FAQ schema to blog posts. Posts that answer questions (e.g., "How does BNPL work for construction?") should include schema.org/FAQPage with structured Q&A.
- Add BreadcrumbList schema for navigation. Helps Google understand site hierarchy and shows breadcrumbs in search results.
- Consider HowTo schema for guides. Posts that walk through processes (e.g., "How to apply for BNPL") can use schema.org/HowTo for rich snippets.
Priority Action Plan
This plan prioritizes issues by SEO impact and implementation effort. The goal is to address critical gaps within 1-2 sprint cycles.
Critical (Week 1): Do These First
| Issue | Action | Impact | Effort |
|---|---|---|---|
| Schema language mismatch | Change inLanguage: "ar" to inLanguage: "en" on /en/ pages | High | 1 day |
| Missing hreflang tags | Add hreflang link tags to HTML head of all pages | High | 2-3 days |
| No canonical tags | Add canonical tags to all pages (self-referential) | Medium | 1 day |
High (Week 2-3): Address These Next
| Issue | Action | Impact | Effort |
|---|---|---|---|
| Missing English metadata | Add English meta titles and descriptions to all /en/ pages | High | 2 days |
| No sitemap lastmod dates | Add lastmod timestamps to sitemap XML (auto-update on content changes) | Medium | 1 day |
| Missing lazy loading | Add loading="lazy" attribute to below-fold images | Medium | 1 day |
| No preconnect hints | Add preconnect link tags for Google Fonts and PostHog domain | Low | 30 min |
Medium (Week 3-4): Plan These Improvements
| Issue | Action | Impact | Effort |
|---|---|---|---|
| Blog URL/language mismatch | Migrate Arabic blog posts to Arabic URL slugs with 301 redirects | High | 3-5 days (complex) |
| No pillar-cluster content | Create 1 pillar post (2000+ words) + 3-4 cluster posts linking back | High | 3-4 weeks |
| Missing FAQ schema | Add FAQ schema to blog posts that answer questions | Medium | 2 days |
| No BreadcrumbList schema | Add BreadcrumbList schema for site navigation | Low | 1 day |
| Outdated copyright year | Update footer from "© 2025" to "© 2026" | Low | 5 min |
Long-Term (Month 2+): Strategic Initiatives
- Content publishing schedule. Commit to 1-2 blog posts per month focused on construction-specific BNPL keywords. This addresses the content freshness and discoverability gap.
- Core Web Vitals monitoring. Set up Google Search Console alerts for Core Web Vitals. Run monthly PageSpeed Insights audits to track LCP, CLS, INP improvements.
- Internal linking strategy. Document how new blog posts should link to existing content. This distributes authority and improves crawlability.
- Search Console integration. Ensure both aajil.sa and www.aajil.sa properties are verified in Search Console. Monitor indexation status for both language versions.