Public Access
fix: address points 5,7,8,9,11,12,13,14,15 - add Offer schema, remove duplicate partners, trial error feedback, rel=noopener noreferrer, remove inline onclick, semantic pagination, footer email
This commit is contained in:
1 parent
af866d87e8
commit
4134ff5260
3 files changed
+83
-61
No files matched your search
+20
-21
@@ -21,7 +21,13 @@
|
|||||||
"description": "Odoo hosting with fully managed infrastructure. Deploy in 5 minutes with automatic backups, SSL, and Git-based modules.",
|
"description": "Odoo hosting with fully managed infrastructure. Deploy in 5 minutes with automatic backups, SSL, and Git-based modules.",
|
||||||
"foundingDate": "2020",
|
"foundingDate": "2020",
|
||||||
"contactPoint": { "@type": "ContactPoint", "contactType": "customer support", "url": "https://ODOO4projects.com/contactus" },
|
"contactPoint": { "@type": "ContactPoint", "contactType": "customer support", "url": "https://ODOO4projects.com/contactus" },
|
||||||
"sameAs": ["https://www.linkedin.com/company/odoo4projects/"]
|
"sameAs": ["https://www.linkedin.com/company/odoo4projects/"],
|
||||||
|
"offers": [
|
||||||
|
{ "@type": "Offer", "name": "Side Hustle", "price": "214.00", "priceCurrency": "USD", "url": "https://ODOO4projects.com/#pricing" },
|
||||||
|
{ "@type": "Offer", "name": "On the Rise", "price": "395.00", "priceCurrency": "USD", "url": "https://ODOO4projects.com/#pricing" },
|
||||||
|
{ "@type": "Offer", "name": "Powerhouse", "price": "535.00", "priceCurrency": "USD", "url": "https://ODOO4projects.com/#pricing" },
|
||||||
|
{ "@type": "Offer", "name": "Empire", "price": ">950.00", "priceCurrency": "USD", "url": "https://ODOO4projects.com/#pricing" }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||||
@@ -174,22 +180,14 @@
|
|||||||
<p class="trust-label">Trusted by businesses worldwide</p>
|
<p class="trust-label">Trusted by businesses worldwide</p>
|
||||||
<div class="partner-carousel-wrap">
|
<div class="partner-carousel-wrap">
|
||||||
<div class="partner-grid">
|
<div class="partner-grid">
|
||||||
<a href="https://paraguayservice.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/paraguayservice-favicon.png" alt="Paraguay Service" /><span>Paraguay Service</span></a>
|
<!-- Trust Bar Partners (no duplicates - CSS animation handles seamless loop) -->
|
||||||
<a href="https://estancia-agape.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/estancia-agape-logo.png" alt="Estancia Agape" /><span>Estancia Agape</span></a>
|
<a href="https://paraguayservice.com/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/paraguayservice-favicon.png" alt="Paraguay Service" /><span>Paraguay Service</span></a>
|
||||||
<a href="https://kate-group.de/" target="_blank" rel="noopener" class="partner-item"><img src="images/kate-group-favicon.png" alt="KATE Group" /><span>KATE Group</span></a>
|
<a href="https://estancia-agape.com/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/estancia-agape-logo.png" alt="Estancia Agape" /><span>Estancia Agape</span></a>
|
||||||
<a href="https://agilnova.de/" target="_blank" rel="noopener" class="partner-item"><img src="images/agilnova-favicon.png" alt="agilnova" /><span>agilnova</span></a>
|
<a href="https://kate-group.de/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/kate-group-favicon.png" alt="KATE Group" /><span>KATE Group</span></a>
|
||||||
<a href="https://006-002-bc5bb1cb-984d-42c3-8580-63439f4924c5.odoo4projects.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/ramani-kenya-logo.png" alt="Ramani Kenya" /><span>Ramani Kenya</span></a>
|
<a href="https://agilnova.de/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/agilnova-favicon.png" alt="agilnova" /><span>agilnova</span></a>
|
||||||
<a href="https://startparaguay.net/" target="_blank" rel="noopener" class="partner-item"><img src="images/startparaguay-favicon.png" alt="Start Paraguay" /><span>Start Paraguay</span></a>
|
<a href="https://006-002-bc5bb1cb-984d-42c3-8580-63439f4924c5.odoo4projects.com/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/ramani-kenya-logo.png" alt="Ramani Kenya" /><span>Ramani Kenya</span></a>
|
||||||
<a href="https://accelersales.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/accelersales-logo.png" alt="AccellerSales" /><span>AccellerSales</span></a>
|
<a href="https://startparaguay.net/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/startparaguay-favicon.png" alt="Start Paraguay" /><span>Start Paraguay</span></a>
|
||||||
<a href="#pricing" class="partner-item" style="opacity:0.55"><img src="images/your-company-logo.svg" alt="Your Company" /><span>Your Company</span></a>
|
<a href="https://accelersales.com/" target="_blank" rel="noopener noreferrer" class="partner-item"><img src="images/accelersales-logo.png" alt="AccellerSales" /><span>AccellerSales</span></a>
|
||||||
<!-- duplicate for seamless scroll -->
|
|
||||||
<a href="https://paraguayservice.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/paraguayservice-favicon.png" alt="Paraguay Service" /><span>Paraguay Service</span></a>
|
|
||||||
<a href="https://estancia-agape.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/estancia-agape-logo.png" alt="Estancia Agape" /><span>Estancia Agape</span></a>
|
|
||||||
<a href="https://kate-group.de/" target="_blank" rel="noopener" class="partner-item"><img src="images/kate-group-favicon.png" alt="KATE Group" /><span>KATE Group</span></a>
|
|
||||||
<a href="https://agilnova.de/" target="_blank" rel="noopener" class="partner-item"><img src="images/agilnova-favicon.png" alt="agilnova" /><span>agilnova</span></a>
|
|
||||||
<a href="https://006-002-bc5bb1cb-984d-42c3-8580-63439f4924c5.odoo4projects.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/ramani-kenya-logo.png" alt="Ramani Kenya" /><span>Ramani Kenya</span></a>
|
|
||||||
<a href="https://startparaguay.net/" target="_blank" rel="noopener" class="partner-item"><img src="images/startparaguay-favicon.png" alt="Start Paraguay" /><span>Start Paraguay</span></a>
|
|
||||||
<a href="https://accelersales.com/" target="_blank" rel="noopener" class="partner-item"><img src="images/accelersales-logo.png" alt="AccellerSales" /><span>AccellerSales</span></a>
|
|
||||||
<a href="#pricing" class="partner-item" style="opacity:0.55"><img src="images/your-company-logo.svg" alt="Your Company" /><span>Your Company</span></a>
|
<a href="#pricing" class="partner-item" style="opacity:0.55"><img src="images/your-company-logo.svg" alt="Your Company" /><span>Your Company</span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -299,7 +297,7 @@
|
|||||||
<div class="price-save">Save 8%</div>
|
<div class="price-save">Save 8%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“ODOO Standard .. that is all my business needs”</p>
|
<p class="desc">“ODOO Standard .. that is all my business needs”</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass" onclick="buyNow(54)">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="54">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
||||||
@@ -318,7 +316,7 @@
|
|||||||
<div class="price-save">Save 9%</div>
|
<div class="price-save">Save 9%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“I need some modules and professional reports”</p>
|
<p class="desc">“I need some modules and professional reports”</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass" onclick="buyNow(55)">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="55">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
||||||
@@ -338,7 +336,7 @@
|
|||||||
<div class="price-save">Save 10%</div>
|
<div class="price-save">Save 10%</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“ODOO Enterprise is a must have!”</p>
|
<p class="desc">“ODOO Enterprise is a must have!”</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass" onclick="buyNow(56)">Buy Now</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-buy" data-id="56">Buy Now</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> ODOO CE Hosting</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Automatic Backups</li>
|
||||||
@@ -360,7 +358,7 @@
|
|||||||
<div class="price-save"></div>
|
<div class="price-save"></div>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">“My house! My Horse! My Server!”</p>
|
<p class="desc">“My house! My Horse! My Server!”</p>
|
||||||
<a href="javascript:void(0)" class="btn btn-brass" onclick="openOrderWidget('Empire', 950.00, true)">Get Custom Quote</a>
|
<a href="javascript:void(0)" class="btn btn-brass btn-empire" data-plan="Empire" data-price="950.00" data-is-empire="true">Get Custom Quote</a>
|
||||||
<ul>
|
<ul>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> Our service on your server</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> Our service on your server</li>
|
||||||
<li><i class="fas fa-check" style="color: var(--success)"></i> All modules & features</li>
|
<li><i class="fas fa-check" style="color: var(--success)"></i> All modules & features</li>
|
||||||
@@ -512,6 +510,7 @@
|
|||||||
<h4>About us</h4>
|
<h4>About us</h4>
|
||||||
<p>We build smart, scalable business solutions by combining the <strong>stability</strong> of Odoo ERP with the <strong>power</strong> of AI and N8N automation.</p>
|
<p>We build smart, scalable business solutions by combining the <strong>stability</strong> of Odoo ERP with the <strong>power</strong> of AI and N8N automation.</p>
|
||||||
<p>From streamlined sales to global rollouts, our <strong>lean, eco-friendly</strong> approach helps businesses cut costs, boost efficiency, and grow without limits.</p>
|
<p>From streamlined sales to global rollouts, our <strong>lean, eco-friendly</strong> approach helps businesses cut costs, boost efficiency, and grow without limits.</p>
|
||||||
|
<p><a href="mailto:support@odoo4projects.com" class="footer-email">support@odoo4projects.com</a></p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h4>Follow us on</h4>
|
<h4>Follow us on</h4>
|
||||||
|
|||||||
@@ -307,38 +307,24 @@ var si = 0,
|
|||||||
var pag = document.getElementById("blogPagination");
|
var pag = document.getElementById("blogPagination");
|
||||||
var pagHtml = "";
|
var pagHtml = "";
|
||||||
if (totalPages > 1) {
|
if (totalPages > 1) {
|
||||||
pagHtml +=
|
var prevPage = blogState.currentPage > 1 ? blogState.currentPage - 1 : null;
|
||||||
'<button class="blog-page-btn" onclick="blogGo(1)"' +
|
var nextPage = blogState.currentPage < totalPages ? blogState.currentPage + 1 : null;
|
||||||
(blogState.currentPage <= 1 ? ' disabled"' : '"') +
|
var isFirst = blogState.currentPage <= 1;
|
||||||
">«</button>";
|
var isLast = blogState.currentPage >= totalPages;
|
||||||
pagHtml +=
|
|
||||||
'<button class="blog-page-btn" onclick="blogGo(' +
|
pagHtml += '<a class="blog-page-btn' + (isFirst ? ' blog-page-btn-disabled' : '') + '" href="?page=1"' + (isFirst ? ' aria-disabled="true"' : ' aria-label="Go to first page"') + '>«</a>';
|
||||||
(blogState.currentPage - 1) +
|
if (prevPage) {
|
||||||
')"' +
|
pagHtml += '<a class="blog-page-btn" href="?page=' + prevPage + '" rel="prev" aria-label="Go to previous page">‹ Prev</a>';
|
||||||
(blogState.currentPage <= 1 ? ' disabled"' : '"') +
|
} else {
|
||||||
">‹ Prev</button>";
|
pagHtml += '<span class="blog-page-btn-disabled">‹ Prev</span>';
|
||||||
pagHtml +=
|
}
|
||||||
'<span class="blog-page-info">Page ' +
|
pagHtml += '<span class="blog-page-info" aria-live="polite">Page ' + blogState.currentPage + " of " + totalPages + "</span>";
|
||||||
blogState.currentPage +
|
if (nextPage) {
|
||||||
" of " +
|
pagHtml += '<a class="blog-page-btn" href="?page=' + nextPage + '" rel="next" aria-label="Go to next page">Next ›</a>';
|
||||||
totalPages +
|
} else {
|
||||||
"</span>";
|
pagHtml += '<span class="blog-page-btn-disabled">Next ›</span>';
|
||||||
pagHtml +=
|
}
|
||||||
'<button class="blog-page-btn" onclick="blogGo(' +
|
pagHtml += '<a class="blog-page-btn' + (isLast ? ' blog-page-btn-disabled' : '') + '" href="?page=' + totalPages + '"' + (isLast ? ' aria-disabled="true"' : ' aria-label="Go to last page"') + '>»</a>';
|
||||||
(blogState.currentPage + 1) +
|
|
||||||
')"' +
|
|
||||||
(blogState.currentPage >= totalPages
|
|
||||||
? ' disabled"'
|
|
||||||
: '"') +
|
|
||||||
">Next ›</button>";
|
|
||||||
pagHtml +=
|
|
||||||
'<button class="blog-page-btn" onclick="blogGo(' +
|
|
||||||
totalPages +
|
|
||||||
')"' +
|
|
||||||
(blogState.currentPage >= totalPages
|
|
||||||
? ' disabled"'
|
|
||||||
: '"') +
|
|
||||||
">»</button>";
|
|
||||||
}
|
}
|
||||||
pag.innerHTML = pagHtml;
|
pag.innerHTML = pagHtml;
|
||||||
}
|
}
|
||||||
@@ -526,7 +512,11 @@ var si = 0,
|
|||||||
}).catch(function() {
|
}).catch(function() {
|
||||||
btn.textContent = 'Send';
|
btn.textContent = 'Send';
|
||||||
btn.disabled = false;
|
btn.disabled = false;
|
||||||
alert('Something went wrong. Please try again.');
|
var errorMsg = document.createElement('div');
|
||||||
|
errorMsg.className = 'trial-error visible';
|
||||||
|
errorMsg.textContent = 'Something went wrong. Please try again.';
|
||||||
|
trialForm.appendChild(errorMsg);
|
||||||
|
setTimeout(function() { errorMsg.classList.remove('visible'); }, 3000);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -728,4 +718,21 @@ var si = 0,
|
|||||||
render(this.value);
|
render(this.value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Buy Now buttons (no inline onclick) */
|
||||||
|
document.querySelectorAll('.btn-buy').forEach(function(btn) {
|
||||||
|
btn.addEventListener('click', function() {
|
||||||
|
var id = this.getAttribute('data-id');
|
||||||
|
if (id) buyNow(parseInt(id));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
document.querySelectorAll('.btn-empire').forEach(function(btn) {
|
||||||
|
btn.addEventListener('click', function() {
|
||||||
|
var plan = this.getAttribute('data-plan');
|
||||||
|
var price = parseFloat(this.getAttribute('data-price'));
|
||||||
|
var isEmpire = this.getAttribute('data-is-empire') === 'true';
|
||||||
|
if (plan) openOrderWidget(plan, price, isEmpire);
|
||||||
|
});
|
||||||
|
});
|
||||||
})();
|
})();
|
||||||
@@ -336,12 +336,12 @@ img { max-width: 100%; height: auto; vertical-align: middle; }
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 3rem;
|
gap: 3rem;
|
||||||
width: max-content;
|
width: max-content;
|
||||||
animation: partnerScroll 40s linear infinite;
|
animation: partnerScroll 55s linear infinite;
|
||||||
}
|
}
|
||||||
.partner-carousel-wrap:hover .partner-grid { animation-play-state: paused; }
|
.partner-carousel-wrap:hover .partner-grid { animation-play-state: paused; }
|
||||||
@keyframes partnerScroll {
|
@keyframes partnerScroll {
|
||||||
0% { transform: translateX(0); }
|
0% { transform: translateX(0); }
|
||||||
100% { transform: translateX(-50%); }
|
100% { transform: translateX(calc(-50% + 1.5rem)); }
|
||||||
}
|
}
|
||||||
.partner-item {
|
.partner-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -482,16 +482,15 @@ img { max-width: 100%; height: auto; vertical-align: middle; }
|
|||||||
font-size: 0.82rem;
|
font-size: 0.82rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
.trial-success {
|
.trial-success,
|
||||||
|
.trial-error {
|
||||||
display: none;
|
display: none;
|
||||||
font-size: 0.82rem;
|
font-size: 0.82rem;
|
||||||
color: #4ade80;
|
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
}
|
}
|
||||||
.trial-success.visible {
|
.trial-success.visible { display: block; color: #4ade80; }
|
||||||
display: block;
|
.trial-error.visible { display: block; color: #ef4444; }
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.features-grid {
|
.features-grid {
|
||||||
@@ -921,6 +920,23 @@ img { max-width: 100%; height: auto; vertical-align: middle; }
|
|||||||
}
|
}
|
||||||
.fcopy a { color: rgba(255,255,255,0.4); }
|
.fcopy a { color: rgba(255,255,255,0.4); }
|
||||||
.fcopy a:hover { color: var(--brass); }
|
.fcopy a:hover { color: var(--brass); }
|
||||||
|
.footer-email {
|
||||||
|
display: inline-block;
|
||||||
|
margin-top: 0.75rem;
|
||||||
|
padding: 0.5rem 0.8rem;
|
||||||
|
background: rgba(201,162,39,0.08);
|
||||||
|
border: 1px solid rgba(201,162,39,0.25);
|
||||||
|
border-radius: var(--radius);
|
||||||
|
color: var(--brass);
|
||||||
|
font-family: Inter, sans-serif;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
transition: all 0.2s;
|
||||||
|
}
|
||||||
|
.footer-email:hover {
|
||||||
|
background: rgba(201,162,39,0.12);
|
||||||
|
border-color: var(--brass);
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.fgrid { grid-template-columns: 1fr; }
|
.fgrid { grid-template-columns: 1fr; }
|
||||||
.footer { padding-top: 2.5rem; padding-bottom: 5rem; }
|
.footer { padding-top: 2.5rem; padding-bottom: 5rem; }
|
||||||
|
|||||||
Reference in new issue
Block a user