@masters-ws/react-seo 1.2.0 → 1.4.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/README.md +1361 -83
- package/dist/chunk-6RBCF5I5.mjs +567 -0
- package/dist/chunk-FFE2ZOOC.mjs +945 -0
- package/dist/chunk-L6YRMB7H.mjs +988 -0
- package/dist/core/index.d.mts +2 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.js +684 -40
- package/dist/core/index.mjs +29 -3
- package/dist/index-CkB-Wt4c.d.mts +1272 -0
- package/dist/index-CkB-Wt4c.d.ts +1272 -0
- package/dist/index-DEE7ZyDx.d.mts +1193 -0
- package/dist/index-DEE7ZyDx.d.ts +1193 -0
- package/dist/index-Wu9j5oCk.d.mts +721 -0
- package/dist/index-Wu9j5oCk.d.ts +721 -0
- package/dist/index.d.mts +13 -2
- package/dist/index.d.ts +13 -2
- package/dist/index.js +794 -129
- package/dist/index.mjs +57 -10
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
|
+
JsonLd,
|
|
3
|
+
cleanSchema,
|
|
4
|
+
generateArticleMetadata,
|
|
2
5
|
generateArticleSchema,
|
|
3
6
|
generateBookSchema,
|
|
4
7
|
generateBreadcrumbSchema,
|
|
8
|
+
generateCategoryMetadata,
|
|
9
|
+
generateCollectionPageSchema,
|
|
5
10
|
generateEventSchema,
|
|
6
11
|
generateFAQSchema,
|
|
12
|
+
generateHomepageMetadata,
|
|
13
|
+
generateHowToSchema,
|
|
14
|
+
generateItemListSchema,
|
|
15
|
+
generateJobPostingSchema,
|
|
7
16
|
generateLocalBusinessSchema,
|
|
8
17
|
generateMovieSchema,
|
|
9
18
|
generateOrganizationSchema,
|
|
@@ -11,12 +20,16 @@ import {
|
|
|
11
20
|
generatePaginationLinks,
|
|
12
21
|
generatePodcastEpisodeSchema,
|
|
13
22
|
generatePodcastSchema,
|
|
23
|
+
generateProductMetadata,
|
|
14
24
|
generateProductSchema,
|
|
25
|
+
generateRecipeSchema,
|
|
15
26
|
generateSoftwareSchema,
|
|
16
27
|
generateVideoSchema,
|
|
28
|
+
generateWebPageSchema,
|
|
17
29
|
generateWebSiteSchema,
|
|
18
|
-
toNextMetadata
|
|
19
|
-
|
|
30
|
+
toNextMetadata,
|
|
31
|
+
validateSEO
|
|
32
|
+
} from "./chunk-L6YRMB7H.mjs";
|
|
20
33
|
|
|
21
34
|
// src/components/SEOProvider.tsx
|
|
22
35
|
import { createContext, useContext } from "react";
|
|
@@ -355,7 +368,13 @@ var SeoLocalBusiness = ({ business }) => {
|
|
|
355
368
|
|
|
356
369
|
// src/components/SeoCategory.tsx
|
|
357
370
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
358
|
-
var SeoCategory = ({
|
|
371
|
+
var SeoCategory = ({
|
|
372
|
+
category,
|
|
373
|
+
page = 1,
|
|
374
|
+
totalPage = 1,
|
|
375
|
+
pageSuffix = "Page",
|
|
376
|
+
...rest
|
|
377
|
+
}) => {
|
|
359
378
|
const hasNext = page < totalPage;
|
|
360
379
|
const hasPrev = page > 1;
|
|
361
380
|
const baseUrl = category.url.split("?")[0];
|
|
@@ -366,7 +385,7 @@ var SeoCategory = ({ category, page = 1, totalPage = 1, ...rest }) => {
|
|
|
366
385
|
SEO,
|
|
367
386
|
{
|
|
368
387
|
type: "website",
|
|
369
|
-
title: `${category.name}${page > 1 ? ` -
|
|
388
|
+
title: `${category.name}${page > 1 ? ` - ${pageSuffix} ${page}` : ""}`,
|
|
370
389
|
description: category.description,
|
|
371
390
|
image: category.image,
|
|
372
391
|
canonical,
|
|
@@ -386,19 +405,28 @@ var SeoCategory = ({ category, page = 1, totalPage = 1, ...rest }) => {
|
|
|
386
405
|
|
|
387
406
|
// src/components/SeoTag.tsx
|
|
388
407
|
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
389
|
-
var SeoTag = ({
|
|
408
|
+
var SeoTag = ({
|
|
409
|
+
tag,
|
|
410
|
+
page = 1,
|
|
411
|
+
totalPage = 1,
|
|
412
|
+
titlePrefix = "Tag",
|
|
413
|
+
pageSuffix = "Page",
|
|
414
|
+
defaultDescription,
|
|
415
|
+
...rest
|
|
416
|
+
}) => {
|
|
390
417
|
const hasNext = page < totalPage;
|
|
391
418
|
const hasPrev = page > 1;
|
|
392
419
|
const baseUrl = tag.url.split("?")[0];
|
|
393
420
|
const nextUrl = hasNext ? `${baseUrl}?page=${page + 1}` : void 0;
|
|
394
421
|
const prevUrl = hasPrev ? page === 2 ? baseUrl : `${baseUrl}?page=${page - 1}` : void 0;
|
|
395
422
|
const canonical = page === 1 ? baseUrl : `${baseUrl}?page=${page}`;
|
|
423
|
+
const desc = tag.description || (defaultDescription ? defaultDescription.replace("{name}", tag.name) : `All posts tagged with ${tag.name}`);
|
|
396
424
|
return /* @__PURE__ */ jsx11(
|
|
397
425
|
SEO,
|
|
398
426
|
{
|
|
399
427
|
type: "website",
|
|
400
|
-
title:
|
|
401
|
-
description:
|
|
428
|
+
title: `${titlePrefix}: ${tag.name}${page > 1 ? ` - ${pageSuffix} ${page}` : ""}`,
|
|
429
|
+
description: desc,
|
|
402
430
|
canonical,
|
|
403
431
|
next: nextUrl,
|
|
404
432
|
prev: prevUrl,
|
|
@@ -409,7 +437,13 @@ var SeoTag = ({ tag, page = 1, totalPage = 1, ...rest }) => {
|
|
|
409
437
|
|
|
410
438
|
// src/components/SeoAuthor.tsx
|
|
411
439
|
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
412
|
-
var SeoAuthor = ({
|
|
440
|
+
var SeoAuthor = ({
|
|
441
|
+
author,
|
|
442
|
+
page = 1,
|
|
443
|
+
totalPage = 1,
|
|
444
|
+
pageSuffix = "Page",
|
|
445
|
+
...rest
|
|
446
|
+
}) => {
|
|
413
447
|
const hasNext = page < totalPage;
|
|
414
448
|
const hasPrev = page > 1;
|
|
415
449
|
const baseUrl = author.url.split("?")[0];
|
|
@@ -420,7 +454,7 @@ var SeoAuthor = ({ author, page = 1, totalPage = 1, ...rest }) => {
|
|
|
420
454
|
SEO,
|
|
421
455
|
{
|
|
422
456
|
type: "profile",
|
|
423
|
-
title: `${author.name}${page > 1 ? ` -
|
|
457
|
+
title: `${author.name}${page > 1 ? ` - ${pageSuffix} ${page}` : ""}`,
|
|
424
458
|
description: author.description,
|
|
425
459
|
image: author.image,
|
|
426
460
|
canonical,
|
|
@@ -598,6 +632,7 @@ var SeoJobPosting = ({ job }) => {
|
|
|
598
632
|
};
|
|
599
633
|
export {
|
|
600
634
|
Breadcrumb,
|
|
635
|
+
JsonLd,
|
|
601
636
|
SEO,
|
|
602
637
|
SEOProvider,
|
|
603
638
|
SeoArticle,
|
|
@@ -614,11 +649,19 @@ export {
|
|
|
614
649
|
SeoReview,
|
|
615
650
|
SeoTag,
|
|
616
651
|
SeoVideo,
|
|
652
|
+
cleanSchema,
|
|
653
|
+
generateArticleMetadata,
|
|
617
654
|
generateArticleSchema,
|
|
618
655
|
generateBookSchema,
|
|
619
656
|
generateBreadcrumbSchema,
|
|
657
|
+
generateCategoryMetadata,
|
|
658
|
+
generateCollectionPageSchema,
|
|
620
659
|
generateEventSchema,
|
|
621
660
|
generateFAQSchema,
|
|
661
|
+
generateHomepageMetadata,
|
|
662
|
+
generateHowToSchema,
|
|
663
|
+
generateItemListSchema,
|
|
664
|
+
generateJobPostingSchema,
|
|
622
665
|
generateLocalBusinessSchema,
|
|
623
666
|
generateMovieSchema,
|
|
624
667
|
generateOrganizationSchema,
|
|
@@ -626,10 +669,14 @@ export {
|
|
|
626
669
|
generatePaginationLinks,
|
|
627
670
|
generatePodcastEpisodeSchema,
|
|
628
671
|
generatePodcastSchema,
|
|
672
|
+
generateProductMetadata,
|
|
629
673
|
generateProductSchema,
|
|
674
|
+
generateRecipeSchema,
|
|
630
675
|
generateSoftwareSchema,
|
|
631
676
|
generateVideoSchema,
|
|
677
|
+
generateWebPageSchema,
|
|
632
678
|
generateWebSiteSchema,
|
|
633
679
|
toNextMetadata,
|
|
634
|
-
useSEOConfig
|
|
680
|
+
useSEOConfig,
|
|
681
|
+
validateSEO
|
|
635
682
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@masters-ws/react-seo",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Professional high-performance SEO package for React/Next.js. Zero-dependency core for Next.js App Router, optional Helmet components for React.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|