1.2.0: local SEO structured data (LocalBusiness, Service, FAQPage), noindex per page
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
type ServiceJsonLdArgs = {
|
||||
/** Area served, e.g. 'Wrocław' or ['Wrocław', 'Oława']. */
|
||||
areaServed?: string | string[];
|
||||
description?: string;
|
||||
/** Service name, e.g. 'Sprzątanie biur'. */
|
||||
name: string;
|
||||
/** Provider (business) name. */
|
||||
providerName: string;
|
||||
/** Service type / category. */
|
||||
serviceType?: string;
|
||||
url: string;
|
||||
};
|
||||
/**
|
||||
* Builds Service JSON-LD (schema.org) for a service offering. Helps Google
|
||||
* understand "what this page sells" — useful for service landing pages
|
||||
* ("usługa + miasto"). Pairs well with LocalBusiness (the provider).
|
||||
*
|
||||
* Per-page (each service page emits its own), data from the panel:
|
||||
*
|
||||
* import { buildServiceJsonLd } from '@intecion/ipal-kit'
|
||||
* const jsonLd = buildServiceJsonLd({
|
||||
* name: page.serviceName, providerName: company.name,
|
||||
* url: pageUrl, areaServed: 'Wrocław',
|
||||
* })
|
||||
*/
|
||||
export declare function buildServiceJsonLd({ name, areaServed, description, providerName, serviceType, url, }: ServiceJsonLdArgs): {
|
||||
serviceType?: string | undefined;
|
||||
areaServed?: string | string[] | undefined;
|
||||
description?: string | undefined;
|
||||
name: string;
|
||||
'@context': string;
|
||||
'@type': string;
|
||||
provider: {
|
||||
name: string;
|
||||
'@type': string;
|
||||
url: string;
|
||||
};
|
||||
};
|
||||
export {};
|
||||
Reference in New Issue
Block a user