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.12
edited by Agnease
on 2026/07/10 05:06
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 €120/month',
106 + 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.',
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,37 @@
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. Larger storage,
308 + high availability, managed databases, heavier traffic or stricter monitoring requirements are quoted separately.
309 + </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.
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.
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>
382 + <h4>
383 + #if ("$!entry.url" != '')
384 + <a href="$entry.url">$entry.title</a>
385 + #else
386 + $entry.title
387 + #end
388 + </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">
395 + <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."
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": "120",
495 + "priceCurrency": "EUR",
496 + "description": "Starting monthly price for small single-instance AWS hosting for XWiki."
497 + }]
498 + }
395 395  }
396 396  </script>
397 397  
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>
398 398  {{/html}}
399 399  {{/velocity}}