seo optimization

This commit is contained in:
MuslemRahimi 2025-01-29 12:20:41 +01:00
parent 16e771ccd5
commit fcee7ea46e
11 changed files with 52 additions and 239 deletions

View File

@ -3,6 +3,7 @@
import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; import UpgradeToPro from "$lib/components/UpgradeToPro.svelte";
import ArrowLogo from "lucide-svelte/icons/move-up-right"; import ArrowLogo from "lucide-svelte/icons/move-up-right";
import TableHeader from "$lib/components/Table/TableHeader.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte";
import SEO from "$lib/components/SEO.svelte";
import { onMount } from "svelte"; import { onMount } from "svelte";
@ -130,42 +131,10 @@
}; };
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Top Wall Street Stock Analysts"
<meta name="viewport" content="width=device-width" /> description="A list of the top Wall Street stock analysts, ranked by their success rate and average return per rating."
<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>
<section <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" 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

@ -6,6 +6,7 @@
import HoverStockChart from "$lib/components/HoverStockChart.svelte"; import HoverStockChart from "$lib/components/HoverStockChart.svelte";
import RatingsChart from "$lib/components/RatingsChart.svelte"; import RatingsChart from "$lib/components/RatingsChart.svelte";
import Infobox from "$lib/components/Infobox.svelte"; import Infobox from "$lib/components/Infobox.svelte";
import SEO from "$lib/components/SEO.svelte";
export let data; export let data;
@ -206,6 +207,11 @@
<!-- Add more Twitter meta tags as needed --> <!-- Add more Twitter meta tags as needed -->
</svelte:head> </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}%.`}
/>
<section <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" 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,10 +7,11 @@
subWeeks, subWeeks,
differenceInWeeks, differenceInWeeks,
} from "date-fns"; } from "date-fns";
import { screenWidth, numberOfUnreadNotification } from "$lib/store"; import { screenWidth } from "$lib/store";
import { abbreviateNumber } from "$lib/utils"; import { abbreviateNumber } from "$lib/utils";
import Infobox from "$lib/components/Infobox.svelte"; import Infobox from "$lib/components/Infobox.svelte";
import TableHeader from "$lib/components/Table/TableHeader.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte";
import SEO from "$lib/components/SEO.svelte";
import HoverStockChart from "$lib/components/HoverStockChart.svelte"; import HoverStockChart from "$lib/components/HoverStockChart.svelte";
@ -302,36 +303,10 @@
}; };
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Dividends Calendar"
<meta name="viewport" content="width=device-width" /> description="A list of upcoming dividends on the US stock market, with dates, times and estimated revenue and dividends growth."
<title> />
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Dividends
Calendar · Stocknear
</title>
<meta
name="description"
content={`A list of upcoming dividends on the US stock market, with dates, times and estimated revenue and dividends growth.`}
/>
<!-- Other meta tags -->
<meta property="og:title" content={`Dividends Calendar · Stocknear`} />
<meta
property="og:description"
content={`A list of upcoming dividends on the US stock market, with dates, times and estimated revenue and dividends growth.`}
/>
<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={`Dividends Calendar · Stocknear`} />
<meta
name="twitter:description"
content={`A list of upcoming dividends on the US stock market, with dates, times and estimated revenue and dividends growth.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <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" 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

