da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Küresel piyasaları sarsan ABD-İran savaşında beklenen barış anlaşması ihtimali ufukta belirirken, altın 4.200 dolar sınırında yön arıyor. Trump'ın "anlaştık" söylemine rağmen, akıllı para Tahran'ın adımlarını bekliyor." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler","description":"Küresel piyasaları sarsan ABD-İran savaşında beklenen barış anlaşması ihtimali ufukta belirirken, altın 4.200 dolar sınırında yön arıyor. Trump'ın \"anlaştık\" söylemine rağmen, akıllı para Tahran'ın adımlarını bekliyor.","url":"https://finaiera.com/news/iran-barisi-masada-altin-4200da-tutunabilecek-mi","image":"https://finaiera.com/objects/news/news-1781264410054-b83a7969f642e3f6.jpg","inLanguage":"tr-TR","author":{"@type":"Organization","name":"FinAIEra","url":"https://finaiera.com"},"publisher":{"@type":"Organization","name":"FinAIEra","logo":{"@type":"ImageObject","url":"https://finaiera.com/generated-icon.png"}},"mainEntityOfPage":{"@type":"WebPage","@id":"https://finaiera.com/news/iran-barisi-masada-altin-4200da-tutunabilecek-mi"}}
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Küresel piyasaları sarsan ABD-İran savaşında beklenen barış anlaşması ihtimali ufukta belirirken, altın 4.200 dolar sınırında yön arıyor. Trump'ın "anlaştık" söylemine rağmen, akıllı para Tahran'ın adımlarını bekliyor." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler","item":"https://finaiera.com/news/iran-barisi-masada-altin-4200da-tutunabilecek-mi"}]}
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Küresel piyasaları sarsan ABD-İran savaşında beklenen barış anlaşması ihtimali ufukta belirirken, altın 4.200 dolar sınırında yön arıyor. Trump'ın "anlaştık" söylemine rağmen, akıllı para Tahran'ın adımlarını bekliyor." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler" /> <meta property="og:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da. Bitcoin, Altcoin ve yatırım stratejilerinizi yapay zeka ile optimize edin." /> <meta property="og:url" content="https://finaiera.com" /> <meta property="og:image" content="https://finaiera.com/og-cover.png" /> <meta property="og:image:width" content="1408" /> <meta property="og:image:height" content="768" /> <meta property="og:image:type" content="image/png" /> <meta property="og:locale" content="tr_TR" /> <meta property="og:site_name" content="FinAIEra" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="FinAIEra | AI Destekli Bitcoin, Kripto Para, Borsa ve Yatırım Analiz Platformu" /> <meta name="twitter:description" content="Yapay zeka destekli bitcoin, kripto para analizleri, canlı borsa verileri ve İstanbul emlak ısı haritası FinAIEra'da." /> <meta name="twitter:image" content="https://finaiera.com/og-cover.png" /> <meta name="geo.region" content="TR" /> <meta name="geo.placename" content="Turkey" /> <meta name="DC.language" content="tr" /> <title>İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler
da Tutunabilecek Mi? | FinAIEra Haberler" /> İran Barışı Masada: Altın 4.200 <link rel="icon" type="image/png" sizes="96x96" href="/favicon-large.png?v=7"> <link rel="icon" type="image/png" sizes="64x64" href="/favicon-64x64.png?v=7"> <link rel="icon" type="image/png" sizes="48x48" href="/favicon-48x48.png?v=7"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=7"> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=7"> <link rel="shortcut icon" href="/favicon-large.png?v=7"> <!-- NOTE: Canonical and hreflang tags are NOT hardcoded here. server/seo-inject.ts is the single authority — it computes the correct absolute canonical + reciprocal TR/EN/x-default hreflang for every request path (including "/" → finaiera.com/, "/en" → finaiera.com/en, brief pages, report pages, etc.) and writes them into <head> before the HTML ships. The previous hardcoded "/" canonical was wrong for every non-homepage route during initial paint. --> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <!-- Browser-language auto-routing — CLIENT-SIDE ONLY, BOTS EXEMPT. Runs BEFORE React boots so EN visitors don't see a flash of TR. SAFETY INVARIANTS (verified before deploy): 1. Only fires on exact path "/" (never on /en, /signup, brief pages, etc.) 2. Bot UA exemption — Googlebot, Bingbot, Prerender.io's headless Chrome, and all social-preview crawlers are explicitly excluded. They MUST receive the actual "/" TR page so Google can index both language versions independently via the hreflang pair. 3. Respects explicit user choice — if localStorage["language"] is already set (user manually toggled language at some point), we never override their preference. 4. Run-once per session via sessionStorage["lang-autoroute"] so a user who navigates back to "/" doesn't get bounced again. 5. Uses window.location.replace so the redirect doesn't pollute browser history (back button still works correctly). --> <script> (function autoRouteByBrowserLanguage() { try { // Hard guard: only the exact homepage triggers auto-routing. if (window.location.pathname !== '/') return; // Bot exemption — CRITICAL for SEO. If any of these UAs match, // we MUST return without redirecting. The list covers: // - Search crawlers (Google, Bing, Yahoo, DuckDuckGo, Baidu, Yandex, Apple) // - Prerender.io's headless Chrome (UA contains "Prerender") // - Generic headless browsers (UA contains "HeadlessChrome" or "headless") // - Social-preview / link-unfurl bots (Facebook, Twitter, LinkedIn, // WhatsApp, Telegram, Slack, Discord) // - Lighthouse / PageSpeed audits var ua = navigator.userAgent || ''; // Includes generative-engine / AI search crawlers (GPTBot, ClaudeBot, // PerplexityBot, ByteSpider, Amazonbot, PetalBot, Cohere, CCBot, etc.) // so AI search results show the right language version of the homepage. var BOT_RE = /bot|crawl|spider|prerender|headless|lighthouse|pagespeed|facebookexternalhit|whatsapp|telegram|slackbot|discordbot|linkedinbot|twitterbot|applebot|googlebot|bingbot|yandex|baiduspider|duckduckbot|slurp|embedly|quora link preview|gptbot|oai-searchbot|chatgpt|claudebot|anthropic|perplexitybot|bytespider|amazonbot|petalbot|cohere-ai|ccbot/i; if (BOT_RE.test(ua)) return; // Respect explicit user choice — never fight the user. if (localStorage.getItem('language')) return; // Once-per-session — don't re-bounce if user navigates back to "/". if (sessionStorage.getItem('lang-autoroute') === '1') return; sessionStorage.setItem('lang-autoroute', '1'); // Detect browser language preference. var langs = (navigator.languages && navigator.languages.length) ? navigator.languages : [navigator.language || '']; var prefersEn = langs.some(function(l) { return /^en(\b|[-_])/i.test(l || ''); }); var prefersTr = langs.some(function(l) { return /^tr(\b|[-_])/i.test(l || ''); }); // Only redirect EN browsers to /en. TR (and all other locales) stay // on "/" since TR is the primary market and the x-default target. if (prefersEn && !prefersTr) { window.location.replace('/en' + window.location.search + window.location.hash); } } catch (_e) { // Never break page rendering due to redirect logic — fail silently. } })(); </script> <!-- Twitter Pixel Base Code --> <script> !function(e,t,n,s,u,a){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments); },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js', a=t.getElementsByTagName(n)[0],a.parentNode.insertBefore(u,a))}(window,document,'script'); twq('config','tw-q0gs6-q0p46'); </script> <!-- End Twitter Pixel Code --> <script type="module" crossorigin src="/assets/index-CB7jzTEb.js"></script> <link rel="stylesheet" crossorigin href="/assets/index-DEOGPWH6.css"> </head> <body> <div id="root"></div> </body> </html> da Tutunabilecek Mi? | FinAIEra Haberler