SEO

ShipAny implements various SEO optimizations to help your project achieve better rankings in search engines.

Before launching your project, you need to configure some website content:

Configure Multilingual Content

In the i18n/messages directory, configure page content through [locale].json files. Chinese and English are supported by default. In the i18n/messages/ directory, you’ll find en.json and zh.json files. Before project launch, modify the content to match your project.

You can use AI to help generate content:

Prompt
update content of this file, for my new project "Flux AI", which is an AI Image Generator, with keywords "flux ai, ai image generator"

i18n-message

Configure Sitemap

Modify the public/sitemap.xml file to configure your site information:

public/sitemap.xml
<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://shipany.ai/</loc>
    <lastmod>2024-12-24T10:00:00+00:00</lastmod>
  </url>
</urlset>

Modify public/robots.txt content as needed:

public/robots.txt
User-agent: *
Disallow: /*?*q=
Disallow: /privacy-policy
Disallow: /terms-of-service

Website SEO Review

  1. Download the AITDK browser extension

  2. Check if the website homepage’s title / description / Canonical are appropriate

aitdk1

  1. Adjust Keyword Density

Use AI to help modify the webpage content in json files under i18n/pages/landing, adjusting the density of your website’s main keywords. (Around 3% is reasonable)

aitdk2

  1. Review Page Structure

ShipAny has optimized the content structure of the default landing page. If you have custom page components, check if the page structure is appropriate.

aitdk3

  1. SSR Detection

Enable SSR Check in the AITDK plugin’s Issues panel to verify if the webpage is server-side rendered.

aitdk4

Metadata Configuration

If you create new page routes (page.tsx), configure the Metadata information for the new pages.

Setting independent title / description / canonical information for subpages benefits SEO.

app/[locale]/(default)/posts/page.tsx
import { getTranslations } from "next-intl/server";
 
export async function generateMetadata({
  params: { locale },
}: {
  params: { locale: string };
}) {
  const t = await getTranslations();
 
  let canonicalUrl = `${process.env.NEXT_PUBLIC_WEB_URL}/posts`;
 
  if (locale !== "en") {
    canonicalUrl = `${process.env.NEXT_PUBLIC_WEB_URL}/${locale}/posts`;
  }
 
  return {
    title: t("blog.title"),
    description: t("blog.description"),
    alternates: {
      canonical: canonicalUrl,
    },
  };
}

metadata

Connect to GSC

After your website goes live, add your site to Google Search Console to view website search traffic and rankings.

Manually submit your sitemap:

gsc