Changes for page Pricing

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

From version 2.3
edited by Agnease
on 2026/07/10 04:20
Change comment: There is no comment for this version
To version 2.26
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',
... ... @@ -38,68 +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 - 'service': 'AWS Hosting Setup for XWiki',
49 - 'price': 'From €490',
50 - 'description': 'Initial AWS deployment setup for XWiki, including server preparation, database/runtime configuration, HTTPS setup and basic backup strategy.'
51 -},
52 -{
48 +#set ($commonPackages = [{
53 53   'service': 'XWiki Health Check',
54 54   'price': '€390',
55 - '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
56 56  },{
57 57   'service': 'Upgrade Readiness Review',
58 58   'price': '€390',
59 - '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
60 60  },{
61 61   'service': 'XWiki Authentication Review',
62 62   'price': '€290',
63 - '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
64 64  },{
65 65   'service': 'Urgent XWiki Troubleshooting',
66 - 'price': 'From €250',
67 - '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
68 68  },{
69 69   'service': 'Standard XWiki LTS Upgrade',
70 70   'price': 'From €790',
71 - '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
72 72  },{
73 73   'service': 'XWiki MFA Installation & Configuration',
74 74   'price': 'From €490',
75 - '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
76 76  },{
77 77   'service': 'OIDC / Microsoft Entra ID Setup',
78 78   'price': 'From €590',
79 - '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
80 80  },{
81 81   'service': 'LDAP / Active Directory Review',
82 82   'price': 'From €390',
83 - '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
84 84  },{
85 85   'service': 'Access Control Review',
86 86   'price': 'From €390',
87 - '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
88 88  },{
89 89   'service': 'Advanced Authentication Work',
90 - 'price': 'Quoted after review',
91 - '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 €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
92 92  }])
93 93  #set ($supportPlans = [{
94 94   'icon': 'leaf',
95 95   'title': 'Essential Support',
96 96   'price': '€390/month',
97 - 'description': 'For small teams that need occasional XWiki help.',
113 + 'description': 'For small teams that need occasional XWiki help at a predictable monthly cost.',
98 98   'items': [
99 - 'Up to 4 hours/month',
115 + 'Up to 1 support day/month',
100 100   'Email support',
117 + 'Troubleshooting and guidance',
101 101   'Small configuration fixes',
102 - 'Upgrade and security guidance'
119 + 'Upgrade and security recommendations'
103 103   ],
104 104   'cta': 'Request support plan'
105 105  },{
... ... @@ -106,13 +106,14 @@
106 106   'icon': 'check-circle',
107 107   'title': 'Standard Support',
108 108   'price': '€790/month',
109 - '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.',
110 110   'items': [
111 - 'Up to 8 hours/month',
128 + 'Up to 2 support days/month',
112 112   'Prioritized support',
113 113   'Troubleshooting',
114 114   'Minor improvements',
115 - 'Maintenance guidance'
132 + 'Maintenance guidance',
133 + 'Upgrade planning'
116 116   ],
117 117   'cta': 'Request standard support'
118 118  },{
... ... @@ -121,7 +121,7 @@
121 121   'price': 'From €1,490/month',
122 122   'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.',
123 123   'items': [
124 - 'Larger monthly allocation',
142 + 'Larger monthly support allocation',
125 125   'Prioritized handling',
126 126   'Upgrade planning',
127 127   'Authentication and extension support',
... ... @@ -132,19 +132,23 @@
132 132  #set ($complexProjects = [{
133 133   'icon': 'sitemap',
134 134   'title': 'Wiki farms',
135 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
153 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.',
154 + 'url': $authURL
136 136  },{
137 137   'icon': 'exchange',
138 138   'title': 'Migrations',
139 - '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
140 140  },{
141 141   'icon': 'puzzle-piece',
142 142   'title': 'Custom applications',
143 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
163 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.',
164 + 'url': $developmentURL
144 144  },{
145 145   'icon': 'tachometer',
146 146   'title': 'Stability work',
147 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
168 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.',
169 + 'url': $maintenanceURL
148 148  }])
149 149  #set ($faqItems = [{
150 150   'question': 'Are these fixed prices?',
... ... @@ -178,7 +178,8 @@
178 178   <h1 id="pricing-title">XWiki Service Packages</h1>
179 179  
180 180   <p class="lead">
181 - 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.
182 182   </p>
183 183  
184 184   <ul class="benefits">
... ... @@ -187,7 +187,7 @@
187 187   <li>Fixed quotes for complex work</li>
188 188   </ul>
189 189  
190 - <div id="hero-cta">
213 + <div class="hero-actions">
191 191   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
192 192   <a class="btn btn-secondary" href="#support">View monthly support</a>
193 193   </div>
... ... @@ -199,8 +199,9 @@
199 199   <div class="container">
200 200   <h2 id="starting-points-title">Three common ways to start</h2>
201 201   <p class="section-intro">
202 - Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
203 - 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.
204 204   </p>
205 205  
206 206   <div class="pathways">
... ... @@ -231,7 +231,7 @@
231 231   </div>
232 232  </section>
233 233  
234 -<section aria-labelledby="pricing-note-title">
258 +<section class="industry-trust-section" aria-labelledby="pricing-note-title">
235 235   <div class="container">
236 236   <div class="industry-trust-panel">
237 237   <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
... ... @@ -252,24 +252,36 @@
252 252   a quick review before confirming the final scope.
253 253   </p>
254 254  
255 - <table class="table table-bordered table-striped">
256 - <thead>
257 - <tr>
258 - <th>Service</th>
259 - <th>Starting price</th>
260 - <th>What it covers</th>
261 - </tr>
262 - </thead>
263 - <tbody>
264 - #foreach ($entry in $commonPackages)
279 + <div class="table-responsive">
280 + <table class="table table-bordered table-striped">
281 + <thead>
265 265   <tr>
266 - <td><strong>$entry.service</strong></td>
267 - <td>$entry.price</td>
268 - <td>$entry.description</td>
283 + <th>Service</th>
284 + <th>Starting price</th>
285 + <th>What it covers</th>
269 269   </tr>
270 - #end
271 - </tbody>
272 - </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>
273 273   </div>
274 274  </section>
275 275  
... ... @@ -321,7 +321,9 @@
321 321   </div>
322 322  
323 323   <p class="section-intro">
324 - 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.
325 325   </p>
326 326   </div>
327 327  </section>
... ... @@ -340,7 +340,13 @@
340 340   <div class="widget">
341 341   <div class="icon">
342 342   <i class="fa fa-$entry.icon" aria-hidden="true"></i>
343 - <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>
344 344   </div>
345 345   <p>$entry.content</p>
346 346   </div>
... ... @@ -347,7 +347,7 @@
347 347   #end
348 348   </div>
349 349  
350 - <div id="hero-cta">
394 + <div class="hero-actions">
351 351   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
352 352   </div>
353 353   </div>
... ... @@ -391,9 +391,117 @@
391 391   },
392 392   "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance",
393 393   "areaServed": "International",
394 - "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 + }
395 395  }
396 396  </script>
397 397  
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>
398 398  {{/html}}
399 399  {{/velocity}}