Full mirror proxy untuk crossingbroad.com dengan anti-duplikat SEO. Bisa deploy ke Railway, Render, VPS, atau Easypanel.
- Canonical tag otomatis di-rewrite ke domain mirror
- og:url, twitter:url di-rewrite ke domain mirror
- Semua internal link (href, src, srcset, action) di-rewrite
- JSON-LD structured data di-rewrite
- Sitemap.xml otomatis di-rewrite URL-nya
- robots.txt custom dengan sitemap mirror
- CSS url() dan inline style di-rewrite
- Redirect Location header di-rewrite
- data-* attribute yang mengandung URL source di-rewrite
- Preconnect/dns-prefetch ke source dihapus
- In-memory cache untuk performa
| Variable | Default | Keterangan |
|---|---|---|
SOURCE_HOST |
www.crossingbroad.com |
Domain sumber |
MIRROR_DOMAIN |
crossingbroad.xyz |
Domain mirror kamu (wajib untuk production) |
MIRROR_PROTO |
https |
Protocol mirror |
PORT |
3000 |
Port server |
CACHE_TTL |
300 |
Cache TTL dalam detik |
- Push repo ini ke GitHub
- Buka railway.app, buat project baru dari repo
- Set environment variable:
MIRROR_DOMAIN=crossingbroad.xyz MIRROR_PROTO=https - Railway otomatis detect
package.jsondan jalankannpm start
- Push repo ke GitHub
- Buka render.com, buat Web Service baru
- Connect repo, pilih:
- Build Command:
npm install - Start Command:
npm start
- Build Command:
- Set environment variable:
MIRROR_DOMAIN=crossingbroad.xyz MIRROR_PROTO=https
# Clone repo
git clone https://github.com/USERNAME/crossingbroad.git
cd crossingbroad
# Install Node.js 18+
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Install dependencies
npm install --production
# Setup environment
cp .env.example .env
nano .env # Isi MIRROR_DOMAIN dengan domain kamu
# Jalankan dengan PM2
sudo npm install -g pm2
pm2 start server.js --name crossingbroad-mirror
pm2 save
pm2 startupserver {
listen 80;
server_name crossingbroad.xyz;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
}
}Kemudian setup SSL dengan Certbot:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d crossingbroad.xyz- Buat app baru di Easypanel
- Pilih Dockerfile sebagai source
- Connect repo GitHub
- Set environment variable:
MIRROR_DOMAIN=crossingbroad.xyz MIRROR_PROTO=https PORT=3000 - Set port 3000
- Deploy
docker build -t crossingbroad-mirror .
docker run -d \
-p 3000:3000 \
-e MIRROR_DOMAIN=crossingbroad.xyz \
-e MIRROR_PROTO=https \
--name crossingbroad-mirror \
crossingbroad-mirrorGET /_health
Response: {"status":"ok","source":"www.crossingbroad.com"}
- Set
MIRROR_DOMAINke domain custom kamu (wajib!) - Submit
https://crossingbroad.xyz/sitemap_index.xmldi Google Search Console - Pastikan canonical tag sudah mengarah ke domain mirror (cek view-source)
- Request indexing manual di Google Search Console untuk halaman utama
- Jangan submit domain source dan mirror bersamaan di GSC — hanya submit domain mirror