Changes for page Pricing

Last modified by Agnease on 2026/07/13 06:55

From version 2.45
edited by Agnease
on 2026/07/13 06:55
Change comment: There is no comment for this version
To version 1.15
edited by Agnease
on 2026/07/10 04:01
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,13 +1,8 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 +
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'))
5 +
11 11  #set ($startingPoints = [{
12 12   'icon': 'search',
13 13   'title': 'Review & diagnose',
... ... @@ -45,83 +45,59 @@
45 45   ],
46 46   'cta': 'Discuss support plan'
47 47  }])
43 +
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
47 + '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
51 + 'description': 'Upgrade path, compatibility, customization risk 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
55 + 'description': 'Review of login flow, user provisioning, groups, access control and authentication options.'
63 63  },{
64 64   'service': 'Urgent XWiki Troubleshooting',
65 - 'price': 'From €250/session',
66 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.',
67 - 'url': $maintenanceURL
58 + 'price': 'From €250',
59 + '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
63 + 'description': 'Upgrade preparation, execution, basic compatibility checks and post-upgrade validation.'
73 73  },{
74 - 'service': 'XWiki MFA Basic Installation',
75 - 'price': 'From €150',
76 - 'description': 'Basic installation and configuration of the XWiki MFA application for a standard XWiki login setup.',
77 - 'url': $mfaURL
65 + 'service': 'XWiki MFA Installation & Configuration',
66 + 'price': 'From €490',
67 + 'description': 'MFA installation for the standard XWiki login flow. In SSO environments, MFA may be better enforced by the identity provider.'
78 78  },{
79 - 'service': 'MFA Rollout & Authentication Support',
80 - 'price': 'From €390',
81 - 'description': 'Support for MFA rollout planning, custom login behavior, SSO interactions, troubleshooting or more complex authentication environments.',
82 - 'url': $authURL
83 -},{
84 84   'service': 'OIDC / Microsoft Entra ID Setup',
85 85   'price': 'From €590',
86 - 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.',
87 - 'url': $authURL
71 + 'description': 'OpenID Connect setup, user mapping considerations, group and access-control review, and validation.'
88 88  },{
89 89   'service': 'LDAP / Active Directory Review',
90 90   'price': 'From €390',
91 - 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.',
92 - 'url': $authURL
75 + 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.'
93 93  },{
94 94   'service': 'Access Control Review',
95 95   'price': 'From €390',
96 - 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.',
97 - 'url': $authURL
79 + 'description': 'Review of groups, permissions, public/internal/restricted areas and subwiki access model.'
98 98  },{
99 99   'service': 'Advanced Authentication Work',
100 - 'price': 'Quoted',
101 - 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.',
102 - 'url': $authURL
103 -},{
104 - 'service': 'AWS Hosting Setup for XWiki',
105 - 'price': 'From €490',
106 - 'description': 'Initial AWS hosting setup for an XWiki environment, including deployment preparation, HTTPS setup and basic backup strategy.',
107 - 'url': $maintenanceURL
108 -},{
109 - 'service': 'XWiki Hosting on AWS',
110 - 'price': 'From €49/month',
111 - 'description': 'AWS-based hosting for XWiki environments. Small setups can start at this price, while larger or more demanding environments are quoted after review.',
112 - 'url': $maintenanceURL
82 + 'price': 'Quoted after review',
83 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
113 113  }])
85 +
114 114  #set ($supportPlans = [{
115 115   'icon': 'leaf',
116 116   'title': 'Essential Support',
117 117   'price': '€390/month',
118 - 'description': 'For small teams that need occasional XWiki help at a predictable monthly cost.',
90 + 'description': 'For small teams that need occasional XWiki help.',
119 119   'items': [
120 - 'Up to 1 support day/month',
92 + 'Up to 4 hours/month',
121 121   'Email support',
122 - 'Troubleshooting and guidance',
123 123   'Small configuration fixes',
124 - 'Upgrade and security recommendations'
95 + 'Upgrade and security guidance'
125 125   ],
126 126   'cta': 'Request support plan'
127 127  },{
... ... @@ -128,14 +128,13 @@
128 128   'icon': 'check-circle',
129 129   'title': 'Standard Support',
130 130   'price': '€790/month',
131 - 'description': 'For active XWiki environments that need regular support, maintenance and small improvements.',
102 + 'description': 'For active XWiki environments that need regular support and maintenance.',
132 132   'items': [
133 - 'Up to 2 support days/month',
104 + 'Up to 8 hours/month',
134 134   'Prioritized support',
135 135   'Troubleshooting',
136 136   'Minor improvements',
137 - 'Maintenance guidance',
138 - 'Upgrade planning'
108 + 'Maintenance guidance'
139 139   ],
140 140   'cta': 'Request standard support'
141 141  },{
... ... @@ -144,7 +144,7 @@
144 144   'price': 'From €1,490/month',
145 145   'description': 'For business-critical XWiki platforms or organizations with ongoing XWiki work.',
146 146   'items': [
147 - 'Larger monthly support allocation',
117 + 'Larger monthly allocation',
148 148   'Prioritized handling',
149 149   'Upgrade planning',
150 150   'Authentication and extension support',
... ... @@ -152,27 +152,25 @@
152 152   ],
153 153   'cta': 'Discuss extended support'
154 154  }])
125 +
155 155  #set ($complexProjects = [{
156 156   'icon': 'sitemap',
157 157   'title': 'Wiki farms',
158 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.',
159 - 'url': $authURL
129 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
160 160  },{
161 161   'icon': 'exchange',
162 162   'title': 'Migrations',
163 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.',
164 - 'url': $migrationURL
133 + 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.'
165 165  },{
166 166   'icon': 'puzzle-piece',
167 167   'title': 'Custom applications',
168 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.',
169 - 'url': $developmentURL
137 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
170 170  },{
171 171   'icon': 'tachometer',
172 172   'title': 'Stability work',
173 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.',
174 - 'url': $maintenanceURL
141 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
175 175  }])
143 +
176 176  #set ($faqItems = [{
177 177   'question': 'Are these fixed prices?',
178 178   'answer': '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.'
... ... @@ -192,6 +192,7 @@
192 192   'question': 'Do prices include external costs?',
193 193   'answer': 'The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant.'
194 194  }])
163 +
195 195  {{html clean="false"}}
196 196  
197 197  <section class="hero hero-centered" aria-labelledby="pricing-title">
... ... @@ -205,8 +205,7 @@
205 205   <h1 id="pricing-title">XWiki Service Packages</h1>
206 206  
207 207   <p class="lead">
208 - Clear starting points for independent XWiki consulting, upgrades, authentication configuration,
209 - AWS hosting setup, troubleshooting and long-term maintenance.
177 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
210 210   </p>
211 211  
212 212   <ul class="benefits">
... ... @@ -215,9 +215,9 @@
215 215   <li>Fixed quotes for complex work</li>
216 216   </ul>
217 217  
218 - <div class="hero-actions">
186 + <div id="hero-cta">
219 219   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
220 - <a class="btn btn-secondary" href="#support">View monthly support</a>
188 + <a class="btn btn-secondary" href="#starting-points">Compare options</a>
221 221   </div>
222 222   </div>
223 223   </div>
... ... @@ -225,11 +225,10 @@
225 225  
226 226  <section id="starting-points" aria-labelledby="starting-points-title">
227 227   <div class="container">
228 - <h2 id="starting-points-title">Three common ways to start</h2>
196 + <h2 id="starting-points-title">Choose your starting point</h2>
229 229   <p class="section-intro">
230 - Agnease provides independent XWiki consulting, upgrade support, authentication configuration,
231 - AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations.
232 - Most requests begin by reviewing the current setup, implementing a defined change, or setting up regular support.
198 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
199 + or set up ongoing support.
233 233   </p>
234 234  
235 235   <div class="pathways">
... ... @@ -260,12 +260,12 @@
260 260   </div>
261 261  </section>
262 262  
263 -<section class="industry-trust-section" aria-labelledby="pricing-note-title">
230 +<section aria-labelledby="pricing-note-title">
264 264   <div class="container">
265 265   <div class="industry-trust-panel">
266 266   <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
267 267   <p class="section-intro">
268 - Prices are starting points. VAT may be applied where required. Final pricing depends on the XWiki version,
235 + Prices are starting points and exclude VAT where applicable. Final pricing depends on the XWiki version,
269 269   installed extensions, customizations, hosting setup, authentication configuration, wiki farm complexity
270 270   and required testing.
271 271   </p>
... ... @@ -281,32 +281,24 @@
281 281   a quick review before confirming the final scope.
282 282   </p>
283 283  
284 - <div class="table-responsive">
285 - <table class="table table-bordered table-striped">
286 - <thead>
251 + <table class="table table-bordered table-striped">
252 + <thead>
253 + <tr>
254 + <th>Service</th>
255 + <th>Starting price</th>
256 + <th>What it covers</th>
257 + </tr>
258 + </thead>
259 + <tbody>
260 + #foreach ($entry in $commonPackages)
287 287   <tr>
288 - <th>Service</th>
289 - <th>Starting price</th>
290 - <th>What it covers</th>
262 + <td><strong>$entry.service</strong></td>
263 + <td>$entry.price</td>
264 + <td>$entry.description</td>
291 291   </tr>
292 - </thead>
293 - <tbody>
294 - #foreach ($entry in $commonPackages)
295 - <tr>
296 - <td>
297 - #if ("$!entry.url" != '')
298 - <strong><a href="$entry.url">$entry.service</a></strong>
299 - #else
300 - <strong>$entry.service</strong>
301 - #end
302 - </td>
303 - <td>$entry.price</td>
304 - <td>$entry.description</td>
305 - </tr>
306 - #end
307 - </tbody>
308 - </table>
309 - </div>
266 + #end
267 + </tbody>
268 + </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.
320 + 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>
339 + <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">
346 + <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 Hosting on AWS",
494 - "price": "49",
495 - "priceCurrency": "EUR",
496 - "description": "Starting monthly price for small single-instance AWS hosting for XWiki."
497 - }]
498 - }
390 + "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}}
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,1 +1,0 @@
1 -Explore Agnease XWiki service packages for upgrades, support, authentication, MFA, SSO, troubleshooting and long-term maintenance.
metaTitle
... ... @@ -1,1 +1,0 @@
1 -XWiki Service Packages and Pricing | Agnease