refactor(seo): Improve page metadata and HTML semantics
This commit updates the page metadata (title and description) from the default Next.js placeholders to be descriptive of the Opp lens application, improving SEO. Additionally, it refactors the HTML structure for better semantics and accessibility: - Replaced generic `div` and fragment tags with appropriate semantic elements like `main`, `article`, `li`, and `small`. - Corrected the heading hierarchy for better document structure. - Fixed image source paths by making them absolute to prevent broken images.
This commit is contained in:
+24
-24
@@ -59,7 +59,9 @@ export default function Home() {
|
||||
</p>
|
||||
</hgroup>
|
||||
<div className="flex justify-start text-white">
|
||||
<button className="w-2/3 md:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
||||
<button
|
||||
type="button"
|
||||
className="w-2/3 md:w-fit capitalize bg-(--primary) rounded-4xl py-4 px-6">
|
||||
Get early access
|
||||
</button>
|
||||
</div>
|
||||
@@ -83,18 +85,18 @@ export default function Home() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<article className="mt-10">
|
||||
<section className="mt-10 text-center">
|
||||
<hgroup>
|
||||
<h4 className="capitalize font-bold text-2xl md:text-4xl">
|
||||
<h2 className="capitalize font-bold text-2xl md:text-4xl">
|
||||
your in-house tender department, powered by
|
||||
<span className="uppercase">ai</span>
|
||||
</h4>
|
||||
<small className="text-gray-600 mt-3">
|
||||
</h2>
|
||||
<p className="text-gray-600 mt-3">
|
||||
Opplens is the end-to-end solution that gives you the power to
|
||||
compete and win.
|
||||
</small>
|
||||
</p>
|
||||
</hgroup>
|
||||
</article>
|
||||
</section>
|
||||
<section className="flex flex-col gap-4 md:flex-row">
|
||||
{centerFrames.map((frame, index) => (
|
||||
<article
|
||||
@@ -131,7 +133,7 @@ export default function Home() {
|
||||
height={36}
|
||||
/>
|
||||
</div>
|
||||
<h2 className="font-bold">Resource Drain</h2>
|
||||
<h3 className="font-bold">Resource Drain</h3>
|
||||
<p>
|
||||
Lacking the time, dedicated staff, and expertise to constantly
|
||||
monitor the market and prepare high-quality bids.
|
||||
@@ -146,7 +148,7 @@ export default function Home() {
|
||||
height={36}
|
||||
/>
|
||||
</div>
|
||||
<h2 className="font-bold">Overwhelming Complexity</h2>
|
||||
<h3 className="font-bold">Overwhelming Complexity</h3>
|
||||
<p>
|
||||
Navigating complex requirements and processes designed for large
|
||||
corporations with dedicated tender departments.
|
||||
@@ -161,7 +163,7 @@ export default function Home() {
|
||||
height={36}
|
||||
/>
|
||||
</div>
|
||||
<h2 className="font-bold">Low Win Rates</h2>
|
||||
<h3 className="font-bold">Low Win Rates</h3>
|
||||
<p>
|
||||
Did you know 68% of SMEs in Sweden rarely or never win public
|
||||
tenders? It's time to change that.
|
||||
@@ -169,14 +171,12 @@ export default function Home() {
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section className="flex flex-col mt-36 gap-10 px-2 md:w-3/4 m-auto">
|
||||
<div>
|
||||
<h2 className="font-bold text-2xl md:text-4xl">
|
||||
The Opplens Advantage
|
||||
</h2>
|
||||
</div>
|
||||
<section className="flex flex-col gap-10 md:flex-row">
|
||||
<div className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl md:pb-20">
|
||||
<section className="flex flex-col mt-36 gap-10 px-2 md:w-3/4 m-auto text-center">
|
||||
<h2 className="font-bold text-2xl md:text-4xl">
|
||||
The Opplens Advantage
|
||||
</h2>
|
||||
<div className="flex flex-col gap-10 md:flex-row">
|
||||
<article className="flex flex-col gap-7 bg-[#FFF7EB] p-10 rounded-3xl md:pb-20">
|
||||
<Image
|
||||
src={"people.svg"}
|
||||
width={48}
|
||||
@@ -184,15 +184,15 @@ export default function Home() {
|
||||
alt="people icon"
|
||||
/>
|
||||
<div className="flex flex-col gap-4">
|
||||
<h2 className="font-bold text-xl">A True Partnership Model</h2>
|
||||
<h3 className="font-bold text-xl">A True Partnership Model</h3>
|
||||
<p>
|
||||
Lower your risk with our performance-based options. Our success
|
||||
is directly tied to yours, making us a dedicated partner
|
||||
invested in your growth, not just a software provider.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl md:pb-20">
|
||||
</article>
|
||||
<article className="flex flex-col gap-7 bg-[#E5EFFF] p-10 rounded-3xl md:pb-20">
|
||||
<Image
|
||||
src={"shield-tick.svg"}
|
||||
width={48}
|
||||
@@ -200,15 +200,15 @@ export default function Home() {
|
||||
alt="shield icon"
|
||||
/>
|
||||
<div className="flex flex-col gap-4">
|
||||
<h2 className="font-bold text-xl">Unmatched Data Security</h2>
|
||||
<h3 className="font-bold text-xl">Unmatched Data Security</h3>
|
||||
<p>
|
||||
Your business data is critical. Our unique on premise AI engine
|
||||
ensures your information remains 100% private and secure, unlike
|
||||
cloud based services. Fully GDPR compliant by design.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user