@ -1,40 +1,14 @@
<script> <script>
import { numberOfUnreadNotification, screenWidth } from "$lib/store"; import { screenWidth } from "$lib/store";
import ArrowLogo from "lucide-svelte/icons/move-up-right"; import ArrowLogo from "lucide-svelte/icons/move-up-right";
import SEO from "$lib/components/SEO.svelte";
let cloudFrontUrl = import.meta.env.VITE_IMAGE_URL;
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Become
<meta name="viewport" content="width=device-width" /> a sponsor to Stocknear"
<title> description="Your sponsor helps us to become the number 1 stock analysis platform in the world with the best price plans."
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Become />
a sponsor to stocknear
</title>
<meta
name="description"
content={`Your donation helps us to become the number 1 stock analysis platform in the world with the best price plans.`}
/>
<!-- Other meta tags -->
<meta property="og:title" content={`sponsor · Stocknear`} />
<meta
property="og:description"
content={`Your sponsor helps us to become the number 1 stock analysis platform in the world with the best price plans.`}
/>
<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={`sponsor · Stocknear`} />
<meta
name="twitter:description"
content={`Your sponsor helps us to become the number 1 stock analysis platform in the world with the best price plans.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden pb-20 pt-5 px-4 lg:px-3" class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden pb-20 pt-5 px-4 lg:px-3"
@ -122,7 +96,7 @@
</div> </div>
<h2 class="text-white text-2xl font-semibold"> <h2 class="text-white text-2xl font-semibold">
Become a sponsor to stocknear Become a sponsor to Stocknear
</h2> </h2>
<p class="text-white mb-5 text-[1rem]"> <p class="text-white mb-5 text-[1rem]">
If you believe in our mission and want to support us beyond your If you believe in our mission and want to support us beyond your
@ -134,7 +108,7 @@
<iframe <iframe
class="w-full border border-gray-600 rounded-md" class="w-full border border-gray-600 rounded-md"
src="https://github.com/sponsors/stocknear/card" src="https://github.com/sponsors/stocknear/card"
title="Sponsor stocknear" title="Sponsor Stocknear"
height={$screenWidth < 640 ? "300" : "auto"} height={$screenWidth < 640 ? "300" : "auto"}
></iframe> ></iframe>
<br /> <br />

View File

@ -12,6 +12,7 @@
import TableHeader from "$lib/components/Table/TableHeader.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte";
import HoverStockChart from "$lib/components/HoverStockChart.svelte"; import HoverStockChart from "$lib/components/HoverStockChart.svelte";
import Infobox from "$lib/components/Infobox.svelte"; import Infobox from "$lib/components/Infobox.svelte";
import SEO from "$lib/components/SEO.svelte";
export let data; export let data;
@ -303,36 +304,10 @@
}; };
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Earnings Calendar"
<meta name="viewport" content="width=device-width" /> description="A list of upcoming earnings on the US stock market, with dates, times and estimated revenue and earnings growth."
<title> />
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Earnings
Calendar · Stocknear
</title>
<meta
name="description"
content={`A list of upcoming earnings on the US stock market, with dates, times and estimated revenue and earnings growth.`}
/>
<!-- Other meta tags -->
<meta property="og:title" content={`Earnings Calendar · Stocknear`} />
<meta
property="og:description"
content={`A list of upcoming earnings on the US stock market, with dates, times and estimated revenue and earnings growth.`}
/>
<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={`Earnings Calendar · Stocknear`} />
<meta
name="twitter:description"
content={`A list of upcoming earnings on the US stock market, with dates, times and estimated revenue and earnings growth.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <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" 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,6 +7,7 @@
import { Button } from "$lib/components/shadcn/button/index.js"; import { Button } from "$lib/components/shadcn/button/index.js";
import TableHeader from "$lib/components/Table/TableHeader.svelte"; import TableHeader from "$lib/components/Table/TableHeader.svelte";
import Infobox from "$lib/components/Infobox.svelte"; import Infobox from "$lib/components/Infobox.svelte";
import SEO from "$lib/components/SEO.svelte";
import { onMount } from "svelte"; import { onMount } from "svelte";
import { page } from "$app/stores"; import { page } from "$app/stores";
@ -304,42 +305,11 @@
}; };
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Worldwide
<meta name="viewport" content="width=device-width" /> Economic Calendar"
<title> description="A list of upcoming economic events on the US stock market, with dates, times and estimation."
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Worldwide />
Economic Calendar · Stocknear
</title>
<meta
name="description"
content={`A list of upcoming economic events on the US stock market, with dates, times and estimation.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Worldwide Economic Calendar · Stocknear`}
/>
<meta
property="og:description"
content={`A list of upcoming economic events on the US stock market, with dates, times and estimation.`}
/>
<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={`Worldwide Economic Calendar · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of upcoming economic events on the US stock market, with dates, times and estimation.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <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" 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

@ -80,7 +80,7 @@
<div class="border border-gray-700"> <div class="border border-gray-700">
{#each items as item, index} {#each items as item, index}
<div <div
class="flex border-gray-600 {index + 1 === items?.length && class="flex border-gray-600 {index === items?.length &&
data?.user?.tier !== 'Pro' data?.user?.tier !== 'Pro'
? 'opacity-[0.2]' ? 'opacity-[0.2]'
: ''}" : ''}"

View File

@ -1,10 +1,9 @@
<script lang="ts"> <script lang="ts">
import cardBackground from "$lib/images/bg-hedge-funds.png"; import cardBackground from "$lib/images/bg-hedge-funds.png";
import { numberOfUnreadNotification } from "$lib/store";
import { abbreviateNumber, formatString } from "$lib/utils"; import { abbreviateNumber, formatString } from "$lib/utils";
import { onMount } from "svelte"; import { onMount } from "svelte";
// import * as XLSX from 'xlsx'; import SEO from "$lib/components/SEO.svelte";
export let data; export let data;
@ -77,37 +76,11 @@
} }
</script> </script>
<!-- HEADER FOR BETTER SEO --> <SEO
<svelte:head> title="All
<title> listed Hedge Funds"
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} All description="Find all listed Hedge Funds based on the US Market."
listed Hedge Funds · Stocknear</title />
>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0" />
<meta
name="description"
content="Find all listed Hedge Funds based on the US Market."
/>
<!-- Other meta tags -->
<meta property="og:title" content="All listed Hedge Funds · Stocknear" />
<meta
property="og:description"
content="Find all listed Hedge Funds based on the US Market."
/>
<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="All listed Hedge Funds · Stocknear" />
<meta
name="twitter:description"
content="Find all listed Hedge Funds based on the US Market."
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 pb-40 px-3" class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 pb-40 px-3"

View File

@ -3,6 +3,7 @@
import { formatString, sectorNavigation, abbreviateNumber } from "$lib/utils"; import { formatString, sectorNavigation, abbreviateNumber } from "$lib/utils";
import Table from "$lib/components/Table/Table.svelte"; import Table from "$lib/components/Table/Table.svelte";
import UpgradeToPro from "$lib/components/UpgradeToPro.svelte"; import UpgradeToPro from "$lib/components/UpgradeToPro.svelte";
import SEO from "$lib/components/SEO.svelte";
export let data; export let data;
@ -42,42 +43,10 @@
]; ];
</script> </script>
<svelte:head> <SEO
<meta charset="utf-8" /> title="Top Wall Street hedge funds"
<meta name="viewport" content="width=device-width" /> description="A list of the top Wall Street hedge funds, ranked by their success rate and average return per rating."
<title> />
{$numberOfUnreadNotification > 0 ? `(${$numberOfUnreadNotification})` : ""} Top
Wall Street Hedge Funds · Stocknear
</title>
<meta
name="description"
content={`A list of the top Wall Street hedge funds, ranked by their success rate and average return per rating.`}
/>
<!-- Other meta tags -->
<meta
property="og:title"
content={`Top Wall Street hedge funds · Stocknear`}
/>
<meta
property="og:description"
content={`A list of the top Wall Street hedge funds, 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 hedge funds · Stocknear`}
/>
<meta
name="twitter:description"
content={`A list of the top Wall Street hedge funds, ranked by their success rate and average return per rating.`}
/>
<!-- Add more Twitter meta tags as needed -->
</svelte:head>
<section <section
class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 px-4 lg:px-3 pb-40" class="w-full max-w-3xl sm:max-w-[1400px] overflow-hidden min-h-screen pt-5 px-4 lg:px-3 pb-40"

View File

@ -1,5 +1,4 @@
<script lang="ts"> <script lang="ts">
import { numberOfUnreadNotification } from "$lib/store";
import { page } from "$app/stores"; import { page } from "$app/stores";
import { industryList } from "$lib/utils"; import { industryList } from "$lib/utils";
import ArrowLogo from "lucide-svelte/icons/move-up-right"; import ArrowLogo from "lucide-svelte/icons/move-up-right";

View File

@ -70,6 +70,9 @@
<div class="w-full m-auto border border-gray-800 rounded-[10px]"> <div class="w-full m-auto border border-gray-800 rounded-[10px]">
<Map LAT={data?.getData?.lat} LON={data?.getData?.lon} /> <Map LAT={data?.getData?.lat} LON={data?.getData?.lon} />
</div> </div>
<span class="text-gray-300 text-xs">
Map data © OpenStreetMap
</span>
<h3 class="text-white text-xl font-semibold mb-2 mt-10"> <h3 class="text-white text-xl font-semibold mb-2 mt-10">
Official Presidential Schedule Official Presidential Schedule