Changes for page Pricing

Last modified by Agnease on 2026/07/10 06:00

From version 2.9
edited by Agnease
on 2026/07/10 04:24
Change comment: There is no comment for this version
To version 2.27
edited by Agnease
on 2026/07/10 05:17
Change comment: There is no comment for this version

Summary

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,62 +41,75 @@
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 - 'price': 'From €120/month',
88 - 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.'
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
89 89  }])
90 90  #set ($supportPlans = [{
91 91   'icon': 'leaf',
92 92   'title': 'Essential Support',
93 93   'price': '€390/month',
94 - 'description': 'For small teams that need occasional XWiki help.',
113 + 'description': 'For small teams that need occasional XWiki help at a predictable monthly cost.',
95 95   'items': [
96 - 'Up to 4 hours/month',
115 + 'Up to 1 support day/month',
97 97   'Email support',
117 + 'Troubleshooting and guidance',
98 98   'Small configuration fixes',
99 - 'Upgrade and security guidance'
119 + 'Upgrade and security recommendations'
100 100   ],
101 101   'cta': 'Request support plan'
102 102  },{
... ... @@ -103,13 +103,14 @@
103 103   'icon': 'check-circle',
104 104   'title': 'Standard Support',
105 105   'price': '€790/month',
106 - 'description': 'For active XWiki environments that need regular support and maintenance.',
126 + 'description': 'For active XWiki environments that need regular support, maintenance and small improvements.',
107 107   'items': [
108 - 'Up to 8 hours/month',
128 + 'Up to 2 support days/month',
109 109   'Prioritized support',
110 110   'Troubleshooting',
111 111   'Minor improvements',
112 - 'Maintenance guidance'
132 + 'Maintenance guidance',
133 + 'Upgrade planning'
113 113   ],
114 114   'cta': 'Request standard support'
115 115  },{
... ... @@ -118,7 +118,7 @@
118 118   'price': 'From €1,490/month',
119 119   'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.',
120 120   'items': [
121 - 'Larger monthly allocation',
142 + 'Larger monthly support allocation',
122 122   'Prioritized handling',
123 123   'Upgrade planning',
124 124   'Authentication and extension support',
... ... @@ -129,19 +129,23 @@
129 129  #set ($complexProjects = [{
130 130   'icon': 'sitemap',
131 131   'title': 'Wiki farms',
132 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
153 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.',
154 + 'url': $authURL
133 133  },{
134 134   'icon': 'exchange',
135 135   'title': 'Migrations',
136 - '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
137 137  },{
138 138   'icon': 'puzzle-piece',
139 139   'title': 'Custom applications',
140 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
163 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.',
164 + 'url': $developmentURL
141 141  },{
142 142   'icon': 'tachometer',
143 143   'title': 'Stability work',
144 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
168 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.',
169 + 'url': $maintenanceURL
145 145  }])
146 146  #set ($faqItems = [{
147 147   'question': 'Are these fixed prices?',
... ... @@ -175,7 +175,8 @@
175 175   <h1 id="pricing-title">XWiki Service Packages</h1>
176 176  
177 177   <p class="lead">
178 - 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.
179 179   </p>
180 180  
181 181   <ul class="benefits">
... ... @@ -184,7 +184,7 @@
184 184   <li>Fixed quotes for complex work</li>
185 185   </ul>
186 186  
187 - <div id="hero-cta">
213 + <div class="hero-actions">
188 188   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
189 189   <a class="btn btn-secondary" href="#support">View monthly support</a>
190 190   </div>
... ... @@ -196,8 +196,9 @@
196 196   <div class="container">
197 197   <h2 id="starting-points-title">Three common ways to start</h2>
198 198   <p class="section-intro">
199 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
200 - 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.
201 201   </p>
202 202  
203 203   <div class="pathways">
... ... @@ -228,7 +228,7 @@
228 228   </div>
229 229  </section>
230 230  
231 -<section aria-labelledby="pricing-note-title">
258 +<section class="industry-trust-section" aria-labelledby="pricing-note-title">
232 232   <div class="container">
233 233   <div class="industry-trust-panel">
234 234   <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
... ... @@ -249,24 +249,36 @@
249 249   a quick review before confirming the final scope.
250 250   </p>
251 251  
252 - <table class="table table-bordered table-striped">
253 - <thead>
254 - <tr>
255 - <th>Service</th>
256 - <th>Starting price</th>
257 - <th>What it covers</th>
258 - </tr>
259 - </thead>
260 - <tbody>
261 - #foreach ($entry in $commonPackages)
279 + <div class="table-responsive">
280 + <table class="table table-bordered table-striped">
281 + <thead>
262 262   <tr>
263 - <td><strong>$entry.service</strong></td>
264 - <td>$entry.price</td>
265 - <td>$entry.description</td>
283 + <th>Service</th>
284 + <th>Starting price</th>
285 + <th>What it covers</th>
266 266   </tr>
267 - #end
268 - </tbody>
269 - </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. The minimal setup uses one EC2 instance with Nginx, Docker, XWiki, database, Let’s Encrypt SSL, EBS storage and basic snapshots. Larger storage, higher traffic, high availability, managed databases, advanced monitoring or stricter backup requirements are quoted separately.
308 + </p>
270 270   </div>
271 271  </section>
272 272  
... ... @@ -318,7 +318,9 @@
318 318   </div>
319 319  
320 320   <p class="section-intro">
321 - Larger features, migrations, major customizations and complex projects are quoted separately.
360 + Support plans are intended for remote XWiki support, troubleshooting, maintenance guidance,
361 + small configuration changes and minor improvements. Larger features, migrations, major customizations
362 + and complex projects are quoted separately.
322 322   </p>
323 323   </div>
324 324  </section>
... ... @@ -337,7 +337,13 @@
337 337   <div class="widget">
338 338   <div class="icon">
339 339   <i class="fa fa-$entry.icon" aria-hidden="true"></i>
340 - <h4>$entry.title</h4>
381 + <h4>
382 + #if ("$!entry.url" != '')
383 + <a href="$entry.url">$entry.title</a>
384 + #else
385 + $entry.title
386 + #end
387 + </h4>
341 341   </div>
342 342   <p>$entry.content</p>
343 343   </div>
... ... @@ -344,7 +344,7 @@
344 344   #end
345 345   </div>
346 346  
347 - <div id="hero-cta">
394 + <div class="hero-actions">
348 348   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
349 349   </div>
350 350   </div>
... ... @@ -388,9 +388,117 @@
388 388   },
389 389   "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance",
390 390   "areaServed": "International",
391 - "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation."
438 + "description": "Independent XWiki consulting, support, upgrades, authentication configuration, AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations.",
439 + "hasOfferCatalog": {
440 + "@type": "OfferCatalog",
441 + "name": "Agnease XWiki service packages",
442 + "itemListElement": [{
443 + "@type": "Offer",
444 + "name": "XWiki Health Check",
445 + "price": "390",
446 + "priceCurrency": "EUR",
447 + "description": "Configuration, version, extension, security and stability review with written recommendations."
448 + },{
449 + "@type": "Offer",
450 + "name": "Upgrade Readiness Review",
451 + "price": "390",
452 + "priceCurrency": "EUR",
453 + "description": "Upgrade path, compatibility risks, customizations and effort estimate before implementation."
454 + },{
455 + "@type": "Offer",
456 + "name": "XWiki Authentication Review",
457 + "price": "290",
458 + "priceCurrency": "EUR",
459 + "description": "Review of login flow, users, groups, access control and authentication options."
460 + },{
461 + "@type": "Offer",
462 + "name": "Urgent XWiki Troubleshooting",
463 + "price": "250",
464 + "priceCurrency": "EUR",
465 + "description": "Starting price per session for live XWiki troubleshooting."
466 + },{
467 + "@type": "Offer",
468 + "name": "Standard XWiki LTS Upgrade",
469 + "price": "790",
470 + "priceCurrency": "EUR",
471 + "description": "Starting price for XWiki LTS upgrade preparation, execution and validation."
472 + },{
473 + "@type": "Offer",
474 + "name": "XWiki MFA Installation & Configuration",
475 + "price": "490",
476 + "priceCurrency": "EUR",
477 + "description": "Starting price for MFA setup for the standard XWiki login flow."
478 + },{
479 + "@type": "Offer",
480 + "name": "OIDC / Microsoft Entra ID Setup",
481 + "price": "590",
482 + "priceCurrency": "EUR",
483 + "description": "Starting price for OpenID Connect setup and validation for XWiki."
484 + },{
485 + "@type": "Offer",
486 + "name": "AWS Hosting Setup for XWiki",
487 + "price": "490",
488 + "priceCurrency": "EUR",
489 + "description": "Starting price for initial AWS deployment setup for XWiki."
490 + },{
491 + "@type": "Offer",
492 + "name": "XWiki AWS Cloud Hosting",
493 + "price": "59",
494 + "priceCurrency": "EUR",
495 + "description": "Starting monthly price for small single-instance AWS hosting for XWiki."
496 + }]
497 + }
392 392  }
393 393  </script>
394 394  
501 +<script type="application/ld+json">
502 +{
503 + "@context": "https://schema.org",
504 + "@type": "FAQPage",
505 + "mainEntity": [{
506 + "@type": "Question",
507 + "name": "Are these fixed prices?",
508 + "acceptedAnswer": {
509 + "@type": "Answer",
510 + "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."
511 + }
512 + },{
513 + "@type": "Question",
514 + "name": "Do you charge hourly?",
515 + "acceptedAnswer": {
516 + "@type": "Answer",
517 + "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."
518 + }
519 + },{
520 + "@type": "Question",
521 + "name": "Can you work on existing XWiki installations?",
522 + "acceptedAnswer": {
523 + "@type": "Answer",
524 + "text": "Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance."
525 + }
526 + },{
527 + "@type": "Question",
528 + "name": "What happens if my XWiki instance is more complex?",
529 + "acceptedAnswer": {
530 + "@type": "Answer",
531 + "text": "Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope."
532 + }
533 + },{
534 + "@type": "Question",
535 + "name": "Can I book a call directly?",
536 + "acceptedAnswer": {
537 + "@type": "Answer",
538 + "text": "Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion."
539 + }
540 + },{
541 + "@type": "Question",
542 + "name": "Do prices include external costs?",
543 + "acceptedAnswer": {
544 + "@type": "Answer",
545 + "text": "The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant."
546 + }
547 + }]
548 +}
549 +</script>
395 395  {{/html}}
396 396  {{/velocity}}