Sitemas di-design dengan SEO sebagai prioritas utama. Artikel ini menjelaskan semua fitur SEO yang sudah built-in dan cara mengoptimalkannya.

SEO Features Overview

FiturStatusKeterangan
Meta Tags✅ OtomatisTitle, description, robots
Open Graph✅ OtomatisFacebook, LinkedIn sharing
Twitter Cards✅ OtomatisTwitter sharing
Canonical URLs✅ OtomatisPrevent duplicate content
Sitemap✅ Otomatissitemap-index.xml
RSS Feed✅ Otomatis/rss.xml
robots.txt✅ IncludedProper crawling rules
Schema.org✅ OtomatisArticle, Breadcrumb, Website

Meta Tags Otomatis

Setiap halaman di Sitemas otomatis mendapat meta tags yang dioptimasi:

Generated meta tags
html
<!-- Basic Meta -->
<title>Judul Artikel | Sitemas</title>
<meta name="description" content="Deskripsi dari frontmatter...">
<meta name="robots" content="index, follow">

<!-- Canonical -->
<link rel="canonical" href="https://sitemas.com/blog/article-slug">

<!-- Open Graph -->
<meta property="og:type" content="article">
<meta property="og:title" content="Judul Artikel">
<meta property="og:description" content="Deskripsi artikel...">
<meta property="og:url" content="https://sitemas.com/blog/article-slug">
<meta property="og:image" content="https://sitemas.com/og/article-slug">

<!-- Twitter Card -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Judul Artikel">
<meta name="twitter:description" content="Deskripsi artikel...">
<meta name="twitter:image" content="https://sitemas.com/og/article-slug">

Sumber Data Meta

MetaSumber
titleFrontmatter title
descriptionFrontmatter description
og:imageAuto-generated atau heroImage
canonicalURL halaman

Open Graph Images

Sitemas otomatis generate Open Graph images untuk setiap artikel:

Auto-Generated OG Images

Setiap artikel mendapat OG image di /og/[slug]:

https://sitemas.com/og/pengenalan-sitemas-astro-blog

Image ini menampilkan:

  • Judul artikel
  • Kategori
  • Tanggal publikasi
  • Branding website

Custom Hero Image

Jika artikel memiliki heroImage di frontmatter:

---
title: "Judul Artikel"
heroImage: ./hero.png
---

Image ini akan digunakan untuk OG image.

Ukuran Optimal

OG images sebaiknya 1200x630 pixels untuk tampilan terbaik di semua platform.

Schema.org Structured Data

Sitemas mengimplementasi beberapa tipe Schema.org:

1. Article Schema

Setiap artikel blog mendapat Article schema:

Article schema
json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Judul Artikel",
  "description": "Deskripsi artikel...",
  "author": {
    "@type": "Person",
    "name": "Nama Author"
  },
  "datePublished": "2024-01-20T00:00:00Z",
  "dateModified": "2024-01-21T00:00:00Z",
  "publisher": {
    "@type": "Organization",
    "name": "Sitemas",
    "logo": {
      "@type": "ImageObject",
      "url": "https://sitemas.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://sitemas.com/blog/article-slug"
  },
  "image": "https://sitemas.com/og/article-slug"
}

2. BreadcrumbList Schema

Navigasi breadcrumb di-markup dengan schema:

Breadcrumb schema
json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://sitemas.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://sitemas.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Judul Artikel",
      "item": "https://sitemas.com/blog/article-slug"
    }
  ]
}

3. WebSite Schema

Homepage mendapat WebSite schema dengan SearchAction:

WebSite schema
json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Sitemas",
  "url": "https://sitemas.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://sitemas.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

Sitemap Otomatis

Sitemas menggunakan @astrojs/sitemap untuk generate sitemap:

Konfigurasi

astro.config.mjs
javascript
import sitemap from '@astrojs/sitemap';

export default defineConfig({
    site: 'https://sitemas.com',
    integrations: [
        sitemap({
            filter: (page) => !page.includes('/og/'),
        }),
    ],
});

URLs Generated

  • /sitemap-index.xml — Index sitemap
  • /sitemap-0.xml — Semua halaman

Exclude Pages

