Federasi WordPress bisa memperluas jangkauan, tapi tanpa kontrol canonical, noindex, atau rel‑alternate, konten duplikat akan mengencerkan nilai SEO mu.

Kenapa federasi jadi tantangan SEO?

Kamu mengaktifkan ActivityPub atau plugin Fediverse, situs mu otomatis tercermin di jaringan sosial terdesentralisasi. Setiap mirror menghasilkan URL unik yang Google traktir sebagai duplikat. Kalau tidak ditangani, ranking mu terbagi antara versi utama dan mirror.

Masalah utama

  • Duplicate content → authority terpecah, potensi penalti.
  • Crawling waste → bot menghabiskan crawl‑budget pada endpoint tak penting.
  • Link equity → inbound links terdistribusi ke mirror, bukan ke situs utama.

Strategi teknis yang jarang dibahas

Berikut langkah‑langkah yang tidak hanya sekedar add rel=canonical di head.

1. Rel‑alternate untuk discovery terstruktur

Tambahkan tag <link rel="alternate" type="application/activity+json" href="https://example.com/.well-known/webfinger"> pada setiap halaman utama. Ini memberi mesin pencari sinyal bahwa versi lain adalah representasi federated, bukan konten baru.

2. Noindex pada endpoint Fediverse

Gunakan X-Robots-Tag: noindex, nofollow pada request ke /activitypub, /inbox, atau /outbox. Implementasi dapat dilakukan lewat .htaccess atau filter WP:

add_filter('wp_headers', function($headers){
    if (strpos($_SERVER['REQUEST_URI'], '/activitypub') !== false){
        $headers['X-Robots-Tag'] = 'noindex, nofollow';
    }
    return $headers;
});

3. Canonical dinamis berbasis konteks

Jika mirror muncul karena query parameter atau path prefix (/federated/), set canonical secara dinamis:

add_filter('wpseo_canonical', function($canonical){
    if (strpos($_SERVER['REQUEST_URI'], '/federated/') !== false){
        $canonical = home_url(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
    }
    return $canonical;
});

Dengan ini, Google selalu mengarah ke versi “clean” situs mu.

Optimasi crawling

  • Sitemap terfilter → eksklusi /activitypub/* lewat robots.txt.
  • Ping Google setelah perubahan canonical untuk percepatan re‑index.
  • Cache header pada mirror dengan Cache‑Control: noindex sehingga bot tidak menghabiskan request.

Contoh implementasi praktis

Berikut contoh robots.txt yang bersih:

User‑agent: *
Disallow: /activitypub/
Disallow: /inbox/
Disallow: /outbox/
Sitemap: https://example.com/sitemap.xml

FAQ

Apa perbedaan rel=”canonical” vs rel=”alternate”?
Canonical menunjuk ke versi utama; alternate memberi sinyal bahwa ada representasi lain yang sah.
Apakah noindex pada endpoint membahayakan SEO?
Tidak, justru mencegah duplikat. Pastikan hanya pada endpoint non‑content.
Bagaimana memeriksa apakah Google mengindeks mirror?
Gunakan site:example.com/inbox di Google Search atau cek laporan URL di Search Console.

Kesimpulan & CTA

Federasi WordPress membuka peluang distribusi, tapi tanpa kontrol canonical, noindex, dan rel‑alternate, kamu kehilangan authority dan crawl‑budget. Terapkan tiga langkah di atas, pantau lewat Search Console, dan rasakan perbaikan peringkat.

About the Author

Dzul Qurnain

Suka nonton Anime, ngoding dan bagi-bagi tips kalau tahu.. Oh iya, suka baca ( tapi yang menarik menurutku aja)... Praktisi WordPress, web development, SEO, dan server administration yang membagikan tutorial teknis dan catatan implementasi nyata.

View All Articles