open-local-audit 0.77.0 → 0.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to Open Local Audit will be documented here.
4
4
 
5
+ ## v0.78.0 - 2026-10-11
6
+
7
+ - The `localbusiness-schema-present`, `localbusiness-schema-contact-fields`, and `localbusiness-schema-nap-consistency` rules now recognise schema.org LocalBusiness subtypes such as `Dentist`, `Attorney`, `MedicalClinic`, `Ophthalmology`, `Restaurant`, and `Plumber` (every LocalBusiness descendant in schema.org 30.1). Types are expanded through the page's JSON-LD `@context` (`@vocab`, including a compact `@vocab`, prefixes with JSON-LD 1.1 prefix rules, term definitions, including ones that take their IRI from `@vocab`, `null` resets, and `@propagate`), so `Dentist` under the schema.org context, `schema:Dentist`, and `https://schema.org/Dentist` match, while types that expand to another vocabulary do not. Pages without any `@context` still read bare and `schema:` types as schema.org types. Pages that use only a subtype no longer get a false "LocalBusiness structured data is missing" finding, and their schema telephone, address, and opening hours are now checked.
8
+ - `localbusiness-schema-contact-fields` accepts `openingHoursSpecification` (one object or a list, each with a non-empty `dayOfWeek`, `opens`, or `closes` value, or an `@id` reference to one in the page's JSON-LD, including `@included` and embedded nodes, with compact `@id` values expanded through the context, relative ones resolved against the context `@base` or the page URL, and blank node labels kept local to their script block) and a list of `openingHours` strings as opening hours. It also reads telephone, address, and opening hours from every JSON-LD node that shares the business's `@id`.
9
+ - These changes can remove `localbusiness-schema-present` findings and add contact-field or NAP findings on pages with subtype schema, so `compare` against earlier reports may show them as fixed or new.
10
+
5
11
  ## v0.77.0 - 2026-10-10
6
12
 
7
13
  - Discovery now flags leads that look like a chain branch or public body, such as `mydentist.co.uk` branch pages, Rodericks practice pages, and `nhs.uk` listings: a public-sector website domain, a website host shared by two or more differently named leads in the same search, or a branch page URL with two or more path segments. Social, link-in-bio, directory, site-builder, and booking-platform pages such as `facebook.com`, `linktr.ee`, `sites.google.com`, Treatwell, and Fresha are never treated as chains. Flagged leads stay in the export with the reason in `opportunityReasons` and a new standard CSV `chainReason` column, low priority, an opportunity score of at most 20, and a "Skip unless you are targeting the head office" next action. This applies to every discovery source; the CRM preset is unchanged.
@@ -0,0 +1,16 @@
1
+ type TermDefinition = {
2
+ iri: string | null;
3
+ prefix: boolean;
4
+ };
5
+ export type JsonLdTypeContext = {
6
+ declared: boolean;
7
+ vocab: string | null;
8
+ terms: Map<string, TermDefinition>;
9
+ bases: readonly (string | null)[];
10
+ };
11
+ export declare const noTypeContext: JsonLdTypeContext;
12
+ export declare function applyTypeContext(active: JsonLdTypeContext, context: unknown): JsonLdTypeContext;
13
+ export declare function contextBase(documentBase: string, context: JsonLdTypeContext): string | null;
14
+ export declare function expandNodeId(value: string, context: JsonLdTypeContext): string;
15
+ export declare function isLocalBusinessType(type: string, context?: JsonLdTypeContext): boolean;
16
+ export {};
@@ -0,0 +1,324 @@
1
+ // schema.org LocalBusiness and all its descendants as of schema.org 30.1, including the health-lifesci
2
+ // MedicalBusiness specialties, so pages typed as Dentist, Attorney, Restaurant, or Plumber count as
3
+ // local business structured data.
4
+ const localBusinessTypes = new Set([
5
+ "LocalBusiness",
6
+ "AnimalShelter",
7
+ "ArchiveOrganization",
8
+ "AutomotiveBusiness",
9
+ "AutoBodyShop",
10
+ "AutoDealer",
11
+ "AutoPartsStore",
12
+ "AutoRental",
13
+ "AutoRepair",
14
+ "AutoWash",
15
+ "GasStation",
16
+ "MotorcycleDealer",
17
+ "MotorcycleRepair",
18
+ "ChildCare",
19
+ "Dentist",
20
+ "DryCleaningOrLaundry",
21
+ "EmergencyService",
22
+ "FireStation",
23
+ "Hospital",
24
+ "PoliceStation",
25
+ "EmploymentAgency",
26
+ "EntertainmentBusiness",
27
+ "AdultEntertainment",
28
+ "AmusementPark",
29
+ "ArtGallery",
30
+ "Casino",
31
+ "ComedyClub",
32
+ "MovieTheater",
33
+ "NightClub",
34
+ "FinancialService",
35
+ "AccountingService",
36
+ "AutomatedTeller",
37
+ "BankOrCreditUnion",
38
+ "InsuranceAgency",
39
+ "FoodEstablishment",
40
+ "Bakery",
41
+ "BarOrPub",
42
+ "Brewery",
43
+ "CafeOrCoffeeShop",
44
+ "Distillery",
45
+ "FastFoodRestaurant",
46
+ "IceCreamShop",
47
+ "Restaurant",
48
+ "Winery",
49
+ "GovernmentOffice",
50
+ "PostOffice",
51
+ "HealthAndBeautyBusiness",
52
+ "BeautySalon",
53
+ "DaySpa",
54
+ "HairSalon",
55
+ "HealthClub",
56
+ "NailSalon",
57
+ "TattooParlor",
58
+ "HomeAndConstructionBusiness",
59
+ "Electrician",
60
+ "GeneralContractor",
61
+ "HVACBusiness",
62
+ "HousePainter",
63
+ "Locksmith",
64
+ "MovingCompany",
65
+ "Plumber",
66
+ "RoofingContractor",
67
+ "InternetCafe",
68
+ "LegalService",
69
+ "Attorney",
70
+ "Notary",
71
+ "Library",
72
+ "LodgingBusiness",
73
+ "BedAndBreakfast",
74
+ "Campground",
75
+ "Hostel",
76
+ "Hotel",
77
+ "Motel",
78
+ "Resort",
79
+ "SkiResort",
80
+ "VacationRental",
81
+ "MedicalBusiness",
82
+ "Audiology",
83
+ "CommunityHealth",
84
+ "Dermatology",
85
+ "DietNutrition",
86
+ "Emergency",
87
+ "Geriatric",
88
+ "Gynecologic",
89
+ "MedicalClinic",
90
+ "CovidTestingFacility",
91
+ "Midwifery",
92
+ "Nursing",
93
+ "Obstetric",
94
+ "Oncologic",
95
+ "Ophthalmology",
96
+ "Optician",
97
+ "Optometric",
98
+ "Otolaryngologic",
99
+ "Pediatric",
100
+ "Pharmacy",
101
+ "Physician",
102
+ "IndividualPhysician",
103
+ "PhysiciansOffice",
104
+ "Physiotherapy",
105
+ "PlasticSurgery",
106
+ "Podiatric",
107
+ "PrimaryCare",
108
+ "Psychiatric",
109
+ "PublicHealth",
110
+ "ProfessionalService",
111
+ "RadioStation",
112
+ "RealEstateAgent",
113
+ "RecyclingCenter",
114
+ "SelfStorage",
115
+ "ShoppingCenter",
116
+ "SportsActivityLocation",
117
+ "BowlingAlley",
118
+ "ExerciseGym",
119
+ "GolfCourse",
120
+ "PublicSwimmingPool",
121
+ "SportsClub",
122
+ "StadiumOrArena",
123
+ "TennisComplex",
124
+ "Store",
125
+ "BikeStore",
126
+ "BookStore",
127
+ "ClothingStore",
128
+ "ComputerStore",
129
+ "ConvenienceStore",
130
+ "DepartmentStore",
131
+ "ElectronicsStore",
132
+ "Florist",
133
+ "FurnitureStore",
134
+ "GardenStore",
135
+ "GroceryStore",
136
+ "HardwareStore",
137
+ "HobbyShop",
138
+ "HomeGoodsStore",
139
+ "JewelryStore",
140
+ "LiquorStore",
141
+ "MensClothingStore",
142
+ "MobilePhoneStore",
143
+ "MovieRentalStore",
144
+ "MusicStore",
145
+ "OfficeEquipmentStore",
146
+ "OutletStore",
147
+ "PawnShop",
148
+ "PetStore",
149
+ "ShoeStore",
150
+ "SportingGoodsStore",
151
+ "TireShop",
152
+ "ToyStore",
153
+ "WholesaleStore",
154
+ "TelevisionStation",
155
+ "TouristInformationCenter",
156
+ "TravelAgency"
157
+ ]);
158
+ export const noTypeContext = { declared: false, vocab: null, terms: new Map(), bases: [] };
159
+ const schemaOrgRoot = "https://schema.org/";
160
+ const schemaOrgType = /^https?:\/\/(?:www\.)?schema\.org\/([A-Za-z]+)$/;
161
+ // Only an absolute URL names schema.org's context; "schema.org" alone is relative to the page.
162
+ const schemaOrgContext = /^https?:\/\/(?:www\.)?schema\.org(?:\/.*)?$/i;
163
+ const genDelimEnd = /[:/?#[\]@]$/;
164
+ const noLocalTerms = new Map();
165
+ function rawTermDefinition(definition) {
166
+ if (definition === null) {
167
+ return { iri: null, simple: false, prefix: false };
168
+ }
169
+ if (typeof definition === "string") {
170
+ return { iri: definition, simple: true, prefix: false };
171
+ }
172
+ if (definition && typeof definition === "object" && !Array.isArray(definition)) {
173
+ const fields = definition;
174
+ const id = fields["@id"];
175
+ if (id === null || id === undefined || typeof id === "string") {
176
+ return { iri: id, simple: false, prefix: fields["@prefix"] === true };
177
+ }
178
+ }
179
+ return undefined;
180
+ }
181
+ // Resolves a term from the local context being processed, whose definitions may depend on each other,
182
+ // or else from the active context. A term already being resolved is a cycle and is treated as undefined.
183
+ function resolveTerm(term, context, local, resolving) {
184
+ const raw = local.get(term);
185
+ if (!raw) {
186
+ return context.terms.get(term);
187
+ }
188
+ if (resolving.has(term)) {
189
+ return undefined;
190
+ }
191
+ const nested = new Set([...resolving, term]);
192
+ // Without @id, a term containing ":" is a compact IRI and any other term is appended to @vocab.
193
+ const iri = raw.iri === null
194
+ ? null
195
+ : raw.iri === undefined
196
+ ? term.includes(":")
197
+ ? (expandIri(term, context, local, nested) ?? null)
198
+ : context.vocab
199
+ ? context.vocab + term
200
+ : null
201
+ : (expandIri(raw.iri, context, local, nested) ?? null);
202
+ // Follows JSON-LD 1.1: a term is a prefix with "@prefix": true, or when it is a simple string term
203
+ // whose expanded IRI ends with a gen-delim character.
204
+ return { iri, prefix: raw.prefix || (raw.simple && iri !== null && genDelimEnd.test(iri)) };
205
+ }
206
+ // Expands a term, compact IRI, or absolute IRI.
207
+ function expandIri(value, context, local = noLocalTerms, resolving = new Set()) {
208
+ const trimmed = value.trim();
209
+ // A term defined in the context, even one containing ":", is used before any prefix expansion.
210
+ const definition = resolveTerm(trimmed, context, local, resolving);
211
+ if (definition) {
212
+ return definition.iri ?? undefined;
213
+ }
214
+ const colon = trimmed.indexOf(":");
215
+ if (colon > 0) {
216
+ const prefix = trimmed.slice(0, colon);
217
+ const suffix = trimmed.slice(colon + 1);
218
+ if (suffix.startsWith("//")) {
219
+ return trimmed;
220
+ }
221
+ const prefixDefinition = resolveTerm(prefix, context, local, resolving);
222
+ if (prefixDefinition?.prefix && prefixDefinition.iri) {
223
+ return prefixDefinition.iri + suffix;
224
+ }
225
+ return !context.declared && prefix === "schema" ? schemaOrgRoot + suffix : trimmed;
226
+ }
227
+ if (!context.declared) {
228
+ return schemaOrgRoot + trimmed;
229
+ }
230
+ return context.vocab ? context.vocab + trimmed : undefined;
231
+ }
232
+ // Applies a @context value (null, a URL, an object, or a list of them) in JSON-LD processing order.
233
+ export function applyTypeContext(active, context) {
234
+ if (context === undefined) {
235
+ return active;
236
+ }
237
+ if (Array.isArray(context)) {
238
+ return context.reduce(applyTypeContext, active);
239
+ }
240
+ // A null context removes everything inherited.
241
+ if (context === null) {
242
+ return { declared: true, vocab: null, terms: new Map(), bases: [] };
243
+ }
244
+ // schema.org's own context sets the schema.org vocabulary and "schema" prefix; any other remote
245
+ // context is unknown and may redefine every term. A remote context cannot change the base.
246
+ if (typeof context === "string") {
247
+ return schemaOrgContext.test(context.trim())
248
+ ? {
249
+ declared: true,
250
+ vocab: schemaOrgRoot,
251
+ terms: new Map([...active.terms, ["schema", { iri: schemaOrgRoot, prefix: true }]]),
252
+ bases: active.bases
253
+ }
254
+ : { declared: true, vocab: null, terms: new Map(), bases: active.bases };
255
+ }
256
+ if (typeof context !== "object") {
257
+ return active;
258
+ }
259
+ const fields = context;
260
+ const next = { declared: true, vocab: active.vocab, terms: new Map(active.terms), bases: active.bases };
261
+ const base = fields["@base"];
262
+ if (base === null || typeof base === "string") {
263
+ next.bases = [...active.bases, base];
264
+ }
265
+ // As in JSON-LD context processing, @vocab is expanded with the terms defined before this context.
266
+ if ("@vocab" in fields) {
267
+ const vocab = fields["@vocab"];
268
+ next.vocab = typeof vocab === "string" ? (expandIri(vocab, { ...active, declared: true }) ?? null) : null;
269
+ }
270
+ const local = new Map();
271
+ for (const [key, value] of Object.entries(fields)) {
272
+ const definition = key.startsWith("@") ? undefined : rawTermDefinition(value);
273
+ if (definition) {
274
+ local.set(key, definition);
275
+ }
276
+ }
277
+ // Each term's IRI is expanded and frozen now, so later contexts that redefine its prefix do not change it.
278
+ const resolved = [...local.keys()].map((term) => [term, resolveTerm(term, next, local, new Set())]);
279
+ for (const [term, definition] of resolved) {
280
+ if (definition) {
281
+ next.terms.set(term, definition);
282
+ }
283
+ }
284
+ return next;
285
+ }
286
+ // The base IRI that relative @id values resolve against: the document base with each @base applied in
287
+ // turn, or null after "@base": null, when relative IRIs stay relative.
288
+ export function contextBase(documentBase, context) {
289
+ return context.bases.reduce((base, value) => {
290
+ if (value === null) {
291
+ return null;
292
+ }
293
+ try {
294
+ return new URL(value, base ?? undefined).href;
295
+ }
296
+ catch {
297
+ return base;
298
+ }
299
+ }, documentBase);
300
+ }
301
+ // Expands a node @id through its JSON-LD context. Unlike types, @id values do not use terms or @vocab:
302
+ // only a compact IRI whose prefix is defined expands; anything else is returned as written, for the
303
+ // caller to resolve against the document base. Blank node labels such as "_:b0" are left alone.
304
+ export function expandNodeId(value, context) {
305
+ const trimmed = value.trim();
306
+ const colon = trimmed.indexOf(":");
307
+ if (colon > 0) {
308
+ const prefix = trimmed.slice(0, colon);
309
+ const suffix = trimmed.slice(colon + 1);
310
+ const definition = context.terms.get(prefix);
311
+ if (prefix !== "_" && !suffix.startsWith("//") && definition?.prefix && definition.iri) {
312
+ return definition.iri + suffix;
313
+ }
314
+ }
315
+ return trimmed;
316
+ }
317
+ // Expands the type through its JSON-LD context and accepts schema.org LocalBusiness types, so
318
+ // "Dentist" under the schema.org context, "schema:Dentist" and "https://schema.org/Dentist" match,
319
+ // while "https://example.com/Restaurant" or a bare "Restaurant" under another vocabulary do not.
320
+ export function isLocalBusinessType(type, context = noTypeContext) {
321
+ const name = schemaOrgType.exec(expandIri(type, context) ?? "")?.[1];
322
+ return name !== undefined && (localBusinessTypes.has(name) || name.endsWith("LocalBusiness"));
323
+ }
324
+ //# sourceMappingURL=local-business-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-business-types.js","sourceRoot":"","sources":["../src/local-business-types.ts"],"names":[],"mappings":"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"}
package/dist/rules.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { load } from "cheerio";
2
2
  import { findPhoneNumbersInText, getCountries, parsePhoneNumberFromString } from "libphonenumber-js/max";
3
3
  import { detectPageForms, hasContactOrBookingLink } from "./contact.js";
4
+ import { applyTypeContext, contextBase, expandNodeId, isLocalBusinessType, noTypeContext } from "./local-business-types.js";
4
5
  function finding(rule, context) {
5
6
  return {
6
7
  id: rule.id,
@@ -30,25 +31,39 @@ function jsonLdTypes(node) {
30
31
  const types = Array.isArray(typeValue) ? typeValue : [typeValue];
31
32
  return types.filter((type) => typeof type === "string");
32
33
  }
33
- function flattenJsonLd(value) {
34
+ const nodeScopes = new WeakMap();
35
+ // Flattens top-level and @graph or @included node objects; with embedded set, also node objects nested
36
+ // as property values, such as an address or a mainEntity.
37
+ function flattenJsonLd(value, block, context = noTypeContext, embedded = false) {
34
38
  if (Array.isArray(value)) {
35
- return value.flatMap((item) => flattenJsonLd(item));
39
+ return value.flatMap((item) => flattenJsonLd(item, block, context, embedded));
36
40
  }
37
41
  if (!value || typeof value !== "object") {
38
42
  return [];
39
43
  }
40
44
  const node = value;
41
- const graphNodes = flattenJsonLd(node["@graph"]);
42
- return [node, ...graphNodes];
45
+ const localContext = node["@context"];
46
+ const nodeContext = applyTypeContext(context, localContext);
47
+ // A context with "@propagate": false, alone or in a context array, applies to this node only; nested
48
+ // nodes return to the previous context, which no longer gets the lenient no-context reading.
49
+ const localContexts = Array.isArray(localContext) ? localContext : [localContext];
50
+ const propagates = !localContexts.some((entry) => hasObjectField(entry) && entry["@propagate"] === false);
51
+ const childContext = propagates ? nodeContext : { ...context, declared: true };
52
+ nodeScopes.set(node, { context: nodeContext, nestedContext: childContext, block });
53
+ // @graph and @included both hold further node objects of the same document.
54
+ const nestedKeys = embedded
55
+ ? Object.keys(node).filter((key) => !key.startsWith("@") || ["@graph", "@included", "@list", "@set"].includes(key))
56
+ : ["@graph", "@included"];
57
+ return [node, ...nestedKeys.flatMap((key) => flattenJsonLd(node[key], block, childContext, embedded))];
43
58
  }
44
- function jsonLdNodes($) {
59
+ function jsonLdNodes($, embedded = false) {
45
60
  return $('script[type="application/ld+json"]')
46
61
  .toArray()
47
- .flatMap((element) => {
62
+ .flatMap((element, block) => {
48
63
  const raw = $(element).text();
49
64
  try {
50
65
  const parsed = JSON.parse(raw);
51
- return flattenJsonLd(parsed);
66
+ return flattenJsonLd(parsed, block, noTypeContext, embedded);
52
67
  }
53
68
  catch {
54
69
  return [];
@@ -72,7 +87,7 @@ function hasSuccessfulResource(statusCode) {
72
87
  return typeof statusCode === "number" && statusCode >= 200 && statusCode < 400;
73
88
  }
74
89
  function localBusinessNodes($) {
75
- return jsonLdNodes($).filter((node) => jsonLdTypes(node).some((type) => type.endsWith("LocalBusiness") || type === "LocalBusiness"));
90
+ return jsonLdNodes($).filter((node) => jsonLdTypes(node).some((type) => isLocalBusinessType(type, nodeScopes.get(node)?.context)));
76
91
  }
77
92
  function hasObjectField(value) {
78
93
  return Boolean(value && typeof value === "object" && !Array.isArray(value));
@@ -80,12 +95,114 @@ function hasObjectField(value) {
80
95
  function hasStringField(value) {
81
96
  return typeof value === "string" && value.trim().length > 0;
82
97
  }
83
- function hasLocalBusinessContactFields($) {
98
+ // A day or time is a non-empty string, or a JSON-LD value or node object carrying one, such as
99
+ // {"@id": "https://schema.org/Monday"} or {"@value": "09:00"}.
100
+ function hasOpeningHoursValue(value) {
101
+ if (hasStringField(value)) {
102
+ return true;
103
+ }
104
+ if (!hasObjectField(value)) {
105
+ return false;
106
+ }
107
+ const fields = value;
108
+ return ["@id", "@value", "name"].some((key) => hasStringField(fields[key]));
109
+ }
110
+ function hasOpeningHoursData(specification) {
111
+ if (!hasObjectField(specification)) {
112
+ return false;
113
+ }
114
+ const fields = specification;
115
+ return ["dayOfWeek", "opens", "closes"].some((field) => {
116
+ const values = Array.isArray(fields[field]) ? fields[field] : [fields[field]];
117
+ return values.some(hasOpeningHoursValue);
118
+ });
119
+ }
120
+ // JSON-LD @id values are IRIs relative to the document base: the page URL, or its <base href>.
121
+ function documentBase($, snapshot) {
122
+ const pageUrl = snapshot.finalUrl || snapshot.url;
123
+ try {
124
+ return new URL($("base[href]").first().attr("href") ?? "", pageUrl).href;
125
+ }
126
+ catch {
127
+ return pageUrl;
128
+ }
129
+ }
130
+ // An @id as a lookup key: compact IRIs expand through the JSON-LD context and relative IRIs resolve
131
+ // against the context's @base or the document base, while blank node labels such as "_:b0" stay local
132
+ // to their script block.
133
+ function nodeKey(id, context, block, documentBaseIri) {
134
+ const expanded = expandNodeId(id, context);
135
+ if (expanded.startsWith("_:")) {
136
+ return `${block} ${expanded}`;
137
+ }
138
+ try {
139
+ return new URL(expanded, contextBase(documentBaseIri, context) ?? undefined).href;
140
+ }
141
+ catch {
142
+ return expanded;
143
+ }
144
+ }
145
+ function nodeIdKey(node, base) {
146
+ const scope = nodeScopes.get(node);
147
+ return scope && typeof node["@id"] === "string" ? nodeKey(node["@id"], scope.context, scope.block, base) : undefined;
148
+ }
149
+ // The key of a node reference such as {"@id": "#hours"} found in one of the owner node's properties.
150
+ // As in JSON-LD expansion, an object holding only @id keeps the owner's context even when that context
151
+ // does not propagate; any other nested object returns to the previous context.
152
+ function referenceKey(reference, owner, base) {
153
+ const scope = nodeScopes.get(owner);
154
+ if (!scope || !hasObjectField(reference)) {
155
+ return undefined;
156
+ }
157
+ const fields = reference;
158
+ const idOnly = Object.keys(fields).length === 1;
159
+ const context = idOnly ? scope.context : applyTypeContext(scope.nestedContext, fields["@context"]);
160
+ return typeof fields["@id"] === "string" ? nodeKey(fields["@id"], context, scope.block, base) : undefined;
161
+ }
162
+ // Every JSON-LD node with each @id, embedded ones included, keyed as above; nodes sharing an @id
163
+ // describe the same thing.
164
+ function jsonLdNodesById($, base) {
165
+ const nodesById = new Map();
166
+ for (const node of jsonLdNodes($, true)) {
167
+ const key = nodeIdKey(node, base);
168
+ if (key !== undefined) {
169
+ nodesById.set(key, [...(nodesById.get(key) ?? []), node]);
170
+ }
171
+ }
172
+ return nodesById;
173
+ }
174
+ // A node together with every other node that shares its @id.
175
+ function nodeFragments(node, nodesById, base) {
176
+ const key = nodeIdKey(node, base);
177
+ return key === undefined ? [node] : (nodesById.get(key) ?? [node]);
178
+ }
179
+ // openingHours may be one string or a list; openingHoursSpecification is one object or a list of them,
180
+ // each with a day or time, or an {"@id": ...} reference to nodes elsewhere in the graph that have one.
181
+ function hasOpeningHoursField(node, nodesById, base) {
182
+ const specifications = Array.isArray(node.openingHoursSpecification)
183
+ ? node.openingHoursSpecification
184
+ : [node.openingHoursSpecification];
185
+ return (stringValues(node.openingHours).length > 0 ||
186
+ specifications.some((specification) => {
187
+ const reference = referenceKey(specification, node, base);
188
+ const referenced = reference === undefined ? [] : (nodesById.get(reference) ?? []);
189
+ return hasOpeningHoursData(specification) || referenced.some(hasOpeningHoursData);
190
+ }));
191
+ }
192
+ // The business's fields may be split across nodes that share its @id.
193
+ function hasLocalBusinessContactFields($, snapshot) {
84
194
  const nodes = localBusinessNodes($);
85
195
  if (nodes.length === 0) {
86
196
  return true;
87
197
  }
88
- return nodes.some((node) => hasStringField(node.telephone) && hasObjectField(node.address) && hasStringField(node.openingHours));
198
+ const base = documentBase($, snapshot);
199
+ const nodesById = jsonLdNodesById($, base);
200
+ return nodes.some((node) => {
201
+ const fragments = nodeFragments(node, nodesById, base);
202
+ return (fragments.some((fragment) => hasStringField(fragment.telephone)) &&
203
+ fragments.some((fragment) => hasObjectField(fragment.address)) &&
204
+ fragments.some((fragment) => hasOpeningHoursField(fragment, nodesById, base)));
205
+ });
89
206
  }
90
207
  function stringValues(value) {
91
208
  const values = Array.isArray(value) ? value : [value];
@@ -1027,7 +1144,7 @@ const rules = [
1027
1144
  severity: "medium",
1028
1145
  source: "JSON-LD",
1029
1146
  recommendation: "Add LocalBusiness schema when the page represents a local business location.",
1030
- check: ({ $ }) => hasJsonLdType($, (type) => type.endsWith("LocalBusiness") || type === "LocalBusiness"),
1147
+ check: ({ $ }) => localBusinessNodes($).length > 0,
1031
1148
  evidence: () => "No LocalBusiness JSON-LD type found"
1032
1149
  },
1033
1150
  {
@@ -1036,9 +1153,9 @@ const rules = [
1036
1153
  category: "search-basics",
1037
1154
  severity: "medium",
1038
1155
  source: "JSON-LD",
1039
- recommendation: "Add telephone, address, and openingHours fields to LocalBusiness schema.",
1040
- check: ({ $ }) => hasLocalBusinessContactFields($),
1041
- evidence: () => "LocalBusiness schema is missing telephone, address, or openingHours"
1156
+ recommendation: "Add telephone, address, and openingHours or openingHoursSpecification fields to LocalBusiness schema.",
1157
+ check: ({ $, snapshot }) => hasLocalBusinessContactFields($, snapshot),
1158
+ evidence: () => "LocalBusiness schema is missing telephone, address, or opening hours"
1042
1159
  },
1043
1160
  {
1044
1161
  id: "localbusiness-schema-nap-consistency",
package/dist/rules.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "open-local-audit",
3
- "version": "0.77.0",
3
+ "version": "0.78.0",
4
4
  "description": "Open-source website and local presence auditor for small businesses.",
5
5
  "license": "MIT",
6
6
  "type": "module",