Changes for page Pricing
Last modified by Alex Cotiuga on 2026/07/13 06:55
From version 2.25
edited by Alex Cotiuga
on 2026/07/10 05:16
on 2026/07/10 05:16
Change comment:
There is no comment for this version
To version 2.10
edited by Alex Cotiuga
on 2026/07/10 04:29
on 2026/07/10 04:29
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,13 +1,6 @@ 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')) 11 11 #set ($startingPoints = [{ 12 12 'icon': 'search', 13 13 'title': 'Review & diagnose', ... ... @@ -48,63 +48,51 @@ 48 48 #set ($commonPackages = [{ 49 49 'service': 'XWiki Health Check', 50 50 'price': '€390', 51 - 'description': 'Configuration, version, extension, security and stability review with written recommendations.', 52 - 'url': $securityURL 44 + 'description': 'Configuration, version, extension, security and stability review with written recommendations.' 53 53 },{ 54 54 'service': 'Upgrade Readiness Review', 55 55 'price': '€390', 56 - 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.', 57 - 'url': $upgradeURL 48 + 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.' 58 58 },{ 59 59 'service': 'XWiki Authentication Review', 60 60 'price': '€290', 61 - 'description': 'Review of login flow, users, groups, access control and authentication options.', 62 - 'url': $authURL 52 + 'description': 'Review of login flow, users, groups, access control and authentication options.' 63 63 },{ 64 64 'service': 'Urgent XWiki Troubleshooting', 65 65 'price': 'From €250/session', 66 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.', 67 - 'url': $maintenanceURL 56 + 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.' 68 68 },{ 69 69 'service': 'Standard XWiki LTS Upgrade', 70 70 'price': 'From €790', 71 - 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.', 72 - 'url': $upgradeURL 60 + 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.' 73 73 },{ 74 74 'service': 'XWiki MFA Installation & Configuration', 75 75 'price': 'From €490', 76 - 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.', 77 - 'url': $mfaURL 64 + 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.' 78 78 },{ 79 79 'service': 'OIDC / Microsoft Entra ID Setup', 80 80 'price': 'From €590', 81 - 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.', 82 - 'url': $authURL 68 + 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.' 83 83 },{ 84 84 'service': 'LDAP / Active Directory Review', 85 85 'price': 'From €390', 86 - 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.', 87 - 'url': $authURL 72 + 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.' 88 88 },{ 89 89 'service': 'Access Control Review', 90 90 'price': 'From €390', 91 - 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.', 92 - 'url': $authURL 76 + 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.' 93 93 },{ 94 94 'service': 'Advanced Authentication Work', 95 95 'price': 'Quoted', 96 - 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.', 97 - 'url': $authURL 80 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.' 98 98 },{ 99 99 'service': 'AWS Hosting Setup for XWiki', 100 100 'price': 'From €490', 101 - 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.', 102 - 'url': $maintenanceURL 84 + 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.' 103 103 },{ 104 104 'service': 'XWiki AWS Cloud Hosting', 105 - 'price': 'From €59/month', 106 - 'description': 'Minimal single-instance AWS hosting for small XWiki environments, using EC2, Nginx, Docker, database container, Let’s Encrypt SSL, EBS storage and basic snapshots.', 107 - 'url': $maintenanceURL 87 + 'price': 'From €120/month', 88 + 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.' 108 108 }]) 109 109 #set ($supportPlans = [{ 110 110 'icon': 'leaf', ... ... @@ -150,23 +150,19 @@ 150 150 #set ($complexProjects = [{ 151 151 'icon': 'sitemap', 152 152 'title': 'Wiki farms', 153 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.', 154 - 'url': $authURL 134 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.' 155 155 },{ 156 156 'icon': 'exchange', 157 157 'title': 'Migrations', 158 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.', 159 - 'url': $migrationURL 138 + 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.' 160 160 },{ 161 161 'icon': 'puzzle-piece', 162 162 'title': 'Custom applications', 163 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.', 164 - 'url': $developmentURL 142 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.' 165 165 },{ 166 166 'icon': 'tachometer', 167 167 'title': 'Stability work', 168 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.', 169 - 'url': $maintenanceURL 146 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.' 170 170 }]) 171 171 #set ($faqItems = [{ 172 172 'question': 'Are these fixed prices?', ... ... @@ -200,8 +200,7 @@ 200 200 <h1 id="pricing-title">XWiki Service Packages</h1> 201 201 202 202 <p class="lead"> 203 - Clear starting points for independent XWiki consulting, upgrades, authentication configuration, 204 - AWS hosting setup, troubleshooting and long-term maintenance. 180 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support. 205 205 </p> 206 206 207 207 <ul class="benefits"> ... ... @@ -210,7 +210,7 @@ 210 210 <li>Fixed quotes for complex work</li> 211 211 </ul> 212 212 213 - <div class="hero-actions">189 + <div id="hero-cta"> 214 214 <a class="btn btn-primary" href="$contactURL">Request a quote</a> 215 215 <a class="btn btn-secondary" href="#support">View monthly support</a> 216 216 </div> ... ... @@ -222,9 +222,8 @@ 222 222 <div class="container"> 223 223 <h2 id="starting-points-title">Three common ways to start</h2> 224 224 <p class="section-intro"> 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. 201 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change, 202 + or set up ongoing support. 228 228 </p> 229 229 230 230 <div class="pathways"> ... ... @@ -255,7 +255,7 @@ 255 255 </div> 256 256 </section> 257 257 258 -<section class="industry-trust-section"aria-labelledby="pricing-note-title">233 +<section aria-labelledby="pricing-note-title"> 259 259 <div class="container"> 260 260 <div class="industry-trust-panel"> 261 261 <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2> ... ... @@ -276,37 +276,24 @@ 276 276 a quick review before confirming the final scope. 277 277 </p> 278 278 279 - <div class="table-responsive"> 280 - <table class="table table-bordered table-striped"> 281 - <thead> 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) 282 282 <tr> 283 - <t h>Service</th>284 - <t h>Startingprice</th>285 - <t h>Whatitcovers</th>265 + <td><strong>$entry.service</strong></td> 266 + <td>$entry.price</td> 267 + <td>$entry.description</td> 286 286 </tr> 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> 269 + #end 270 + </tbody> 271 + </table> 310 310 </div> 311 311 </section> 312 312 ... ... @@ -358,9 +358,7 @@ 358 358 </div> 359 359 360 360 <p class="section-intro"> 361 - Support plans are intended for remote XWiki support, troubleshooting, maintenance guidance, 362 - small configuration changes and minor improvements. Larger features, migrations, major customizations 363 - and complex projects are quoted separately. 323 + Larger features, migrations, major customizations and complex projects are quoted separately. 364 364 </p> 365 365 </div> 366 366 </section> ... ... @@ -379,13 +379,7 @@ 379 379 <div class="widget"> 380 380 <div class="icon"> 381 381 <i class="fa fa-$entry.icon" aria-hidden="true"></i> 382 - <h4> 383 - #if ("$!entry.url" != '') 384 - <a href="$entry.url">$entry.title</a> 385 - #else 386 - $entry.title 387 - #end 388 - </h4> 342 + <h4>$entry.title</h4> 389 389 </div> 390 390 <p>$entry.content</p> 391 391 </div> ... ... @@ -392,7 +392,7 @@ 392 392 #end 393 393 </div> 394 394 395 - <div class="hero-actions">349 + <div id="hero-cta"> 396 396 <a class="btn btn-primary" href="$contactURL">Request a project quote</a> 397 397 </div> 398 398 </div> ... ... @@ -436,117 +436,9 @@ 436 436 }, 437 437 "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance", 438 438 "areaServed": "International", 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 - } 393 + "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation." 499 499 } 500 500 </script> 501 501 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> 551 551 {{/html}} 552 552 {{/velocity}}