mirror of
https://github.com/alam00000/bentopdf.git
synced 2026-11-08 08:52:28 +01:00
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:
1 parent
eff1548ebe
commit
0040317e48
154 files changed
+950
-1010
No files matched your search
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user