Rename /jamf-alternative to /replace-jamf (#43409)

## Summary

- Renames the `/jamf-alternative` landing page URL to `/replace-jamf`
- Adds a redirect from `/jamf-alternative` → `/replace-jamf` so existing
links continue to work
- Updates all internal references (route config, controller, view,
styles, JS, layout, homepage link)

## Changes

**Renamed files:**
- `website/views/pages/landing-pages/jamf-alternative.ejs` →
`replace-jamf.ejs`
- `website/assets/styles/pages/landing-pages/jamf-alternative.less` →
`replace-jamf.less`
- `website/assets/js/pages/landing-pages/jamf-alternative.page.js` →
`replace-jamf.page.js`
- `website/api/controllers/landing-pages/view-jamf-alternative.js` →
`view-replace-jamf.js`

**Updated references in:**
- `website/config/routes.js` — route and redirect
- `website/views/layouts/layout.ejs` — script tag
- `website/assets/styles/importer.less` — LESS import
- `website/views/pages/homepage.ejs` — announcement banner link

---

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1775832943499849)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
This commit is contained in:
kilo-code-bot[bot] 2026-04-10 11:56:13 -05:00 committed by GitHub
parent c8e9610dd2
commit 4b659bd3a1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 36 additions and 35 deletions

View file

@ -1,27 +0,0 @@
module.exports = {
friendlyName: 'View jamf alternative',
description: 'Display "Jamf alternative" page.',
exits: {
success: {
viewTemplatePath: 'pages/landing-pages/jamf-alternative'
}
},
fn: async function () {
// Respond with view.
return {};
}
};

View file

@ -0,0 +1,27 @@
module.exports = {
friendlyName: 'View replace jamf',
description: 'Display "Replace Jamf" page.',
exits: {
success: {
viewTemplatePath: 'pages/landing-pages/replace-jamf'
}
},
fn: async function () {
// Respond with view.
return {};
}
};

View file

@ -1,4 +1,4 @@
parasails.registerPage('jamf-alternative', {
parasails.registerPage('replace-jamf', {
// ╦╔╗╔╦╔╦╗╦╔═╗╦ ╔═╗╔╦╗╔═╗╔╦╗╔═╗
// ║║║║║ ║ ║╠═╣║ ╚═╗ ║ ╠═╣ ║ ║╣
// ╩╝╚╝╩ ╩ ╩╩ ╩╩═╝ ╚═╝ ╩ ╩ ╩ ╩ ╚═╝

View file

@ -106,5 +106,5 @@
@import 'pages/admin/reset-trial.less';
@import 'pages/landing-pages/linux-management.less';
@import 'pages/articles/basic-whitepaper.less';
@import 'pages/landing-pages/jamf-alternative.less';
@import 'pages/landing-pages/replace-jamf.less';
@import 'pages/partners.less';

View file

@ -1,4 +1,4 @@
#jamf-alternative {
#replace-jamf {
// Line-heights:
@text-lineheight: 150%;
@heading-lineheight: 120%;

View file

@ -609,8 +609,8 @@ module.exports.routes = {
}
},
'GET /jamf-alternative': {
action: 'landing-pages/view-jamf-alternative',
'GET /replace-jamf': {
action: 'landing-pages/view-replace-jamf',
locals: {
currentSection: 'platform',
pageTitleForMeta: 'Replace Jamf with confidence',
@ -644,6 +644,7 @@ module.exports.routes = {
// ```
// 'GET /docs/using-fleet/learn-how-to-use-fleet': '/docs/using-fleet/fleet-for-beginners',
// ```
'GET /jamf-alternative': '/replace-jamf',
'GET /customer-stories': '/customers',
'GET /testimonials': '/customers',
// 'GET /try': '/get-started',

View file

@ -922,7 +922,7 @@
<script src="/js/pages/landing-pages/basic-comparison.page.js"></script>
<script src="/js/pages/landing-pages/deployment.page.js"></script>
<script src="/js/pages/landing-pages/gitops-workshop.page.js"></script>
<script src="/js/pages/landing-pages/jamf-alternative.page.js"></script>
<script src="/js/pages/landing-pages/replace-jamf.page.js"></script>
<script src="/js/pages/landing-pages/linux-management.page.js"></script>
<script src="/js/pages/legal/privacy.page.js"></script>
<script src="/js/pages/legal/terms.page.js"></script>

View file

@ -1,6 +1,6 @@
<div id="homepage" v-cloak>
<div purpose="announcement-banner">
<animated-arrow-button arrow-color="white" text-color="white" href="/jamf-alternative">We are experiencing a high volume of Jamf replacement inquiries. Click here to compare Fleet vs. Jamf</animated-arrow-button>
<animated-arrow-button arrow-color="white" text-color="white" href="/replace-jamf">We are experiencing a high volume of Jamf replacement inquiries. Click here to compare Fleet vs. Jamf</animated-arrow-button>
</div>
<%/* Hero container */%>
<div purpose="hero-container">

View file

@ -1,4 +1,4 @@
<div id="jamf-alternative" v-cloak>
<div id="replace-jamf" v-cloak>
<div purpose="landing-page-container">
<div purpose="landing-page-content">
<div purpose="page-hero">