Changes for page Pricing

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

From version 2.2
edited by Agnease
on 2026/07/10 04:19
Change comment: There is no comment for this version
To version 2.13
edited by Agnease
on 2026/07/10 05:13
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',
... ... @@ -38,63 +38,78 @@
38 38   ],
39 39   'cta': 'Discuss support plan'
40 40  }])
41 -#set ($commonPackages = [
42 -{
43 - 'service': 'XWiki AWS Cloud Hosting',
44 - 'price': 'From €120/month',
45 - 'description': 'Single-instance AWS hosting for small XWiki environments, including cloud server, storage, basic backups and modest traffic. Larger storage, high availability, managed databases or high-traffic environments are quoted separately.'
46 -}
47 -{
48 +#set ($commonPackages = [{
48 48   'service': 'XWiki Health Check',
49 49   'price': '€390',
50 - '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
51 51  },{
52 52   'service': 'Upgrade Readiness Review',
53 53   'price': '€390',
54 - 'description': 'Upgrade path, compatibility, customization risk and effort estimate before implementation.'
56 + 'description': 'Upgrade path, compatibility risks, customizations and effort estimate before implementation.',
57 + 'url': $upgradeURL
55 55  },{
56 56   'service': 'XWiki Authentication Review',
57 57   'price': '€290',
58 - 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.'
61 + 'description': 'Review of login flow, users, groups, access control and authentication options.',
62 + 'url': $authURL
59 59  },{
60 60   'service': 'Urgent XWiki Troubleshooting',
61 - 'price': 'From €250',
62 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.'
65 + 'price': 'From €250/session',
66 + 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.',
67 + 'url': $maintenanceURL
63 63  },{
64 64   'service': 'Standard XWiki LTS Upgrade',
65 65   'price': 'From €790',
66 - 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.'
71 + 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.',
72 + 'url': $upgradeURL
67 67  },{
68 68   'service': 'XWiki MFA Installation & Configuration',
69 69   'price': 'From €490',
70 - 'description': 'MFA installation for the standard XWiki login flow. In SSO environments, MFA may be better enforced by the identity provider.'
76 + 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.',
77 + 'url': $mfaURL
71 71  },{
72 72   'service': 'OIDC / Microsoft Entra ID Setup',
73 73   'price': 'From €590',
74 - 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.'
81 + 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.',
82 + 'url': $authURL
75 75  },{
76 76   'service': 'LDAP / Active Directory Review',
77 77   'price': 'From €390',
78 - '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
79 79  },{
80 80   'service': 'Access Control Review',
81 81   'price': 'From €390',
82 - 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.'
91 + 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.',
92 + 'url': $authURL
83 83  },{
84 84   'service': 'Advanced Authentication Work',
85 - 'price': 'Quoted after review',
86 - 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
95 + 'price': 'Quoted',
96 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.',
97 + 'url': $authURL
98 +},{
99 + 'service': 'AWS Hosting Setup for XWiki',
100 + 'price': 'From €490',
101 + 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.',
102 + 'url': $maintenanceURL
103 +},{
104 + 'service': 'XWiki AWS Cloud Hosting',
105 + 'price': 'From €120/month',
106 + 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.',
107 + 'url': $maintenanceURL
87 87  }])
88 88  #set ($supportPlans = [{
89 89   'icon': 'leaf',
90 90   'title': 'Essential Support',
91 91   'price': '€390/month',
92 - 'description': 'For small teams that need occasional XWiki help.',
113 + 'description': 'For small teams that need occasional XWiki help at a predictable monthly cost.',
93 93   'items': [
94 - 'Up to 4 hours/month',
115 + 'Up to 1 support day/month',
95 95   'Email support',
117 + 'Troubleshooting and guidance',
96 96   'Small configuration fixes',
97 - 'Upgrade and security guidance'
119 + 'Upgrade and security recommendations'
98 98   ],
99 99   'cta': 'Request support plan'
100 100  },{
... ... @@ -101,13 +101,14 @@
101 101   'icon': 'check-circle',
102 102   'title': 'Standard Support',
103 103   'price': '€790/month',
104 - '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.',
105 105   'items': [
106 - 'Up to 8 hours/month',
128 + 'Up to 2 support days/month',
107 107   'Prioritized support',
108 108   'Troubleshooting',
109 109   'Minor improvements',
110 - 'Maintenance guidance'
132 + 'Maintenance guidance',
133 + 'Upgrade planning'
111 111   ],
112 112   'cta': 'Request standard support'
113 113  },{
... ... @@ -116,7 +116,7 @@
116 116   'price': 'From €1,490/month',
117 117   'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.',
118 118   'items': [
119 - 'Larger monthly allocation',
142 + 'Larger monthly support allocation',
120 120   'Prioritized handling',
121 121   'Upgrade planning',
122 122   'Authentication and extension support',
... ... @@ -127,19 +127,23 @@
127 127  #set ($complexProjects = [{
128 128   'icon': 'sitemap',
129 129   'title': 'Wiki farms',
130 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
153 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.',
154 + 'url': $authURL
131 131  },{
132 132   'icon': 'exchange',
133 133   'title': 'Migrations',
134 - '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
135 135  },{
136 136   'icon': 'puzzle-piece',
137 137   'title': 'Custom applications',
138 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
163 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.',
164 + 'url': $developmentURL
139 139  },{
140 140   'icon': 'tachometer',
141 141   'title': 'Stability work',
142 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
168 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.',
169 + 'url': $maintenanceURL
143 143  }])
144 144  #set ($faqItems = [{
145 145   'question': 'Are these fixed prices?',
... ... @@ -173,7 +173,8 @@
173 173   <h1 id="pricing-title">XWiki Service Packages</h1>
174 174  
175 175   <p class="lead">
176 - 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.
177 177   </p>
178 178  
179 179   <ul class="benefits">
... ... @@ -182,7 +182,7 @@
182 182   <li>Fixed quotes for complex work</li>
183 183   </ul>
184 184  
185 - <div id="hero-cta">
213 + <div class="hero-actions">
186 186   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
187 187   <a class="btn btn-secondary" href="#support">View monthly support</a>
188 188   </div>
... ... @@ -194,8 +194,9 @@
194 194   <div class="container">
195 195   <h2 id="starting-points-title">Three common ways to start</h2>
196 196   <p class="section-intro">
197 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
198 - 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.
199 199   </p>
200 200  
201 201   <div class="pathways">
... ... @@ -226,7 +226,7 @@
226 226   </div>
227 227  </section>
228 228  
229 -<section aria-labelledby="pricing-note-title">
258 +<section class="industry-trust-section" aria-labelledby="pricing-note-title">
230 230   <div class="container">
231 231   <div class="industry-trust-panel">
232 232   <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
... ... @@ -247,24 +247,37 @@
247 247   a quick review before confirming the final scope.
248 248   </p>
249 249  
250 - <table class="table table-bordered table-striped">
251 - <thead>
252 - <tr>
253 - <th>Service</th>
254 - <th>Starting price</th>
255 - <th>What it covers</th>
256 - </tr>
257 - </thead>
258 - <tbody>
259 - #foreach ($entry in $commonPackages)
279 + <div class="table-responsive">
280 + <table class="table table-bordered table-striped">
281 + <thead>
260 260   <tr>
261 - <td><strong>$entry.service</strong></td>
262 - <td>$entry.price</td>
263 - <td>$entry.description</td>
283 + <th>Service</th>
284 + <th>Starting price</th>
285 + <th>What it covers</th>
264 264   </tr>
265 - #end
266 - </tbody>
267 - </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>
268 268   </div>
269 269  </section>
270 270  
... ... @@ -316,7 +316,9 @@
316 316   </div>
317 317  
318 318   <p class="section-intro">
319 - Larger features, migrations, major customizations and complex projects are quoted separately.
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.
320 320   </p>
321 321   </div>
322 322  </section>
... ... @@ -335,7 +335,13 @@
335 335   <div class="widget">
336 336   <div class="icon">
337 337   <i class="fa fa-$entry.icon" aria-hidden="true"></i>
338 - <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>
339 339   </div>
340 340   <p>$entry.content</p>
341 341   </div>
... ... @@ -342,7 +342,7 @@
342 342   #end
343 343   </div>
344 344  
345 - <div id="hero-cta">
395 + <div class="hero-actions">
346 346   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
347 347   </div>
348 348   </div>
... ... @@ -386,9 +386,117 @@
386 386   },
387 387   "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance",
388 388   "areaServed": "International",
389 - "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 + }
390 390  }
391 391  </script>
392 392  
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>
393 393  {{/html}}
394 394  {{/velocity}}