gatsby-plugin-next-seo
Version:
SEO plugin for Gatsby projects
284 lines • 8.88 kB
TypeScript
import { FC } from 'react';
import { LocalBusiness as SchemaLocalBusiness } from 'schema-dts';
import { DeferSeoProps } from '../types';
import { AggregateRating, Overrides } from '../utils/shared-types';
interface LocalBusinessAddress {
/** The country. For example, USA. You can also provide the two-letter
* {@link http://en.wikipedia.org/wiki/ISO_3166-1 ISO 3166-1 alpha-2 country code}.
*/
addressCountry: string;
/** The locality in which the street address is, and which is in the region.
* For example, Mountain View.
*/
addressLocality?: string;
/**
* The region in which the locality is, and which is in the country. For
* example, California or another appropriate first-level
* {@link https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country Administrative division}
*/
addressRegion?: string;
/**
* The postal code. For example, 94043.
*/
postalCode: string;
/**
* The post office box number for PO box addresses.
*/
postOfficeBoxNumber?: string;
/**
* The street address. For example, 1600 Amphitheatre Pkwy.
*/
streetAddress: string;
}
declare type LocalBusiness = Extract<SchemaLocalBusiness, object>;
export declare type LocalBusinessType = LocalBusiness['@type'];
/**
* Geographic coordinates of the business.
*/
interface Geo {
/**
* The elevation of a location
* ({@link https://en.wikipedia.org/wiki/World_Geodetic_System WGS 84}).
* Values may be of the form 'NUMBER UNIT_OF_MEASUREMENT' (e.g., '1,000 m',
* '3,200 ft') while numbers alone should be assumed to be a value in meters.
*/
elevation?: string | number;
/**
* The latitude of a location.
*
* @remarks
*
* The precision should be at least 5 decimal places. For example `37.42242`
* ({@link https://en.wikipedia.org/wiki/World_Geodetic_System WGS 84}).
*/
latitude: string | number;
/**
* The longitude of a location.
*
* @remarks
*
* The precision should be at least 5 decimal places. For example `-122.08585`
* ({@link https://en.wikipedia.org/wiki/World_Geodetic_System WGS 84}).
* */
longitude: string | number;
}
declare type DayOfWeek = 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday' | 'Mon' | 'Tues' | 'Wed' | 'Thurs' | 'Fri' | 'Sat' | 'Sun' | 'PublicHolidays';
interface OpeningHoursSpecification {
/**
* The closing hour of the place or service on the given day(s) of the week,
* in hh:mm:ss format.
*/
closes?: string;
/**
* The day of the week for which these opening hours are valid.
*/
dayOfWeek?: DayOfWeek | DayOfWeek[];
/**
* The opening hour of the place or service on the given day(s) of the week,
* in hh:mm:ss format.
*/
opens?: string;
/**
* The date when the opening hours becomes valid, in YYYY-MM-DD format.
*/
validFrom?: string;
/**
* The date after when the opening hours is not valid, in YYYY-MM-DD format.
*/
validThrough?: string;
}
export interface LocalBusinessJsonLdProps extends DeferSeoProps, Overrides<LocalBusiness> {
/**
* @deprecated
*
* Use `overrides['@types']` instead.
*/
type: LocalBusinessType;
/**
* Globally unique ID of the specific business location in the form of a URL.
*
* @remarks
*
* The ID should be stable and unchanging over time. Google Search treats the
* URL as an opaque string and it does not have to be a working link. If the
* business has multiple locations, make sure the `id` is unique for each
* location.
*/
id: string;
/**
* The name of the business.
*/
name: string;
/**
* The description of the business.
*/
description: string;
/**
* The fully-qualified URL of the specific business location. Unlike the `id`
* property, this URL property should be a working link.
*/
url: string;
/**
* A business phone number meant to be the primary contact method for
* customers. Be sure to include the country code and area code in the phone
* number.
*/
telephone?: string;
/**
* The physical location of the business. Include as many properties as
* possible. The more properties you provide, the higher quality the result is
* to users.
*/
address: LocalBusinessAddress;
/**
* Geographic coordinates of the business.
*/
geo: Geo;
/**
* One or more images of the `LocalBusiness`.
*
* @remarks
*
* Additional image guidelines:
*
* Every page must contain at least one image (whether or not you include
* markup). Google will pick the best image to display in Search results based
* on the aspect ratio and resolution. Image URLs must be crawlable and
* indexable. Images must represent the marked up content. Images must be in
* .jpg, .png, or. gif format. For best results, provide multiple
* high-resolution images (minimum of 50K pixels when multiplying width and
* height) with the following aspect ratios: 16x9, 4x3, and 1x1. For example:
*
* ```js
* const props = {
* ... //
* "image": [
* "https://example.com/photos/1x1/photo.jpg",
* "https://example.com/photos/4x3/photo.jpg",
* "https://example.com/photos/16x9/photo.jpg"
* ]
* };
* ```
*
*/
images: string[];
/**
* The opening hours of a certain place.
*
* @remarks
*
* Use both the validFrom and validThrough properties to define seasonal
* hours. This example shows a business closed for winter holidays.
*
* #### Standard hours
*
* Excluding the validFrom and validThrough properties signify that the hours
* are valid year-round.This example defines a business that is open weekdays
* from 9am to 9pm, with weekend hours from 10am until 11pm.
*
* ```js
* const props = {
* ...other,
* openingHoursSpecification: [
* {
* dayOfWeek: [
* "Monday",
* "Tuesday",
* "Wednesday",
* "Thursday",
* "Friday"
* ],
* opens: "09:00",
* closes: "21:00"
* },
* {
* dayOfWeek: ["Saturday", "Sunday"],
* opens: "10:00",
* closes: "23:00"
* }
* ]
* }
* ```
*
* #### Late night hours
*
* For hours past midnight, define opening and closing hours using a single
* OpeningHoursSpecification property. This example defines hours from
* Saturday at 6pm until Sunday at 3am.
*
* ```js
* const props = {
* ...other,
* openingHoursSpecification: {
* opens: "18:00",
* closes: "03:00",
* dayOfWeek: "Saturday",
* }
* }
* ```
*
* #### All-day hours
*
* To show a business as open 24 hours a day, set the open property to "00:00"
* and the closes property to "23:59".To show a business is closed all day,
* set both opens and closes properties to "00:00". This example shows a
* business open all day Saturday and closed all day Sunday.
*
*
* ```js
* const props = {
* ...other,
* openingHoursSpecification: [
* {
* dayOfWeek: "Saturday",
* opens: "00:00",
* closes: "23:59"
* },
* {
* dayOfWeek: "Sunday",
* opens: "00:00",
* closes: "00:00"
* }
* ]
* }
* ```
*
*
* #### Seasonal hours
* ```js
* const props = {
* ...other,
* openingHoursSpecification: {
* opens: "00:00",
* closes: "00:00",
* validFrom: "2015-12-23",
* validThrough: "2016-01-05"
* }
* }
* ```
*/
openingHours?: OpeningHoursSpecification | OpeningHoursSpecification[];
/**
* The average rating of the local business based on multiple ratings or
* reviews.
*/
rating?: AggregateRating;
/**
* The relative price range of a business, commonly specified by either a
* numerical range.
*
* @remarks
*
* @example "$10-15" or a normalized number of currency signs (for example,
* "$$$")
*/
priceRange?: string;
}
/**
* When users search for businesses on Google Search or Maps, Search results may
* display a prominent Knowledge Graph card with details about a business that
* matched the query.
*/
export declare const LocalBusinessJsonLd: FC<LocalBusinessJsonLdProps>;
export {};
//# sourceMappingURL=local-business.d.ts.map