Leo 3 vuotta sitten
vanhempi
commit
d8b74e703a
3 muutettua tiedostoa jossa 7 lisäystä ja 13 poistoa
  1. 2 12
      components/SeoHead/index.tsx
  2. 2 0
      pages/novel/[slug]/[chapter].tsx
  3. 3 1
      pages/novel/[slug]/index.tsx

+ 2 - 12
components/SeoHead/index.tsx

@@ -93,19 +93,9 @@ export function SeoHead({ seoConfig, children }: SeoHeadProps) {
         <link rel="canonical" key="canonical" href={seoConfig.canonical} />
       ) : null}
 
-      {seoConfig.pre ? (
-        <link
-          rel="prev"
-          href={`https://${siteConfig.host}/novel${seoConfig.pre}`}
-        />
-      ) : null}
+      {seoConfig.pre ? <link rel="prev" key="prev" href={seoConfig.pre} /> : null}
 
-      {seoConfig.next ? (
-        <link
-          rel="next"
-          href={`https://${siteConfig.host}/novel${seoConfig.next}`}
-        />
-      ) : null}
+      {seoConfig.next ? <link rel="next" key="next" href={seoConfig.next} /> : null}
 
       {seoConfig.jsonLd ? (
         <script

+ 2 - 0
pages/novel/[slug]/[chapter].tsx

@@ -53,6 +53,8 @@ const Chapter: NextPageWithLayout<NovelPageProps> = (props) => {
         .join(", ")}`,
       url,
       canonical: url,
+      pre: chapterData?.pre ? `https://${siteConfig.host}/novel/${chapterData.pre}` : "",
+      next: chapterData?.next ? `https://${siteConfig.host}/novel/${chapterData.next}` : "",
       siteName: siteConfig.siteName,
       // TODO: 图片
       img: "",

+ 3 - 1
pages/novel/[slug]/index.tsx

@@ -39,6 +39,7 @@ const Novel: NextPage<NovelPageProps> = (props) => {
 
   const seoConfig: SeoHeadConfig = useMemo(() => {
     const keys = detail?.genres.map((item) => item.name).join(", ");
+    const url = `https://${siteConfig.host}/novel/${query.slug}`;
 
     return {
       title: `${detail?.name} - ${siteConfig.siteName}`,
@@ -53,7 +54,8 @@ const Novel: NextPage<NovelPageProps> = (props) => {
       ]
         .filter((item) => item)
         .join(", ")}`,
-      url: `https://${siteConfig.host}/novel/${query.slug}`,
+      url,
+      canonical: url,
       siteName: siteConfig.siteName,
       img: detail?.img,
       jsonLd: JSON.stringify([