Iseng cek ~/sites/blog, kepikiran SEO-nya masih jelek. Bener aja — banyak yang belum ada. Ini catatan singkat perbaikannya, plus sedikit beres-beres di WSL (busybox, nama install-an-ku) yang kekerjar hari yang sama.
Yang Hilang
- Tidak ada
jekyll-seo-tag— jadi tidak ada meta description otomatis, canonical URL, Open Graph, Twitter Card, atau JSON-LD. - Tidak ada
jekyll-sitemap—sitemap.xmlmemang tidak pernah ter-generate. - Tidak ada
robots.txtsama sekali.
Bonus temuan yang bukan SEO tapi kebawa-bawa: deploy.sh ikut ke-copy ke _site/ terus ter-rsync ke production, karena tidak ada di exclude: _config.yml. Jadi sind.hu/deploy.sh sempat bisa diakses publik.
Fix
Karena layout <head> letaknya di theme gem terpisah (~/sites/nextkyll, bukan ~/sites/blog), perbaikan ini kepakai otomatis juga di nextkyll-starter.
nextkyll.gemspec — tambah jekyll-seo-tag dan jekyll-sitemap sebagai runtime dependency theme.
_layouts/default.html — ganti title/meta description manual dengan:
<!-- Begin Jekyll SEO tag v2.9.0 -->
<meta name="generator" content="Jekyll v4.4.1" />
<meta property="og:title" content="Beresin SEO sind.hu: seo-tag, sitemap, dan deploy.sh yang Kebocor" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Iseng cek ~/sites/blog, kepikiran SEO-nya masih jelek. Bener aja — banyak yang belum ada. Ini catatan singkat perbaikannya, plus sedikit beres-beres di WSL (busybox, nama install-an-ku) yang kekerjar hari yang sama." />
<meta name="twitter:description" property="og:description" content="Iseng cek ~/sites/blog, kepikiran SEO-nya masih jelek. Bener aja — banyak yang belum ada. Ini catatan singkat perbaikannya, plus sedikit beres-beres di WSL (busybox, nama install-an-ku) yang kekerjar hari yang sama." />
<link rel="canonical" href="https://sind.hu/2026/08/09/beresin-seo-sind-hu.html" />
<meta property="og:url" content="https://sind.hu/2026/08/09/beresin-seo-sind-hu.html" />
<meta property="og:site_name" content="Sindhu Kurnia" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2026-08-09T21:00:00+07:00" />
<meta property="article:modified_time" content="2026-08-09T21:00:00+07:00" />
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Beresin SEO sind.hu: seo-tag, sitemap, dan deploy.sh yang Kebocor" />
<meta name="twitter:site" content="@yd0abc" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2026-08-09T21:00:00+07:00","datePublished":"2026-08-09T21:00:00+07:00","description":"Iseng cek ~/sites/blog, kepikiran SEO-nya masih jelek. Bener aja — banyak yang belum ada. Ini catatan singkat perbaikannya, plus sedikit beres-beres di WSL (busybox, nama install-an-ku) yang kekerjar hari yang sama.","headline":"Beresin SEO sind.hu: seo-tag, sitemap, dan deploy.sh yang Kebocor","mainEntityOfPage":{"@type":"WebPage","@id":"https://sind.hu/2026/08/09/beresin-seo-sind-hu.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://sind.hu/assets/images/profile.png"}},"url":"https://sind.hu/2026/08/09/beresin-seo-sind-hu.html"}</script>
<!-- End Jekyll SEO tag -->
title=false supaya format title custom (Page · Site) tetap kepakai, tapi meta description, canonical, OG, Twitter card, JSON-LD tetap otomatis dari plugin.
_config.yml blog — aktifkan kedua plugin, tambah logo dan twitter.username buat card yang lebih lengkap, dan:
exclude:
- deploy.sh
robots.txt baru:
User-agent: *
Allow: /
Sitemap: https://sind.hu/sitemap.xml
Verifikasi
Build lokal dulu sebelum deploy:
rm -rf _site .jekyll-cache
bundle exec jekyll build
Cek: sitemap.xml dan robots.txt ter-generate, deploy.sh sudah tidak ada di _site/, dan <head> sudah ada canonical + OG + Twitter card + JSON-LD.
Problem yang Ditemui
rsync exit code 23 — gagal chmod direktori root /var/www/sind.hu/. sendiri (“Operation not permitted”), karena neogeo bukan owner langsung folder itu. Semua file tetap ter-transfer, cuma bikin deploy.sh berhenti sebelum print pesan sukses karena set -e. Belum di-fix, cuma dicatat.
Hasil
robots.txt: 200
sitemap.xml: 200
deploy.sh: 404
Bonus: Beres-Beres WSL (busybox)
Di luar kerjaan sind.hu, sekalian beres-beres environment WSL lokal (busybox) hari ini:
Sudo tanpa password, tapi scoped — daripada full passwordless sudo, dibatasi ke /etc/sudoers.d/claude-wsl-busybox: cuma NOPASSWD untuk apt install/remove/update, systemctl status/start/stop/restart, dan journalctl. Sengaja dikecualikan: add-apt-repository, install .deb lokal, edit sudoers, user management, rm/chmod sebagai root, mount, iptables, reboot — semua itu tetap minta password manual. Risiko lebih kecil daripada full root access.
PDF toolkit — poppler-utils, qpdf, ghostscript, pdftk-java.
LaTeX buat math/scientific writing — bukan texlive-full (bisa >5GB), tapi kombinasi ringan: texlive-latex-base/recommended/extra, texlive-science, texlive-fonts-recommended, texlive-xetex (pdflatex + xelatex), latexmk, plus pandoc buat convert Markdown↔PDF. Ditest compile dokumen berisi identitas Euler, integral Gaussian, dan notasi bra-ket (paket physics) — semua render sukses jadi PDF.
CLI quality-of-life tools — python3-pip (ternyata belum ada padahal python3 udah ada), fzf, fd-find, bat, ncdu, dan yq (via pip, karena di Ubuntu 22.04 yq cuma ada lewat snap — pip dipilih biar nggak perlu buka scope sudo baru). Sempat beresin symlink karena Ubuntu rename fd-find→fdfind dan bat→batcat, plus nambah ~/.local/bin ke PATH di .bashrc.
Selanjutnya
- Benerin
deploy.shbiar tidak exit-error gara-gara chmod root - Title homepage masih generic (“Home”) — mending diganti biar og:title lebih deskriptif