seo optimized

This commit is contained in:
MuslemRahimi 2025-01-29 13:11:36 +01:00
parent fcee7ea46e
commit ab031fce98
11 changed files with 60 additions and 401 deletions

View File

@ -1,55 +1,15 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import SEO from "$lib/components/SEO.svelte";
export let data;
/*
import { intersect } from 'svelte-intersection-observer-action';
const threshold = 0.4 // change the threshold value to 0.4 for 40%
const rootMargin = '-0px 0px'
const intersectOptions = { callback, threshold, rootMargin }
function callback(entry: IntersectionObserverEntry) {
if (entry.intersectionRatio > threshold) {
entry.target.classList.remove('invisible')
entry.target.classList.add('')
}
}
*/
let cloudFrontUrl = import.meta.env.VITE_IMAGE_URL;
</script>
<svelte:head>
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} About
· Stocknear</title
>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta
name="description"
content="Welcome to Stocknear — a site that aims to be the internet's best source of free stock data and information for small investors."
/>
<!-- Other meta tags -->
<meta property="og:title" content="About · Stocknear" />
<meta
property="og:description"
content="Welcome to Stocknear — a site that aims to be the internet's best source of free stock data and information for small investors."
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="About · Stocknear" />
<meta
name="twitter:description"
content="Welcome to Stocknear — a site that aims to be the internet's best source of free stock data and information for small investors."
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="About"
description="Welcome to Stocknear — a site that aims to be the internet's best source of free stock data and information for regular investors."
/>
<body class="text-white w-full">
<section class="border-b border-gray-600 sm:rounded-md w-full">

View File

@ -1,27 +1,13 @@
<script>
import { numberOfUnreadNotification } from "$lib/store";
import ArrowLogo from "lucide-svelte/icons/move-up-right";
import SEO from "$lib/components/SEO.svelte";
</script>
<svelte:head>
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Advertise
With Us · Stocknear</title
>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<!-- Other meta tags -->
<meta property="og:title" content="Advertise With Us · Stocknear" />
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Advertise With Us · Stocknear" />
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="Advertise
With Us"
description="Advertise with Stocknear, the first fully open-source financial research platform for retail investors. Gain unparalleled visibility among traders, analysts, and investors worldwide with our high-engagement newsletter and dynamic investment tools."
/>
<section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pb-20 pt-5 px-4 lg:px-3"

View File

@ -170,43 +170,6 @@
};
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Top
Wall Street Stock Analysts · Stocknear
</title>
<meta
name="description"
content={`A list of the top Wall Street stock analysts, ranked by their success rate and average return per rating.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Top Wall Street Stock Analysts · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the top Wall Street stock analysts, ranked by their success rate and average return per rating.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Top Wall Street Stock Analysts · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the top Wall Street stock analysts, ranked by their success rate and average return per rating.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title={`${analystName} - Analyst At ${companyName}`}
description={`${analystName} is a Wall Street analyst working for ${companyName}. ${analystName} has covered ${totalRatings} stocks with a ${successRate}% success rate and an average return of ${avgReturn}%.`}

View File

@ -1,5 +1,5 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import SEO from "$lib/components/SEO.svelte";
import { getLastTradingDay } from "$lib/utils";
import { page } from "$app/stores";
@ -33,42 +33,12 @@
}
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Today's
Top Stock {title} · Stocknear
</title>
<meta
name="description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title={timePeriod === "active"
? `Today's Top Stock ${title}`
: `Top Stock ${title} in the past ${timePeriod}`}
description="A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more."
/>
<section class="w-full overflow-hidden m-auto min-h-screen">
<div class="flex justify-center w-full m-auto overflow-hidden">

View File

@ -1,5 +1,5 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import SEO from "$lib/components/SEO.svelte";
import { getLastTradingDay } from "$lib/utils";
import { page } from "$app/stores";
import InfoModal from "$lib/components/InfoModal.svelte";
@ -17,42 +17,10 @@
$: categoryType = $page.url.pathname.split("/").pop();
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""}
Afterhours Top Stocks · Stocknear
</title>
<meta
name="description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Today's Afterhours Top Stocks · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Today's Afterhours Top Stocks · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="Today's Afterhours Top Stocks"
description="A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more."
/>
<section class="w-full overflow-hidden m-auto min-h-screen">
<div class="flex justify-center w-full m-auto overflow-hidden">

View File

@ -1,5 +1,5 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import SEO from "$lib/components/SEO.svelte";
import { getLastTradingDay } from "$lib/utils";
import { page } from "$app/stores";
@ -33,42 +33,12 @@
}
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Today's
Top Stock {title} · Stocknear
</title>
<meta
name="description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title={timePeriod === "gainers"
? `Today's Top Stock ${title}`
: `Top Stock ${title} in the past ${timePeriod}`}
description="A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more."
/>
<section class="w-full overflow-hidden m-auto min-h-screen">
<div class="flex justify-center w-full m-auto overflow-hidden">

View File