Halaman OG images di-exclude dari sitemap karena bukan untuk user visit:

filter: (page) => !page.includes('/og/')

robots.txt

File public/robots.txt mengontrol crawler behavior:

public/robots.txt
text
User-agent: *
Allow: /

# Disallow OG image routes (not for direct access)
Disallow: /og/

# Sitemap location
Sitemap: https://sitemas.com/sitemap-index.xml

RSS Feed

RSS feed tersedia di /rss.xml:

RSS feed structure
xml
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Sitemas</title>
    <description>Blog description...</description>
    <link>https://sitemas.com</link>
    <item>
      <title>Judul Artikel</title>
      <link>https://sitemas.com/blog/article-slug</link>
      <pubDate>Sat, 20 Jan 2024 00:00:00 GMT</pubDate>
      <description>Deskripsi artikel...</description>
    </item>
    <!-- more items -->
  </channel>
</rss>

SEO Best Practices di Konten

1. Title Optimization

# ✅ Bagus - descriptive, includes keywords
title: "Cara Install Node.js di Windows, macOS, dan Linux"

# ❌ Kurang baik - terlalu pendek
title: "Install Node.js"

Tips:

  • 50-60 karakter optimal
  • Masukkan keyword utama di awal
  • Buat compelling untuk click

2. Description Optimization

# ✅ Bagus - actionable, includes benefit
description: "Panduan step-by-step install Node.js di semua OS. Termasuk troubleshooting common errors dan tips setup environment."

# ❌ Kurang baik - terlalu generic
description: "Tutorial Node.js untuk pemula."

Tips:

  • 150-160 karakter optimal
  • Masukkan CTA (Pelajari, Temukan, dll.)
  • Unique untuk setiap halaman

3. Heading Structure

# H1 - Hanya satu, otomatis dari title

## H2 - Section utama (3-7 per artikel)

### H3 - Subsection

#### H4 - Detail lebih lanjut

4. Image Alt Text

// ✅ Bagus - descriptive
![Dashboard analytics menampilkan traffic bulanan](./analytics.png)

// ❌ Kurang baik
![Screenshot](./analytics.png)

5. Internal Linking

Link ke artikel terkait untuk meningkatkan crawlability:

Pelajari lebih lanjut tentang [instalasi Sitemas](/blog/panduan-instalasi-sitemas)
dan [konfigurasi dasar](/blog/konfigurasi-branding-sitemas).

Verifikasi SEO

Google Search Console

  1. Buka search.google.com/search-console
  2. Add property dengan domain Anda
  3. Verifikasi ownership (DNS atau HTML tag)
  4. Submit sitemap: https://yourdomain.com/sitemap-index.xml

Rich Results Test

Test structured data:

  1. Buka Rich Results Test
  2. Masukkan URL artikel
  3. Verifikasi Article dan Breadcrumb terdeteksi

PageSpeed Insights

Test performa (mempengaruhi SEO):

  1. Buka PageSpeed Insights
  2. Masukkan URL
  3. Target: 90+ di semua metrik

Customizing SEO

Override Meta per Halaman

Di layout, meta bisa di-override:

Custom meta
astro
<BaseLayout
    title="Custom Title"
    description="Custom description"
    noindex={true}  // Untuk halaman yang tidak perlu di-index
/>

Menambahkan Schema Kustom

Untuk schema tambahan, edit komponen Schema:

Custom schema
astro
<script type="application/ld+json" set:html={JSON.stringify({
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
        {
            "@type": "Question",
            "name": "What is Sitemas?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "Sitemas is..."
            }
        }
    ]
})} />

Langkah Selanjutnya

Optimasi performa untuk Core Web Vitals:

Optimasi Performa

Pelajari cara mengoptimasi Sitemas untuk Core Web Vitals yang sempurna.

Kesimpulan

Sitemas menyediakan fondasi SEO yang solid out-of-the-box:

  1. Meta tags otomatis dari frontmatter
  2. Open Graph untuk social sharing
  3. Schema.org untuk rich snippets
  4. Sitemap dan RSS untuk discoverability

Tugas Anda adalah fokus pada konten berkualitas — Sitemas handle technical SEO untuk Anda.