Skip to content

SEO

Search engine basics are handled by the theme. What it can’t do is know your domain, your words and your pictures, so there are three things to set.

  1. url in src/config/site.ts. Canonical URLs, the sitemap, hreflang links and social images are absolute URLs built from it.
  2. The Sitemap: line in public/robots.txt, with the same domain.
  3. Titles and descriptions. Each page’s are in the dictionary (services.title, services.description…); case studies use summary and articles description. Keep descriptions under about 155 characters.
  • <title> as Page | Studio name, and the studio’s own title on the home page.
  • A meta description, a canonical URL without .html or a trailing slash, and robots for pages marked noindex.
  • Open Graph and Twitter card tags. Case studies and articles use their cover as the social image; other pages use public/og.png.
  • og:locale plus an og:locale:alternate for each other language.

Every page links to all of its translations with hreflang, and to the default language as x-default. The sitemap lists the same alternates. Search engines use these to show German visitors the German page and to avoid treating translations as duplicates. See How languages work.

Each page describes itself as JSON-LD, in the page’s language:

Page Schema.org types
Home Organization with address and social profiles
Work CollectionPage of CreativeWork items
Case study CreativeWork, with the client and a Review for the testimonial
Services ProfessionalService with an OfferCatalog of prices, and FAQPage
Studio AboutPage
Careers JobPosting for each open role
Contact ContactPage
Journal Blog
Article BlogPosting and BreadcrumbList

Check a page with Google’s Rich Results Test after you deploy. Pass your own data to any new page with the jsonLd prop of BaseLayout.

  • sitemap-index.xml is generated on every build, with every page in every language. The styleguide is left out.
  • robots.txt allows everything except /styleguide.
  • The 404 page and the styleguide are marked noindex.

Page experience is part of ranking, and the theme is fast by default: see Performance. The most common way to lose that is adding third-party scripts.

SwiftAgency is made byLessCodexLicence