TikTok V4
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import Link from 'next/link';
|
||||
@@ -177,7 +178,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/bulk-qr-code-generator#software',
|
||||
name: 'QR Master - Bulk QR Code Generator',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import Link from 'next/link';
|
||||
@@ -25,7 +26,7 @@ import {
|
||||
import { MiniGenerator } from '@/components/marketing/MiniGenerator';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'Custom QR Code Generator with Logo & Colors | QR Master',
|
||||
title: 'Free Custom QR Code Generator with Logo & Colors',
|
||||
description: 'Create custom QR codes with your logo, brand colors, and unique frames. Free designer with instant preview. Download PNG/SVG. No signup needed to try.',
|
||||
keywords: [
|
||||
'custom qr code generator',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
@@ -185,7 +186,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/dynamic-barcode-generator#software',
|
||||
name: 'QR Master - Dynamic Barcode Generator',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
@@ -16,7 +17,7 @@ import { featuredUseCases } from '@/lib/growth-pages';
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
absolute: 'Dynamic QR Code Generator: Edit After Print',
|
||||
absolute: 'Free Dynamic QR Code Generator: Edit After Print',
|
||||
},
|
||||
description:
|
||||
'Create dynamic QR codes with editable destinations, scan tracking, branding, and post-print updates for menus, flyers, packaging, and campaigns.',
|
||||
@@ -286,7 +287,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/dynamic-qr-code-generator#software',
|
||||
name: 'QR Master - Dynamic QR Code Generator',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import Link from 'next/link';
|
||||
@@ -143,7 +144,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/manage-qr-codes#software',
|
||||
name: 'QR Master - QR Code Management Dashboard',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
offers: {
|
||||
'@type': 'AggregateOffer',
|
||||
lowPrice: '0',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import type { Metadata } from 'next';
|
||||
|
||||
import {
|
||||
@@ -18,7 +19,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/qr-code-analytics#software',
|
||||
name: 'QR Master - QR Code Analytics',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import { Button } from '@/components/ui/Button';
|
||||
@@ -206,7 +207,14 @@ const softwareSchema = {
|
||||
'@type': 'SoftwareApplication',
|
||||
'@id': 'https://www.qrmaster.net/qr-code-tracking#software',
|
||||
name: 'QR Master - QR Code Tracking & Analytics',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: {
|
||||
'@type': 'Offer',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { getAggregateRating } from '@/lib/testimonial-data';
|
||||
import React from 'react';
|
||||
import type { Metadata } from 'next';
|
||||
import ReprintSavingsCalculator from '@/components/marketing/ReprintSavingsCalculator';
|
||||
@@ -39,7 +40,14 @@ const softwareSchema = {
|
||||
'@type': 'WebApplication',
|
||||
'@id': 'https://www.qrmaster.net/reprint-calculator#app',
|
||||
name: 'QR Code Reprint Cost Calculator',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
applicationCategory: 'BusinessApplication',
|
||||
aggregateRating: {
|
||||
'@type': 'AggregateRating',
|
||||
ratingValue: getAggregateRating().ratingValue,
|
||||
reviewCount: getAggregateRating().reviewCount,
|
||||
bestRating: getAggregateRating().bestRating,
|
||||
worstRating: getAggregateRating().worstRating,
|
||||
},
|
||||
operatingSystem: 'Web Browser',
|
||||
offers: { '@type': 'Offer', price: '0', priceCurrency: 'EUR' },
|
||||
description: 'Calculate the cost of reprinting static QR codes vs switching to dynamic QR codes that never need reprinting.',
|
||||
|
||||
Reference in New Issue
Block a user