Changes for page Pricing

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

From version 2.37
edited by Agnease
on 2026/07/10 05:24
Change comment: There is no comment for this version
To version 2.11
edited by Agnease
on 2026/07/10 04:30
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,13 +1,6 @@
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'))
11 11  #set ($startingPoints = [{
12 12   'icon': 'search',
13 13   'title': 'Review & diagnose',
... ... @@ -48,63 +48,51 @@
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
44 + '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
48 + 'description': 'Upgrade path, compatibility risks, customizations 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
52 + 'description': 'Review of login flow, users, groups, access control and authentication options.'
63 63  },{
64 64   'service': 'Urgent XWiki Troubleshooting',
65 65   'price': 'From €250/session',
66 - 'description': 'Live troubleshooting for blocking issues, errors, failed upgrades or production problems.',
67 - 'url': $maintenanceURL
56 + '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
60 + 'description': 'Upgrade preparation, execution, compatibility checks and post-upgrade validation.'
73 73  },{
74 74   'service': 'XWiki MFA Installation & Configuration',
75 75   'price': 'From €490',
76 - 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.',
77 - 'url': $mfaURL
64 + 'description': 'MFA setup for the standard XWiki login flow, with configuration, testing and guidance.'
78 78  },{
79 79   'service': 'OIDC / Microsoft Entra ID Setup',
80 80   'price': 'From €590',
81 - 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.',
82 - 'url': $authURL
68 + 'description': 'OpenID Connect setup, user mapping considerations, access review and validation.'
83 83  },{
84 84   'service': 'LDAP / Active Directory Review',
85 85   'price': 'From €390',
86 - 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.',
87 - 'url': $authURL
72 + 'description': 'LDAP or Active Directory configuration review, profile mapping and group mapping recommendations.'
88 88  },{
89 89   'service': 'Access Control Review',
90 90   'price': 'From €390',
91 - 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.',
92 - 'url': $authURL
76 + 'description': 'Review of groups, permissions, restricted areas, public access and subwiki access model.'
93 93  },{
94 94   'service': 'Advanced Authentication Work',
95 95   'price': 'Quoted',
96 - 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.',
97 - 'url': $authURL
80 + 'description': 'Custom authenticators, container authentication, special login flows or wiki farm authentication strategy.'
98 98  },{
99 99   'service': 'AWS Hosting Setup for XWiki',
100 100   'price': 'From €490',
101 - 'description': 'Initial AWS hosting setup for a small XWiki environment, including deployment preparation, HTTPS setup and basic backup strategy.',
102 - 'url': $maintenanceURL
84 + 'description': 'Initial AWS deployment setup, including server preparation, HTTPS and basic backup strategy.'
103 103  },{
104 104   'service': 'XWiki AWS Cloud Hosting',
105 - 'price': 'From €49/month',
106 - 'description': 'Basic AWS hosting for small XWiki environments, with HTTPS.',
107 - 'url': $maintenanceURL
87 + 'price': 'From €120/month',
88 + 'description': 'Single-instance AWS hosting for small XWiki environments with storage, basic backups and modest traffic.'
108 108  }])
109 109  #set ($supportPlans = [{
110 110   'icon': 'leaf',
... ... @@ -150,23 +150,19 @@
150 150  #set ($complexProjects = [{
151 151   'icon': 'sitemap',
152 152   'title': 'Wiki farms',
153 - 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.',
154 - 'url': $authURL
134 + 'content': 'Restructuring, subwiki access models, internal and external collaboration areas.'
155 155  },{
156 156   'icon': 'exchange',
157 157   'title': 'Migrations',
158 - 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.',
159 - 'url': $migrationURL
138 + 'content': 'Content, platform or documentation migrations into a cleaner XWiki structure.'
160 160  },{
161 161   'icon': 'puzzle-piece',
162 162   'title': 'Custom applications',
163 - 'content': 'Workflow applications, structured data, dashboards and internal business tools.',
164 - 'url': $developmentURL
142 + 'content': 'Workflow applications, structured data, dashboards and internal business tools.'
165 165  },{
166 166   'icon': 'tachometer',
167 167   'title': 'Stability work',
168 - 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.',
169 - 'url': $maintenanceURL
146 + 'content': 'Performance, troubleshooting, upgrade cleanup and long-term maintainability improvements.'
170 170  }])
171 171  #set ($faqItems = [{
172 172   'question': 'Are these fixed prices?',
... ... @@ -200,8 +200,7 @@
200 200   <h1 id="pricing-title">XWiki Service Packages</h1>
201 201  
202 202   <p class="lead">
203 - Clear starting points for independent XWiki consulting, upgrades, authentication configuration,
204 - AWS hosting setup, troubleshooting and long-term maintenance.
180 + Clear starting points for XWiki upgrades, authentication, troubleshooting and long-term support.
205 205   </p>
206 206  
207 207   <ul class="benefits">
... ... @@ -210,7 +210,7 @@
210 210   <li>Fixed quotes for complex work</li>
211 211   </ul>
212 212  
213 - <div class="hero-actions">
189 + <div id="hero-cta">
214 214   <a class="btn btn-primary" href="$contactURL">Request a quote</a>
215 215   <a class="btn btn-secondary" href="#support">View monthly support</a>
216 216   </div>
... ... @@ -222,9 +222,8 @@
222 222   <div class="container">
223 223   <h2 id="starting-points-title">Three common ways to start</h2>
224 224   <p class="section-intro">
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 + Most XWiki requests fit into one of three paths: review the current setup, implement a defined change,
202 + or set up ongoing support.
228 228   </p>
229 229  
230 230   <div class="pathways">
... ... @@ -255,7 +255,7 @@
255 255   </div>
256 256  </section>
257 257  
258 -<section class="industry-trust-section" aria-labelledby="pricing-note-title">
233 +<section aria-labelledby="pricing-note-title">
259 259   <div class="container">
260 260   <div class="industry-trust-panel">
261 261   <h2 id="pricing-note-title">Simple starting prices, reviewed scope when needed</h2>
... ... @@ -276,38 +276,24 @@
276 276   a quick review before confirming the final scope.
277 277   </p>
278 278  
279 - <div class="table-responsive">
280 - <table class="table table-bordered table-striped">
281 - <thead>
254 + <table class="table table-bordered table-striped">
255 + <thead>
256 + <tr>
257 + <th>Service</th>
258 + <th>Starting price</th>
259 + <th>What it covers</th>
260 + </tr>
261 + </thead>
262 + <tbody>
263 + #foreach ($entry in $commonPackages)
282 282   <tr>
283 - <th>Service</th>
284 - <th>Starting price</th>
285 - <th>What it covers</th>
265 + <td><strong>$entry.service</strong></td>
266 + <td>$entry.price</td>
267 + <td>$entry.description</td>
286 286   </tr>
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 XWiki environments. Final pricing depends on usage,
308 - storage needs, backup expectations, traffic, monitoring, availability requirements and the level of
309 - support needed.
310 - </p>
269 + #end
270 + </tbody>
271 + </table>
311 311   </div>
312 312  </section>
313 313  
... ... @@ -380,13 +380,7 @@
380 380   <div class="widget">
381 381   <div class="icon">
382 382   <i class="fa fa-$entry.icon" aria-hidden="true"></i>
383 - <h4>
384 - #if ("$!entry.url" != '')
385 - <a href="$entry.url">$entry.title</a>
386 - #else
387 - $entry.title
388 - #end
389 - </h4>
344 + <h4>$entry.title</h4>
390 390   </div>
391 391   <p>$entry.content</p>
392 392   </div>
... ... @@ -393,7 +393,7 @@
393 393   #end
394 394   </div>
395 395  
396 - <div class="hero-actions">
351 + <div id="hero-cta">
397 397   <a class="btn btn-primary" href="$contactURL">Request a project quote</a>
398 398   </div>
399 399   </div>
... ... @@ -437,117 +437,9 @@
437 437   },
438 438   "serviceType": "XWiki consulting, support, upgrades, authentication and maintenance",
439 439   "areaServed": "International",
440 - "description": "Independent XWiki consulting, support, upgrades, authentication configuration, AWS hosting setup, troubleshooting and long-term maintenance for existing XWiki installations.",
441 - "hasOfferCatalog": {
442 - "@type": "OfferCatalog",
443 - "name": "Agnease XWiki service packages",
444 - "itemListElement": [{
445 - "@type": "Offer",
446 - "name": "XWiki Health Check",
447 - "price": "390",
448 - "priceCurrency": "EUR",
449 - "description": "Configuration, version, extension, security and stability review with written recommendations."
450 - },{
451 - "@type": "Offer",
452 - "name": "Upgrade Readiness Review",
453 - "price": "390",
454 - "priceCurrency": "EUR",
455 - "description": "Upgrade path, compatibility risks, customizations and effort estimate before implementation."
456 - },{
457 - "@type": "Offer",
458 - "name": "XWiki Authentication Review",
459 - "price": "290",
460 - "priceCurrency": "EUR",
461 - "description": "Review of login flow, users, groups, access control and authentication options."
462 - },{
463 - "@type": "Offer",
464 - "name": "Urgent XWiki Troubleshooting",
465 - "price": "250",
466 - "priceCurrency": "EUR",
467 - "description": "Starting price per session for live XWiki troubleshooting."
468 - },{
469 - "@type": "Offer",
470 - "name": "Standard XWiki LTS Upgrade",
471 - "price": "790",
472 - "priceCurrency": "EUR",
473 - "description": "Starting price for XWiki LTS upgrade preparation, execution and validation."
474 - },{
475 - "@type": "Offer",
476 - "name": "XWiki MFA Installation & Configuration",
477 - "price": "490",
478 - "priceCurrency": "EUR",
479 - "description": "Starting price for MFA setup for the standard XWiki login flow."
480 - },{
481 - "@type": "Offer",
482 - "name": "OIDC / Microsoft Entra ID Setup",
483 - "price": "590",
484 - "priceCurrency": "EUR",
485 - "description": "Starting price for OpenID Connect setup and validation for XWiki."
486 - },{
487 - "@type": "Offer",
488 - "name": "AWS Hosting Setup for XWiki",
489 - "price": "490",
490 - "priceCurrency": "EUR",
491 - "description": "Starting price for initial AWS deployment setup for XWiki."
492 - },{
493 - "@type": "Offer",
494 - "name": "XWiki AWS Cloud Hosting",
495 - "price": "49",
496 - "priceCurrency": "EUR",
497 - "description": "Starting monthly price for small single-instance AWS hosting for XWiki."
498 - }]
499 - }
395 + "description": "XWiki service packages for upgrades, support, authentication, troubleshooting, maintenance and implementation."
500 500  }
501 501  </script>
502 502  
503 -<script type="application/ld+json">
504 -{
505 - "@context": "https://schema.org",
506 - "@type": "FAQPage",
507 - "mainEntity": [{
508 - "@type": "Question",
509 - "name": "Are these fixed prices?",
510 - "acceptedAnswer": {
511 - "@type": "Answer",
512 - "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."
513 - }
514 - },{
515 - "@type": "Question",
516 - "name": "Do you charge hourly?",
517 - "acceptedAnswer": {
518 - "@type": "Answer",
519 - "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."
520 - }
521 - },{
522 - "@type": "Question",
523 - "name": "Can you work on existing XWiki installations?",
524 - "acceptedAnswer": {
525 - "@type": "Answer",
526 - "text": "Yes. Agnease works with existing XWiki instances, including upgrades, troubleshooting, authentication, customizations, extensions and long-term maintenance."
527 - }
528 - },{
529 - "@type": "Question",
530 - "name": "What happens if my XWiki instance is more complex?",
531 - "acceptedAnswer": {
532 - "@type": "Answer",
533 - "text": "Agnease first reviews the current setup, identifies risks and dependencies, and then provides a quote based on the actual scope."
534 - }
535 - },{
536 - "@type": "Question",
537 - "name": "Can I book a call directly?",
538 - "acceptedAnswer": {
539 - "@type": "Answer",
540 - "text": "Yes. The contact form includes a call booking option, but sending a short description first helps Agnease understand the context before the discussion."
541 - }
542 - },{
543 - "@type": "Question",
544 - "name": "Do prices include external costs?",
545 - "acceptedAnswer": {
546 - "@type": "Answer",
547 - "text": "The prices on this page cover Agnease services. External hosting, infrastructure or third-party costs are discussed separately when relevant."
548 - }
549 - }]
550 -}
551 -</script>
552 552  {{/html}}
553 553  {{/velocity}}