feat: кейс Primo AI Server по фреймворку STAR (страница без ссылок на сайте, noindex, только ru)
This commit is contained in:
1 parent
a8ae6323c0
commit
ac1eceefd1
3 files changed
+1837
-2
No files matched your search
+11
-2
@@ -37,6 +37,13 @@ const NOINDEX_PAGES = new Set([
|
||||
"cases/design-system",
|
||||
"cases/template-elements-demo",
|
||||
"cases/mini-projects-showcase",
|
||||
"cases/primo-ai-server-star",
|
||||
]);
|
||||
|
||||
// Страницы, у которых пока нет перевода: собираются только в дефолтную локаль,
|
||||
// чтобы /en/ не отдавал русскоязычный дубль и не попадал в sitemap.
|
||||
const DEFAULT_LOCALE_ONLY_PAGES = new Set([
|
||||
"cases/primo-ai-server-star",
|
||||
]);
|
||||
|
||||
const titleRe = /<title>([\s\S]*?)<\/title>/i;
|
||||
@@ -187,7 +194,8 @@ function buildSitemap(pageFiles) {
|
||||
if (NOINDEX_PAGES.has(noSlug)) continue;
|
||||
const lastmod = lastModFor(relNorm);
|
||||
const locUrl = canonicalFor(relNorm, DEFAULT_LOCALE);
|
||||
const alternates = LOCALES.map(
|
||||
const buildLocales = DEFAULT_LOCALE_ONLY_PAGES.has(noSlug) ? [DEFAULT_LOCALE] : LOCALES;
|
||||
const alternates = buildLocales.map(
|
||||
(loc) =>
|
||||
` <xhtml:link rel="alternate" hreflang="${loc}" href="${canonicalFor(relNorm, loc)}" />`
|
||||
);
|
||||
@@ -346,8 +354,10 @@ function build() {
|
||||
const isResume = relNorm === "resume.html";
|
||||
const isCookiePolicy = relNorm === "cookie-policy.html";
|
||||
const omitFile = isCase ? path.basename(pagePath) : null;
|
||||
const noSlug = relNorm.replace(/\.html$/, "");
|
||||
|
||||
for (const loc of LOCALES) {
|
||||
if (loc !== DEFAULT_LOCALE && DEFAULT_LOCALE_ONLY_PAGES.has(noSlug)) continue;
|
||||
const dict = i18n[loc] || {};
|
||||
const isDefault = loc === DEFAULT_LOCALE;
|
||||
const langPrefix = isDefault ? "" : `${loc}/`;
|
||||
@@ -361,7 +371,6 @@ function build() {
|
||||
const source = readUtf8(sourcePath);
|
||||
|
||||
// --- SEO-переменные для head-seo / json-ld ---
|
||||
const noSlug = relNorm.replace(/\.html$/, "");
|
||||
const isNoindex = NOINDEX_PAGES.has(noSlug);
|
||||
const canonicalUrl = canonicalFor(relNorm, loc);
|
||||
const metaSource = extractMeta(source);
|
||||
|
||||
Reference in new issue
Block a user