feat(seo): canonicalize URLs, clean structured data, add audit gate

- Canonicals/hreflang/og point to www.bentopdf.com everywhere
- Drop fake aggregateRating; add Organization + breadcrumb JSON-LD
- Sitemap: filter 404/wasm-settings, mtime-based lastmod
- Rename locale ua → uk (correct ISO 639-1)
- Self-hoster: SITE_URL build arg, ROBOTS_NOINDEX runtime env
- Simple Mode indexable by default
- nginx: collapse .html and /index.html via 301
- SEO audit script + PR gate; runtime config noise fixed
- a11y contrast fix; language switcher gets search + scroll
- robots.txt: drop Crawl-delay
This commit is contained in:
alam00000 committed 2026-04-29 12:04:34 +05:30
1 parent eff1548ebe
commit 0040317e48
154 files changed
+950 -1010

No files matched your search

+7 -2
View File
@@ -14,6 +14,11 @@ export async function loadRuntimeConfig(): Promise<void> {
});
if (!response.ok) return;
const contentType = response.headers.get('content-type') || '';
if (!contentType.toLowerCase().includes('application/json')) {
return;
}
const config: AppConfig = await response.json();
if (Array.isArray(config.disabledTools)) {
for (const toolId of config.disabledTools) {
@@ -27,8 +32,8 @@ export async function loadRuntimeConfig(): Promise<void> {
(c): c is string => typeof c === 'string'
);
}
} catch {
console.error('[LOAD_RUNTIME_CONFIG] Failed to load runtime configuration');
} catch (err) {
console.warn('[LOAD_RUNTIME_CONFIG] Skipped runtime config:', err);
}
}