Skip to content

Commit 84853d4

Browse files
committed
Fixed sitemap generation for proper URL formatting and exclusions; added custom pricing banner.
1. Updated 'generate-sitemap.js' to correct URL formatting and improve exclusions. - Fixed handling of trailing slashes for all URLs except homepage. - Modified home URL to use base domain without trailing slash. - Improved logic for excluding pages from sitemap. - Fixed URL comparison for determining 'changefreq' and priority values. 2. Updated 'sitemap.xml' to fix URL formatting and remove the login page. - Added trailing slashes to all non-homepage URLs. - Removed login page from sitemap. 3. Enhanced pricing page with a custom banner in 'pricing-client.jsx'. - Added new 'CustomBanner' component for custom pricing options. - Integrated banner between pricing cards and logo cloud.
1 parent 055af00 commit 84853d4

File tree

3 files changed

+40
-21
lines changed

3 files changed

+40
-21
lines changed

public/sitemap.xml

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,25 @@
22
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
33
<url>
44
<loc>https://mineseek.com.au</loc>
5-
<lastmod>2025-03-09T05:39:39.366Z</lastmod>
5+
<lastmod>2025-03-15T07:10:48.202Z</lastmod>
66
<changefreq>daily</changefreq>
77
<priority>1.0</priority>
88
</url>
99
<url>
10-
<loc>https://mineseek.com.au/pricing</loc>
11-
<lastmod>2025-03-09T05:39:39.367Z</lastmod>
10+
<loc>https://mineseek.com.au/pricing/</loc>
11+
<lastmod>2025-03-15T07:10:48.203Z</lastmod>
1212
<changefreq>monthly</changefreq>
1313
<priority>0.8</priority>
1414
</url>
1515
<url>
16-
<loc>https://mineseek.com.au/company</loc>
17-
<lastmod>2025-03-09T05:39:39.367Z</lastmod>
16+
<loc>https://mineseek.com.au/company/</loc>
17+
<lastmod>2025-03-15T07:10:48.203Z</lastmod>
1818
<changefreq>monthly</changefreq>
1919
<priority>0.8</priority>
2020
</url>
2121
<url>
22-
<loc>https://mineseek.com.au/contact</loc>
23-
<lastmod>2025-03-09T05:39:39.367Z</lastmod>
24-
<changefreq>monthly</changefreq>
25-
<priority>0.8</priority>
26-
</url>
27-
<url>
28-
<loc>https://mineseek.com.au/login</loc>
29-
<lastmod>2025-03-09T05:39:39.367Z</lastmod>
22+
<loc>https://mineseek.com.au/contact/</loc>
23+
<lastmod>2025-03-15T07:10:48.203Z</lastmod>
3024
<changefreq>monthly</changefreq>
3125
<priority>0.8</priority>
3226
</url>

src/app/pricing/pricing-client.jsx

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,20 @@ function Header() {
130130
)
131131
}
132132

133+
function CustomBanner() {
134+
return (
135+
<div className="-m-2 grid grid-cols-1 rounded-4xl mx-auto max-w-4xl mt-20 shadow-[inset_0_0_2px_1px_#ffffff4d] ring-1 ring-black/5">
136+
<div className="grid grid-cols-1 rounded-4xl p-2 shadow-md shadow-black/5">
137+
<div className="rounded-3xl bg-white p-10 pb-9 shadow-2xl ring-1 ring-black/5 text-center">
138+
<h2 className="text-3xl font-bold tracking-tight text-gray-950">Can’t find the perfect fit? We’ll create one.</h2>
139+
<p className="mt-3 text-lg text-gray-600">Custom plans tailored to your exploration team’s specific needs</p>
140+
<Button href="/contact" className="mt-6">Contact Us</Button>
141+
</div>
142+
</div>
143+
</div>
144+
)
145+
}
146+
133147
function PricingCards() {
134148
return (
135149
<div className="relative py-24">
@@ -140,6 +154,9 @@ function PricingCards() {
140154
<PricingCard key={tierIndex} tier={tier} />
141155
))}
142156
</div>
157+
158+
<CustomBanner />
159+
143160
{/* <LogoCloud className="mt-24" /> */}
144161
</Container>
145162
</div>
@@ -388,8 +405,8 @@ function Testimonial() {
388405
<div className="flex max-lg:mt-16 lg:col-span-2 lg:px-16">
389406
<figure className="mx-auto flex max-w-xl flex-col gap-16 max-lg:text-center">
390407
<blockquote>
391-
<p className="relative text-3xl tracking-tight text-white before:absolute before:-translate-x-full before:content-[''] after:absolute after:content-[''] lg:text-4xl">
392-
Mine Seeks ability to cross-reference multiple data sources has radically accelerated our desicion making. We're making more informed decisions with greater confidence.
408+
<p className="relative text-3xl tracking-tight text-white before:absolute before:-translate-x-full before:content-['\u201C'] after:absolute after:content-['\u201D'] lg:text-4xl">
409+
Mine Seek&apos;s ability to cross-reference multiple data sources has radically accelerated our desicion making. We&apos;re making more informed decisions with greater confidence.
393410
</p>
394411
</blockquote>
395412
<figcaption className="mt-auto">

src/scripts/generate-sitemap.js

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ function generateSitemapXML(urls) {
2424
${urls.map(url => ` <url>
2525
<loc>${url}</loc>
2626
<lastmod>${new Date().toISOString()}</lastmod>
27-
<changefreq>${url === SITE_URL + '/' ? 'daily' : 'monthly'}</changefreq>
28-
<priority>${url === SITE_URL + '/' ? '1.0' : '0.8'}</priority>
27+
<changefreq>${url === SITE_URL ? 'daily' : 'monthly'}</changefreq>
28+
<priority>${url === SITE_URL ? '1.0' : '0.8'}</priority>
2929
</url>`).join('\n')}
3030
</urlset>`
3131
}
@@ -34,7 +34,10 @@ ${urls.map(url => ` <url>
3434
async function generateSitemap() {
3535
try {
3636
// Create URLs for core routes
37-
const coreUrls = CORE_ROUTES.map(route => `${SITE_URL}${route}`)
37+
const coreUrls = CORE_ROUTES.map(route => {
38+
// For homepage, don't add trailing slash to the base URL
39+
return route === '/' ? SITE_URL : `${SITE_URL}${route}`
40+
})
3841

3942
// Get all .jsx files in the pages directory
4043
const pages = await globby([
@@ -58,12 +61,17 @@ async function generateSitemap() {
5861
// Ensure path ends with a trailing slash
5962
const formattedPath = path === '' ? '/' : `/${path}/`
6063

61-
// Skip if it's already in core routes or should be excluded
62-
if (CORE_ROUTES.includes(formattedPath) || EXCLUDED_ROUTES.includes(formattedPath)) {
64+
// Skip if it's in the excluded routes
65+
if (EXCLUDED_ROUTES.includes(formattedPath)) {
6366
return null
6467
}
6568

66-
return path === '' ? `${SITE_URL}/` : `${SITE_URL}${formattedPath}`
69+
// Skip if it's already in core routes
70+
if (CORE_ROUTES.includes(formattedPath)) {
71+
return null
72+
}
73+
74+
return path === '' ? SITE_URL : `${SITE_URL}${formattedPath}`
6775
})
6876
.filter(Boolean)
6977

0 commit comments

Comments
 (0)