@ -1,5 +1,5 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import SEO from "$lib/components/SEO.svelte";
import { getLastTradingDay } from "$lib/utils";
import { page } from "$app/stores";
@ -33,42 +33,12 @@
}
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Today's
Top Stock {title} · Stocknear
</title>
<meta
name="description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Today's Top Stock ${title} · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title={timePeriod === "losers"
? `Today's Top Stock ${title}`
: `Top Stock ${title} in the past ${timePeriod}`}
description="A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more."
/>
<section class="w-full overflow-hidden m-auto min-h-screen">
<div class="flex justify-center w-full m-auto overflow-hidden">

View File

@ -1,8 +1,8 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import { getLastTradingDay } from "$lib/utils";
import { page } from "$app/stores";
import InfoModal from "$lib/components/InfoModal.svelte";
import SEO from "$lib/components/SEO.svelte";
export let data;
const lastTradingDay = new Date(getLastTradingDay() ?? null)?.toLocaleString(
@ -17,42 +17,10 @@
$: categoryType = $page.url.pathname.split("/").pop();
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""}
Premarket Top Stocks · Stocknear
</title>
<meta
name="description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Today's Premarket Top Stocks · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Today's Premarket Top Stocks · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="Today's Premarket Top Stocks"
description="A list of the stocks with the highest percentage gain, highest percentage loss and most active today. See stock price, volume, market cap and more."
/>
<section class="w-full overflow-hidden m-auto min-h-screen">
<div class="flex justify-center w-full m-auto overflow-hidden">

View File

@ -3,8 +3,8 @@
import democraticBackground from "$lib/images/bg-democratic.png";
import otherBackground from "$lib/images/bg-other.png";
import { numberOfUnreadNotification } from "$lib/store";
import { abbreviateNumber } from "$lib/utils";
import SEO from "$lib/components/SEO.svelte";
import { onMount } from "svelte";
import { page } from "$app/stores";
@ -141,43 +141,11 @@
}
</script>
<!-- HEADER FOR BETTER SEO -->
<svelte:head>
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} US
Politician Stock Trade Tracker · Stocknear</title
>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta
name="description"
content="What are US Politicians trading? Filter by Senate or House, Party, Committee, State and more - get detailed infomation about it."
/>
<!-- Other meta tags -->
<meta
property="og:title"
content="US Politician Stock Trade Tracker · Stocknear"
/>
<meta
property="og:description"
content="What are US Politicians trading? Filter by Senate or House, Party, Committee, State and more - get detailed infomation about it."
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content="US Politician Stock Trade Tracker · Stocknear"
/>
<meta
name="twitter:description"
content="What are US Politicians trading? Filter by Senate or House, Party, Committee, State and more - get detailed infomation about it."
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="US
Politician Stock Trade Tracker"
description="What are US Politicians trading? Filter by Senate or House, Party, Committee, State and more - get detailed infomation about it."
/>
<section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 pb-40 px-3"

View File

@ -1,8 +1,8 @@
<script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import { formatString, sectorNavigation } from "$lib/utils";
import HoverStockChart from "$lib/components/HoverStockChart.svelte";
import RatingsChart from "$lib/components/RatingsChart.svelte";
import SEO from "$lib/components/SEO.svelte";
export let data;
let cloudFrontUrl = import.meta.env.VITE_IMAGE_URL;
@ -103,42 +103,10 @@
}
</script>
<svelte:head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Which
stocks is {name} trading? · Stocknear
</title>
<meta
name="description"
content={`A list of all trades from the US Politician ${name}.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Which stocks is ${name} trading? · Stocknear`}
/>
<meta
property="og:description"
content={`A list of all trades from the US Politician ${name}.`}
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content={`Which stocks is ${name} trading? · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of all trades from the US Politician ${name}.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title={`${name} - ${politicianParty} Member | Investment & Trading Activity`}
description={`${name}, a member of ${politicianParty}, made ${numOfTrades} trades totaling ${totalAmountTraded}. Discover their buy/sell ratio of ${buySellRatio} and investment trends.`}
/>
<section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 px-4 lg:px-3 mb-20"

View File

@ -7,7 +7,7 @@
import ArrowLogo from "lucide-svelte/icons/move-up-right";
import Infobox from "$lib/components/Infobox.svelte";
// import * as XLSX from 'xlsx';
import SEO from "$lib/components/SEO.svelte";
export let data;
@ -60,43 +60,11 @@
$: charNumber = $screenWidth < 640 ? 20 : 40;
</script>
<!-- HEADER FOR BETTER SEO -->
<svelte:head>
<title>
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Latest
Congressional Trading · Stocknear</title
>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta
name="description"
content="Find the latest congress trading and see what insiders who have access to regulations are investing."
/>
<!-- Other meta tags -->
<meta
property="og:title"
content="Latest Congressional Trading · Stocknear"
/>
<meta
property="og:description"
content="Find the latest congress trading and see what insiders who have access to regulations are investing."
/>
<meta property="og:type" content="website" />
<!-- Add more Open Graph meta tags as needed -->
<!-- Twitter specific meta tags -->
<meta name="twitter:card" content="summary_large_image" />
<meta
name="twitter:title"
content="Latest Congressional Trading · Stocknear"
/>
<meta
name="twitter:description"
content="Find the latest congress trading and see what insiders who have access to regulations are investing."
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<SEO
title="Latest
Congressional Trading"
description="Find the latest congress trading and see what insiders who have access to regulations are investing."
/>
<section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pb-20 pt-5 px-4 lg:px-3"