Weekly SEO

This commit is contained in:
Timo Knuth
2026-06-08 20:33:38 +02:00
parent a7cbbee084
commit 0866c200a0
17 changed files with 21176 additions and 135 deletions

View File

@@ -119,29 +119,49 @@ const comparisonRows = [
{
platform: 'Bitly',
href: '/alternatives/bitly',
bestFor: 'Short links and light QR use',
watchOut: 'Low QR code counts on entry plans; no bulk QR creation',
price: 'Link-first paid plans',
freePlan: 'Limited QR use',
dynamicCodes: 'QR feature inside link management',
analytics: 'Link analytics first',
gdpr: 'Review DPA for EU use',
bulk: 'No QR-first bulk workflow',
branding: 'Bitly-branded link context',
qrMasterAngle: 'QR-first workflow with 50 dynamic codes on Pro',
},
{
platform: 'Flowcode',
href: '/alternatives/flowcode',
bestFor: 'Design-forward QR campaigns',
watchOut: 'Branding and interstitial concerns on lower tiers',
price: 'Brand and team tiers',
freePlan: 'Limited free path',
dynamicCodes: 'Strong QR design workflow',
analytics: 'Paid campaign analytics',
gdpr: 'US vendor; review data terms',
bulk: 'Best for larger plans',
branding: 'Design-forward, possible platform branding',
qrMasterAngle: 'Clean redirects and brand control without a branded scan page',
},
{
platform: 'Beaconstac / Uniqode',
href: '/alternatives/beaconstac',
bestFor: 'Enterprise QR management',
watchOut: 'Often more platform than small teams need',
price: 'Enterprise-oriented tiers',
freePlan: 'Trial or limited evaluation',
dynamicCodes: 'Advanced enterprise QR platform',
analytics: 'Advanced paid analytics',
gdpr: 'DPA and configuration review needed',
bulk: 'Strong, often enterprise-oriented',
branding: 'Enterprise controls',
qrMasterAngle: 'Simpler dynamic QR, analytics, and bulk creation for SMB teams',
},
{
platform: 'QR-Code-Generator.com',
href: '/alternatives/qr-code-generator',
bestFor: 'Fast one-off QR creation',
watchOut: 'Dynamic QR trial limits can be painful after printing',
price: 'Paid dynamic QR after trial',
freePlan: 'Static QR path',
dynamicCodes: 'Dynamic QR behind paid upgrade',
analytics: 'Paid analytics',
gdpr: 'Review vendor terms',
bulk: 'Paid workflow',
branding: 'Template-driven branding',
qrMasterAngle: 'Free dynamic codes and transparent paid tiers',
},
];
@@ -257,34 +277,57 @@ export default function AlternativesHubPage() {
</p>
</div>
<div className="overflow-hidden rounded-xl border" style={{ borderColor: '#E4E0D9' }}>
<div className="grid grid-cols-1 md:grid-cols-5" style={{ backgroundColor: '#F8F7F4' }}>
{['Platform', 'Best for', 'Watch out for', 'QR Master angle', 'Compare'].map((heading) => (
<div key={heading} className="p-4 text-xs font-semibold uppercase tracking-wider" style={{ color: '#71717A' }}>
{heading}
</div>
))}
</div>
{comparisonRows.map((row, index) => (
<div
key={row.platform}
className="grid grid-cols-1 md:grid-cols-5"
style={{
borderTop: '1px solid #E4E0D9',
backgroundColor: index % 2 === 0 ? '#FFFFFF' : '#FAFAF8',
}}
>
<div className="p-4 font-semibold" style={{ color: '#18181B' }}>{row.platform}</div>
<div className="p-4 text-sm" style={{ color: '#52525B' }}>{row.bestFor}</div>
<div className="p-4 text-sm" style={{ color: '#52525B' }}>{row.watchOut}</div>
<div className="p-4 text-sm font-medium" style={{ color: '#166534' }}>{row.qrMasterAngle}</div>
<div className="p-4">
<Link href={row.href} className="text-sm font-semibold" style={{ color: '#166534' }}>
QR Master vs {row.platform}
</Link>
</div>
</div>
))}
<div className="overflow-x-auto rounded-xl border" style={{ borderColor: '#E4E0D9' }}>
<table className="w-full min-w-[980px] text-sm">
<thead style={{ backgroundColor: '#F8F7F4' }}>
<tr>
{[
'Platform',
'Price',
'Free plan',
'Dynamic codes',
'Analytics',
'GDPR / EU fit',
'Bulk',
'Branding',
'Compare',
].map((heading) => (
<th
key={heading}
className="p-4 text-left text-xs font-semibold uppercase tracking-wider"
style={{ color: '#71717A' }}
>
{heading}
</th>
))}
</tr>
</thead>
<tbody>
{comparisonRows.map((row, index) => (
<tr
key={row.platform}
style={{
borderTop: '1px solid #E4E0D9',
backgroundColor: index % 2 === 0 ? '#FFFFFF' : '#FAFAF8',
}}
>
<td className="p-4 font-semibold" style={{ color: '#18181B' }}>{row.platform}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.price}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.freePlan}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.dynamicCodes}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.analytics}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.gdpr}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.bulk}</td>
<td className="p-4" style={{ color: '#52525B' }}>{row.branding}</td>
<td className="p-4">
<Link href={row.href} className="font-semibold" style={{ color: '#166534' }}>
QR Master vs {row.platform}
</Link>
</td>
</tr>
))}
</tbody>
</table>
</div>
</div>
</section>