Changes for page Pricing
Last modified by Alex Cotiuga on 2026/07/13 06:55
From version 2.11
edited by Alex Cotiuga
on 2026/07/10 04:30
on 2026/07/10 04:30
Change comment:
There is no comment for this version
To version 2.15
edited by Alex Cotiuga
on 2026/07/10 05:14
on 2026/07/10 05:14
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,6 +1,13 @@ 1 1 {{velocity}} 2 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 3 #set ($contactURL = $xwiki.getURL('contact.WebHome')) 4 +#set ($upgradeURL = $xwiki.getURL('services.xwiki-upgrades')) 5 +#set ($maintenanceURL = $xwiki.getURL('services.xwiki-maintenance-support')) 6 +#set ($authURL = $xwiki.getURL('services.xwiki-authentication-access-control')) 7 +#set ($mfaURL = $xwiki.getURL('products.xwiki-two-factor-authentication')) 8 +#set ($securityURL = $xwiki.getURL('services.xwiki-security-review')) 9 +#set ($migrationURL = $xwiki.getURL('services.xwiki-migrations')) 10 +#set ($developmentURL = $xwiki.getURL('services.xwiki-development-integrations')) 4 4 #set ($startingPoints = [{ 5 5 'icon': 'search', 6 6 'title': 'Review & diagnose', ... ... @@ -41,51 +41,63 @@ 41 41 #set ($commonPackages = [{ 42 42 'service': 'XWiki Health Check', 43 43 'price': '€390', 44 - 'description': 'Configuration, version, extension, security and stability review with written recommendations.' 51 + 'description': 'Configuration, version, extension, security and stability review with written recommendations.', 52 + 'url': $securityURL 45 45 },{ 46 46 'service': 'Upgrade Readiness Review', 47 47 'price': '€390', 48 - 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.' 56 + 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.', 57 + 'url': $upgradeURL 49 49 },{ 50 50 'service': 'XWiki Authentication Review', 51 51 'price': '€290', 52 - 'description': 'Review of login flow, users, groups, access control and authentication options.' 61 + 'description': 'Review of login flow, users, groups, access control and authentication options.', 62 + 'url': $authURL 53 53 },{ 54 54 'service': 'Urgent XWiki Troubleshooting', 55 55 'price': 'From €250/session', 56 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.' 66 + 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.', 67 + 'url': $maintenanceURL 57 57 },{ 58 58 'service': 'Standard XWiki LTS Upgrade', 59 59 'price': 'From €790', 60 - 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.' 71 + 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.', 72 + 'url': $upgradeURL 61 61 },{ 62 62 'service': 'XWiki MFA Installation & Configuration', 63 63 'price': 'From €490', 64 - 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.' 76 + 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.', 77 + 'url': $mfaURL 65 65 },{ 66 66 'service': 'OIDC / Microsoft Entra ID Setup', 67 67 'price': 'From €590', 68 - 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.' 81 + 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.', 82 + 'url': $authURL 69 69 },{ 70 70 'service': 'LDAP / Active Directory Review', 71 71 'price': 'From €390', 72 - 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' 86 + 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.', 87 + 'url': $authURL 73 73 },{ 74 74 'service': 'Access Control Review', 75 75 'price': 'From €390', 76 - 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.' 91 + 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.', 92 + 'url': $authURL 77 77 },{ 78 78 'service': 'Advanced Authentication Work', 79 79 'price': 'Quoted', 80 - 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' 96 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.', 97 + 'url': $authURL 81 81 },{ 82 82 'service': 'AWS Hosting Setup for XWiki', 83 83 'price': 'From €490', 84 - 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.' 101 + 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.', 102 + 'url': $maintenanceURL 85 85 },{ 86 86 'service': 'XWiki AWS Cloud Hosting', 87 87 'price': 'From €120/month', 88 - 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.' 106 + 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.', 107 + 'url': $maintenanceURL 89 89 }]) 90 90 #set ($supportPlans = [{ 91 91 'icon': 'leaf', ... ... @@ -131,19 +131,23 @@ 131 131 #set ($complexProjects = [{ 132 132 'icon': 'sitemap', 133 133 'title': 'Wiki farms', 134 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.' 153 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.', 154 + 'url': $authURL 135 135 },{ 136 136 'icon': 'exchange', 137 137 'title': 'Migrations', 138 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.' 158 + 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.', 159 + 'url': $migrationURL 139 139 },{ 140 140 'icon': 'puzzle-piece', 141 141 'title': 'Custom applications', 142 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.' 163 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.', 164 + 'url': $developmentURL 143 143 },{ 144 144 'icon': 'tachometer', 145 145 'title': 'Stability work', 146 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.' 168 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.', 169 + 'url': $maintenanceURL 147 147 }]) 148 148 #set ($faqItems = [{ 149 149 'question': 'Are these fixed prices?', ... ... @@ -177,7 +177,8 @@ 177 177 <h1 id="pricing-title">XWiki Service Packages</h1> 178 178 179 179 <p class="lead"> 180 - Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support. 203 + Clear starting points for independent XWiki consulting, upgrades, authentication configuration, 204 + AWS hosting setup, troubleshooting and long-term maintenance. 181 181 </p> 182 182 183 183 <ul class="benefits"> ... ... @@ -186,7 +186,7 @@ 186 186 <li>Fixed quotes for complex work</li> 187 187 </ul> 188 188 189 - <div id="hero-cta">213 + <div class="hero-actions"> 190 190 <a class="btn btn-primary" href="$contactURL">Request a quote</a> 191 191 <a class="btn btn-secondary" href="#support">View monthly support</a> 192 192 </div> ... ... @@ -198,8 +198,9 @@ 198 198 <div class="container"> 199 199 <h2 id="starting-points-title">Three common ways to start</h2> 200 200 <p class="section-intro"> 201 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change, 202 - or set up ongoing support. 225 + Agnease provides independent XWiki consulting, upgrade support, authentication configuration, 226 + AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations. 227 + Most requests begin by reviewing the current setup, implementing a defined change, or setting up regular support. 203 203 </p> 204 204 205 205 <div class="pathways"> ... ... @@ -230,7 +230,7 @@ 230 230 </div> 231 231 </section> 232 232 233 -<section aria-labelledby="pricing-note-title"> 258 +<section class="industry-trust-section" aria-labelledby="pricing-note-title"> 234 234 <div class="container"> 235 235 <div class="industry-trust-panel"> 236 236 <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2> ... ... @@ -251,24 +251,37 @@ 251 251 a quick review before confirming the final scope. 252 252 </p> 253 253 254 - <table class="table table-bordered table-striped"> 255 - <thead> 256 - <tr> 257 - <th>Service</th> 258 - <th>Starting price</th> 259 - <th>What it covers</th> 260 - </tr> 261 - </thead> 262 - <tbody> 263 - #foreach ($entry in $commonPackages) 279 + <div class="table-responsive"> 280 + <table class="table table-bordered table-striped"> 281 + <thead> 264 264 <tr> 265 - <t d><strong>$entry.service</strong></td>266 - <t d>$entry.price</td>267 - <t d>$entry.description</td>283 + <th>Service</th> 284 + <th>Starting price</th> 285 + <th>What it covers</th> 268 268 </tr> 269 - #end 270 - </tbody> 271 - </table> 287 + </thead> 288 + <tbody> 289 + #foreach ($entry in $commonPackages) 290 + <tr> 291 + <td> 292 + #if ("$!entry.url" != '') 293 + <strong><a href="$entry.url">$entry.service</a></strong> 294 + #else 295 + <strong>$entry.service</strong> 296 + #end 297 + </td> 298 + <td>$entry.price</td> 299 + <td>$entry.description</td> 300 + </tr> 301 + #end 302 + </tbody> 303 + </table> 304 + </div> 305 + 306 + <p class="section-intro"> 307 + AWS hosting prices are starting points for small single-instance XWiki environments. Larger storage, 308 + high availability, managed databases, heavier traffic or stricter monitoring requirements are quoted separately. 309 + </p> 272 272 </div> 273 273 </section> 274 274 ... ... @@ -341,7 +341,13 @@ 341 341 <div class="widget"> 342 342 <div class="icon"> 343 343 <i class="fa fa-$entry.icon" aria-hidden="true"></i> 344 - <h4>$entry.title</h4> 382 + <h4> 383 + #if ("$!entry.url" != '') 384 + <a href="$entry.url">$entry.title</a> 385 + #else 386 + $entry.title 387 + #end 388 + </h4> 345 345 </div> 346 346 <p>$entry.content</p> 347 347 </div> ... ... @@ -348,7 +348,7 @@ 348 348 #end 349 349 </div> 350 350 351 - <div id="hero-cta">395 + <div class="hero-actions"> 352 352 <a class="btn btn-primary" href="$contactURL">Request a project quote</a> 353 353 </div> 354 354 </div> ... ... @@ -392,9 +392,117 @@ 392 392 }, 393 393 "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", 394 394 "areaServed": "International", 395 - "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." 439 + "description": "Independent XWiki consulting, support, upgrades, authentication configuration, AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations.", 440 + "hasOfferCatalog": { 441 + "@type": "OfferCatalog", 442 + "name": "Agnease XWiki service packages", 443 + "itemListElement": [{ 444 + "@type": "Offer", 445 + "name": "XWiki Health Check", 446 + "price": "390", 447 + "priceCurrency": "EUR", 448 + "description": "Configuration, version, extension, security and stability review with written recommendations." 449 + },{ 450 + "@type": "Offer", 451 + "name": "Upgrade Readiness Review", 452 + "price": "390", 453 + "priceCurrency": "EUR", 454 + "description": "Upgrade path, compatibility risks, customizations and effort estimate before implementation." 455 + },{ 456 + "@type": "Offer", 457 + "name": "XWiki Authentication Review", 458 + "price": "290", 459 + "priceCurrency": "EUR", 460 + "description": "Review of login flow, users, groups, access control and authentication options." 461 + },{ 462 + "@type": "Offer", 463 + "name": "Urgent XWiki Troubleshooting", 464 + "price": "250", 465 + "priceCurrency": "EUR", 466 + "description": "Starting price per session for live XWiki troubleshooting." 467 + },{ 468 + "@type": "Offer", 469 + "name": "Standard XWiki LTS Upgrade", 470 + "price": "790", 471 + "priceCurrency": "EUR", 472 + "description": "Starting price for XWiki LTS upgrade preparation, execution and validation." 473 + },{ 474 + "@type": "Offer", 475 + "name": "XWiki MFA Installation & Configuration", 476 + "price": "490", 477 + "priceCurrency": "EUR", 478 + "description": "Starting price for MFA setup for the standard XWiki login flow." 479 + },{ 480 + "@type": "Offer", 481 + "name": "OIDC / Microsoft Entra ID Setup", 482 + "price": "590", 483 + "priceCurrency": "EUR", 484 + "description": "Starting price for OpenID Connect setup and validation for XWiki." 485 + },{ 486 + "@type": "Offer", 487 + "name": "AWS Hosting Setup for XWiki", 488 + "price": "490", 489 + "priceCurrency": "EUR", 490 + "description": "Starting price for initial AWS deployment setup for XWiki." 491 + },{ 492 + "@type": "Offer", 493 + "name": "XWiki AWS Cloud Hosting", 494 + "price": "59", 495 + "priceCurrency": "EUR", 496 + "description": "Starting monthly price for small single-instance AWS hosting for XWiki." 497 + }] 498 + } 396 396 } 397 397 </script> 398 398 502 +<script type="application/ld+json"> 503 +{ 504 + "@context": "https://schema.org", 505 + "@type": "FAQPage", 506 + "mainEntity": [{ 507 + "@type": "Question", 508 + "name": "Are these fixed prices?", 509 + "acceptedAnswer": { 510 + "@type": "Answer", 511 + "text": "Some services have fixed starting prices. Larger or more complex projects are reviewed first and quoted separately, so the scope, risks and required testing are clear before implementation starts." 512 + } 513 + },{ 514 + "@type": "Question", 515 + "name": "Do you charge hourly?", 516 + "acceptedAnswer": { 517 + "@type": "Answer", 518 + "text": "For support plans, time allocation is used to manage monthly work. For projects, Agnease aims to provide clear service packages or fixed quotes whenever the scope can be defined." 519 + } 520 + },{ 521 + "@type": "Question", 522 + "name": "Can you work on existing XWiki installations?", 523 + "acceptedAnswer": { 524 + "@type": "Answer", 525 + "text": "Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance." 526 + } 527 + },{ 528 + "@type": "Question", 529 + "name": "What happens if my XWiki instance is more complex?", 530 + "acceptedAnswer": { 531 + "@type": "Answer", 532 + "text": "Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope." 533 + } 534 + },{ 535 + "@type": "Question", 536 + "name": "Can I book a call directly?", 537 + "acceptedAnswer": { 538 + "@type": "Answer", 539 + "text": "Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion." 540 + } 541 + },{ 542 + "@type": "Question", 543 + "name": "Do prices include external costs?", 544 + "acceptedAnswer": { 545 + "@type": "Answer", 546 + "text": "The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant." 547 + } 548 + }] 549 +} 550 +</script> 399 399 {{/html}} 400 400 {{/velocity}}