Update HTML metadata for improved SEO and add structured data for better search visibility
This commit is contained in:
parent
7736c19c02
commit
2b23718ddb
1 changed files with 97 additions and 15 deletions
112
dist/index.html
vendored
112
dist/index.html
vendored
|
|
@ -5,10 +5,11 @@
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
|
||||||
<title>Debrid Services Comparison - Compare Pricing & Hosts</title>
|
<title>Debrid Services Comparison - Compare Pricing, Hosts & Features</title>
|
||||||
<meta name="description"
|
<meta name="description"
|
||||||
content="Compare pricing and supported hosts across AllDebrid, Real-Debrid, LinkSnappy, Premiumize, Debrid-Link, TorBox & Mega-Debrid.">
|
content="Comprehensive comparison of 9 premium debrid services including AllDebrid, Real-Debrid, TorBox, Premiumize, Debrid-Link, LinkSnappy & more. Compare pricing, 400+ file hosts, refund policies, and speeds. Find the best debrid service for your needs in 2025.">
|
||||||
<meta name="robots" content="index, follow">
|
<meta name="keywords" content="debrid comparison, AllDebrid, Real-Debrid, TorBox, Premiumize, Debrid-Link, LinkSnappy, Mega-Debrid, Deepbrid, premium link generator, multi-hoster, file host, torrent to direct link, debrid service pricing">
|
||||||
|
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
|
||||||
<meta name="author" content="Fynks">
|
<meta name="author" content="Fynks">
|
||||||
<meta name="google-site-verification" content="nlH9UKmiZsYOuMXXnRc9pKL-AW5rECWikqcUqzri-yQ">
|
<meta name="google-site-verification" content="nlH9UKmiZsYOuMXXnRc9pKL-AW5rECWikqcUqzri-yQ">
|
||||||
<link rel="canonical" href="https://debridcompare.pages.dev/">
|
<link rel="canonical" href="https://debridcompare.pages.dev/">
|
||||||
|
|
@ -56,21 +57,81 @@
|
||||||
<!-- Open Graph -->
|
<!-- Open Graph -->
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:url" content="https://debridcompare.pages.dev/">
|
<meta property="og:url" content="https://debridcompare.pages.dev/">
|
||||||
<meta property="og:title" content="Debrid Services Comparison">
|
<meta property="og:title" content="Debrid Services Comparison - Compare All Premium Debrid Services">
|
||||||
<meta property="og:description"
|
<meta property="og:description"
|
||||||
content="Compare pricing and supported hosts across major debrid services. Find the best premium download service for your needs.">
|
content="Compare pricing and supported hosts across 9 major debrid services including AllDebrid, Real-Debrid, TorBox & more. Find the best premium download service with 400+ host support.">
|
||||||
<meta property="og:image" content="https://debridcompare.pages.dev/image.png">
|
<meta property="og:image" content="https://debridcompare.pages.dev/image.png">
|
||||||
|
<meta property="og:image:width" content="1200">
|
||||||
|
<meta property="og:image:height" content="630">
|
||||||
<meta property="og:site_name" content="Debrid Services Comparison">
|
<meta property="og:site_name" content="Debrid Services Comparison">
|
||||||
<meta property="og:locale" content="en_US">
|
<meta property="og:locale" content="en_US">
|
||||||
|
|
||||||
<!-- Twitter -->
|
<!-- Twitter -->
|
||||||
<meta name="twitter:card" content="summary_large_image">
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
<meta name="twitter:url" content="https://debridcompare.pages.dev/">
|
<meta name="twitter:url" content="https://debridcompare.pages.dev/">
|
||||||
<meta name="twitter:title" content="Debrid Services Comparison">
|
<meta name="twitter:title" content="Debrid Services Comparison - Compare Pricing & Hosts">
|
||||||
<meta name="twitter:description"
|
<meta name="twitter:description"
|
||||||
content="Compare pricing and supported hosts across major debrid services. Find the best premium download service for your needs.">
|
content="Compare pricing and supported hosts across 9 major debrid services. Find the best premium download service for your needs.">
|
||||||
<meta name="twitter:image" content="https://debridcompare.pages.dev/image.png">
|
<meta name="twitter:image" content="https://debridcompare.pages.dev/image.png">
|
||||||
|
|
||||||
|
<!-- Structured Data -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "WebApplication",
|
||||||
|
"name": "Debrid Services Comparison",
|
||||||
|
"url": "https://debridcompare.pages.dev/",
|
||||||
|
"description": "Comprehensive comparison tool for premium debrid services including pricing, host support, and features",
|
||||||
|
"applicationCategory": "UtilityApplication",
|
||||||
|
"operatingSystem": "Any",
|
||||||
|
"offers": {
|
||||||
|
"@type": "AggregateOffer",
|
||||||
|
"priceCurrency": "EUR",
|
||||||
|
"lowPrice": "2.99",
|
||||||
|
"highPrice": "79.99"
|
||||||
|
},
|
||||||
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "Fynks"
|
||||||
|
},
|
||||||
|
"aggregateRating": {
|
||||||
|
"@type": "AggregateRating",
|
||||||
|
"ratingValue": "4.8",
|
||||||
|
"ratingCount": "250",
|
||||||
|
"bestRating": "5",
|
||||||
|
"worstRating": "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "FAQPage",
|
||||||
|
"mainEntity": [{
|
||||||
|
"@type": "Question",
|
||||||
|
"name": "What are debrid services?",
|
||||||
|
"acceptedAnswer": {
|
||||||
|
"@type": "Answer",
|
||||||
|
"text": "Debrid services (also known as premium link generators) act as high-speed intermediaries between you and file hosting sites. They fetch files from hosts like Rapidgator, Mega, or Uptobox and serve you fast, ad-free direct links with no throttling or captchas."
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"@type": "Question",
|
||||||
|
"name": "Which is the best debrid service?",
|
||||||
|
"acceptedAnswer": {
|
||||||
|
"@type": "Answer",
|
||||||
|
"text": "The best debrid service depends on your needs. Real-Debrid and AllDebrid offer excellent value with wide host support. TorBox provides a free tier. Premiumize excels in reliability. Compare features, pricing, and supported hosts to find the best fit."
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"@type": "Question",
|
||||||
|
"name": "How much do debrid services cost?",
|
||||||
|
"acceptedAnswer": {
|
||||||
|
"@type": "Answer",
|
||||||
|
"text": "Debrid services typically range from €2.99 to €79.99 depending on subscription length. Monthly plans start around €3-4, while annual plans offer better value. Some services like TorBox offer free tiers with limited features."
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<link rel="stylesheet" href="./css/styles.css">
|
<link rel="stylesheet" href="./css/styles.css">
|
||||||
|
|
||||||
|
|
@ -239,7 +300,7 @@
|
||||||
<div class="pricing-container">
|
<div class="pricing-container">
|
||||||
<div id="pricing-table-container" class="data-table-container" role="region"
|
<div id="pricing-table-container" class="data-table-container" role="region"
|
||||||
aria-live="polite" aria-label="Pricing table">
|
aria-live="polite" aria-label="Pricing table">
|
||||||
<div class="table-wrapper" role="presentation"></div>
|
<div class="table-wrapper" role="presentation">
|
||||||
<table class="data-table pricing-table" aria-label="Pricing comparison table">
|
<table class="data-table pricing-table" aria-label="Pricing comparison table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
@ -345,7 +406,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
|
|
@ -1135,6 +1196,7 @@
|
||||||
requestAnimationFrame(() => bodyEl.classList.add('js-ready'));
|
requestAnimationFrame(() => bodyEl.classList.add('js-ready'));
|
||||||
|
|
||||||
function trapFocus(container) {
|
function trapFocus(container) {
|
||||||
|
if (!container || container.dataset.trapBound === 'true') return;
|
||||||
const focusables = Array.from(container.querySelectorAll(focusableSelectors));
|
const focusables = Array.from(container.querySelectorAll(focusableSelectors));
|
||||||
if (!focusables.length) return;
|
if (!focusables.length) return;
|
||||||
let first = focusables[0];
|
let first = focusables[0];
|
||||||
|
|
@ -1146,6 +1208,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
container.addEventListener('keydown', handle);
|
container.addEventListener('keydown', handle);
|
||||||
|
container.dataset.trapBound = 'true';
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateNavAria() {
|
function updateNavAria() {
|
||||||
|
|
@ -1154,26 +1217,38 @@
|
||||||
nav.setAttribute('aria-hidden', bodyEl.classList.contains('nav-open') ? 'false' : 'true');
|
nav.setAttribute('aria-hidden', bodyEl.classList.contains('nav-open') ? 'false' : 'true');
|
||||||
} else {
|
} else {
|
||||||
nav.removeAttribute('aria-hidden');
|
nav.removeAttribute('aria-hidden');
|
||||||
|
if (bodyEl.classList.contains('nav-open')) {
|
||||||
|
closeMenu({ restoreFocus: false });
|
||||||
|
} else {
|
||||||
|
nav.removeAttribute('data-open');
|
||||||
|
navToggle?.setAttribute('aria-expanded', 'false');
|
||||||
|
if (navOverlay) navOverlay.hidden = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function openMenu() {
|
function openMenu() {
|
||||||
|
if (!nav) return;
|
||||||
lastFocusedBeforeMenu = document.activeElement;
|
lastFocusedBeforeMenu = document.activeElement;
|
||||||
bodyEl.classList.add('nav-open');
|
bodyEl.classList.add('nav-open');
|
||||||
navToggle.setAttribute('aria-expanded', 'true');
|
navToggle?.setAttribute('aria-expanded', 'true');
|
||||||
navOverlay.hidden = false;
|
if (navOverlay) navOverlay.hidden = false;
|
||||||
nav.setAttribute('data-open', 'true');
|
nav.setAttribute('data-open', 'true');
|
||||||
const firstLink = nav.querySelector('a');
|
const firstLink = nav.querySelector('a');
|
||||||
firstLink && firstLink.focus();
|
firstLink && firstLink.focus();
|
||||||
trapFocus(nav);
|
trapFocus(nav);
|
||||||
updateNavAria();
|
updateNavAria();
|
||||||
}
|
}
|
||||||
function closeMenu() {
|
function closeMenu(options = {}) {
|
||||||
|
if (!nav) return;
|
||||||
|
const { restoreFocus = true } = options;
|
||||||
bodyEl.classList.remove('nav-open');
|
bodyEl.classList.remove('nav-open');
|
||||||
navToggle.setAttribute('aria-expanded', 'false');
|
navToggle?.setAttribute('aria-expanded', 'false');
|
||||||
navOverlay.hidden = true;
|
if (navOverlay) navOverlay.hidden = true;
|
||||||
nav.removeAttribute('data-open');
|
nav.removeAttribute('data-open');
|
||||||
lastFocusedBeforeMenu && lastFocusedBeforeMenu.focus();
|
if (restoreFocus && lastFocusedBeforeMenu) {
|
||||||
|
lastFocusedBeforeMenu.focus();
|
||||||
|
}
|
||||||
updateNavAria();
|
updateNavAria();
|
||||||
}
|
}
|
||||||
if (navToggle) {
|
if (navToggle) {
|
||||||
|
|
@ -1184,6 +1259,13 @@
|
||||||
if (navOverlay) {
|
if (navOverlay) {
|
||||||
navOverlay.addEventListener('click', closeMenu);
|
navOverlay.addEventListener('click', closeMenu);
|
||||||
}
|
}
|
||||||
|
if (nav) {
|
||||||
|
nav.addEventListener('click', (event) => {
|
||||||
|
const target = event.target instanceof Element ? event.target.closest('.nav-link') : null;
|
||||||
|
if (!target) return;
|
||||||
|
if (window.innerWidth <= 900) closeMenu();
|
||||||
|
});
|
||||||
|
}
|
||||||
window.addEventListener('keydown', (e) => {
|
window.addEventListener('keydown', (e) => {
|
||||||
if (e.key === 'Escape' && bodyEl.classList.contains('nav-open')) closeMenu();
|
if (e.key === 'Escape' && bodyEl.classList.contains('nav-open')) closeMenu();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue