Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/modify_sitemap.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ fs.readFile(inputFile, "utf8", (err, data) => {
}

const pattern = /https:\/\/([^.]*\.)?deriv\.(com|be|me)/g;
const newContent = data.replace(pattern, `https://${newDomain}`);
const newContent = data
.replace(pattern, `https://${newDomain}`)
.replace(/\s*<lastmod>[\s\S]*?<\/lastmod>/g, "");

const urlBlockPattern = /(<url>[\s\S]*?<\/url>)/g;
const xhtmlLinkPattern =
Expand Down
27 changes: 25 additions & 2 deletions .github/modify_sitemap_new.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,21 @@ function replaceDomains(sitemap, newDomain) {
return sitemap;
}

// Sitemap lastmod values must represent each page's real, significant update.
// The source sitemap does not provide reliably verifiable values, so omit the
// optional field rather than publishing a generation timestamp for every URL.
function removeLastModifiedDates(sitemap) {
if (!sitemap.urlset || !sitemap.urlset.url) {
return sitemap;
}

sitemap.urlset.url.forEach((urlObj) => {
delete urlObj.lastmod;
});

return sitemap;
}

// Function to filter out excluded URLs and patterns
function filterExcludedUrls(sitemap, newDomain) {
if (!sitemap.urlset || !sitemap.urlset.url) {
Expand Down Expand Up @@ -213,8 +228,16 @@ async function processSitemaps() {
console.log("Replacing domains in staging sitemap...");
const processedStagingSitemap = replaceDomains(stagingSitemap, newDomain);

console.log("Removing last modification dates...");
const sitemapWithoutLastModifiedDates = removeLastModifiedDates(
processedStagingSitemap
);

console.log("Filtering excluded URLs...");
const finalSitemap = filterExcludedUrls(processedStagingSitemap, newDomain);
const finalSitemap = filterExcludedUrls(
sitemapWithoutLastModifiedDates,
newDomain
);

console.log("Writing sitemap to output file...");

Expand Down Expand Up @@ -284,4 +307,4 @@ async function processSitemaps() {
}

// Run the main function
processSitemaps();
processSitemaps();
Loading