Compare commits

...
2 Commits
Author SHA1 Message Date
mark 1cc15eef66 Make more SEO friendly 2026-05-26 09:05:21 +02:00
mark 87358f4281 Add space to nav scroll. 2026-05-26 08:15:57 +02:00
11 changed files with 162 additions and 26 deletions
+75 -1
View File
@@ -5,15 +5,89 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />
<!-- Primary meta tags -->
<title>Ctrl Alt Assist - Professional Virtual Office Assistance</title>
<meta name="description" content="Ctrl Alt Assist provides professional Executive & Financial Virtual Assistance since 2004. Bookkeeping, SARS compliance, SAGE support, office management, and administrative services for modern entrepreneurs." />
<meta name="keywords" content="virtual assistant, bookkeeping, SARS, SAGE, financial assistance, office management, virtual office, South Africa, executive assistant" />
<!-- Canonical URL -->
<link rel="canonical" href="https://www.ctrlaltassist.co.za" />
<!-- Open Graph -->
<meta property="og:type" content="website" />
<meta property="og:title" content="Ctrl Alt Assist - Professional Virtual Office Assistance" />
<meta property="og:description" content="Professional Executive & Financial Virtual Assistance. Bookkeeping, SARS compliance, SAGE support, and administrative services for modern entrepreneurs." />
<meta property="og:url" content="https://www.ctrlaltassist.co.za" />
<meta property="og:site_name" content="Ctrl Alt Assist" />
<meta property="og:locale" content="en_ZA" />
<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Ctrl Alt Assist - Professional Virtual Office Assistance" />
<meta name="twitter:description" content="Professional Executive & Financial Virtual Assistance. Bookkeeping, SARS compliance, SAGE support, and administrative services." />
<!-- JSON-LD Structured Data (LocalBusiness) -->
<script type="application/ld+json">
{
"@@context": "https://schema.org",
"@@type": "LocalBusiness",
"name": "Ctrl Alt Assist",
"description": "Professional Executive & Financial Virtual Assistance for modern entrepreneurs. Bookkeeping, SARS compliance, SAGE support, office management and administrative services.",
"url": "https://www.ctrlaltassist.co.za",
"telephone": "+27827547524",
"email": "assistance@ctrlaltassist.co.za",
"foundingDate": "2004",
"founder": {
"@@type": "Person",
"name": "Olivia"
},
"address": {
"@@type": "PostalAddress",
"addressCountry": "ZA"
},
"areaServed": "ZA",
"priceRange": "R2000-R5000",
"hasOfferCatalog": {
"@@type": "OfferCatalog",
"name": "Virtual Assistance Services",
"itemListElement": [
{
"@@type": "Offer",
"itemOffered": {
"@@type": "Service",
"name": "Financial & Accounting Support"
}
},
{
"@@type": "Offer",
"itemOffered": {
"@@type": "Service",
"name": "Office & Administrative Management"
}
},
{
"@@type": "Offer",
"itemOffered": {
"@@type": "Service",
"name": "Digital & Project Support"
}
}
]
}
}
</script>
<ResourcePreloader />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&family=Open+Sans:wght@300;400;600&display=swap" rel="stylesheet">
<link rel="stylesheet" href="@Assets["app.css"]" />
<link rel="stylesheet" href="@Assets["CtrlAltAssist.styles.css"]" />
<ImportMap />
<HeadOutlet />
</head>
+6 -2
View File
@@ -1,8 +1,12 @@
<footer class="footer text-center">
<div class="container">
<p>&copy; <span id="currentYear"></span> Ctrl Alt Assist. All rights reserved. | Professional Virtual Office Assistance</p>
<p>&copy; @currentYear Ctrl Alt Assist. All rights reserved. | Professional Virtual Office Assistance</p>
<p>
<a href="#">Privacy Policy</a> | <a href="#">Terms of Service</a>
</p>
</div>
</footer>
</footer>
@code {
private int currentYear = DateTime.Now.Year;
}
+1 -1
View File
@@ -1,7 +1,7 @@
<nav class="navbar navbar-expand-lg sticky-top">
<div class="container">
<a class="navbar-brand" href="#">
<img src="/images/logo_small.png" alt="Ctrl Alt Assist Logo">
<img src="/images/logo_small.png" alt="Ctrl Alt Assist logo - Professional Virtual Office Assistance">
Ctrl Alt Assist
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
@@ -2,7 +2,7 @@
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 mb-4 mb-lg-0">
<img src="Images/about-us.png" class="img-fluid rounded shadow" alt="About Ctrl Alt Assist">
<img src="Images/about-us.png" class="img-fluid rounded shadow" alt="Ctrl Alt Assist virtual office assistance team helping entrepreneurs streamline their business operations" loading="lazy">
</div>
<div class="col-lg-6">
<h2>Who We Are</h2>
@@ -15,11 +15,11 @@
<div class="price-amount">From R2000 pm</div>
<p class="price-note">Price to be confirmed</p>
<ul class="price-features flex-grow-1 mb-4">
<li><span class="check">✓</span>Xero setup and onboarding</li>
<li><span class="check">✓</span>Monthly bank reconciliation</li>
<li><span class="check">✓</span>Income statement and balance sheet</li>
<li><span class="check">✓</span>Up to 50 transactions per month</li>
<li><span class="check">✓</span>Email support</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Xero setup and onboarding</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Monthly bank reconciliation</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Income statement and balance sheet</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Up to 50 transactions per month</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Email support</li>
</ul>
<a href="#contact" class="btn btn-outline-primary w-100">Get a quote</a>
</div>
@@ -28,19 +28,19 @@
<!-- Premium (featured) -->
<div class="col-lg-4">
<div class="card h-100 p-4 shadow-sm price-card featured">
<div><span class="featured-tag">Most popular</span></div>
<span class="featured-tag">Most popular</span>
<p class="text-muted small mb-1">Full service</p>
<h3 class="fw-bold mb-2">Premium</h3>
<p class="text-muted small">For growing SMEs and non-profits that need complete monthly financial management.</p>
<div class="price-amount">From R3500 pm</div>
<p class="price-note">Price to be confirmed</p>
<ul class="price-features flex-grow-1 mb-4">
<li><span class="check">✓</span>Everything in Basic</li>
<li><span class="check">✓</span>Full monthly bookkeeping service (Including VAT)</li>
<li><span class="check">✓</span>Up to 200 transactions per month</li>
<li><span class="check">✓</span>Monthly management accounts</li>
<li><span class="check">✓</span>Priority email and phone support</li>
<li><span class="check">✓</span>Quarterly financial review call</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Everything in Basic</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Full monthly bookkeeping service (Including VAT)</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Up to 200 transactions per month</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Monthly management accounts</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Priority email and phone support</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Quarterly financial review call</li>
</ul>
<a href="#contact" class="btn btn-primary w-100">Get a quote</a>
</div>
@@ -55,12 +55,12 @@
<div class="price-amount">Bespoke</div>
<p class="price-note">Tailored to your exact requirements</p>
<ul class="price-features flex-grow-1 mb-4">
<li><span class="check">✓</span>Everything in Premium</li>
<li><span class="check">✓</span>Unlimited transactions</li>
<li><span class="check">✓</span>Multi-entity reporting</li>
<li><span class="check">✓</span>Custom Xero integrations</li>
<li><span class="check">✓</span>Dedicated monthly strategy session</li>
<li><span class="check">✓</span>Direct adviser access</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Everything in Premium</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Unlimited transactions</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Multi-entity reporting</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Custom Xero integrations</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Dedicated monthly strategy session</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i>Direct adviser access</li>
</ul>
<a href="#contact" class="btn btn-outline-primary w-100">Let's talk</a>
</div>
@@ -0,0 +1,26 @@
.price-features {
list-style: none;
padding-left: 0;
}
.featured {
position: relative;
border: 1px solid #0d6efd !important;
border-radius: 0.75rem !important;
box-shadow: 0 0 20px rgba(13, 110, 253, 0.5), 0 0 40px rgba(13, 110, 253, 0.3), 0 0 60px rgba(13, 110, 253, 0.15) !important;
}
.featured-tag {
position: absolute;
top: -13px;
left: 50%;
transform: translateX(-50%);
background-color: #0d6efd;
color: #fff;
padding: 4px 18px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 600;
white-space: nowrap;
z-index: 1;
}
@@ -1,7 +1,7 @@
<section id="founder" class="section-padding text-center bg-light-green">
<div class="container">
<h2>Meet Our Founder</h2>
<img src="Images/Olivia.png" alt="Olivia, Founder of Ctrl Alt Assist" class="founder-img">
<img src="Images/Olivia.png" alt="Olivia, Founder of Ctrl Alt Assist - over 20 years experience in virtual financial and executive assistance" class="founder-img" loading="lazy">
<h3>Olivia</h3>
<p class="lead text-dark">Loving wife, involved mom, and devoted pet parent.</p>
<p class="text-dark">Olivia brings over 20 years of robust experience in both the Corporate and Private sector, working with JSE listed companies and privately owned businesses across diverse industries from transport to the arts. Her extensive knowledge is backed by a Bcompt, Business Studies Diploma, various Computer & Accounting software diplomas, and a Mini-MBA with Action Coach Ignite.</p>
@@ -1,5 +1,12 @@
@page "/not-found"
@layout MainLayout
<h3>Not Found</h3>
<p>Sorry, the content you are looking for does not exist.</p>
<div class="container section-padding text-center">
<h1 class="display-1 text-muted">404</h1>
<h3>Page Not Found</h3>
<p class="lead">Sorry, the page you are looking for does not exist or has been moved.</p>
<div class="mt-4">
<a href="/" class="btn btn-pastel me-3">Return Home</a>
<a href="#services" class="btn btn-outline-secondary">View Our Services</a>
</div>
</div>
+6
View File
@@ -123,4 +123,10 @@ h1:focus {
.darker-border-checkbox.form-check-input {
border-color: #929292;
}
/* Offset anchor scroll targets so the sticky navbar doesn't hide content */
section[id],
header[id] {
scroll-margin-top: 40px;
}
+4
View File
@@ -0,0 +1,4 @@
User-agent: *
Allow: /
Sitemap: https://www.ctrlaltassist.co.za/sitemap.xml
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.ctrlaltassist.co.za/</loc>
<lastmod>2025-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.ctrlaltassist.co.za/login</loc>
<lastmod>2025-01-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.3</priority>
</url>
</urlset>